- #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)
- {
-
- }
復制代碼
|