基于PSOC3的自动报时系统时钟文档格式.docx
- 文档编号:22115863
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:45
- 大小:84.69KB
基于PSOC3的自动报时系统时钟文档格式.docx
《基于PSOC3的自动报时系统时钟文档格式.docx》由会员分享,可在线阅读,更多相关《基于PSOC3的自动报时系统时钟文档格式.docx(45页珍藏版)》请在冰豆网上搜索。
uint8test_flag=0;
uint8mode0_flag=0;
uint8baoshi_flag=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="
mode0_flag=0;
CY_ISR(MY_I)
{if((a_houh==(hou/10))&
&
(a_houl==(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;
{Pin_1_Write
(1);
if(baoshi_flag==1)
{cnt++;
if(cnt<
2)
}
if(cnt>
if(cnt==4)
{cnt=0;
baoshi_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/4==0&
yea/100!
=0)||(yea/400==0))&
(mon==2))
{day=0;
mon++;
if(day==31)
{if(~((mon==1)||(mon==3)||(mon==5)||(mon==7)||(mon==8)||(mon==10)||(mon==12)))
if(day==32)
{day=0;
}
if(mon==13)
{yea++;
if((min==0)&
(sec==0))
{baoshi_flag=1;
baoshi_cishu=hou;
}
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;
switch(alarmclock_flag3)
{case1:
a_houh++;
if(a_houh==3){a_houh=0;
};
break;
case2:
a_houl++;
if(a_houl==10){a_houl=0;
case3:
a_minh++;
if(a_minh==6){a_minh=0;
case4:
a_minl++;
if(a_minl==10){a_minl=0;
case5:
a_sech++;
if(a_sech==6){a_sech=0;
case6:
a_secl++;
if(a_secl==10){a_secl=0;
default:
}}
CY_ISR(B_a)
{if((my_mode==0)&
(mode0_flag!
=0))
switch(mode0_flag)
case14:
hou=hou+10;
if(hou>
24){hou=0;
case13:
hou++;
case12:
min=min+10;
if(min>
=60){min=0;
case11:
min++;
case10:
sec=sec+10;
if(sec>
=60){sec=0;
case9:
sec++;
case8:
yea=yea+1000;
if(yea>
=10000){yea=0;
case7:
yea=yea+100;
yea=yea+10;
yea=yea++;
mon=mon+10;
mon++;
day=day+10;
case1:
day++;
}
if((alarmclock_flag2==0)&
(mode0_flag==0))
my_mode=my_mode+1;
if(my_mode==2)
{my_mode=0;
if(alarmclock_flag2==1)
{alarmclock_flag3++;
if(alarmclock_flag3==7)
{alarmclock_flag3=0;
voidmain()
{
CyGlobalIntEnable;
ButtonISR_Start();
ButtonISR_Disable();
ButtonISR1_Start();
ButtonISR1_Disable();
TimerISR_Start();
TimerISR_Disable();
TimerISR_1_Start();
TimerISR_1_Disable();
ButtonISR_SetVector(B_a);
ButtonISR_Enable();
ButtonISR1_SetVector(B_b);
ButtonISR1_Enable();
TimerISR_SetVector(MY_I);
TimerISR_Enable();
TimerISR_1_SetVector(TT1);
TimerISR_1_Enable();
clock_1_Enable();
clock_2_Enable();
Timer_1_Start();
Timer_2_Start();
LCD_Start();
Pin_1_Write(0);
for(;
)
{LCD_Position(0,15);
LCD_PrintNumber(cnt);
switch(my_mode)
{case0:
if(mode0_flag==0)
{
LCD_Position(0,0);
LCD_PrintString("
Time:
"
);
LCD_Position(0,5);
"
LCD_Position(0,6);
LCD_PrintNumber(hou/10);
LCD_Position(0,7);
LCD_PrintNumber(hou%10);
LCD_Position(0,8);
-"
LCD_Position(0,9);
LCD_PrintNumber(min/10);
LCD_Position(0,10);
LCD_PrintNumber(min%10);
LCD_Position(0,11);
LCD_Position(0,12);
LCD_PrintNumber(sec/10);
LCD_Position(0,13);
LCD_PrintNumber(sec%10);
LCD_Position(0,14);
LCD_Position(1,0);
Date:
LCD_Position(1,5);
LCD_Position(1,6);
LCD_PrintNumber(yea/1000);
LCD_Position(1,7);
LCD_PrintNumber((yea%1000)/100);
LCD_Position(1,8);
LCD_PrintNumber(((yea%1000)%100)/10);
LCD_Position(1,9);
LCD_PrintNumber(((yea%1000)%100)%10);
LCD_Position(1,11);
LCD_PrintNumber(mon/10);
LCD_Position(1,12);
LCD_PrintNumber(mon%10);
LCD_Position(1,13);
LCD_Position(1,15);
LCD_Position(1,14);
LCD_PrintNumber(day/10);
LCD_PrintNumber(day%10);
}
if(mode0_flag==14)
{
LCD_Position(0,0);
if(InterruptCnt==0)
{LCD_PrintString("
else
{LCD_PrintNumber(hou/10);
}
if(mode0_flag==13)
LCD_Position(0,6);
{LCD_PrintNumber(hou%10);
if(mode0_flag==12)
LCD_PrintNumber(hou%10);
{LCD_PrintNumber(min/10);
if(mode0_flag==11)
{LCD_PrintNumber(min%10);
LCD_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PSOC3 自动 报时 系统 时钟
![提示](https://static.bdocx.com/images/bang_tan.gif)