完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#define uint unsigned int #define uchar unsigned char uint i,miao,fen,shi,fen1,fen2,fen3,fen4,shi1,shi2,shi3,shi4,flag1,flag2,flag3,flag4,flag5,aa,K1num,K2num,K3num,K4num,N,z; uchar code table[]=" H.I.T CHiNA"; uchar code table2[]=" tiME "; uchar code Alarm_0[]=" GBDS "; uchar code Alarm_1[]=" SKDS "; uchar code Alarm_2[]=" XKDS "; uchar code Alarm_3[]=" DKDS "; uchar code Alarm_00[]=" GB "; uchar code Alarm_11[]=" SK "; uchar code Alarm_22[]=" XK "; uchar code Alarm_33[]=" DK "; uchar code deng[]= " LIGHTING "; ***it K1=P1^0; ***it K2=P1^1; ***it K3=P1^2; ***it K4=P1^3; ***it rs=P2^0; ***it rw=P2^1; ***it lcden=P2^2; ***it LED2=P2^3; ***it LED=P2^4; ***it beep=P2^5; void delay (z) { uint x,y; for(x=z;x>0;x--); for(y=110;y>0;y--); } void write_com(uchar com) {rs=0; rw=0; lcden=0; P3=com; delay(5); lcden=1; delay(5); lcden=0; } void write_date(uchar date) {rs=1; rw=0; lcden=0; P3=date; delay(5); lcden=1; delay(5); lcden=0; } void write_sfm(uchar add,uchar date) {uchar shi,ge; shi=date/10; ge=date%10; write_com(0x80+0x40+add); write_date(0x30+shi); write_date(0x30+ge);} void init() {uint num; aa=0; K1num=0; K2num=0; K3num=0; K4num=0; flag1=1; flag2=1; flag3=1; flag4=1; flag5=1; LED=1; LED2=0; rw=0; N=100; miao=0; fen=0; shi=7; fen1=6; shi1=7; fen2=8; shi2=7; fen3=10; shi3=7; fen4=12; shi4=7; beep=0; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); for(num=0;num<15;num++) { write_date(table[num]); delay(10);} write_com(0x80+0x40+11); write_date(':'); write_com(0x80+0x40+14); write_date(' '); write_com(0x80+0x40+15); write_date(' '); write_sfm(12,fen); write_sfm(9,shi); TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void xianshi() {write_com(0x80+0x40); for(i=0;i<9;i++) write_date(table2[i]); write_com(0x80+0x40+11); write_date(':'); write_com(0x80+0x40+14); write_date(' '); write_com(0x80+0x40+15); write_date(' '); write_sfm(12,fen); write_sfm(9,shi);} void time() { if((K1num==0)&&(flag3==1)) {write_com(0x80+0x40); for(i=0;i<9;i++) write_date(table2[i]); if(K1==0) {delay(5); flag5=1; if((K1==0)&&(K1num==0)) {K1num=1; while(!K1) if(K1num==1) {TR0=0; write_com(0x0f); write_com(0x80+0x40+13);}}} if((K1==0)&&(K1num==1)) {delay(5); if(K1==0) {write_com(0x80+0x40+10); K1num=1; while(!K1); shi++; if(shi==24) shi=0; write_sfm(9,shi); write_com(0x80+0x40+10);}} if((K2==0)&&(K1num==1)) {delay(5); if(K2==0) {write_com(0x80+0x40+13); K1num=1; while(!K2); fen++; if(fen==60) fen=0; write_sfm(12,fen); write_com(0x80+0x40+13);}} if(K1num==1) {if(K3==0) {delay(5); if(K3==0) {flag5=0; K1num=0; while(!K3); write_com(0x0c); TR0=1; flag1=1; write_com(0x80+0x40+11); write_date(':'); write_com(0x80+0x40+14); write_date(' '); write_com(0x80+0x40+15); write_date(' '); } } } } void guangbo() {if(K3num==0) {write_com(0x80+0x40); for(i=0;i<9;i++) write_date(Alarm_00[i]);} if((K3==0)&&(K3num==0)) {delay(5); if(K3==0) {flag1=0; write_com(0x80+0x40+13); while(!K3); K3num=1; write_com(0x80+0x40); for(i=0;i<9;i++) write_date(Alarm_0[i]); write_sfm(12,fen); write_sfm(9,shi); write_com(0x80+0x40+13); }}} if((K2==0)&&(K3num==0)) {delay(5); if(K2==0) {write_sfm(12,fen1); write_sfm(9,shi1); while(!K2); write_sfm(12,fen); write_sfm(9,shi); }} if((K1==0)&&(K3num==1)) {delay(5); if(K1==0) {write_com(0x80+0x40+10); K3num=1; while(!K1); shi++; if(shi==24) shi=0; write_sfm(9,shi1); write_com(0x80+0x40+10); if((K2==0)&&(K1num==1)) {delay(5) if(K2==0) write_com(0x80+0x40+13); K1num=1; while(!K2); fen++; if(fen=60) fen=0; write_sfm(12,fen1); write_com(0x80+0x40+13); if(K1num==1) {if(K3==0) delay(5); if(K3==0) {flag5=0; K1num=0; while(!K3); write_com(0x0c); flag1=1; write_sfm(12,fen); write_sfm(9,shi); write_com(0x80+0x40+11); write_date(':'); write_com(0x80+0x40+14); write_date(' '); write_com(0x80=0x40+15); write_date(' ');}}}}} void shangke() {if((K3num==0); {write_come(0x80+0x40); for(i=0;i<9;i++) write_date(Alarm_11[i]); if((K3==0)&&(K3num==0)) {delay(5); if(K3==0) {flag1=0; write_com(0x80+0x40+13); while(!K3); K3num=1; write_com(0x80+0x40); for(i=0;i<9;i++) write_date(Alarm_1[i]); write_sfm(12,fen2); write_sfm(9,shi2); write_com(0x0f); write_com(0x80+0x40+13); }} if((K2==0)&&(K3num==0)) {delay(5); if(K2==0) {write_sfm(12,fen2); write_sfm(9,shi2); while(!K2); write_sfm(12,fen); write_sfm(9,shi);}} if((K1==0)&&(K3num==1)) {delay(5); if(K1==0) {write_com(0x80+0x40+10); K3num=1; while(!K1); shi++; if(shi==24) shi=0; write_sfm(9,shi1); write_com(0x80+0x40+10); if((K2==0)&&(K1num==1)) {delay(5) if(K2==0) write_com(0x80+0x40+13); K1num=1; while(!K2); fen++; if(fen=60) fen=0; write_sfm(12,fen1); write_com(0x80+0x40+13); if(K1num==1) {if(K3==0) delay(5); if(K3==0) {flag5=0; K1num=0; while(!K3); write_com(0x0c); flag1=1; write_sfm(12,fen); write_sfm(9,shi); write_com(0x80+0x40+11); write_date(':'); write_com(0x80+0x40+14); write_date(' '); write_com(0x80=0x40+15); write_date(' ');}}} void xiake() {if((K3num==0); {write_com(0x80+0x40); for(i=0;i<9;i++) write_date(Alarm_22[i]); if((K3==0)&&(K3num==0)) {delay(5); if(K3==0) {flag1=0; write_com(0x80+0x40+13); while(!K3); K3num=1; write_com(0x80+0x40); for(i=0;i<9;i++) write_date(Alarm_2[i]); write_sfm(12,fen); write_sfm(9,shi); write_com(0x80+0x40+13); }}} if((K2==0)&&(K3num==0)) {delay(5); if(K2==0) {write_sfm(12,fen3); write_sfm(9,shi3); while(!K2); write_sfm(12,fen); write_sfm(9,shi); }} if((K1==0)&&(K3num==1)) {delay(5); if(K1==0) {write_com(0x80+0x40+10); K3num=1; while(!K1); shi++; if(shi==24) shi=0; write_sfm(9,shi1); write_com(0x80+0x40+10); if((K2==0)&&(K1num==1)) {delay(5) if(K2==0) write_com(0x80+0x40+13); K1num=1; while(!K2); fen++; if(fen=60) fen=0; write_sfm(12,fen1); write_com(0x80+0x40+13); if(K1num==1) {if(K3==0) delay(5); if(K3==0) {flag5=0; K1num=0; while(!K3); write_com(0x0c); flag1=1; write_sfm(12,fen); write_sfm(9,shi); write_com(0x80+0x40+11); write_date(':'); write_com(0x80+0x40+14); write_date(' '); write_com(0x80=0x40+15); write_date(' ');}}} void dengkong() if((K3num==0); {write_com(0x80+0x40); for(i=0;i<9;i++) write_date(Alarm_00[i]); if((K3==0)&&(K3num==0)) {delay(5); if(K3==0) {flag1=0; write_com(0x80+0x40+13); while(!K3); K3num=1; write_com(0x80+0x40); for(i=0;i<9;i++) write_date(Alarm_0[i]); write_sfm(12,fen); write_sfm(9,shi); write_com(0x80+0x40+13); }}} if((K2==0)&&(K3num==0)) {delay(5); if(K2==0) {write_sfm(12,fen1); write_sfm(9,shi1); }} if((K1==0)&&(K3num==1)) {delay(5); if(K1==0) {write_com(0x80+0x40+10); K3num=1; while(!K1); shi++; if(shi==24) shi=0; write_sfm(9,shi1); write_com(0x80+0x40+10); if((K2==0)&&(K1num==1)) {delay(5) if(K2==0) write_com(0x80+0x40+13); K1num=1; while(!K2); fen++; if(fen=60) fen=0; write_sfm(12,fen1); write_com(0x80+0x40+13); if(K1num==1) {if(K3==0) delay(5); if(K3==0) {flag5=0; K1num=0; while(!K3); write_com(0x0c); flag1=1; write_sfm(12,fen); write_sfm(9,shi); write_com(0x80+0x40+11); write_date(':'); write_com(0x80+0x40+14); write_date(' '); write_com(0x80=0x40+15); write_date(' ');}}} void clock() if((((fen==fen1)&&(shi==shi1))||((fen==fen2)&&(shi==shi2))||((fen==fen3)&&(shi==shi3))||((fen==fen4)&&(shi==shi4)))&&(flag2==1)) {beep=1; flag5=0;flag0=0; delay(100); beep=0; delay(100); beep=1; delay(100); beep=0; delay(100); beep=1; delay(100); beep=0; delay(300);} else {beep=0;} if(((fen!=fen1)&&(fen!=fen2)&&(fen!=fen3)&&(fen!=fen4))&&(flag4=0)&&(flag5=0)) {xianshi(); if((fen==fen1)&&(shi==shi1&&(flag2==1)) {LED2=1;} write_come(0x80+0x40); for(i=0;i<9;i++) write_date(Alarm_00[i]); write_sfm(12,fen1); write_sfm(9,shi1); else {LED2=0;} if((((fen==fen1)&&(shi==shi1)&&(flag2==0))||((fen-1=fen1)&&(shi=shi1)))&&(flag4==0)) {xianshi();} if((fen==fen2)&&(shi==shi2)&&(flag2==1)) write_com(0x80+0x40); for(i=0;i<9;i++) write_date(Alarm_11[i]); write_sfm(12,fen2); write_sfm(9,shi2);} if((((fen==fen2)&&(shi==shi2)&&(flag2==0))||((fen-1=fen2)&&(shi=shi2)))&&(flag4==0)) {xianshi()} if((fen==fen3)&&(shi==shi3)&&(flag2==1)) write_com(0x80+0x40); for(i=0;i<9;i++) write_date(Alarm_22[i]); write_sfm(12,fen3); write_sfm(9,shi3);} if((((fen==fen3)&&(shi==shi3)&&(flag2==0))||((fen-1=fen3)&&(shi=shi3)))&&(flag4==0)) {xianshi()} if((fen==fen4)&&(shi==shi4)&&(flag2==1)) write_com(0x80+0x40); for(i=0;i<15;i++) write_date(Deng[i]); if((((fen==fen4)&&(shi==shi4)&&(flag2==0))||((fen-1=fen4)&&(shi=shi4)))&&(flag4==0)) {xianshi()} void main() {init(); while(1) {if((K4==0)&&(flag3==1)} {delay(2000); K4num++; delay(100); if(K4num==5) K4num=0; if((K4==0)&&(flag3==0)) delay(5) if(K4==0) {flag2=0; flag3=1; delay(300);} if(K4num==0) {time(); flag4=0;} if(K4num==1) {guangbo(); flag4=1;} if(K4num==2) {shangke(); flag4=1; if(K4num==3) {xiake(); flag4=1;} if(K4num==4) { dengkong(); flag4=1;} clock();}} void time0()interrupt 1 {TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; if(aa==20) aa=0; miao+=1; if(miao==60) miao=0; fen+=1; flag2=1; if(fen==60) fen=0; shi+=1; if(shi==24) shi=0; if(flag1==1) { write_sfm(9,shi); write_com(0x80+0x40+11); write_date(':'); write_com(0x80+0x40+14); write_date(' '); write_com(0x80+0x40+15); write_date(' ');}} if(flag1==1) {write_sfm(12,fen); write_com(0x80+0x40+11); write_date(':'); write_com(0x80+0x40+14); write_date(' '); write_com(0x80+0x40+15); write_date(' ');}}}} void()定时加不进去,老是说有语法错误,求指点,在void guangbo()处 |
|
相关推荐
1个回答
|
|
这个是可编程作息控制器的,可是到了四个模式定时就出错了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
686 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-通用文件I/O模型之close
745 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第十五章 按键中断实验
702 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第十一章 FPIOA管理器实验
949 浏览 0 评论
786 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11459 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-13 23:56 , Processed in 0.603658 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号