找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2786|回复: 9
收起左侧

双机串口通信

[复制链接]
ID:143785 发表于 2016-11-20 23:26 | 显示全部楼层 |阅读模式
甲机控制乙机:当甲机按下K1开关时,根据K1被按下的次数,甲机向乙机发送控制命令字符 “A”、“B”、“C”、“D”,乙机根据所接收到的字符完成D1和D2不同的亮灭。第1次按下,发送‘A’,D1亮D2灭;第2次按下发送‘B’,D1灭D2亮;第3次按下发送‘C’,两灯全亮;第4次按下两灯全灭;依次循环。
#include<reg52.h>                //甲机
#define uint unsigned int
#define uchar unsigned char
sbit SW=P3^2;
//sbit led1=P1^3;
//sbit led2=P1^4;
uchar n,num=0;
void delay(uint xms)
{
   uint i,j;
    for(i=xms;i<0;i--)
      for(j=120;j<0;j--);
}
void send(key_num)
{
    SBUF=key_num;
        while(!TI)
        TI=0;
}
void key()
{  
  if(SW==0)
{
    delay(50);
      if(SW==0)
    {
          while(!SW);
    num++;
        if(num==1)
    n='A';
        if(num==2)
    n='B';
        if(num==3)
    n='C';
        if(num==4)
    n='D';
        if(num==4)
        num=0;
  }
}
  send(n);
}
void main()
{
   TMOD=0x20;
   TH1=0Xfd;
   TL1=0Xfd;
   TR1=1;
   REN=1;
   SM0=0;
   SM1=1;
   EA=1;
   ES=1;
   while(1)
   {
     key();
   }

}
#include<reg52.h>                //乙机
#define uint unsigned int
#define uchar unsigned char
sbit led1=P1^3;
sbit led2=P1^4;
uchar n,num=0;
void delay(uint xms)
{
   uint i,j;
    for(i=xms;i<0;i--)
      for(j=120;j<0;j--);
}
/*void send(key_num)
{
    SBUF=key_num;
        while(!TI)
        TI=0;
} */
void ser() interrupt 4
{  
   uchar a;
   RI=0;
   a=SBUF;
   if(a=='A')
   led1=0;
   led1=1;
   if(a=='B')
   led1=1;
   led1=0;
   if(a=='C')
   led1=0;
   led1=0;
   if(a=='D')
   led1=1;
   led1=1;
          
}
void main()
{
   TMOD=0x20;
   TH1=0Xfd;
   TL1=0Xfd;
   TR1=1;
   REN=1;
   SM0=0;
   SM1=1;
   EA=1;
   ES=1;
   while(1);
}

回复

使用道具 举报

ID:143785 发表于 2016-11-20 23:28 | 显示全部楼层
帮忙看看,程序哪错了
回复

使用道具 举报

ID:111634 发表于 2016-11-21 08:44 | 显示全部楼层
本帖最后由 zl2168 于 2016-11-21 08:45 编辑

实例77  双机串行通信方式1


Proteus仿真一下,确认有效。
实例77 双机通信方式1.rar (40.4 KB, 下载次数: 38)
回复

使用道具 举报

ID:111634 发表于 2016-11-21 08:46 | 显示全部楼层
实例78  双机串行通信方式2


Proteus仿真一下,确认有效。
实例78 双机通信方式2.rar (46.57 KB, 下载次数: 19)
回复

使用道具 举报

ID:111634 发表于 2016-11-21 08:48 | 显示全部楼层
实例79  双机串行通信方式3


Proteus仿真一下,确认有效。
实例79 双机通信方式3.rar (45.3 KB, 下载次数: 18)
回复

使用道具 举报

ID:158487 发表于 2017-3-29 23:10 | 显示全部楼层
双机串口通信原理图,仿真以及程序,报告

串口通信.zip

90.41 KB, 下载次数: 34

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:82765 发表于 2017-3-30 09:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

ID:47881 发表于 2017-5-24 09:53 | 显示全部楼层
正好学习一下!
回复

使用道具 举报

ID:205237 发表于 2017-10-26 20:16 | 显示全部楼层
刚好学到串口,学习一下
回复

使用道具 举报

ID:242950 发表于 2017-10-26 21:21 | 显示全部楼层
感觉挺好的啊
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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