基于PSOC3的自动报时系统(时钟).docx

基于PSOC3的自动报时系统(时钟).docx

ID:57438766

大小:80.93 KB

页数:28页

时间:2020-08-16

基于PSOC3的自动报时系统(时钟).docx_第1页
基于PSOC3的自动报时系统(时钟).docx_第2页
基于PSOC3的自动报时系统(时钟).docx_第3页
基于PSOC3的自动报时系统(时钟).docx_第4页
基于PSOC3的自动报时系统(时钟).docx_第5页
资源描述:

《基于PSOC3的自动报时系统(时钟).docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于PSOC3的自动报时系统.功能:可以调时、计时。显示日期,时间。还具有闹钟功能。整点报时原理图如下:引脚分配:P2是LCD的接口。Pin_3Pin_4是两个按钮。Pin_1是蜂鸣器。Mian.c的程序如下:#includeuint8StatusRegister;uint8InterruptCnt;uint8secl,sech,minl,minh,houl,houh,a_secl=9,a_sech=5,a_minl=9,a_minh=5,a_houl=3,a_houh;uint16sec=50,min

2、=59,hou=3,day=1,mon=1,yea=2013,a_sec=0,a_min=0,a_hou=0;uint8my_mode=0;flag=0;char*alarmclock_state="OFF";uint8alarmclock_other_flag=0;uint8alarmclock_flag1=0,alarmclock_flag2=0,alarmclock_flag3=0;uint8blank_flag=0;uint8test_flag=0;uint8mode0_flag=0;uint8baoshi_flag

3、=0;uint8baoshi_cishu=0;uint8cnt=0;uint8alarm_bee_flag=0;CY_ISR(TT1){test_flag++;my_mode=0;if(alarm_bee_flag==1){Pin_1_Write(0);alarm_bee_flag=0;}alarmclock_flag2=0;alarmclock_flag3=0;alarmclock_state="OFF";mode0_flag=0;}CY_ISR(MY_I){if((a_houh==(hou/10))&&(a_houl==

4、(hou%10))&&(a_minh==(min/10))&&(a_minl==(min%10))&&(a_sech==(sec/10))&&(a_secl==(sec%10))&&(alarmclock_flag1==1)){alarm_bee_flag=1;}if(alarm_bee_flag==1){Pin_1_Write(1);}if(baoshi_flag==1){cnt++;if(cnt<2){Pin_1_Write(1);}if(cnt>2){Pin_1_Write(0);}if(cnt==4){cnt=0;b

5、aoshi_cishu--;if(baoshi_cishu==0){baoshi_flag=0;}}}else{baoshi_flag=0;}StatusRegister=Timer_1_ReadStatusRegister();InterruptCnt++;if(InterruptCnt==2){InterruptCnt=0;sec++;if(sec==60){sec=0;min++;if(min==60){hou++;min=0;if(hou==24){{hou=0;day++;if(day==29){if(~((yea

6、/4==0&&yea/100!=0)

7、

8、(yea/400==0))&&(mon==2)){day=0;mon++;}}if(day==31){if(~((mon==1)

9、

10、(mon==3)

11、

12、(mon==5)

13、

14、(mon==7)

15、

16、(mon==8)

17、

18、(mon==10)

19、

20、(mon==12))){day=0;mon++;}}if(day==32){day=0;mon++;}if(mon==13){yea++;}}}}}if((min==0)&&(sec==0)){baoshi_flag=1;baoshi_cishu=hou;

21、}}}CY_ISR(B_b){if(my_mode==0){mode0_flag++;if(mode0_flag==15){mode0_flag=0;}}if(my_mode==1){if(alarmclock_flag3==0){alarmclock_flag1++;if(alarmclock_flag1==2){alarmclock_flag1=0;}if(alarmclock_flag1==1){alarmclock_flag2++;if(alarmclock_flag2==2){alarmclock_flag2=0;

22、}}}else{switch(alarmclock_flag3){case1:a_houh++;if(a_houh==3){a_houh=0;};break;case2:a_houl++;if(a_houl==10){a_houl=0;};break;case3:a_minh++;if(a

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。