📄 main.c
字号:
/*
****************************************************
****************************************************
*/
#include <reg52.H>
#include "Typedef.H"
#include "UserDef.H"
#include "Disp.H"
#include "comu485.h"
#include "Keypad.H"
/* 全局变量 */
bit bDispRef = FALSE; //信号灯:显示更新时间到
bit bKeyScan = FALSE; //信号灯:键盘扫描时间到
INT8U KeyVal = VK_NULL; //按键值
INT8U comu_send[8];
INT8U comu_send_len = 0;
/* 函数 */
void KeyboardDeal(void);
/***************************************
****************************************/
void main(void)
{
INT8U i;
//初始化
TMOD = 0x11;
TH0 = (INT8U)(KTDLY>>8);
TL0 = (INT8U)(KTDLY);
TR0 = 1;
comu_init('0');
ET0 = 1;
EA = 1;
DispInit(); //LCD初始化
/* LCD清屏 */
DispCls();
/* 显示固定的文字 */
DispFontSet(1);
DispXYSet(0,0);
DispStr(" Comu Test");
DispFontSet(1);
DispXYSet(3,0);
DispStr("Send =");
DispXYSet(5,0);
DispStr("Recv =");
while(TRUE)
{
/* 键盘 */
if (bKeyScan == TRUE)
{
bKeyScan = FALSE;
KeyboardDeal();
}
/* 显示扫描刷新,输出可变的文字 */
if (bDispRef == TRUE)
{
bDispRef = FALSE;
DispXYSet(3,60);
for (i=0;i<8;i++)
{
if (i>=comu_send_len)
{
DispChr(' ');
}
else
{
DispChr(comu_send[i]);
}
}
DispXYSet(5,60);
for (i=0;i<8;i++)
{
if (i>=comu_recv_len)
{
DispChr(' ');
}
else
{
DispChr(Rxbuf[i]);
}
}
}
}
}
/*************************************
定时器中断程序
**************************************/
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;
n = Keypad_GetKey();
if (n != KeyVal)
{
KeyVal = n;
if (n != VK_NULL)
{
if ((n>=VK_0) && (n<=VK_9))
{
comu_send[comu_send_len] = n-VK_0+'0'; /* 数字按键:直接存入发送数组 */
comu_send_len ++;
}
else if (n==VK_EQU) /* 等于:将现有的数据发送 */
{
comu485_send_packet(comu_send,comu_send_len);
comu_recv_len = 0;
}
else if (n == VK_CLR) /* ON/C键:将发送数据清零 */
{
comu_send_len = 0;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -