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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

請問大神們單片機仿真時LCD不顯示數值,應該顯示溫度,流量

[復制鏈接]
跳轉到指定樓層
樓主
#include<reg52.h>
#define unchar unsigned char
#define uint unsigned int
sbit DQ=P1^0;
sbit RS=P1^1;
sbit RW=P1^2;
sbit EN=P1^3;
sbit p37=P3^6;
sbit p36=P3^7;
sbit p14=P1^4;
sbit p15=P1^5;
sbit p16=P1^6;
unchar table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x20};
unsigned long int a;
float f,zong;
unsigned int tvalue;
unchar n1,n2,n3,n4,n5,n6,n7,n8,n9;
unchar tflag,d,g,kai,j,j1,j2,b;
void delay
(unsigned int z){int x,y;
for(x=z;x>0;x--)
for(y=120;y>0;y--);
}
void delay_18B20(unsigned int i)
{
while(i--);
}
void wr_com(unsigned char com)
{delay(1);
RS=0;
RW=0;
EN=0;
P2=com;
delay(1);
EN=0;
}
void wr_dat(unsigned char dat)
{
delay(1);
RS=1;
RW=0;
EN=0;
P2=dat;
delay(1);
EN=1;
delay(1);
EN=0;
}
void loop()
{
unsigned int zong1;
if(g==0)
{zong=(b/100.0)+zong;
}
g=1;
if(zong>=1000)
{
a++;
}
if(a>=1000000)
{
a=0;
}
zong1=(int)zong;
n9=a/100000;
n8=a%100000/10000;
n7=a%10000/1000;
n6=a%1000/100;
n5=a%100/10;
n4=a%10;
n3=zong1%1000/100;
n2=zong1%100/10;
n1=zong1%10;
}
void shuifei()
{
unchar h1,h2,h3,h4;h4=(j*a)/1000000;
h3=(j*a)%1000000/100000;
h2=(j*a)%100000/10000;
h1=(j*a)%10000/1000;
wr_com(0x80+10);
wr_dat(0x5c);
wr_dat(table[h4]);
wr_dat(table[h3]);
wr_dat(table[h2]);
wr_dat(0x2e);
wr_dat(table[h1]);
}
void ds1820rst()
{
unsigned char x=0;
DQ=1;
delay_18B20(4);
DQ=0;
delay_18B20(100);
DQ=1;
delay_18B20(40);
}
unchar ds1820rd()
{
unsigned char i=0;unsigned char dat=0;
for(i=8;i>0;i--)
{
DQ=0;
dat>>=1;
DQ=1;
if(DQ)
dat|=0x80;
delay_18B20(10);
}
return(dat);
}
void ds1820wr(unchar wdata)
{ unsigned char i=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ=wdata&0x01;
delay_18B20(10);
DQ=1;
wdata>>=1;
}
}
uint read_temp()
{
unchar a,b;
ds1820rst();
ds1820wr(0xcc);
ds1820wr(0x44);
ds1820rst();
ds1820wr(0xcc);
ds1820wr(0xbe);
a=ds1820rd();
b=ds1820rd();
tvalue=b;
tvalue<<=8;
tvalue=tvalue|a;
if(tvalue<0x0fff)
tflag=0;
else
{
tvalue=~tvalue+1;
tflag=1;
}
tvalue=tvalue*(0.625);
return(tvalue);
}
void ds1820disp()
{
unchar t1,t2,t3,t4;
t3=tvalue/1000;
t2=tvalue%1000/100;
t1=tvalue%100/10;
t4=tvalue%10;
{
wr_dat(0x2d);
}
if(t3!=0)
{
        t1=9;
        t2=9;
        t3=10;
        t4=9;
        p37=0;
}
if(t2>=4)
        p37=0;
else p37=1;
if(tflag==1)
{
p37=0;
}
if(t3==0)
{
t3=10;
{
t2=10;
}
}
wr_dat(table[t3]);
wr_com(0x80+3);
wr_dat(table[t2]);
wr_dat(table[t1]);
wr_dat(0x2e);
wr_dat(table[t4]);
}
void liuliang()
{
while(d>=2)
{
d=0;
b=TH0*256+TL0;
TH0=0x00;
TL0=0x00;
g=0;
}
loop();
}
void display1()
{
wr_com(0x80);
wr_dat(0x54);
wr_dat(0x3a); read_temp();
ds1820disp();
wr_dat(0x00);
wr_dat(0x43);
shuifei();
wr_com(0x80+0x40);
wr_dat(0x46);
wr_dat(0x4c);
wr_dat(0x4f);
wr_dat(0x57);
wr_dat(0x3a);
wr_dat(0x20);
wr_dat(table[n9]);
wr_dat(table[n8]);
wr_dat(table[n7]);
wr_dat (0x2e);
wr_dat(table[n6]);
wr_dat(table[n5]);
wr_dat(table[n4]);
wr_dat(0x20);
wr_dat(0x74);
wr_dat(0x20);
}
void display2()
{
wr_com(0x80);
wr_dat(0x54);
wr_dat(0x3a);
read_temp();
ds1820disp();
wr_dat(0x00);
wr_dat(0x43);
wr_com(0x80+10);
wr_dat (table[j2]);
wr_dat(0x2e); wr_dat(table[j1]);
wr_dat(0x5c);
wr_dat(0x2f);
wr_dat(0x74);
wr_dat(0x20);
wr_com(0x80+0x40+5);
wr_dat(0x20);
wr_dat(0x20);
wr_dat(table[n4]);
wr_dat (0x2e);        
wr_dat(table[n3]);        wr_dat(table[n2]);
wr_dat(table[n1]);
wr_dat(0x20);
wr_dat(0x6b);
wr_dat(0x67);
}
void kaiguan1()
{
if(p14==0)
{ delay(2);
if(p14==0)
{ delay(2);
p36=~p36;        
TR0=~TR0;
while(p14==0);
}
}
}
void kaiguan2()
{
if(p15==0)
{ delay(2);
if(p15==0)
{ delay(2);
kai=~kai;
while(p15==0);
}
}
}
void kaiguan3()
{
if(p16==0)
{ delay(2);
if(p16==0)
{ delay(2);
j++;
if(j>40)
j=0;
j2=j/10;
j1=j%10;
while(p16==0);
}
}
}
void lcd_init ()
{
TMOD=0x15;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TH0=0x00;
TL0=0x00;
EN=0;
wr_com(0x38);
wr_com(0x0c);
wr_com(0x06);
wr_com(0x01);
wr_com(0x40);
wr_dat(0x06);
wr_dat(0x09);
wr_dat(0x09);
wr_dat(0x06);
wr_dat(0x00);
wr_dat(0x00);
wr_dat(0x00);
wr_dat(0x00);
zong=0;
EA=1;
ET1=1;
TR1=1;
TR0=0;
p16=1;
p15=1;
p14=1;
zong=995;
a=199999;
j=20;
j2=2;
j1=0;
kai=0;
}
void main()
{
lcd_init();
while(1)
{
kaiguan1();
kaiguan2();
liuliang();
if(kai==0)
display1();
else
{
kaiguan3();
display2();
}
}
}
void time1() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
d++;
}


