实验要求:甲、乙双机通过串行口进行连接,采用中断方式,编写串行口方式3下的甲、乙双机发送与接收程序。

甲机发送:发送数据存放在数组TRA[16]里面。

乙机接收:接收数据通过一个七段数码管进行显示。晶振频率为11.0592MHz,波特率为4800 b/s。

简介:4位的拨码开关控制A机发送内容,范围是0~F,B机成功接收则返回字符“1”

工具:proteus+keil

发送A机的代码:

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code TRA[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xA1,0x86,0x8e};//共阳译码
uchar sum=0,flag=0,dat=0;
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
void init()
{TMOD=0x20;TH1=0xea;TL1=0xea;TR1=1;PCON=0X00;SCON=0xd0;//串口方式3EA=1;ES=1;
}
void send()
{sum=0;if(k1==1)sum=sum+8;if(k2==1)sum=sum+4;if(k3==1)sum=sum+2;if(k4==1)sum=sum+1;}
void uart() interrupt 4
{if(RI==1){RI=0;flag=1;dat=SBUF;}
}
void main()
{init();while(1){if(flag==1){send();flag=0;SBUF=TRA[sum]; //0x82;P0=dat;while(!TI);TI=0; }else;}}

接收B机:

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar sum=0,flag=0,dat=0;void init()
{TMOD=0x20;TH1=0xea;TL1=0xea;TR1=1;PCON=0X00;SCON=0xd0;EA=1;ES=1;
}void main()
{init();//SBUF=0xF9;//1while(1){if(flag==1){flag=0;SBUF=0xf9;P0=dat;while(!TI);TI=0;}else;}
}void uart() interrupt 4
{if(RI){RI=0;flag=1;dat=SBUF;}
}

proteus:

如图拨码开关为0010,则B机显示2,B机成功接收,A机显示1

源文件下载https://download.csdn.net/download/weixin_52417692/85236585

【51单片机】串行通信,采用中断,串行口方式3,甲机发送,乙机接收:接收数据通过七段数码管显示。相关推荐

  1. 51单片机串行口程序c语言编程,单片机C语言编程串行口通讯.ppt

    单片机C语言编程串行口通讯 第7章 MCS-51单片机串行口 第7章 MCS-51单片机串行口 目 录 7.1 串行通信基本知识 7.2 串行口结构及控制 7.3 串行口工作方式 7.4 串行口应用举 ...

  2. (九)串行口方式0 拓展并行输出端口 02 74LS164芯片

    1.先讲解74LS164 移位芯片: 74HC164.74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出. 数据通过两个输入端(DSA 或 DSB)之一串行输入:任一输入端可 ...

  3. 串行口方式二 波特率_一文就能看懂“串口通讯”的概念、3个通讯方式、9大注意事项...

    串行通信是数据处理设备和外围设备之间最广泛使用的信息传输方法.每个设备可能是您的个人电脑或移动设备在运行串行协议.该协议是一种安全可靠的通信形式,由源主机(发送方)和目的主机(接收方)制定一套规则.为 ...

  4. 串行口方式二 波特率_索尼相机使用教程-了解可利用的变焦方式

    变焦这个概念更多在购买镜头的时候出现,变焦镜头.定焦镜头这样. 这次是内容主要是关于如果你是定焦镜头,某些时刻需要更长焦段的解决办法,以及使用变焦镜头焦段还是不够情况下的解决办法. 目录: 一.了解索 ...

  5. 快速复习51单片机的外部中断、计数/定时器中断和串行口中断,加代码实现

    目录 1.中断系统的概念 1.1中断的概念 1.2中断系统的概念 1.3中断系统的优点 1.4我们要说的三种中断源 2.外部中断 2.1 外部中断0 代码示范 2.2 外部中断 分析 3.计数/定时器 ...

  6. 单片机串口全双工C语言,C系列单片机有一个全双工的串行口.ppt

    C系列单片机有一个全双工的串行口.ppt 80C51系列单片机有一个全双工的串行口,这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用. 2.串行控制寄存器SCON 3.电 ...

  7. 俩个PC机通过串行口互联,实现件的无差错传输。程序必须用中断方式来完成任务

      课程设计(论文)任务书 一.设计题目:1.题目名称      PC机通过串行口互联 2.题目来源               二.目的和意义 俩个PC机通过串行口互联,实现件的无差错传输.程序必须 ...

  8. max232c语言,串行口通信(STC89C52+MAX232):串行口通信硬件设计详解

    一. STC89C52与MAX232连接原理图 二. 串行口通信原理 1. 基本通信方式 a. 并行通信 定义: 将数据字节的各位用多条数据线同时进行传送, 每一位数据都需要一条传输线, 还需要一条信 ...

  9. 20.串行口通信原理及操作流程

    c 第六章:串行口通信原理及操作流程 6.1并行与串行基本通行方式 单片机通信是指单片机与计算机或单片机与单片机之间的信息交换,后者的通信通常用的较多. 通信有并行和串行龄种方式,在单片机系统以及现代 ...

最新文章

  1. asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程...
  2. 什么是PyTorch,为何要使用PyTorch
  3. Android Display buffer_handle_t的定义
  4. Web Service学习笔记
  5. layui数据表格自定义复选框表头_layui中table表头样式修改方法
  6. python小细节之else
  7. Name Server Daemon (NSD)
  8. 物联网数据终端演进之道
  9. layou split 属性
  10. 自己为什么注册博客(csdn讲师:Array)
  11. mysql、sqlserver、oracle各数据类型与java类型对应
  12. python查找文件名_Python实现的根据文件名查找数据文件功能示例
  13. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨0.56%
  14. 计算机通信技术的应用发展研究,计算机通信技术的发展与应用总结
  15. 开心网(kaixin001.com)服务器架构的一点猜想
  16. java的恐怖推理游戏_胆小勿入!盘点一下2019年所有的恐怖游戏
  17. Rust :PhantomData、PhantomPinned
  18. Raki的读paper小记:RoBERTa: A Robustly Optimized BERT Pretraining Approach
  19. 三维气象数据可视化系统介绍
  20. 搜索算法——深度搜索

热门文章

  1. centos (软件应用)hp打印机
  2. 黑龙江省赛热身赛05
  3. Django博客搭建-新闻模块6-新闻搜索功能(Django+Haystack+elasticsearch)
  4. 移动NB-IoT卡设置ATU和Active Time缓解无法访问服务器问题
  5. 逆战班 css 3D效果+动画
  6. PHP 7面向对象的全部文章(OOP)
  7. Luogu 3205 [HNOI2010]合唱队
  8. 同济大学计算机学硕无人录取,同济大学公布拟录取结果,学硕初试成绩410分,复试却不合格!...
  9. 怎么用计算机重装系统,电脑怎么重装系统
  10. 【Python】DS的基础学习笔记7:文件、异常和模块