📄 main.c
字号:
#include "GP32C.H"
#include "TIME.h"
#include "KB.h" //键盘
#include "LCD.h"
//函数声明
//extern void SCIInit(void);
//extern void InitTime(void);
//extern void SCISendN(unsigned char n,unsigned char ch[]);
//extern void Timer1init(void);
//extern void lcdshow(unsigned char *str);
unsigned char time1[18]; //显示当前时间
unsigned char time2[7]; //保存闹钟时间
unsigned char time[7]; //存放时、分、秒
unsigned char val;
//unsigned char val1;
unsigned char sign1;
unsigned char sign2;
//*====================================================*
//*[主程序]
void main()
{
unsigned char h,l;
val=0;
//val1=0;
DDRD=1;
sign1=0;
sign2=0;
asm("SEI"); //关总中断
//SCIInit();
Timer1init(); //调定时器1初始化子程序
KB_Init();
InitTime(); //初始化时间
conver();
lcdshow((unsigned char *)time1);
//SCC2|=(1<<5); //令SCC2.5=1,允许接收中断
asm("CLI");
while(1)
{
h=0;
for(l=0;l<7;l++) //闹钟
{
if(time[l]!=time2[l]) break;
h++;
if(h==7)
{
alarmtime(30);
}
}
if((time[6]==0)&&(time[5]==0)&&(time[4]==0))//整点报时
{
PTD=1;
delay();
PTD=0;
delay();
}
if(sign1==1)
{
INTKBSCR|= (1<<IntBit); //屏蔽键盘中断(IMASKK=1)
SetTime(); //设置时间
sign1=0;
INTKBSCR&= ~(1<<IntBit); //打开键盘中断(IMASKK=0)
}
if(sign2==1)
{
INTKBSCR|= (1<<IntBit); //屏蔽键盘中断(IMASKK=1)
sign2=0;
SetAlarmClock(); //设置闹钟时间
INTKBSCR&= ~(1<<IntBit); //打开键盘中断(IMASKK=0)
}
if (val==1) //时间溢出中断发生
{
conver();
lcdshow((unsigned char *)time1);//每一秒更新
val=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -