分别编写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