久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3403|回復: 1
打印 上一主題 下一主題
收起左側

lcd1602進行仿真沒有顯示,檢查了很久都沒發現問題

[復制鏈接]
跳轉到指定樓層
樓主
為什么lcd1602進行仿真沒有顯示,檢查了很久都沒發現,有那位大哥可以說一下嗎?
其中有些程序是其他功能的,被我注釋掉了。這是我仿真圖

  1. #include<reg51.h>
  2. #include<instrins.h>
  3. sbit rs=P2^0;                                                                     //位定義
  4. sbit rw=P2^1;
  5. sbit ep=P2^2;
  6. sbit sounder=P2^7;
  7. usigned char code byTable0[]={"welcome to"};
  8. usigned char code byTable1[]={"www*jyumcu*com"};
  9. usigned char code byTable2[]={"S0S1S2S3S4S5S6S7"};
  10. usigned char code byKeyTable0[]={" 1 1 1 1 1 1 1 1"};
  11. void inittimer(void)                                                              //  定時器t0初始化
  12. {
  13.   TMOD=0x01;
  14.   TH0=0xfc;
  15.   TL0=0x18;
  16.   ET0=1;
  17.   EA=1;
  18.   TR0=1;
  19. }
  20. void delayms(int z)                                                              //延時程序
  21. {
  22.    unsigned int x,y;
  23.    for(x=z;x>0;x--)
  24.     for(y=123;>0;y--);
  25. }
  26. /*bit lcdtestbusy(void)   //聽說忙信號檢查會影響仿真所以將他注釋了
  27. {
  28.   bit btresult;
  29.   rs=0;
  30.   rw=1;
  31.   ep=1;
  32.   _nop_();
  33.   _nop_();
  34.   _nop_();
  35.   _nop_();
  36.   btresult=(bit)(P0&0x80);
  37.   ep=0;
  38.   return btresult;
  39. }*/
  40. void lcdwritecommand(unsigned char bycommand) //寫指令
  41. {
  42.    usigned char data bycounter=0;
  43.    while(lcdtestbusy)
  44.    {
  45.      bycounter++;
  46.          if(bycounter==225)
  47.          {
  48.            return ;
  49.          }
  50.    }
  51.    rs=0;
  52.    rw=0;
  53.    ep=0;
  54.    P0=bycommand;
  55.    _nop_();
  56.    _nop_();
  57.    _nop_();
  58.    _nop_();
  59.    ep=1;
  60.    _nop_();
  61.    _nop_();
  62.    _nop_();
  63.    _nop_();
  64.    ep=0;

  65. }
  66. void lcdsetposition(unsigned char byposition)     //位置1行或2行
  67. {
  68.             lcdwritecommand(0x80|byposition) ;
  69. }
  70. void lcdwritedata(unsigned char bydata)
  71. {
  72.    unsigned char data bycunter=0;
  73.    whlie(lcdtestbusy())
  74.    {
  75.       bycounter++;
  76.      if(bycounter==225)
  77.          {
  78.                return ;
  79.          }
  80.    }
  81.    rs=1;
  82.    rw=0;
  83.    ep=0;
  84.    P0=bydata;
  85.     _nop_();
  86.         _nop_();
  87.         _nop_();
  88.         _nop_();
  89.         ep=1;
  90.         _nop_();
  91.         _nop_();
  92.     _nop_();
  93.         _nop_();
  94.         ep=0;
  95. }
  96. void lcdinit()                                                    //lcd初始化
  97. {
  98.     lcdwritecommand(0x38);
  99.         delayms(1);
  100.         lcdwritecommand(0x0c);
  101.         delayms(1);
  102.         lcdwritecommand(0x06);
  103.         delayms(1);
  104.         lcdwritecommand(0x01);
  105.         delayms(2);
  106. }
  107. void main(void)                               //主函數
  108. {
  109.             unsigned char data i,bykeyvalue;
  110.          inittimer0();
  111.          lcdinit();
  112.          lcdssetposition(0);
  113.          i=0;
  114.          while(byTable0[i]!='\0')
  115.          {
  116.                   lcdwritecommand(byTable0[i]);
  117.                 i++;
  118.                 delayms(1);
  119.          }
  120.          lcdsetposition(0x40);
  121.          i=0;
  122.                   while(byTable1[i]!='\0')
  123.          {
  124.                   lcdwritecommand(byTable1[i]);
  125.                 i++;
  126.                 delayms(1);
  127.          }
  128.                  delayms(3000);
  129.         lcdwritecommand(0x01);
  130.         lcdsetposition(0);
  131.         i=0;
  132.          while(byTable2[i]!='\0')
  133.          {
  134.                   lcdwritecommand(byTable2[i]);
  135.                 i++;
  136.                 delayms(1);
  137.          }
  138. /*         while(1)//原來是蜂鳴器的程序
  139.          {
  140.            bykeyvalue=P1;
  141.            (bit)(bykeyvalue&0x01)=(bit)(bykeyvalue&0x01);
  142.            for(i=0;i<8;i++)
  143.            {
  144.               bykeytable[2*i+1]=bykeyvalue[i]+(bykeyvalue&0x01);
  145.                   bykeyvalue=_cror_(bykeyvalue,1);
  146.            }
  147.            lcdsetposition(ox40);
  148.            i=0;
  149.            while(bykeytable[i]!='\0')
  150.            {
  151.              lcdwritedata(bykeytable[i]);
  152.                  i++;
  153.                  delayms(1);
  154.            }
  155.          }          */
  156. }
  157. void timer0 interrupt 1     //中斷程序
  158. {
  159.           TL=0x18;
  160.          TH=0xfc;
復制代碼

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:239318 發表于 2018-3-26 22:42 來自手機 | 只看該作者
可能是程序某些細節問題
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久成人精品亚洲国产 | 天堂一区二区三区 | 精品动漫一区 | 一本岛道一二三不卡区 | 在线观看www| 91资源在线 | 一区二区三区欧美 | 亚洲一区二区不卡在线观看 | 久久久久国产精品一区三寸 | 精品一区二区三区在线观看 | 成人在线免费观看 | www.日韩av.com | 久久久久国产精品午夜一区 | 亚洲综合视频 | 亚洲小视频在线观看 | 99re在线视频精品 | 亚洲精品久久久一区二区三区 | 国产一级淫片a直接免费看 免费a网站 | 天天视频一区二区三区 | 久久久国产一区二区三区 | 久久国产欧美日韩精品 | www.日韩欧美 | 国产成人免费网站 | 一区在线观看 | 91视频一区 | 日韩在线精品强乱中文字幕 | 欧美久久精品一级c片 | www在线| 一区二区三区四区免费观看 | 五月婷六月丁香 | 9久久婷婷国产综合精品性色 | 亚洲一级二级三级 | 男女爱爱福利视频 | 久久久久久久夜 | 国产一区二区三区四区五区3d | 超碰伊人 | 国产精品色一区二区三区 | 福利国产 | 国产日韩欧美一区 | 欧美激情精品久久久久久免费 | 国产精品日韩欧美一区二区 |