可编程作息时间控制器设计 - 图文(7)

2019-03-02 23:34

信息工程学院课程设计

for(i=0;i<11;++i) write_data(Alarm_3[i]); display3(); } if(cnt==7) { while(!key3); //表示闹钟时间设置退出 ahourge4=ahour4; ahourshi4=ahour4/10; write_com(0x80+0x40+7); write_data(table1[ahourge4]); delay(5); write_com(0x80+0x40+6); delay(2); write_data(table1[ahourshi4]); aminge4=amin4; aminshi4=amin4/10; write_com(0x80+0x40+10); write_data(table1[aminge4]); delay(5); write_com(0x80+0x40+9); delay(2); write_data(table1[aminshi4]); write_com(0x80+0x40); for(i=0;i<11;++i) write_data(Alarm_4[i]); display4(); } if(cnt>10) { cnt=0; } }

else if(key4==0) delay(5); if(key4==0) { while(!key4); a++; if(a%2==0) {

26

信息工程学院课程设计

for(b=0;b<6;b++) { sound=~sound; delay(200); } sound=1; } else if(a%2==1) { sound=0; delay(300); sound=1; delay(300); } sound=1; } }

void lcd_init() //LCD初始化 { lcden=0; lcdrw=0; write_com(0x38); //设置8位格式,2行,5×7 write_com(0x0c); //整体显示,关光标,不闪烁 write_com(0x06); //设定输入方式,增量不转移 write_com(0x01); //清除屏幕显示 delay(2); write_com(0x80); for(i=0;i<16;i++) { write_data(table2[i]); //写入显示时间数据 delay(1); } }

void judge() { if(sec==60) { min++; sec=0; } if(min==60)

27

信息工程学院课程设计

{ hour++; min=0; } if(hour==24) { ri++; hour=0; } if(ri==30) { yue++; ri=1; }

if(yue==12) { nian++; yue=1; } }

void init() //C51初始化函数 { key1=1;key2=1;key3=1;key4=1;sec=0;a=0;sound=1; TMOD=0x10; //定时计数器T1工作在方式1 TL1=0xB0; TH1=0x3C; //计数初值为15536 EA=1; ET1=1; TR1=1; }

void speak()//music { if(amin1==min&&ahour1==hour||amin2==min&&ahour2==hour||amin3==min||amin4==min) //显示时间与闹钟设置时间完全一样且闹钟\ { delay(5); sound=0; led=0; } delay(10); delay(10);

28

信息工程学院课程设计

delay(10); led=1; sound=1; }

void led1() interrupt 3 //LED1中断函数 { TL1=0xB0; TH1=0x3C; speak(); //num1++; num2++; if(num2==20) {sec++; num2=0; judge(); } }

void main() //主函数 { lcd_init(); //LCD初始化函数 init(); //51初始化函数 while(1) { keyscan(); //调用扫描函数 minge=min; minshi=min/10; write_com(0x80+9); write_data(table1[minge]); delay(5); write_com(0x80+8); write_data(table1[minshi]); hourge=hour; hourshi=hour/10; write_com(0x80+6); write_data(table1[hourge]); delay(5); write_com(0x80+5); write_data(table1[hourshi]);

29

信息工程学院课程设计

write_com(0x80+7); write_data(':'); delay(5);

secge=sec; //扩展秒表功能 secshi=sec/10;

write_com(0x80+15); write_data(table1[secge]); delay(5);

write_com(0x80+14); write_data(table1[secshi]); qi();

} }

30


可编程作息时间控制器设计 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新编日语第 18 课

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

马上注册会员

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