|
如題- #include <reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define DISOPEN 0x0c //光標(biāo)開
- #define GLINT 0x0b
- #define DISMODE 0x06 //讀字符后地址加一
- #define CLEAR 0x01 //清屏
- #define PORT P0 //數(shù)據(jù)口
- uchar code table[]="I LOVE MCU!";
- uchar code table1[]="WWWTXMCUCOM";
- sbit lcdrs=P1^0; //數(shù)據(jù)/寫命令選擇端
- sbit lcdrw=P1^1; //讀寫輸入端,因?yàn)槲覀儾粡囊壕ёx取任何數(shù)據(jù),因此始終為低電平就行(RW=0為寫)
- sbit lcden=P1^2;
- uchar num;
- /********************** 定義一個(gè)字符需要8個(gè)字節(jié),每個(gè)字節(jié)前三位不用**********/
- uchar code hot[8]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00}; //℃
- uchar code nian[8]={0x08,0x1F,0x12,0x0F,0x0A,0x1F,0x02,0x00};//字符年
- uchar code yue[8]={0x0F,0x09,0x0F,0x09,0x0F,0x09,0x13,0x00}; //字符月
- uchar code ri[8]={0x1F,0x11,0x11,0x1F,0x11,0x11,0x1F,0x00}; //字符日
- void delay(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void write_com(uchar com)
- {
- lcdrs=0;
- lcdrw=0;
- PORT=com;
- delay(1);
- lcden=1;
- delay(1);
- lcden=0;
- }
- void write_0ne_data(uchar date)
- {
- lcdrs=1;
- lcdrw=0;
- PORT=date;
- delay(1); //tsp2>20ns
- lcden=1;
- delay(1); //tpw>150
- lcden=0; //給E一個(gè)高脈沖將數(shù)據(jù)送進(jìn)液晶控制器,完成寫操作
- }
- void write_str_data(uint addr,uint length,uchar *pbuf)
- {
- uint i;
- write_com(addr);
- for(i=0;i<length;i++)
- {
- write_0ne_data(pbuf[i]);
- }
- }
- void init()
- {
- lcden=0;
- write_com(0x38);
- write_com(DISOPEN);
- write_com(DISMODE);
- write_com(CLEAR);
- }
- void main()
- {
- init();
- write_str_data(0x40,8,hot);
- write_str_data(0x48,8,nian);
- write_str_data(0x50,8,yue);
- // write_str_data(0x58,8,ri);
- write_com(0x80);
- write_0ne_data(0);
- delay(5);
- write_0ne_data(1);
- delay(5);
- write_0ne_data(2);
- delay(5);
- write_0ne_data(3);
- delay(5);
- while(1);
- }
復(fù)制代碼
|
-
-
LCD1602-zcc.zip
2019-10-21 18:56 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
22.68 KB, 下載次數(shù): 18, 下載積分: 黑幣 -5
|