找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5250|回复: 0
收起左侧

51单片机双机通信单片机 甲机乙机代码+Proteus仿真

[复制链接]
ID:793761 发表于 2020-6-30 13:39 | 显示全部楼层 |阅读模式
设计内容:甲、乙两个单片机进行方式3串行通信。要求实现以下功能:
甲机有8个按键K0~K7,读取按键的不同状态,讲数据发送给乙机,从而控制8个LED灯(LED0~LED7)显示不同状态。
a)   甲机K0按下,乙机的LED0灯亮;甲机K1按下,乙机的LED1灯亮;……;甲机K6按下,乙机的LED6灯亮;甲机K7按下,乙机的LED7灯亮。如果甲机有多个按键按下去,对应乙机的多个灯亮。
b)   甲乙单片机都采用方式3进行串行通信。甲机采用方式3比方式1多1个可编程控制位TB8,该位作为奇偶校验位。乙机接收到的8位二进制数据有可能出错,需要进行奇偶校验。需校验接收到的RB8与自己计算所得的校验位是否一致。自我选择甲乙两机采用奇校验还是偶校验。报告中需要说明。
c)   乙机校验相同,接收数据;校验不同,拒绝接收数据。这里不要求甲机重新发送数据,只是等待甲机新数据发送过来。
d)   甲机连接虚拟仪器,显示发送的数据。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
1.png
  1. 甲机:
  2. #include<reg51.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. sbit p=PSW^0;
  6. void delay(uint i){
  7.         uchar t;
  8.         while(i--){
  9.                 for(t=0;t<120;t++);
  10.         }
  11. }
  12. void main(){
  13.         SCON=0xc0;
  14.         PCON=0x00;
  15.         TMOD=0x20;
  16.         TH1=0xfd;
  17.         TL1=0xfd;
  18.         TR1=1;
  19.         P1=0xff;
  20.         while(1){
  21.                 ACC=P1;
  22.                 TB8=p;
  23.                 SBUF=P1;
  24.                 while(!TI);
  25.                         TI=0;
  26.                 delay(200);
  27.         }
  28. }
  29. 乙机:
  30. #include<reg51.h>
  31. sbit p=PSW^0;
  32. #define uchar unsigned char
  33. #define uint unsigned int

  34. void delay(uint i){
  35.         uchar t;
  36.         while(i--){
  37.                 for(t=0;t<120;t++);
  38.         }
  39. }
  40. void main(){
  41.         SCON=0xd0;
  42.         PCON=0x00;
  43.         TMOD=0x20;
  44.         TH1=0xfd;
  45.         TL1=0xfd;
  46.         TR1=1;
  47.         P0=0x00;
  48.         while(1){
  49.                 while(!RI);
  50.                 RI=0;       
  51.                 ACC=SBUF;
  52.                 if(RB8==p){
  53.                         P0=SBUF;
  54.                 }
  55.                 delay(200);
  56.         }
  57. }


复制代码

全部资料51hei下载地址:
51双机通信.rar (31.81 KB, 下载次数: 81)

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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