分别编写STM32与51单片机程序,通过串口通信,实现STM32按键控制51单片机LED的实验效果。
两开发板芯片型号STM32F103ZET6与STC89C52。
硬件连接
原理图
如下分别是STM32与51单片机原理图。

STM32开发板USART1管脚

51开发板串口管脚
串口通信原理
关于串口通信的介绍,之前发的一篇文章,可以点击阅读:STM32串口通信基本原理。

关于串口通讯,几个重要的知识点:
-
波特率,数据传输的速度,如上图设置为9600,发送、接收端设置要保持一致
-
硬件连接,TXD、RXD交叉连接,GND直连
-
数据位
-
校验位
-
停止位
其中,后3项一般是8、N、1。
连线
根据原理图,用杜邦线将两块开发板的TXD、RXD交叉连接,两GND直接连接,如下图所示。

编写程序
STM32程序主函数如下。

51单片机程序主函数如下,51单片机工程文件只包括.c文件、reg52.h两个文件,相比STM32工程来说文件少太多了。

实验现象
STM32开发板上按下下、上、左、右按键,分别点亮51单片机上的LED1、LED2、LED3、LED4。
完整工程文件获取,提取码:stm3,链接:
转自:https://mp.weixin.qq.com/s/_RWTqogFbMFiWWXdrtETsg