- #include<reg51.h>
- #include<intrins.h>
- typedef unsigned char uchar;
- typedef unsigned char uint;
- unsigned char code table[]= {"Temp wireless "};
- unsigned char code table1[]={"Temp: "};
- unsigned char code shuzi[]={"123456789ABCDEFG"};
- unsigned char num;
- sbit rs=P1^2;//LCD數據/命令選擇端(H/L)
- sbit rw=P1^1;//LCD讀/寫選擇端(H/L)
- sbit en=P1^0;//LCD使能控制
- /*******************************************************************************
- 以下是對液晶模塊的操作程序
- *******************************************************************************/
- /***********1602液晶顯示部分子程序****************/
- void ready()
- {
- P0=0xff;
- rs=0; //RS(H/L),低電平選擇命令
- rw=1; //RW(H/L),讀操作
- en=1;
- while(P0&0x80); //當為0時表示不忙,退出循環。
- en=0;
- }
- void write_com(uchar com)
- {
- ready();
- rs=0;//命令
- rw=0;
- P0=com;
- en=1;//ready()執行完后,en為0。形成高脈沖,表示可對液晶讀寫。
- en=0;
- }
- void write_date(uchar date)
- {
- ready();
- rs=1;//數據
- rw=0;
- P0=date;
- en=1;//ready()執行完后,en為0。形成高脈沖,表示可對液晶讀寫。
- en=0;
- }
- /**************************************************
- 函數功能:主函數
- ***************************************************/
- void main(void)
- {
- en=0;
- P0=0xff;
- write_com(0x38); //設置工作方式
- write_com(0x0c); //設置光標
- write_com(0x06); //設置輸入方式
- write_com(0x01); //清屏
- write_com(0x80);
- for(num=0;num<16;num++)
- {
- write_date(shuzi[num]);
- }
- while(1);
- }//
復制代碼
|