仿真LCD不亮.PNG (121.51 KB, 下載次數: 43)

仿真LCD不亮.PNG
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:267932 發表于 2020-7-1 20:44 | 只看該作者
你仿真接的IO,跟程序壓根對不上啊,這是你寫的程序嘛??????
回復

使用道具 舉報

板凳
ID:784384 發表于 2020-7-1 20:57 | 只看該作者
感覺你LCD連得好像有點問題,要不你換個接法改一下鍵位
回復

使用道具 舉報

地板
ID:709787 發表于 2020-7-2 11:58 來自觸屏版 | 只看該作者
調試程序不能急!要知道主流的程序員 ,調試程序比寫程序用的時間多的多。先把LCD點亮 。再把溫度正確的讀出來 。然后再考慮把溫度顯示在LCD上 。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久a久久 | 久久精品免费一区二区 | 免费在线观看av片 | 久久伊人免费视频 | 81精品国产乱码久久久久久 | 国产乱码精品1区2区3区 | 日本免费小视频 | 亚洲欧洲成人在线 | 日韩成人在线播放 | 成人高清在线视频 | 在线不卡视频 | 91黄色片免费看 | 91久久久久久久久久久久久 | 性天堂网 | 亚洲欧美国产毛片在线 | 九九热精品视频 | 日韩在线成人 | 国产91成人 | 精品国产一区二区三区四区在线 | 久久久91精品国产一区二区三区 | 精品国产乱码久久久久久影片 | 精品日韩在线观看 | 精品久| 国产精品久久久久久久久久久久 | 久久精品小视频 | 久久久青草婷婷精品综合日韩 | 国产成人精品一区二区三区视频 | 黄色在线免费观看视频网站 | 欧美一级免费看 | 91pao对白在线播放 | 久久久久久久久淑女av国产精品 | 午夜免费观看体验区 | 99久久婷婷国产精品综合 | 在线一级片 | 欧美xxxx性 | 欧美一级全黄 | 国产精品99久久久久久www | 久久欧美高清二区三区 | 亚洲一区二区av | 国产精品久久久久久久久久久久久 | 国产激情在线 |