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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機程序沒有錯誤,但是仿真里的LCD不顯示,求大佬幫忙指點下

[復制鏈接]
跳轉到指定樓層
樓主

#include <reg51.h>
#include <intrins.h>
#include<math.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
uint buffer1,buffer2;
uchar dis1[17] ={'T','o','t','a','l','M','o','n','e','y','=',' ',' ',' ','.',' ','\0'};
uchar dis2[17] ={'C','u','r','r','e','n','t','M','o','n','e','y','=',' ','.',' ','\0'};
sbit LCD_RS = P1^1;           
sbit LCD_EN = P1^0;              
sbit QQ=P2^0;
sbit WW=P2^1;
sbit EE=P2^2;
sbit RR=P2^3;
void delay(int ms)
{                           
   int i;
   while(ms--)
   {
     for(i =0; i< 250; i++)
     {
      _nop_();
      _nop_();
      _nop_();
      _nop_();
     }
   }
}
void lcd_wcmd(uchar cmd)
{                          
  //while(lcd_busy());
    LCD_RS =0;
    LCD_EN =0;
    _nop_();
    _nop_();
    P0 = cmd;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    LCD_EN =1;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    LCD_EN =0;  
}
void lcd_wdat(uchar dat)
{                          
//while(lcd_busy());
    LCD_RS =1;
   // LCD_RW =0;
    LCD_EN =0;
    P0 = dat;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    LCD_EN =1;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    LCD_EN =0;
}
void lcd_pos(uchar pos)
{                          
  lcd_wcmd(pos|0x80);   
}
void lcd_init()
{                        
   lcd_wcmd(0x38);         
    delay(5);
   lcd_wcmd(0x38);         
    delay(5);
   lcd_wcmd(0x38);         
    delay(5);
   lcd_wcmd(0x0c);         
    delay(5);
   lcd_wcmd(0x06);         
    delay(5);
   lcd_wcmd(0x01);         
    delay(5);
}
void shujuchuli()
{  
    float temp1,temp2;
       if(QQ==0)
       {
        temp1=temp1+1;
        temp2=1;
       }
       if(WW==0)
       {
        temp1=temp1+0.5;
        temp2=0.5;
       }
       if(EE==0)
       {
        temp1=temp1+0.1;
        temp2=0.1;
       }
       if(RR==0)
       {
        temp1=temp1+0.1;
        temp2=0.1;
       }   
buffer1=temp1*10;
dis1[11]=(buffer1%10000)/1000+'0';
dis1[12]=(buffer1%1000)/100+'0';
dis1[13]=(buffer1%100)/10+'0';
dis1[15]=buffer1%10+'0';
buffer2=temp2*100;
dis2[13]=(buffer2%1000)/100+'0';
dis2[15]=(buffer2%100)/10+'0';                  
}
void xianshi()
{uchar i;
  lcd_wcmd(0x06);               
     lcd_pos(0);                    
         delay(5);
         lcd_pos(0);                    

      i = 0;
         delay(1);
    while(dis1 != '\0')
     {                                
      lcd_wdat(dis1);
       i++;
      delay(1);               
     }
          delay(1);
      lcd_pos(0x40);         
          delay(1);
          lcd_pos(0x40);        
      i = 0;
         delay(1);  
    while(dis2 != '\0')
     {
      lcd_wdat(dis2);           
       i++;
      delay(1);              
     }
}
main()
{
  lcd_init();
  while(1)
   {
   shujuchuli();
    xianshi();
   }
}


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

使用道具 舉報

沙發
ID:342822 發表于 2021-4-8 17:48 | 只看該作者
上拉電阻加在p0端口試一試
回復

使用道具 舉報

板凳
ID:587810 發表于 2021-4-8 18:25 | 只看該作者
單片機的P0端口沒加上一組上拉電阻或者下拉電阻都可以,因為P0口默認輸出高阻態。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:814525 發表于 2021-4-8 18:54 | 只看該作者
P0口做輸出要外加上拉電阻。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:757960 發表于 2021-4-8 19:27 | 只看該作者
taotie 發表于 2021-4-8 17:48
上拉電阻加在p0端口試一試

加在P0口了,但還是不行
回復

使用道具 舉報

6#
ID:820480 發表于 2021-4-8 20:03 | 只看該作者
復位腳是高電平,單片機一直在復位
回復

使用道具 舉報

7#
ID:757960 發表于 2021-4-8 20:29 | 只看該作者
958668952 發表于 2021-4-8 20:03
復位腳是高電平,單片機一直在復位

改了復位電路,也是不顯示
回復

使用道具 舉報

8#
ID:342822 發表于 2021-4-8 22:12 | 只看該作者
電路錯誤~程序錯誤
程序里自己查找改成下面的:缺少[i]
while(dis1[i] != '\0')
while(dis2[i] != '\0')
lcd_wdat(dis1[i]);
lcd_wdat(dis2[i]);

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

9#
ID:342822 發表于 2021-4-8 22:20 | 只看該作者

回復

使用道具 舉報

10#
ID:342822 發表于 2021-4-8 22:34 | 只看該作者
源程序雖然(Proteus )顯示編譯成功但里面夾了2條警告提示,你沒看到嗎?

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

11#
ID:207421 發表于 2021-4-8 23:17 | 只看該作者
RW引腳不能接地
數據口要上拉電阻
回復

使用道具 舉報

12#
ID:757960 發表于 2021-4-9 10:48 | 只看該作者
taotie 發表于 2021-4-8 22:12
電路錯誤~程序錯誤
程序里自己查找改成下面的:缺少
while(dis1 != '\0')

可以了,謝謝大佬幫助
回復

使用道具 舉報

13#
ID:1033546 發表于 2022-6-9 16:48 來自觸屏版 | 只看該作者
taotie 發表于 2021-4-8 22:12
電路錯誤~程序錯誤
程序里自己查找改成下面的:缺少
while(dis1 != '\0')

這個是為什么啊,我的也是LED不顯示,但是代碼和她的不太一樣 就看不出來,不太會改
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表