欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
那位大佬幫忙看看,這1602讀數為啥不行啊
[打印本頁]
作者:
我—無知小白
時間:
2021-1-24 17:15
標題:
那位大佬幫忙看看,這1602讀數為啥不行啊
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^6;
sbit RW=P2^5;
sbit EN=P2^7;
uchar t, i;
void delay(uint z)
{
uint x,y;
for(x = z; x > 0; x--)
for(y = 114; y > 0 ; y--);
}
//判斷液晶忙不忙,忙則等待 、
void read_busy()
{
uchar busy;
P0=0xff; //給與高電位
RS=0; //1 數據 0命令
RW=1; //1 讀 0寫
do
{
EN=1; //使能
busy=P0;
EN=0;
}while(busy &0x80);
}
//1602命令
void write_cmd(uint cmd)
{
read_busy();
RS=0;
RW=0;
P0=cmd;
EN=1;
EN=0;
}
//1602 數據
void write_dat(uint dat)
{
read_busy();
RS=1;
RW=0;
P0=dat;
EN=1;
EN=0;
}
void timer_init()
{
TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。
TH0=0XFC; //給定時器賦初值,定時1ms
TL0=0X68;
ET0=1;//打開定時器0中斷允許
EA=1;//打開總中斷
TR0=1;//打開定時器
}
void main()
{
timer_init();
write_cmd(0x38);//設置16*2顯示
write_cmd(0x0f); //開顯示
write_cmd(0x06); //指針地址右加一 0x04左
// write_cmd(0x01); //清屏
write_cmd(0x80|0x06 ); //顯示地址
write_cmd(0x01); //清屏
while(1);
{
if(t<1000)
{
write_cmd(0x80 | 0x06);
write_dat(t/10+'0');
//顯示十位數字
write_cmd(0x80 | 0x07);
//顯示個位數字
write_dat(t%10+'0');
}
}
}
void Timer0() interrupt 1
{
TH0=0XFC; //給定時器賦初值,定時1ms
TL0=0X68;
i++;
if(i==1000)
{
i=0;
t++;
}
}
作者:
wulin
時間:
2021-1-24 21:05
樓主注意變量的數據類型選擇要恰當,while(1);多了分號。給你略改了一點,顯示1位小數。
無標題.jpg
(16.17 KB, 下載次數: 47)
下載附件
2021-1-24 21:01 上傳
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^6;
sbit RW=P2^5;
sbit EN=P2^7;
uint i;
uchar t;
/*
void delay(uint z)
{
uint x,y;
for(x = z; x > 0; x--)
for(y = 114; y > 0 ; y--);
}*/
//判斷液晶忙不忙,忙則等待 、
void read_busy()
{
uchar busy;
P0=0xff; //給與高電位
RS=0; //1 數據 0命令
RW=1; //1 讀 0寫
do
{
EN=1; //使能
busy=P0;
EN=0;
}while(busy &0x80);
}
//1602命令
void write_cmd(uint cmd)
{
read_busy();
RS=0;
RW=0;
P0=cmd;
EN=1;
EN=0;
}
//1602 數據
void write_dat(uint dat)
{
read_busy();
RS=1;
RW=0;
P0=dat;
EN=1;
EN=0;
}
void timer_init()
{
TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。
TH0=0XFC; //給定時器賦初值,定時1ms
TL0=0X68;
ET0=1;//打開定時器0中斷允許
EA=1;//打開總中斷
TR0=1;//打開定時器
}
void main()
{
timer_init();
write_cmd(0x38);//設置16*2顯示
write_cmd(0x01); //清屏
write_cmd(0x0c); //開顯示不顯示光標
write_cmd(0x06); //指針地址右加一 0x04左
// write_cmd(0x01); //清屏
// write_cmd(0x80|0x06 ); //顯示地址
while(1)//;
{
if(t>999)
t=0;
write_cmd(0x80+6);
write_dat(t/100%10+'0');//顯示十位數字
write_dat(t/10%10+'0');//顯示個位數字
write_dat('.'); //顯示小數點
write_dat(t%10+'0');//顯示小數
}
}
void Timer0() interrupt 1
{
TH0=0XFC; //給定時器賦初值,定時1ms
TL0=0X68;
i++;
if(i==100)
{
i=0;
t++;
}
}
復制代碼
作者:
人人學會單片機
時間:
2021-1-24 21:18
單片機+LCD1602顯示℃
http://m.raoushi.com/bbs/dpj-200685-1.html
作者:
jchrui
時間:
2021-1-25 16:40
變量的數據類型選擇要實型,還要注意語法。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1