基于AT89S52单片机的温湿度检测仪-毕业设计(8)

2019-01-19 13:12

毕业论文

if(button1==0) {

while(button1==0); kk++;flag=1;fly=1; switch(kk) {

case 1:write_zl(0x80+10);

write_zl(0x0f);//shan shuo

break;

case 2:write_zl(0x80+11);break; case 3:write_zl(0x80+0x40+10);break; case 4:write_zl(0x80+0x40+11);break; case 5:kk=0;flag=0;fly=0;

write_zl(0x0c);

if(nn==1) fl=1; if(nn==2) fl=0; break;

} } }

if(button2==0) {

delay2(5); if(button2==0) {

while(button2==0);

switch(kk)

{

case 1:write_zl(0x80+10);

if(fl==1){Ush++;if(Ush>9)Ush=3;

write_sj(0x30+Ush);write(12,Ush);}

32

毕业论文

if(fl==0){Ushi++;if(Ushi>9)Ushi=1;write_sj(0x30+Ushi);write(8,Ushi);}

break;

case 2:write_zl(0x80+11);

if(fl==1){Ug++;if(Ug>9)Ug=0;write_sj(0x30+Ug);write(13,Ug);}

if(fl==0){

Uge++;

if(Uge>9)Uge=0;

write_sj(0x30+Uge);write(9,Uge);}

break;

case 3:write_zl(0x80+0x40+10);

if(fl==1){Dsh++;if(Dsh>2)Dsh=0;write_sj(0x30+Dsh);write(14,Dsh);}

if(fl==0){

Dshi++;

if(Dshi>2)Dshi=0;write_sj(0x30+Dshi);write(10,Dshi);}

break;

case 4:write_zl(0x80+0x40+11);

if(fl==1){Dg++;if(Dg>9)Dg=0;write_sj(0x30+Dg);write(15,Dg);}

if(fl==0){Dge++;

if(Dge>9)Dge=0;write_sj(0x30+Dge);

write(11,Dge);}

break;

} } }

if(button3==0) {

33

毕业论文

delay2(5); if(button3==0) {

while(button3==0);

switch(kk) {

case 1: write_zl(0x80+10); if(fl==0){Ushi--;

if(Ushi<3)Ushi=9;write_sj(0x30+Ushi);write(8,Ushi);}

if(fl==1){Ush--;

if(Ush<3)Ush=9;

write_sj(0x30+Ush);

write(12,Ush);}

break;

case 2: write_zl(0x80+11); if(fl==0){Uge--;

if(Uge<0)Uge=9;write_sj(0x30+Uge);

write(9,Uge);}

if(fl==1){Ug--;

if(Ug<0)Ug=9;

write_sj(0x30+Ug);

write(13,Ug);}

break;

case 3: write_zl(0x80+0x40+10); if(fl==0){Dshi--;

if(Dshi<0)Dshi=1;write_sj(0x30+Dshi);

write(10,Dshi);}

if(fl==1){Dsh--;if(Dsh<0)Dsh=2;write_sj(0x30+Dsh);write(14,Dsh);}

break;

case 4: write_zl(0x80+0x40+11);

if(fl==0){Dge--;

34

if(Dge<0)Dge=9;write_sj(0x30+Dge);

毕业论文

write(11,Dge);}

if(fl==1){Dg--;if(Dg<0)Dg=9;write_sj(0x30+Dg);write(15,Dg);}

break; }

} }

if(button4==0) {

delay2(5);

if(button4==0) {

while(button4==0); nn++; switch(nn) {

case 1:fl=1;write_zl(0x01);write_zl(0x0c);shangdian_du(); yejing=1;

display_shidu(); //若不在这显示数码管闪烁

yejing=0;

break;

case 2:fl=0;write_zl(0x01); write_zl(0x0c); shangdian_du(); nn=0; } } } }

该检测仪采用独立式键盘,关于它的具体硬件组成电路这里就不多做介绍,在检测有无键按下方面主要用的是开机自动扫描方式,该方式是利用单片机

35

break;

毕业论文

运行程序初始化后自动扫描键盘。 §1.8.2 I2C总线程序设计

部分源程序如下所示:

void start() { sda=1; delay(5); sck=1; delay(4); sda=0; delay(2);} void stop() { sda=0; delay(4); sck=1; delay(4); sda=1; delay(4);} void response() { uchar i;

while(sda==1&&i==200)i++; sck=1; delay(5); sck=0; }

void write_shj(uchar sj) {uchar temp,j; temp=sj; sck=0; delay(4); for(j=0;j<8;j++)

36


基于AT89S52单片机的温湿度检测仪-毕业设计(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:马说学案设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: