标题: 两个89C52单片机之间的串口通信代码 [打印本页]

作者: LHY_lhy    时间: 2021-7-13 10:36
标题: 两个89C52单片机之间的串口通信代码
学习了串口通信 尝试了一下单片机与单片机之间的串口通信
使用UART协议

主要实现了在主机上按下独立按键 然后从机上的LED灯显示

主机发送的main.c

#include "regx52.h"
#include <UART.h>
#include <Key.h>
#include <Delay.h>


unsigned char keyn;
void main()
{
          UART_Init();
    while(1)
                {
                        keyn=Key();
                        switch(keyn)
                        {
                                case 1:UART_SendByte(keyn);break;
                                case 2:UART_SendByte(keyn);break;
                                case 3:UART_SendByte(keyn);break;
                                case 4:UART_SendByte(keyn);break;
                        }
                        keyn=0;
                }
}





从机接收的main.c
#include "regx52.h"
#include <UART.h>
#include <Key.h>
#include <Delay.h>


sbit LED1=P2^0;
sbit LED2=P2^1;
sbit LED3=P2^2;
sbit LED4=P2^3;
unsigned char keyn;
// 主机按下独立按键 从机的LED亮灯或灭灯//
void main()
{
          UART_Init();
    while(1)
                {
                  switch(keyn)
                        {
                                case 1:LED1=0;break;
                                case 2:LED1=1;break;
                                case 3:LED2=0;break;
                                case 4:LED2=1;break;
                        }
                }
}
void UART_R() interrupt 4
{
                         keyn=SBUF;
                         RI=0;
                         SBUF=keyn;
                         while(!TI);
                                        TI=0;
                        
}



其他的模块代码都在附件中

51hei.png (2.69 KB, 下载次数: 119)

51hei.png

单片机与单片机通信.zip

66.93 KB, 下载次数: 42, 下载积分: 黑币 -5






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1