📄 show.c
字号:
#include "SPCE061V004.H"
unsigned int code[10]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};
unsigned int second=0;
unsigned int minitue=0;
unsigned int hour=0;
unsigned int counter=0;
unsigned int keycode;
unsigned int flag;
#define KEY_UP 0x02;
#define KEY_DOWN 0x03;
#define SET_TIME 0x01;
void main()
{
SP_IOA_INITAL();
*P_INT_Ctrl=0x0004;
*P_IOB_Data=0x0001;
asm(" int IRQ");
//*P_TimerA_Data=0xf7ff;
while(1)
{ if(key_scanf()) SET_TIMER();
show_time();
*P_Watchdog_Clear=0x0001;
}
}
show_time()
{
int i;
int k;
unsigned int display[6];
*P_IOB_Data=0x0001;
display[5]=second%10;
display[4]=second/10;
display[3]=minitue%10;
display[2]=minitue/10;
display[1]=hour%10;
display[0]=hour/10;
for(i=0;i<6;i++)
{
k=display[i];
*P_IOA_Data=code[k];
delay();
*P_IOB_Data=*P_IOB_Data<<1;
if(i==6)
*P_IOB_Data=0x0001;
}
}
SP_IOA_INITAL()
{
*P_IOA_Dir=0xffff;
*P_IOA_Attrib=0xffff;
*P_IOA_Data=0x0000;
*P_IOB_Dir=0xffff;
*P_IOB_Attrib=0xffff;
*P_IOB_Data=0x0000;
}
void delay() //延时
{ int i;
for(i=0;i<200;i++)
*P_Watchdog_Clear=0x0001;
}
void IRQ5(void) __attribute__ ((ISR));//时间中断
void IRQ5(void)
{ *P_Watchdog_Clear=0x0001;
counter++;
if(counter==2){ second++; counter=0;}
if(second==60){ second=0;minitue++;}
if(minitue==60){minitue=0;hour++;}
*P_INT_Clear=0x0004;
}
/*#include "SPCE061V004.H"
extern KEY_UP;
extern KEY_DOWN ;
extern SET_TIME;
extern hour;
extern keycode;
extern flag;
extern second;
extern minitue;
extern hour;*/
int key_scanf() //返回键值
{ int i;
*P_IOA_Data=0x0000;
delay();
if((*P_IOA_Data&0xffff)!=0)//是否有键按下
{ i=*P_IOA_Data;
return i;}
else return 0;}
void SET_TIMER()//设置时间
{
if(key_scanf())
{
switch(keycode)
{
case 0x01: //设置时分秒
flag++;
if(flag==3) flag=0; break;
case 0x02:
if(flag==1){
hour++;
if(hour==24) hour=0;
}
if(flag==2){
minitue++;
if(minitue==60) minitue=0;
}
if(flag==3){
second++;
if(second==60) second=0;}
break;
case 0x03:
{ if(flag==1){
hour--;
if(hour==0) hour=24;}
}
if(flag==2){
minitue--;
if(minitue==0) minitue=60;
}
if(flag==3){
second--;
if(second==0) second=60;}break;
default : break;
}}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -