- #include <reg52.H>
- #include <intrins.H>
- #include <math.H>
- #define uchar unsigned char
- #define uint unsigned int
- sbit dula = P2^6;//数码管锁存器关闭
- sbit wela = P2^7;
- sbit RS = P3^5; 显示屏打开
- sbit LCDEN = P3^4;
- void delayUs()
- {
- _nop_();
- }
- void delayMs(uint a)
- {
- uint i, j;
- for(i = a; i > 0; i--)
- for(j = 100; j > 0; j--);
- }
- void writeComm(uchar comm)
- {
- RS = 0;
- P0 = comm;
- LCDEN = 1;
- delayUs();
- LCDEN = 0;
- delayMs(1);
- }
- //写数据:RS=1, RW=0;
- void writeData(uchar dat)
- {
- RS = 1;
- P0 = dat;
- LCDEN = 1;
- delayUs();
- LCDEN = 0;
- delayMs(1);
- }
- void init()
- {
-
- dula = wela = 0;
- writeComm(0x38); //显示模式
- writeComm(0x0c);//光标
- writeComm(0x06); //光标位置,科左移
- writeComm(0x01); //清屏
- }
- void writeString(uchar * str, uchar length)
- {
- uchar i;
- for(i = 0; i < length; i++)
- {
- writeData(str[i]);
- }
- }
- void main()
- {
- uchar table[] = " xianzaiwendu:";
-
- init();
- writeComm(0x80);
- writeString(table, 16);
- while(1)
- {
-
- }
复制代码
|