本次设计的主要点是串口通信,利用Proteus进行双机通信,而本次设计刚好就八个客户编号,所以该项目存粹是简单串口通信,只需要设计按键按下对应位置置1,然后接受方检测置1位置判断的是哪个按键按下,实现简单的定位,同时为了可视化考虑使用LCD进行显示,八个led亮灯表示呼叫人,为了进行提示使用蜂鸣器进行鸣叫。整体图如下:
一、发送方设计
1、串口配置
这里我们将串口波特率配置为115200,参考如下:
#include <REGX52.H>
//波特率4800
void UART_Init()
{
SCON = 0x50;
PCON = 0x80;
TMOD &= 0x0f;
TMOD |= 0x20;
TH1 = 0xf3;
TL1 = 0xf3;
ET1 = 0;
TR1 = 1;
EA = 1;
ES = 1;
}
void UART_Sendbyte(unsigned char Byte)
{
SBUF = Byte;
while(TI == 0);
TI = 0;
}
2、主要代码
发送方的主要逻辑是根据按键进行发送字节的位置置1,比如1号病人按下,我们将发送字节的人第一位置1,实现标记。
#include <RE