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都灭 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值