📄 exam1.c
字号:
//#include <inandout.h>
/********************************************************/
/*文件名: */
/*功能: */
/*编写: */
/*建立时间:
/*修改纪录: */
/********************************************************/
#include <exam1.h>
Data16B DataCtReg _at_ 0x50 ;
//Data16B DataCtRegBuf _at_ 0x52;
uchar DataBufDis[4] _at_ 0x52;
/*BCD加1,并且转换成需要显示的数据,汇编实现*/
void BCDADD();
uchar PlusSecond=0;
uchar Plus200ms;
uchar KeyStory=10;
INT32U SysRunTime=0;
uchar OPDATA;
uchar UartRecBuf[32];
uchar *UartRecPoint=UartRecBuf;
void CountSecondPlus()
{
if(Plus200ms>=5)
{
DisableInterrupt();
Plus200ms-=5;
EnableInterrupt();//
SysRunTime++;
PlusSecond=1;
}//
}
/*该函数目前实现计数的功能,修改数码管的显示值*/
void SecondTask()
{
// uchar DisBufC[4];
if(PlusSecond==1)
{
PlusSecond=0;
//DataCtReg.U16B=(SysRunTime%1000);
BCDADD();
AmendDisBuf(DataBufDis);
// DisBufC =
/**/
}
}
/* LED动作::
按键1按下,按照第一种模式工作,一直工作 ,按键5按下,按照模式1反方向工作
2-8按键功能类推。
*/
void KeyLedMenu()
{
uchar KeyStoryReg;
// Data16B LedRegData;
KeyStoryReg=GetKeyValue();
// KeyStoryReg=1;//tes
if(KeyStoryReg!=0)
{
KeyStory=KeyStoryReg;
/*复位LED显示,全部灭*/
if(KeyStory>4)
{
OPDATA=1;
}
else OPDATA=0;
KeyStory=(KeyStory-1)%4;
}
LedMenuSub(KeyStory,OPDATA);
}
void main()
{
// uchar WeekData;
DataCtReg.U16B=0;
HardConfigSub();
// WeekData=GetWeekDay(8,10,15);
while(1)
{
CountSecondPlus();
DisPlaySub();
SecondTask();
LEDTimeCtSub();
KeyLedMenu();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -