基于STC32G/STC8H 系列单片机的多功能开发学习板
2023-10-24杨亚男姚世豪吴振辉
杨亚男,姚世豪,吴振辉
(1.黄河水利职业技术学院 电气工程学院,河南 开封 475004;2.河南开封科技传媒学院 信息工程学院,河南 开封 475000)
0 引 言
单片机开发板是现阶段单片机技术在电子、嵌入式、物联网等行业的重要应用,是为满足广大学生、技术人员、产品开发人员迅速学习和掌握单片机这门技术而设计的一款学习型电路板,也称单片机学习板、单片机开发板[1]。在嵌入式、物联网、人工智能迅猛发展的时代背景下,现今市场上常见的8 位MCU 已经不能满足行业的应用需求[2]。国内市场应用最为广泛的国产STC 单片机的生产公司,为了满足行业发展的需求,推出了高性能的基于8051 内核的STC8H 系列的8 位单片机、STC32G 系列32 位单片机产品[3]。市场上现有的单片机学习板/开发板/电路板,均是由传统的单片机芯片设计制作的,导致广大学习者、开发人员无法顺利地学习最新的STC8H 系列/STC32G 系列单片机。
本文设计了一款基于STC32G/STC8H 系列单片机的多功能、简易型学习开发电路板,相同频率下最高可比传统的8051 单片机快70 倍,运行于30 MHz 工作频率的STC32G系列单片机的指令效率大约相当于60 MHz 工作频率的ARM Cortex-M0。该系列单片机还具有16 通道高速12 位ADC 转换器、硬件SPI、硬件I2C、看门狗、互补对称死区的高级PWM、RTC 时钟、CAN、DMA、USB 等丰富的内置外设资源,支持全速USB 协议、USB 直接程序下载及仿真调试功能。板载资源既设计有单片机基础学习必备模块,也设计有丰富的无线物联网模块接口,满足广大学习和应用者基础学习需求的同时,也满足了现阶段嵌入式、物联网行业发展过程中的开发应用需求。
1 开发板电路主要组成
本文的开发板兼容国产STC 公司的STC8H8K64UPDIP40、STC32G12K128-PDIP40 型单片机芯片,是一款功能较为完善的简易型低成本单片机学习实践用电路板。板载资源的基础学习部分有8 位LED 灯、LED-RGB 全彩LED灯、4 位独立按键、1 位无源蜂鸣器、1 个四位一体的共阳极数码管;常用扩展模块部分设计有LCD1602 显示屏接口、LCD12864 显示屏接口、OLED12864 显示屏接口、超声波传感器接口、温度传感器接口、红外传感器接口;无线物联网部分设计有蓝牙接口、WiFi 接口、LoRa 接口;功能部分电路设计有USB-B 型供电及串行程序下载仿真接口、Type-C型供电及程序下载仿真接口、5 V 转3.3 V 稳压电路、5 V 和3.3 V 系统供电电路跳线、CH340N 的USB 转串口电路等。
本文选用KeilC51、KeilC251、IAREmbedded Workbench等作为单片机程序开发工具。该开发板在电路的设计以及所支持的常用外设资源方面,都能够降低学习者初期的学习成本和难度[4]。
2 基础学习部分硬件电路设计
2.1 LED 模块设计
LED 灯的控制操作是单片机学习内容中最简单、最基本的学习模块,学习者对MCU 的学习均是从LED 灯的亮灭控制开始,也是MCU 的I/O 口输出高低电平控制的直观表现[5]。本文采用8 路LED 灯共阳极设计,LED 灯的负极端与MCU 的P1 口连接,使用P0 口的8 个I/O 口分别对8 个LED 进行控制,LED 的正极端通过限流电阻与系统电源连接,其中系统电源可以通过跳线断开,可避免在将MCU 的P0 组I/O 应用于其他功能时LED 灯对其有干扰。LED 电路设计如图1(a)所示。
图1 基础学习部分硬件电路设计
2.2 LED 数码管模块设计
LED 数码管是在学习单片机的初级阶段涉及到单片机的I/O 口快速输出功能时最为常见且简单易学的数字显示器件,是单片机学习板不可或缺的组成部分[6]。本文设计的LED数码管显示电路采用一个四位一体共阳极数码管,便于对静态数码管显示、动态数码管显示的控制操作。数码管的公共段选端与MCU 的P2 组I/O 连接,四位数码管的四个位选端由MCU 的P41、P42、P44、P45 四个I/O 口通过PNP 三极管进行选择控制。三极管的电源供电部分通过一个跳线与系统电源连接,可使学习者在使用相关引脚的其他复用功能时避免数码管的干扰。数码管电路设计如图1(b)所示。
2.3 触动按键模块设计
作为人机交互的关键部件,按键是单片机初级学习和各类产品设计过程中都不可缺少的部分,它是学习单片机I/O口输入功能过程中最简单的外设器件[7]。本文采用4 路触动按键低电平有效方式作为输入电路,触动按键的一端接系统GND,另一端与MCU 的P30、P31、P32、P33 四个引脚连接。在无按键按下时,因MCU 的I/O 口初始化为高电平,故检测引脚电位为高电平。当按键按下的时候,I/O 口检测电位为低电平。其中P32、P33 管脚为MCU 的外部中断0、外部中断1 引脚,按键可以使用外部中断方式进行控制。电路设计如图1(c)所示。
3 常用扩展模块部分硬件电路设计
3.1 全彩LED-RGB、无源蜂鸣器电路设计
LED-RGB 全彩灯可以实现1 677 万色,可满足应用电子产品中对各种颜色灯光显示的需求[8]。通过学习MCU 对LED-RGB 各种颜色显示的控制,以及对无源蜂鸣器的控制,便于掌握MCU 的PWM 调节功能。本开发板LED-RGB 全彩灯电路为共阳极设计,其中负极与MCU 的I/O 口P35、P36、P37 进行连接,电路设计如图2 所示。无源蜂鸣器的P16 引脚通过控制PNP 型三极管进行触发,P16 引脚可以通过跳线断开,可避免使用外部高精度时钟时的电路干扰,电路设计如图3 所示。
图2 LED-RGB 电路接口设计
图3 无源蜂鸣器电路接口设计
3.2 红外接收接口、温度传感器接口电路设计
红外线的发射和接收是电子产品设计和日常生活中应用较多的无线载波通信技术,温度传感器采集是应用较为广泛的温度采集技术[9]。对红外收发设备内容的学习便于掌握红外载波通信数据的分析和处理;通过对温度传感器相应内容的学习可掌握MCU 的总线通信协议。本开发板的无线红外接收通过P32 引脚进行控制,同时可便于利用MCU 的中断功能。因P32 引脚与触动按键复用,故使用跳线进行断开设计,电路设计如图4 所示。温度传感器接口使用P34 引脚进行控制,电路设计如图5 所示。
图4 红外接收接口电路设计
图5 温度传感器接口电路设计
开发学习板系统电源和3.3 V 两路电源通过扩展由排针各引出3 路,方便有不同电压需求的外设进行供电连接,该设计如图6 所示。
图6 电源供电电路
3.3 超声波传感器、LCD 部分电路接口设计
超声波传感器是常用的距离探测传感器,常用于智能寻迹小车、避障机器人等领域。LCD 显示屏是电子产品中常用的字符显示器件,均是单片机学习过程中不可或缺的外设模块[10]。本开发板传感器超声波与OLED12864 为复用接口设计,便于学习者选择使用超声波或者OLED12864 显示屏,通信引脚使用单片机的P00、P01 端口,电路设计如图7 所示。电路板设计支持LCD1602 显示屏、LCD12864 显示屏,考虑电子产品设计中数码管和LCD 显示屏一般不会同时使用,设计LCD 显示屏通信引脚与数码管通信引脚为相同的单片机I/O 口,LCD 显示屏数据传输引脚设计使用MCU 的P2组I/O 端口,控制引脚设计使用单片机的P41、P42、P44、P45 引脚,电路设计如图8 所示。
图7 超声波传感器电路接口设计
图8 LCD 显示接口电路设计
3.4 无线物联网部分电路接口设计
随着物联网、人工智能的迅速发展,无线传感的应用和开发已经成为当今单片机开发中的主要热点[11]。结合时代发展需求,本开发板设计有蓝牙模块接口、LoRa 无线模块接口、WiFi 模块接口。其中蓝牙模块接口、WiFi 模块接口使用MCU 的RXD2 串行通信引脚,LoRa 无线模块接口使用MCU 的硬件SPI 引脚(P14、P15、P13、P54),这种设计不仅便于学习者对于无线物联网模块的学习和操作,也能同时学习STC32G/STC8H 系列单片机硬件串行口2、硬件SPI 通信的应用。
4 电源及程序下载/仿真/通信电路设计
4.1 电源电路设计
稳定的电源供电是系统可以正常工作和带动负载的关键。低功耗的稳压电源便于开发者进行物联网低功耗设备的开发、设计及验证。本文电源供电部分采用方口USB 供电、Type-C 供电设计,满足系统负载电流需求。电压稳压部分采用ME6118A33B3G 的5 V 转3.3 V 稳压芯片,其静态线性功耗低且性能稳定。系统供电电源5 V 或3.3 V 可以使用跳线进行切换,并且设计有自锁开关用来控制系统电源,电路设计如图9 所示。
图9 电源和程序下载/仿真/通信电路设计
4.2 程序下载/仿真/通信电路设计
STC32G/STC8H 系列单片机不仅支持传统的串行口程序下载、程序仿真和串口通信,同时新增支持USB 直接程序下载、程序仿真和USB2.0 通信。为使学习者能更充分地学习和利用STC32G/STC8H 资源,在本地电路设计中使用USB-B 型接口连接USB 转串口电路。CH340N 芯片通过跳线可以与MCU 的P30、P31 引脚相连接,Type-C 接口通过跳线可以直接与MCU 的P30、P31 引脚相连接,这种设计既可以使用USB 转串口进行程序下载、程序仿真和串口通信功能,同时也可以实现USB 通信、USB 直接程序下载、USB 直接程序仿真功能。电路设计如图9 所示。
4.3 单片机最小系统及整体电路设计
本文设计MCU 的复位引脚P54 通过一个跳线与复位电路进行连接,若需要使用复位引脚可连接跳线,若将P54 用作普通I/O 功能,即可断开跳线。MCU 引脚双列扩展排针,便于学习者进行其他模块的学习测试,电路设计如图10所示。本文PCB 电路设计及各模块布局如图11 所示。
图10 最小系统电路设计
图11 整体电路PCB 布局设计
5 结 语
本文设计的基于STC32G/STC8H 系列单片机的多功能开发学习电路板,填补了STC32G/STC8H 系列单片机简易型学习开发板的空白。经过严格的测试及学习者的实际应用发现,本设计不仅可以满足广大学生、技术人员、产品开发人员迅速学习最新型的、面向现今社会发展需求的STC8H系列/STC32G 系列单片机芯片的基础应用内容,同时更加便于对物联网技术等方面内容的学习及开发验证和测试。该开发板设计布局合理,板载资源囊括了常用的基础学习模块,各功能块隔离科学、切换方便且外扩资源丰富多样化,有助于使用者在单片机领域的进一步深耕和实践。