资源描述:
《基于普中开发板多功能数码显示电子钟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、/*此程序是按照普中开发板的电路连接,能显示时间,日期,闹钟,带有设置和闰年补偿*/ #include#defineucharunsignedchar#defineuintunsignedint#defineplayP0sbitLSA=P1^0;sbitLSB=P1^1;sbitLSC=P1^2;sbitled=P2^2;//闹钟检测sbitk1=P2^7;//功能切换 sbitk2=P2^6;//设置加sbitk3=P2^5;// 设置减 sbitk4=P2^4;//设置位选sbitbeet=P1^5;//蜂鸣器输出口uchary;//按键松开ucharkai;//闹
2、钟开启标志ucharshe;//设置标志uchart;//时间计数ucharnum;//功能切换ucharfen;ucharshi;ucharmiao;ucharyue;ucharnian;ucharri;ucharshijian[8];uchar shi1;//闹铃时ucharfen1; //闹铃分unsignedcharcodeshuma[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, //数码管显示数组0到90x7f,0x6f,0x40,0x00};ucharbrunyue[12]={31,28,31,30,31,30,31,31,30
3、,31,30,31};ucharrunyue[12]={31,29,31,30,31,30,31,31,30,31,30,31};voidzhongshe();voidqishe();voidnaoshe();voidshezhi();voiddelay10ms(void) //误差0us{ unsignedchara,b,c; for(c=1;c>0;c--) for(b=38;b>0;b--) for(a=130;a>0;a--);}voidnaozhong(){ uinta,m; if((shi1==shi)&&(fen1==fen)&&(kai%2)) {
4、for(m=20;m>0;m--) for(a=10;a>0;a--) if((k1==0)
5、
6、(k2==0)
7、
8、(k3==0)
9、
10、(k4==0)) {kai=0;break; } else beet=~beet; }}voidplays() //输出显示{unsignedchari;unsignedintj;for(i=0;i<8;i++){switch(i) //位选,选择点亮的数码管,{case(0):LSA=0;LSB=0;LSC=0;break;//显示第0位case(1):LSA=1;LSB=0;LSC=0;break;//显示第1位case(2):
11、LSA=0;LSB=1;LSC=0;break;//显示第2位case(3):LSA=1;LSB=1;LSC=0;break;//显示第3位case(4):LSA=0;LSB=0;LSC=1;break;//显示第4位case(5):LSA=1;LSB=0;LSC=1;break;//显示第5位case(6):LSA=0;LSB=1;LSC=1;break;//显示第6位case(7):LSA=1;LSB=1;LSC=1;break;//显示第7位} play=shuma[shijian[i]]; if(t>50){ switch(she){ case(3): if((i==0)
12、
13、
14、(i==1)) play=0x00;break; case(2): if((i==3)
15、
16、(i==4)) play=0x00;break; case(1): if((i==6)
17、
18、(i==7)) play=0x00;break;} } j=10; //扫描间隔时间设定while(j--);play=0x00;//消隐}} voidnao()//闹钟赋值{ shijian[7]=kai; shijian[6]=11; shijian[5]=11; shijian[4]=fen1%10; shijian[3]=fen1/10; shijian[2]=10; sh
19、ijian[1]=shi1%10; shijian[0]=shi1/10;}voidrili() //日期赋值{ shijian[7]=ri%10; shijian[6]=ri/10; shijian[5]=10; shijian[4]=yue%10; shijian[3]=yue/10; shijian[2]=10; shijian[1]=nian%10; shijian[0]=nian/10;}voidzhong