欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 液晶只顯示黑塊,請·大家幫我看看程序,謝謝了 [打印本頁]

作者: 云中行走    時間: 2016-5-9 23:10
標題: 液晶只顯示黑塊,請·大家幫我看看程序,謝謝了
[attach]26215[/attach]
  1. #include<reg51.h>   
  2. #include<intrins.h>
  3. typedef unsigned char uchar;
  4. typedef unsigned char uint;
  5. unsigned char code table[]= {"Temp wireless   "};
  6. unsigned char code table1[]={"Temp:           "};
  7. unsigned char code shuzi[]={"123456789ABCDEFG"};

  8. unsigned char num;      
  9. sbit rs=P1^2;//LCD數據/命令選擇端(H/L)
  10. sbit rw=P1^1;//LCD讀/寫選擇端(H/L)
  11. sbit en=P1^0;//LCD使能控制

  12. /*******************************************************************************
  13. 以下是對液晶模塊的操作程序
  14. *******************************************************************************/
  15. /***********1602液晶顯示部分子程序****************/
  16. void ready()
  17. {
  18.         P0=0xff;
  19.         rs=0;  //RS(H/L),低電平選擇命令
  20.         rw=1;  //RW(H/L),讀操作
  21.         en=1;
  22.         while(P0&0x80);  //當為0時表示不忙,退出循環。
  23.         en=0;
  24. }
  25. void write_com(uchar com)
  26. {
  27.         ready();
  28.         rs=0;//命令
  29.         rw=0;
  30.         P0=com;
  31.         en=1;//ready()執行完后,en為0。形成高脈沖,表示可對液晶讀寫。
  32.         en=0;
  33. }
  34. void write_date(uchar date)
  35. {
  36.         ready();
  37.         rs=1;//數據
  38.         rw=0;
  39.         P0=date;
  40.         en=1;//ready()執行完后,en為0。形成高脈沖,表示可對液晶讀寫。
  41.         en=0;
  42. }

  43. /**************************************************
  44. 函數功能:主函數
  45. ***************************************************/
  46. void main(void)
  47. {         
  48.           en=0;
  49.           P0=0xff;

  50.         write_com(0x38);        //設置工作方式
  51.         write_com(0x0c);        //設置光標
  52.         write_com(0x06);        //設置輸入方式
  53.         write_com(0x01);        //清屏
  54.         write_com(0x80);
  55.           for(num=0;num<16;num++)
  56.         {
  57.            write_date(shuzi[num]);
  58.         }
  59.         while(1);
  60. }//      
復制代碼



作者: 歐陽ouy    時間: 2016-5-26 22:45
對1602的操作部分,最好在每執行完一條指令后加個延時,比如delay(5);(具體延時程序我就不說了)延時一小會兒,讓1602準備接收數據
作者: 歐陽ouy    時間: 2016-5-26 22:46
lcdrs=1;

lcdrw=0;

P0=date;

delay(5);

lcden=1;

delay(5);

lcden=0;
就像這樣,每個后面都加個延時。
作者: 云中行走    時間: 2016-5-26 22:49
歐陽ouy 發表于 2016-5-26 22:46
lcdrs=1;

lcdrw=0;

好的,我試試




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1