欢迎来到天天文库
浏览记录
ID:39774103
大小:20.70 KB
页数:12页
时间:2019-07-11
《HT1621B 通用程序集锦》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、/**************************************************************************************AT89C51单片机控制HT1621B驱动LCD************************************** (全显示程序) ******************************************************************************************/#include2、.h>#include#defineBIAS0X50 //1/2偏压,4背极//#defineRC2560X30 //系统时钟选择为片内RC振荡器#defineRC256 0X38#defineWDTDIS10X0A //禁止WDT溢出标志输出#defineTIMERDIS0X08 //时基输出禁能#defineSYSEN0X02 3、 //打开系统时钟#defineLCDON0X06 //打开偏压发生器#defineSYSDIS0X00 //关闭系统时钟和偏压发生器#define_NOP()_nop_()sbitLED=P2^0;sbitCS=P2^7;sbitWRD=P2^6;sbitDATA=P2^5;#defineucharunsignedchar#defineuintunsignedintvoidSENDBYTE(uchardat); voidSENDBIT(uchardat,uchar4、bitcnt); /***************************延时子函数******************************/voiddelay1s() //延时1S{ uchari; uintj; for(i=0;i<10;i++) for(j=0;j<1300;j++);}/**************************HT1621B初始化****************************/voidSTART_HT1621() 5、 //初始化HT1621{ CS=1; WRD=1; DATA=1; //delay(); _NOP(); CS=0; CS=0; WRD=0; WRD=0;}/*************************发送命令子函数A***************************/voidSENDCOMA(ucharcom) //发送命令A,ID=100+0{ START_HT1621(); SENDBIT(0X80,4); SENDBYTE(com);}/**********************6、***发送命令子函数B***************************/voidSENDCOMB(ucharadr) //发送命令B,发送显示数据{ START_HT1621(); //HT1621初始化 SENDBIT(0XA0,4); //发送写数据ID:101+6位LCD之RAM地址第1位 SENDBIT(adr,5); //然后发送地址后5位}/*************7、************发送命令子函数C***************************voidSENDCOMC(ucharcom) //发送命令C,ID=100+1{ START_HT1621(); SENDBIT(0X90,4); SENDBYTE(com);}/***********************按位发送数据子函数**************************/voidSENDBIT(uchardat,ucharbitcnt) //按位发送数据{ uchari; for(i=0;i8、tcnt;i++) { if((dat&0x80)==0X00) //从最高位发送
2、.h>#include#defineBIAS0X50 //1/2偏压,4背极//#defineRC2560X30 //系统时钟选择为片内RC振荡器#defineRC256 0X38#defineWDTDIS10X0A //禁止WDT溢出标志输出#defineTIMERDIS0X08 //时基输出禁能#defineSYSEN0X02
3、 //打开系统时钟#defineLCDON0X06 //打开偏压发生器#defineSYSDIS0X00 //关闭系统时钟和偏压发生器#define_NOP()_nop_()sbitLED=P2^0;sbitCS=P2^7;sbitWRD=P2^6;sbitDATA=P2^5;#defineucharunsignedchar#defineuintunsignedintvoidSENDBYTE(uchardat); voidSENDBIT(uchardat,uchar
4、bitcnt); /***************************延时子函数******************************/voiddelay1s() //延时1S{ uchari; uintj; for(i=0;i<10;i++) for(j=0;j<1300;j++);}/**************************HT1621B初始化****************************/voidSTART_HT1621()
5、 //初始化HT1621{ CS=1; WRD=1; DATA=1; //delay(); _NOP(); CS=0; CS=0; WRD=0; WRD=0;}/*************************发送命令子函数A***************************/voidSENDCOMA(ucharcom) //发送命令A,ID=100+0{ START_HT1621(); SENDBIT(0X80,4); SENDBYTE(com);}/**********************
6、***发送命令子函数B***************************/voidSENDCOMB(ucharadr) //发送命令B,发送显示数据{ START_HT1621(); //HT1621初始化 SENDBIT(0XA0,4); //发送写数据ID:101+6位LCD之RAM地址第1位 SENDBIT(adr,5); //然后发送地址后5位}/*************
7、************发送命令子函数C***************************voidSENDCOMC(ucharcom) //发送命令C,ID=100+1{ START_HT1621(); SENDBIT(0X90,4); SENDBYTE(com);}/***********************按位发送数据子函数**************************/voidSENDBIT(uchardat,ucharbitcnt) //按位发送数据{ uchari; for(i=0;i8、tcnt;i++) { if((dat&0x80)==0X00) //从最高位发送
8、tcnt;i++) { if((dat&0x80)==0X00) //从最高位发送
此文档下载收益归作者所有