基于STC89C52的消毒柜控制系统设计
2022-01-04王素芹
王素芹
(衡水职业技术学院,衡水 053000)
STC89C52是一种低功耗、低电压、高性能的51内核互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)8位单片机,具有在线编程功能,使用简单且价格低廉,其控制电路如图1所示。在USART HMI串口屏中,其输入/输出(Input/Output,I/O)接口通过软件配置可以把I/O配置成输入状态或输出状态,且I/O可以绑定控件使用。该串口屏还支持TTL、RS232、RS485、CAN等通信接口,其触摸类型主要分为电容触摸、电阻触摸和无触摸。另外,从通电进入工作状态时无需任何初始化设置,且提供用户数据存储空间(只读存储器),其产品结构可根据客户需求进行定制,而且还具有通过串口指令调整背光、通过串口指令画图、用户自定义字库以及横竖可控等多种功能。
图1 STC89C52控制电路
本设计采用STC89C52单片机作为控制电路的核心,并将USART HMI串口屏作为单片机的上位机应用在家用消毒柜的控制系统中。该单片机硬件接线简单,通过UART串口即可与各种微控制单元进行通讯协议的对接,同时还可以将用户界面(User Interface,UI)设计的元素集成于闭源开发环境中供用户使用。按照厂家的文档说明,一般通过简单的上位机操作就能够轻松完成屏幕界面的设计。另外,因为USART HMI串口屏本身有良好的界面设计和图形布局,任何的控制动作只修改图形界面就可实现,所以不再需要接入外部开关控制电路,简单直观,通用性强[1]。将串口触摸屏应用到消毒柜控制系统中,能够使人们得到更好的体验效果和科技带来的高质量生活享受。
2 硬件系统设计
2.1 STC89C52单片机控制系统
消毒柜中采用的控制系统为STC89C52单片机,其硬件电路主要包括单片机、串口屏、温度传感器、模数转换器(Analog to Digital Converter,ADC)、继电器控制电路和电加热器等模块。
消毒柜工作过程中,控制系统通过温度传感器采集消毒柜内的温度,此时采集到的温度是模拟量,不能直接被单片机识别,还需要用ADC转换器对温度采样值进行模数转换,然后将转换成的数字量送给单片机进行处理[2-3]。单片机处理完成之后,采用C语言程序控制,将消毒柜内的温度值通过串口通信传输给串口屏,然后在人机界面上进行显示和控制。通过USART HMI屏幕将串口数据发送至单片机,单片机解析接收到的命令后,将会在I/O端口上输出不同的状态以控制继电器模块、臭氧发生器模块和电热器加热模块等开始工作。
USART HMI串口屏和单片机之间的通信只需要2根通信线连接在串口之间就可实现,接线简单,检修方便[4]。将串口屏和单片机相互连接不仅可以实现触摸控制,还可以在触摸屏上通过拖动滑块进行参数的设置和修改,而且在串口屏上可以实时显示修改的数据,便于用户实时查看加热时间、最高温度、最低温度、开机启动状态以及待机状态等参数信息[5]。另外,串口屏还可以通过搭载不同功能的模块实现更加智能的控制,如接入蓝牙模块或WIFI模块,可以实现手机远程控制等功能。系统的总体框架如图2所示。
图2 消毒柜硬件控制系统
2.2 USART HMI串口屏
USART HMI串口屏是一种可显示、可触摸的人机交互界面,其软件功能强大,触摸、显示、中断和定时等功能均可以通过软件进行设置,且触碰开关放置和界面设计均在软件中进行,其层次划分能够以菜单的形式表示出来。USART HMI软件主界面如图3所示。
图3 USARTHMI软件主界面
USART HMI智能串口屏能够以拖控件的形式对图形用户界面(Graphical User Interface,GUI)进行设计,这种显示屏自带GUI,只需对其供电就可以使用,且该显示屏可通过串口通信对控件上的参数进行修改,并且还有一些特定的指令可实现一些功能操作,任何有串口通信功能的单片机都能与之相连。例如:可以通过串口写入数据,以完成相应的事件,且串口屏在接收过程中不会因为界面的刷新等外界因素导致数据包丢失和卡顿,十分方便和实用。
2.3 ADS1113模块
ADS1113是精密、低功耗且集成电路总线(Inter-Integrated Circuit,I2C)兼容的16位高精度模数转换器,通常采用超小型的无引线QFN-10封装或MSOP-10封装形式。考虑到精度、功耗和实现的简易性,ADS1113在设计时集成了低漂移电压基准和振荡器,数据通过一个I2C兼容型串行接口进行传输,并且可以选择4个I2C从地址,以高达每秒860个采样的数据收集速率执行转换。另外,ADS1113采用2.0~5.5 V的单工作电源,可在连续转换模式或单次模式下工作。在单次模式下进行一次转换后,该器件会自动关断,因此在空闲期间其功耗能够明显降低。
2.4 继电器模块
继电器是一种靠电磁感应工作的自动化电器开关,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,是一种用较小的电流控制较大电流的自动开关,在电路中起着自动调节、安全保护和转换电路的作用。
3 系统软件设计
软件设计包含两部分:一个是USART HMI串口屏的程序控制,其程序控制流程如图4所示;另外一个是STC89C52单片机。作为控制核心,它要驱动AD模块采样,并使继电器模块与串口进行数据处理,从而驱动电热器加热和臭氧发生器释放臭氧进行消毒。其定时器中断流程和串口中断流程分别如图5和图6所示。
图4 USART HMI串口屏程序控制流程
图5 定时器中断流程
图6 串口中断流程
3 结语
本设计充分利用了STC89C52单片机和USARTHMI串口屏丰富的系统资源和强大的系统功能,软件设计合理,硬件系统可靠,具有实用性、智能化和可拓展性,实现了消毒柜的功能控制及人机界面的良好交互,具有可复制、可推广的现实意义和应用价值。