这几天在学液晶模块的用法,写了一个12864显示程序。
单片机P1口走数据,其他接口见程序注释(晶振11.0592MHz)
单片机源程序如下:
- #include <reg52.h>
- #define ui unsigned int
- #define uc unsigned char
- //数据口是P1
- sbit rs=P2^3;
- sbit rw=P2^4;
- sbit e =P2^5;
- sbit sp=P3^6;
- uc code table[]="Construction";
- void delay(ui x) //延时程序
- {
- ui i,j;
- for(i=x;i>0;i--)
- for(j=110;j>0;j--);
- }
- void w_com(uc com) //写命令子函数
- {
- rs=0;
- rw=0;
- e=0;
- P0=com;
- delay(1);
- e=1;
- delay(1);
- e=0;
- }
- void w_data(uc dat) //写数据子函数
- {
- rs=1;
- rw=0;
- e=0;
- P0=dat;
- delay(1);
- e=1;
- delay(1);
- e=0;
- }
- void w_pos(uc x,uc y) //调地址子函数
- {
- uc pos;
- if(y==0)
- y=0x80;
- else if(y==1)
- y=0x90;
- else if(y==2)
- y=0x88;
- else if(y==3)
- y=0x98;
- pos=x+y;
- w_com(pos);
- }
- void init()
- {
- w_com(0x01);
- delay(1);
- w_com(0x30);
- delay(1);
- w_com(0x0c);
- delay(1);
- }
- void main()
- {
- uc num;
- init();
- w_pos(1,0);
- num=0;
- while(table[num] != '\0')
- {
- w_data(table[num]);
- num++;
- }
-
- while(1);
- }
复制代码
所有资料51hei提供下载:
12864显示.rar
(15.29 KB, 下载次数: 13)
|