基于STC15单片机的项目仿真开发平台
2022-04-25杨亚男姚世豪高杨王瑶
杨亚男 姚世豪 高杨 王瑶
摘要:本论述介绍了一款以STC15W4K32S4为核心处理器,利用Proteus仿真软件实现单片机项目预演、开发的平台。仿真平台借助Proteus +Keil C51+STC-ISP软件,设计功能丰富多样兼容性强且操作更便捷,降低开发人员单片机项目仿真、实操的难度和成本,也更适用于疫情期间项目的线上调试和开发人员应用型学习的开展。
关键词:单片机;Proteus仿真;STC15W4K32S4;蓝桥杯
中图分类号:TP3文献标志码:A
0引言
随着5G、物联网技术的发展,人与人之间的通信,物与物之间的协同,都离不开单片机技术,单片机技术广泛应用到军事、工业、医疗、通信、运输、金融等生产生活的方方面面[1]。单片机开发与应用逐渐成为智能家居、物联网、汽车电子、医疗设备等领域的核心技术,其包括硬件电路设计、软件电路设计,以及需要考虑与实际应用的结合[2]。在单片机相关控制系统的设计程中,一款能打破硬件与时间等限制,又适应当下碎片化调试方式的开发平台对工程开发人员及项目质量至关重要。
本论述将Proteus、Keil C51与STC-ISP软件联合使用,可以使单片机项目设计工程师在架构搭建之初就能分模块进行项目预演操作,降低了项目开发成本,提高了项目预演效率和质量,避免项目开发过程中软硬件的相互牵制。该平台不受硬件设备限制,开发人员可以在自己电脑上操作,增加了操作的便捷性和灵活性,降低了项目预演与测试的成本。本平台部分设计,兼容蓝桥杯大赛—单片机设计与开发指定电路,不仅适用于项目的仿真预演,同时也可以同步进行该竞赛的学习训练,体现了“工学一体、产教融合”的理念。
1系统设计及主要组成
目前STC15单片机已广泛应用于各种控制系统,成为当下主流的微控制芯片[3]。工程人员在项目的开发和学习中,往往受硬件设备及成本限制无法高效低成本完成项目仿真及效果测试。受疫情影响,硬件平台和特定环境限制下测试仿真问题也亟待解决。本论述所设计的项目仿真开发平台不仅可进行多样化实验预演,也提升了学习的趣味性,且用户仅需一台电脑便可完成项目相关的实操实验与仿真。
该平台组成部分使用Proteus软件、以国产8位单片机领导厂商宏晶科技STC15系列的STC15W4K32S4为核心处理器,设计了一款功能较为完善、操作更为便捷的项目仿真开发平台。平台基础部分设计有8位LED灯、4位独立按键+16位矩阵按键、两组四位一体的数码管组组成8位数码管、1路蜂鸣器、1路继电器;平台总线通信及传感器部分设计有单总线通信协议(温度传感器DS18B20)、IIC通信协议(EEPROM存储器AT24C02、A/D D/A转换器PCF8591)、三线通信协议(实时时钟DS1302);扩展部分设计有1路串行通信接口、1路PWM输入接口、1路PWM输出接口、步进电机、LCD1602、OLED12864、超声波等接口,以及扩展引脚便于开发者外接其他外设模块进行项目仿真和创作。
2STC15系列综合仿真平台基础部分硬件电路设计
2.1灯光输出电路设计
LED灯是生产生活中最为常用的光源,工程师们对于单片机的学习基本均是从点亮一个LED灯的控制开始[4]。对LED的控制不仅是单片机项目开发中最常见的经典模块,也是学习单片机I/O输出功能的最简单直接的外设器件。
本论述仿真平台采用8路LED灯共阳极设计,8个LED灯负极连接SN74HC573锁存器的数据输出引脚,SN74HC573锁存器的输入引脚连接单片机的P00—P07管脚,锁存器的使能引脚与组合逻辑电路主控的SN74HC02的输出管脚连接,通过单片机P0引脚及组合逻辑电路操作SN74HC573锁存器进而控制LED亮灭,电路设计如图1(a)所示。
2.2数字显示输出电路设计
LED数码管是单片机控制中常用的数字显示器件和人际交互界面。对于静态数码管显示内容等控制是I/O输出功能的延伸,对于动态数码管的控制可以加深开发者对I/O口高速刷新输出等相关知识的理解[5]。
本仿真平台设计两个四位一体的共阳极数码管构成8位数码管,供开发者进行数字显示使用及学习。8位数码管的共阳极公共端连接一个SN74HC573锁存器的数据输出引脚,数码管的8个段选控制端连接一个SN74HC573锁存器的数据输出引脚,通过单片机P0引脚及组合逻辑电路控制两个SN74HC573锁存器,进而控制数码管的位选及段选,便于项目中数码管的静态显示和动态显示功能的仿真与调试,电路设计如图1(b)所示。
2.3按键电路设计
作为人机交互的关键部分,按键是几乎是各类产品设计中不可缺少的输入器件,也是单片机开发过程中对I/O口输入功能学习最为常用的外设器件[6]。
本仿真平台设计16位按键组成矩阵按键,并将行线连接的单片机的P30、P31、P32、P33口作为输出端,列线接接的单片机的P34、P35、P42、P44口作为输入端。为了便于开发者在项目初期对独立按键的操作,其中第一列按键通过一个跳线帽可以选择直接与系统GND连接作为独立按键使用,或者是与单片机的P44口连接配合作为矩阵键盘使用。独立键盘模式的S4,S5按键也可以进行单片机的外部中断实验。
2.4蜂鸣器、继电器电路设计
蜂鸣器是一种电子讯响器件,广泛应用在电子产品中作警示器件。继电器是一种电控制器件,是用小电流去控制大电流运作的一种“自动开关”。广泛应用在自动调节、安全保护、转换电路等电路设计中。
本项目仿真开发平台采用有源蜂鸣器设计,负极输入端连接电路板的系统VCC,蜂鸣器的负极端是接ULN2003达林顿管的Q7输出端。继电器电路设计,通过继电器线圈一端接系统VCC,另外一端接的ULN2003的Q5输出端,继电器的输出端控制一个LED灯来表示继电器的工作状态。其中ULN2003的输入端与一个SN74HC573连接,通过单片机P0引脚及组合逻辑电路操作SN74HC573鎖存器进而控制蜂鸣器或继电器,ULN2003其他输出引脚亦可以连接步进电机、直流电机等器件,电路设计如图2(a)所示。
2.5组合逻辑电路设计
通过以上论述可知,本仿真平台设计的LED、数码管、继电器、蜂鸣器灯外设均是通过SN74HC573锁存器控制的,参考蓝桥杯单片机比赛的电路设计,所有SN74HC573的数据输入端采用单片机P0端口,锁存器的使能端采用组合逻辑电路进行控制,这也是大多数单片机项目中最常用的外设控制方法。
本仿真平台采用SN74HC138译码器、SN74HC02四通道或非门组成组合逻辑电路,联合单片机写外部存储器信号引脚WR进行控制。设计使用单片机的P25、P26、P27引脚控制SN74HC138译码器,译码器的输出端与WR引脚联合控制SN74HC02或非门,SN74HC02的输出端控制分别控制LED的锁存器、数码管段锁存器、数码管位选锁存器、继电器和蜂鸣器的锁存器,进而控制对应的外部设备。其中控制WR引脚的连接方式,可以使开发者通过内部存储器映射方式操作各个锁存器,或者使用普通的寄存器开发方式编写程序,电路设计如图2(b)所示。
3STC15系列综合仿真平台总线协议模块电路设计
3.1Onewie总线通讯协议
One-Wire总线是DALLAS公司研制开发的一种协议,也是项目开发中最简单、常用的一种协议。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,广泛应用在电子产品的设计中[7]。
本仿真平台设计使用生产生活中广泛使用的数字化温度传感器DS18B20作为温度传感器的实训学习,同时也作为OneWire总线通信协议的实训练习。电路设计温度传感器的OneWire通信引脚与单片机的P14引脚相连接进行数据传输。为了方便分析单总线的通讯协议过程,设计加载Proteus软件提供的Logic Analys? er对单总线通讯协议进行视图化分析和解析,电路设计如图3(a)所示。
3.2IIC总线通讯协议
IIC通讯协议是Phiilps公司开发的通讯协议,由于它引脚少,硬件实现简单,可扩展性强,被广泛地使用在系统内多个集成电路(IC)间的通讯,也是单片机开发过程中不可或缺的通信协议[8]。
本综合仿真平台设计IIC总线通讯引脚SDA、SCL分别为单片机的P20、P21引脚。设计一个EEPROM存储设备AT24C02挂载在IIC总线上,方便开发者对常用存储设备的应用也有利于对IIC通信协议的学习与深入理解。
本仿真平台设计一个A/D、D/A转换器PCF8591芯片,同样挂载在IIC通信总线上,能实现一个IIC通信总线挂载多个IIC设备并进行联合通信等功能的实现,为物联网领域的硬件工程师提供了开发捷径,同时能保证单片机进行A/D采集、D/A输出的相关基本应用。其中,A/D采集设计使用PCF8591芯片的AIN1通道检测一个光敏电阻,AIN3通道检测一个滑动变阻器,D/A输出通道连接一个电压表直接观测模拟电压输出值,电路设计如图3(b)所示。
3.3SPI总线通讯协议
实时时钟芯片出现在日常生活中大多数消费类电子产品中,也是几乎所有单片机项目都要涉及的功能。实时时钟为人们提供精确的时间,也为电子系统提供精确的时间基准。
本综合仿真平台设计采用是一款低功耗,具有56字节非失性RAM的全BCD码时钟日历实时时钟的SPI通信协议器件DS1302芯片,这也是目前市面上应用最广泛的实时时钟方案。不仅能实现常用的实时时钟芯片的应用,也能方便开发者调试SPI通信协议,设计SPI通信协议的RST、SCLK、IO引脚的连接方案,比如依次连接单片机的P13、P17、P23引脚进行控制及数据的传输。
3.4PWM输出及检测
脉冲宽度可调制简称“PWM”,广泛应用在灯光控制、电机控制,测量、通信、工控等方面。对PWM的仿真调试,是对于单片机定时器等相关知识进行充分的应用。
本仿真平台设计使用P34引脚加跳线帽设计,如果跳线帽短接,则使用Proteus的信号源PLUSE作为输入信号,开发者可使用定时器进行PWM检测实践训练。如果跳线帽断开,P34引脚连接Proteus提供的虚拟示波器Oscilloscope,开发者可使用定时器进行PWM的输出,通过Oscilloscope进行验证输出结果。
4结束语
本论述开发了一款以Proteus仿真软件为载体,基于STC15单片机的项目仿真开发平台,能实现LED、数码管、独立/矩阵按键等单片机项目基础部分的交互功能,同时支持单总线、IIC总线、SPI总线等通讯协议及多种传感器的开发需求,预留扩展接口可方便不同项目对各种外设模块的多样性开发。本平台提高了单片机项目仿真预演操作的便捷性,可满足开发者随时测试调整仿真的需求,效果显著。本平台已应用到了“蓝桥杯大赛”单片机设计与开发组的学习和训练中,不仅方便工程师对项目的仿真、预演,也有助于开发者的学习与技能的提高。
参考文献:
[1]李向玉.分析单片机在电子技术中的应用和技术开发[J].电子测试,2019(Z1):41-42.
[2]赵博岩.基于物联网的智能家居系统研究与设计[D].成都:电子科技大学,2019.
[3]黄鑫磊,谭艳,赵鑫虎,等.基于STC15系列单片机的智能垃圾桶的设计[J].工业控制计算机,2020,33(12):139-140.
[4]赵汝和,李三雁.基于Proteus的单片机开发课程改革探索[J].科教导刊(下旬),2020(3):117-119.
[5]高淑芝,李天池.基于单片机的教室照明智能控制系统设计[J].控制工程,2020,27(11):2010-2015.
[6]杨艳霞,张妮.Proteus+keil在单片机教学中的应用[J].电子测试,2020(9):131-132.
[7]鹿玉红,刘颖,孙晓叶.两路串行通信接口双主机转速单片机控制仿真[J].计算机仿真,2020,37(2):192-196.
[8]俞俊銘.基于云平台的机器人监控系统设计[D].杭州:浙江工业大学,2020.