proteus仿真c51单片机(四)双机串口通信(电路设计及代码)

实验要求

1.通过甲机的按键给乙机发送控制字符,同时也可以实现乙机给甲机发送控制字符

2.用PROTEUS软件根据所给电路画出电路图,用KEIL软件调试程序和编译,最后在PROTEUS软件中实现仿真。

3.甲乙两个单片机通过串口进行通信,甲机用一按键向乙机发送控制命令,乙机根据收到的控制命令字符完成各种功能。

实验步骤

1、打开PROTEUS软件选取元件,连线绘制电路图。  

2、打开KEIL软件编制程序进行调试、编译。

3、将编译的HEX代码装入PROTEUS软件绘制的电路图的单片机中。

4、仿真运行观察实验现象,若与要求的实验现象不同,检查程序和电路图找出错误。

5、将编译好的HEX文件用单片机编程器下载进单片机,并在实验板电路上运行观察实验现象。

连接电路 

连接电路时注意甲机与乙机的RXD(数据接收引脚),TXD(数据发送引脚)相连 

主要程序演示(以甲机发送,乙机接收程序为例) 

 

约定通信双方的波特率为9600b/s,按键通过外部中断0实现,在外部中断0服务程序中编写串口发送数据程序。

向串口发送字符子程序 

 

发送不同的控制字符,编制一串口发送字符子程序,在发送控制字符时候调用。

乙机程序(接收端)

乙机需要设置串口方式寄存器,需要允许接收,设置定时器方式和约定波特率的定时器初值,接收放到串口中断进行,需要开相应的中断允许位,在中断服务程序中用switch case语句,按照SBUF接收到的控制字符执行相应的控制led的操作。

实验结果演示

发送A

 

 收到A仅LED1亮

发送B

收到B仅LED2亮

发送C

收到C两个都亮

发送D

收到D都灭 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/394336.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第R2周:Pytorch实现:LSTM-火灾温度预测

nn.LSTM() 函数详解 nn.LSTM 是 PyTorch 中用于创建长短期记忆(Long Short-Term Memory,LSTM)模型的类。LSTM 是一种循环神经网络(Recurrent Neural Network,RNN)的变体,用于处理序列数据&#…

工业设计用什么CAD软件?SolidWorks 成为您创意实现的得力助手

随着科技的发展,工业设计已经进入了数字化时代。对于设计师来说,选择一款高效、功能全面的设计软件至关重要。在市场上众多的CAD(计算机辅助设计)软件中,SolidWorks因其出色的性能和广泛的适用性而备受青睐。本文将介绍…

5.1 Python 函数的定义

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

【网络】协议与网络版计算器

协议与网络版计算器 文章目录 1.协议的概念1.1序列化与反序列化 2.网络版计算器2.1封装套接字2.2协议定制2.2.1Jsoncpp2.2.2报文处理 2.3会话层:TcpServer2.4应用层:Calculate2.5表示层:Service2.6应用层、表示层和会话层->应用层 1.协议…

PHP企业培训考试系统小程序源码

🚀企业培训考试系统,赋能员工成长新引擎📚 🌱 开篇:解锁企业培训新篇章 在快速变化的商业环境中,员工的能力提升是企业持续发展的关键。🚀 传统的培训方式已难以满足现代企业的需求&#xff0…

获取客户端真实IP

出于安全考虑,近期在处理一个记录用户真实IP的需求。本来以为很简单,后来发现没有本来以为的简单。这里主要备忘下,如果服务器处于端口回流(hairpin NAT),keepalived,nginx之后,如何取得客户端的…

【5G NAS】全球唯一临时标识符GUTI介绍

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G技术研究。 博客内容主要围绕…

通过python搭建文件传输服务器;支持多台电脑之间互相传输文件(支持局域网或广域网)(应该也能用于虚拟机和宿主机之间)

因为公司网络防火墙限制,所以在公司的电脑之间传输文件还是非常不方便的;所以自己搭建了一个文件传输服务器,用于多台电脑间的文件传输; 先放上最终效果: 文章目录 一、运行环境要求二、环境搭建2.1 安装python2.2 搭建虚拟环境方法1:创建Anaconda虚拟环境方法2:创建pyt…

