欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
求大神指教啊我的1602為什么不顯示啊?
[打印本頁]
作者:
zzyix123
時間:
2020-8-29 23:36
標題:
求大神指教啊我的1602為什么不顯示啊?
1598715269(1).png
(99.75 KB, 下載次數: 14)
下載附件
2020-8-29 23:34 上傳
#include<reg51.h>
#define uint signed int
#define uchar signed char
uchar aa[]={"current voiltage :"};
sbit lcden = P3^4;
sbit lcdrs = P3^5;
sbit START = P2^0;
sbit CLK = P2^1;
sbit EOC = P2^2;
sbit OE = P2^3;
sbit AA = P2^4;
sbit BB = P2^5;
sbit CC = P2^6;
float v;
void delay(uint ms) //延時函數
{
uchar i;
while(ms--);
{
for(i<0;i<120;i++);
}
}
void write_com(uchar com) //寫命令函數
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar date) //寫數據函數
{
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void LCD1602_init() //1602初始化函數
{
lcden=0;
write_com(0x38);
write_com(0x0C);
write_com(0x01);
}
void display (int v)
{
int shu,i;
write_com(0x80);
for(i=0;i<16;i++)
{
write_data(aa[i]);
}
write_com(0x80+0x46);
shu=v/100;
write_data(shu+'0');
delay(5);
write_data('.');
delay(5);
shu=v%100/10;
delay(5);
write_data(shu+'0');
delay(5);
shu=v%10;
write_data(shu+'0');
delay(5);
write_data('V');
}
void main()
{
LCD1602_init();
TMOD=0x02;
TH0=0x14;
TL0=0X14;
IE=0X82;
TR0=1;
P2=0x0f; //選用通道0,CLK=1,START=1,EOC=1,OE=1.
while(1)
{
START=0;
START=1;
START=0;
while(EOC=0);
OE=1;
v=P1*1.0/255*500;
display(v);
OE=0;
}
}
void Timer0() interrupt 1
{
CLK=!CLK;
}
復制代碼
作者:
zzyix123
時間:
2020-8-29 23:38
顯示函數沒的問題 就是“v=P1*1.0/255*500”;如果把P1改成255 就可以正確顯示5.00V
作者:
zzyix123
時間:
2020-8-29 23:58
主函數中 WHILE(EOC==0)這里少打個=
作者:
Kelan
時間:
2020-8-30 11:26
建議 LCD接口的RW 用單片機的IO來控制,而不是一直接低電平
作者:
梁廷明
時間:
2020-8-31 09:13
等待釋放,估計是卡在那里了
作者:
梁廷明
時間:
2020-8-31 09:17
while(EOC=0); 在這里了,應該改為EOC==0
作者:
小文文
時間:
2020-8-31 14:55
RW接IO扣一開始給顯示屏顯示幾個字母一下看能不能正常,再清屏接著你程序又不影響,可以檢查一下你上面的程序會不會卡死沒運行下來
作者:
aayon1979
時間:
2020-8-31 16:08
while(EOC=0);這里有錯
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1