您的位置 首页 制造

根据1602液晶的温度感应器

1602液晶是单片机初学者必学的资源,其操作简单,可读可写,相比数码管而言,其显示更为简单。这里就不再介绍1602的具体特点和功能,可以去

1602液晶单片机初学者必学的资源,其操作简略,可读可写,比较数码管而言,其显现更为简略。这儿就不再介绍1602的详细特色和功用,能够去百度一下,能够查找到许多材料。下面是我结合天祥视频写的一个温度感应器

————————————————————————————————–

#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]=”The Tem is C”;// 初始化温度
uchar code table1[]=”00:00:00″; //初始化时刻
uchar code table2[]=”MON TUE WEN THU FRI SAT SUN”;//周日表
uchar code wendu[]=”0123456789″; //温度显现表
sbit lcdrs=P1^4; //读取指令挑选
sbit lcdrw=P1^5; //读/写数据挑选
sbit lcden=P1^6; //使能信号

uint num;
uchar count,shi,fen,miao,xq,t,tt;
void delay(uint z);

void write_com(uchar com)
{
lcdrs=0;
P2=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}

void write_date(uchar date)
{
lcdrs=1;
P2=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}

void init()
{
lcden=0;
lcdrw=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x80);

write_com(0x80+0x40);
for(num=0;num<16;num++)
write_date(table[num]);

write_com(0x80+0x0c);
for(num=0;num<3;num++)
write_date(table2[num]);

write_com(0x80+0x02);
for(num=0;num<8;num++)
write_date(table1[num]);
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%6;
EA=1;
ET0=1;//开定时器0中止
TR0=1;//发动定时器
}

void write_sfm(uchar add,uchar date) //第一个参数为地址,第二个参数为数据 修正时刻
{
uchar shi,ge;
shi=date/10;
ge=date;
write_com(0x80+0x02+add); //先确认地址
write_date(0x30+shi); //数值别离送
write_date(0x30+ge);
}
void write_xq(uchar xq)//参数代表方位
{
write_com(0x80+0x0c);
for(num=xq;numwrite_date(table2[num]);
}

void showtime()
{
xq=0;

if(count==20)
{
count=0;
miao++;
if(miao==60)
{
miao=0;
fen++;
if(fen==60)
{
fen=0;
shi++;
if(shi==24)
{
shi=0;
xq+=4;
if(xq==28)
xq=0;
write_xq(xq);
}
write_sfm(0,shi);
}
write_sfm(3,fen);
}
write_sfm(6,miao);
}
}

void main()
{
init();
showtime();
while(1)
{
showtime();
if(t==20)
{
t=0;
tt++;
if(tt==30)//30s收集一次温度
{
tt=0;
}
}
}

}

void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%6;
count++;t++;
}
void delay(uint z)
{
uchar x,y;
for(x=z;x>0;x–)
for(y=110;y>0;y–);
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/258878.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部