行业大模型——详细介绍

行业垂类模型 行业垂类模型是指针对特定行业或领域而设计的人工智能模型,它们通过大量行业数据的训练,具备较高的专业性和针对性,能够更好地解决行业内的特定问题。以下是一个详细的构建行业垂类模型的步骤: 行业垂类模型的需求分…

【STM32】USART串口和I2C通信

个人主页~ USART串口和I2C通信 USART串口一、串口1、简介2、电路要求3、参数及时序 二、USART外设1、USART结构2、波特率发生器 三、数据包1、HEX数据包HEX数据包接收 2、文本数据包文本数据包接收 I2C通信一、简介二、通信协议1、硬件电路2、I2C时序基本单元 三、I2C外设1、简…

ST-LINK烧录MCU

打开ST-LINK软件: 主板断电状态下接入烧录器,烧录器USB连接电脑: 主板上电,点击连接按钮: 点击加载文件: 点击写入按钮,烧录成功后拔掉烧录器,主板重新上电

k8s使用kustomize来部署应用

k8s使用kustomize来部署应用 本文主要是讲述kustomzie的基本用法。首先,我们说一下部署文件的目录结构。 ./ ├── base │ ├── deployment.yaml │ ├── kustomization.yaml │ └── service.yaml └── overlays└── dev├── kustomization.…

C基础练习(学生管理系统)

1.系统运行,打开如下界面。列出系统帮助菜单(即命令菜单),提示输入命令 2.开始时还没有录入成绩,所以输入命令 L 也无法列出成绩。应提示“成绩表为空!请先使用命令 T 录入学生成绩。” 同理,当…

设计模式- 数据源架构模式

数据映射器(Data mapper) 在保持对象和数据库彼此独立的情况下,在二者之间移动数据的一个映射器层 数据映射器是分离内存对象域数据库的一个软件层。其职责是在内存对象与数据库之间传递数据并保持它们彼此独立。 运行机制 分离领域和数据源…

HVV小科普:蓝方是什么?

正文共:12345 字 19 图,预估阅读时间:9 分钟 网络实战攻防演习,俗称“护网”、“HW”等,是指模拟真实网络环境中的攻击和防御行为,旨在提高网络安全防护能力和应急响应能力。这种演习通常由安全团队、军事组…

ASP.NET Core 基础 - 入门实例

一. 下载 1. 下载vs2022 Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com) 学生,个人开发者选择社区版就行,免费的. 安装程序一直下一步下一步就行,别忘了选择安装位置,如果都放在C盘的话,就太大了. 2. 选择工作负荷 准备工作完成 二. 创建新项目 三…

数据结构复杂度

文章目录 一. 数据结构前言1.1 数据结构1.2 算法 二. 算法效率2.1 时间复杂度2.1.1 T(N)函数式2.1.2 大O的渐进表示法 一. 数据结构前言 1.1 数据结构 什么是数据结构呢?打开一个人的主页,有很多视频,这是数据(杂乱无章&#xf…

嵌入式学习day12(LinuxC高级)

由于C高级部分比较零碎,各部分之间没有联系,所以学起来比较累,多练习就好了 一丶Linux起源 寻科普|第二期:聊聊Linux的前世今生 UNIX和linux的区别: (1)linux是开发源代码的自由软件.而unix是…

Python学习(2):在单机机器学习,使用Dask实现鸢尾数据集 Iris 的分类任务

目录 一、源码来源 二、鸢尾花数据集的品种分类 1、数据处理步骤 (1)数据集加载 (2)准备特征和标签 (3)训练集和测试集划分 2、安装必需的软件包 3、运行程序 三、信用卡欺诈数据集检测信用卡交易…

【VScode】如何在anaconda虚拟环境中打开vscode项目

文章目录 【必备知识】打开anaconda虚拟环境切换到项目工作目录激活anaconda虚拟路径让vscode从当前目录打开 【必备知识】 anaconda环境变量配置及配置python虚拟环境 https://blog.csdn.net/xzzteach/article/details/140621596 打开anaconda虚拟环境 切换到项目工作目录 …