文档详情

51单片机用C语言在液晶12864显示汉字.doc

发布:2018-05-05约1.64千字共3页下载文档
文本预览下载声明
#includereg52.h #define uchar unsigned char #define uint unsigned int sbit rs=P2^4; sbit rw=P2^5; sbit e=P2^6; sbit psb=P2^7; uchar table[]=好好学习,天天向上!2010-11-18 ; void write_12864com(uchar com); void write_12864dat(uchar dat); void initial(void); void display1(void); void display2(void); void display3(void); void delay_50us(uint t) { uint j; for(;t0;t--) for(j=19;j0;j--); } void delay_50ms(uint t) { uint j; for(;t0;t--) for(j=6245;j0;j--); } void main(void) { initial(); while(1) { // display1(); // display2(); display3(); } } void write_12864com(uchar com) { rw=0; rs=0; delay_50us(1); P0=com; e=1; delay_50us(10); e=0; delay_50us(2); } void write_12864dat(uchar dat) { rw=0; rs=1; delay_50us(1); P0=dat; e=1; delay_50us(10); e=0; delay_50us(2); } void initial(void) { delay_50ms(2); write_12864com(0x30); delay_50us(4); write_12864com(0x30); delay_50us(4); write_12864com(0x0f); delay_50us(4); write_12864com(0x01); delay_50us(300); write_12864com(0x06); delay_50us(10); } //显示字符 void display1(void) { uchar i,a; write_12864com(0x80); a=0x10; delay_50us(2); for(i=0;i16;i++) { write_12864dat(a); delay_50us(1); a++; } } //显示汉字 void display2(void) { uchar i; uchar a,b; a=0xBA; b=0xC0; for(i=0;i16;i++) { write_12864dat(a); write_12864dat(b); delay_50us(1); b++; } } void display3(void) { uchar i; write_12864com(0x80);//设置地址在第一行上面显示 for(i=0;i16;i++) { write_12864dat(table[i]); delay_50us(1); } }
显示全部
相似文档