Keil C语言源程序 #include #include #define uchar unsigned char #define uint unsigned int #define LCD_databus P0 uchar num; uchar code zi[10][32]={ /***********************临**************************/ 0x00,0xF8,0xF0,0x00,0xFF,0xFE,0x80,0x60, 0x38,0x1E,0x3F,0x6A,0x68,0xC8,0x4C,0x08, 0x00,0x0F,0x07,0x00,0xFF,0x7F,0x00,0xFF, 0x7E,0x42,0x7E,0x7E,0x42,0xFE,0x7F,0x02, /***********************沂**************************/ 0x00,0x10,0xE1,0xC6,0x0C,0x8C,0xE0,0xFE, 0xFC,0x24,0x26,0xE2,0xE3,0x23,0x32,0x20, 0x00,0x04,0x78,0xF8,0x1E,0x83,0x40,0x3F, 0x1F,0x00,0x00,0xFF,0x7F,0x00,0x00,0x00, /***********************大**************************/ 0x00,0x00,0x20,0x20,0x20,0x20,0x20,0xFF, 0xFE,0xA0,0x20,0x20,0x20,0x30,0x20,0x00, 0x00,0x80,0x40,0x60,0x30,0x1C,0x0F,0x03, 0x00,0x03,0x0E,0x18,0x30,0x60,0xE0,0x40, /***********************学**************************/ 0x00,0x10,0x38,0x1C,0x0B,0x4E,0x48,0x4B, 0x4E,0xC8,0xEC,0x4F,0x0A,0x38,0x1C,0x08, 0x00,0x00,0x04,0x04,0x04,0x04,0x44,0x44, 0xFF,0x7F,0x04,0x04,0x04,0x06,0x04,0x00, /**********************横杠*************************/ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /***********************欢**************************/ 0x04,0x34,0xC4,0x04,0xC4,0x3C,0x20,0x10, 0x0F,0xE8,0x08,0x08,0x28,0x18,0x00,0x00, 0x10,0x08,0x06,0x01,0x82,0x8C,0x40,0x30, 0x0C,0x03,0x0C,0x10,0x60,0xC0,0x40,0x00, /***********************迎**************************/ 0x40,0x42,0x44,0xC8,0x00,0xFC,0x04,0x02, 0x82,0xFC,0x04,0x04,0x04,0xFE,0x04,0x00, 0x00,0x40,0x20,0x1F,0x20,0x47,0x42,0x41, 0x40,0x7F,0x40,0x42,0x44,0x63,0x20,0x00, /***********************您**************************/ 0x40,0x20,0x10,0xFC,0x23,0x10,0x8C,0x67, 0x04,0xF4,0x04,0x44,0x94,0x8C,0x00,0x00, 0x40,0x30,0x00,0x77,0x80,0x81,0x88,0x92, 0xB4,0x83,0x80,0xE0,0x00,0x11,0x60,0x00, /**********************笑脸*************************/ 0x00,0x40,0x20,0x10,0x10,0x00,0x00,0x00, 0x00,0x00,0x00,0x10,0x10,0x20,0x40,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x08, 0x08,0x04,0x00,0x00,0x00,0x00,0x00,0x00, /**********************空格*************************/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; sbit RS=P2^2; sbit RW=P2^1; sbit EN=P2^0; sbit CS1=P2^4; sbit CS2=P2^3; void delay(uint x) { uchar i; while(x--) for(i=0;i<120;i++); } void Read_busy() { P0=0X00; RS=0; RW=1; EN=1; while(P0&0x80); EN=0; } void write_LCD_command(uchar value) { Read_busy(); RS=0; RW=0; LCD_databus=value; EN=1; _nop_(); _nop_ (); EN=0; } void write_LCD_data(uchar value) { Read_busy(); RS=1; RW=0; LCD_databus=value; EN=1; _nop_(); _nop_(); EN=0; } void Set_page(uchar page) { page=0xb8|page; write_LCD_command(page); } void Set_line(uchar startline) { startline=0xc0|startline; write_LCD_command(startline); } void Set_colum(uchar colum) { colum=colum&0x3f; colum=0x40|colum; write_LCD_command(colum); } void Setonoff(uchar onoff) { onoff=0x3e|onoff; write_LCD_command(onoff); } void SelectScreen(uchar screen) { switch(screen) { case 0:CS1=0;CS2=0;break; case 1:CS1=0;CS2=1;break; case 2:CS1=1;CS2=0;break; default:break; } } void ClearScreen(uchar screen) { uchar i,j; SelectScreen(screen); for(i=0;i<8;i++) { Set_page(i); Set_colum(0); for(j=0;j<64;j++) { write_LCD_data(0x00); } } } void InitLCD() { Read_busy(); SelectScreen(0); Setonoff(0); SelectScreen(0); Setonoff(1); SelectScreen(0); ClearScreen(0); Set_line(0); } void Display(uchar ss,uchar page,uchar colum,uchar *p) { uchar i; SelectScreen(ss); Set_page(page); Set_colum(colum); for(i=0;i<16;i++) { write_LCD_data(p[i]); } Set_page(page+1); Set_colum(colum); for(i=0;i<16;i++) { write_LCD_data(p[i+16]); } } void main() { int i; InitLCD(); ClearScreen(0); Set_line(0); while(1) { for(i=0;i<10;i++) { int a=i+1,b=i+2,c=i+3,d=i+4,e=i+5,f=i+6,g=i+7; if(a>=10||b>=10||c>=10||d>=10||e>=10||f>=10||g>=10) { a=a%10; b=b%10; c=c%10; d=d%10; e=e%10; } } } f=f%10; g=g%10; } Display(1,2,0*16,zi[i]); Display(1,2,1*16,zi[a]); Display(1,2,2*16,zi[b]); Display(1,2,3*16,zi[c]); Display(2,2,0*16,zi[d]); Display(2,2,1*16,zi[e]); Display(2,2,2*16,zi[f]); Display(2,2,3*16,zi[g]); delay(500); ClearScreen(0); Protues仿真图 本文来源:https://www.wddqw.com/doc/f0615035c181e53a580216fc700abb68a982ad08.html