实验要求
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都灭