找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1828|回复: 0
打印 上一主题 下一主题
收起左侧

两个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, 下载次数: 84)

51hei.png

单片机与单片机通信.zip

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

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表