📄 main.c
字号:
/*
****************************************************
****************************************************
*/
#include <reg52.H>
#include "Typedef.H"
#include "UserDef.H"
#include "Keypad.H"
#include "Disp.H"
#include "Cacu.H"
/* 全局变量 */
INT8U KeyVal = VK_NULL; //按键值
bit bDispRef = FALSE; //信号灯:显示更新时间到
bit bKeyScan = FALSE; //信号灯:键盘扫描时间到
/* 函数 */
void KeyboardDeal(void);
/***************************************
****************************************/
void main(void)
{
TMOD = 0x11;
TH0 = (unsigned char)(KTDLY>>8);
TL0 = (unsigned char)(KTDLY);
TR0 = 1;
ET0 = 1;
EA = 1;
DispInit();
DispCls();
// DispIntRight(0); //显示效果示范
// DispStr("Hello!",0,0,0);
DispFloat(0,0,0,8);
// DispInt(123,0,0,4);
while(TRUE)
{
/* 键盘 */
if (bKeyScan == TRUE)
{
bKeyScan = FALSE;
KeyboardDeal();
}
/* 显示扫描刷新 */
if (bDispRef == TRUE)
{
bDispRef = FALSE;
DispRef();
}
}
}
/*************************************
定时器中断程序
**************************************/
void int_t0(void) interrupt 1 using 1
{
static int cnt = 0;
TH0 = (unsigned char)(KTDLY>>8);
TL0 = (unsigned char)(KTDLY);
cnt ++;
/* 键盘扫描信号灯 */
if ((cnt % T_KEYSCAN) == 0)
{
bKeyScan = TRUE;
}
/* 显示扫描信号灯 */
if ((cnt % T_DISPREF) == 0)
{
bDispRef = TRUE;
}
}
/*************************************
键盘处理
**************************************/
void KeyboardDeal(void)
{
INT8U n;
float res;
n = Keypad_GetKey();
if (n != KeyVal)
{
KeyVal = n;
if (n != VK_NULL)
{
DispCls();
if (CacuInput(n,&res) == TRUE)
{
DispFloat(res,0,0,8);
}
else
{
DispStr("Error!",1,0,TRUE);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -