基于STC单片机的数字采控电路设计
2018-04-13胡邓华冯刚孙际哲
胡邓华 冯刚 孙际哲
摘 要: 以STC15F2K60S2单片机为控制核心,利用74HC165扩展40个TTL输入端口,74HC595扩展48个TTL输出端口,MAX7219扩展8位数码管显示驱动,并利用STC15F2K60S2单片机集成的A/D转换器提供8路10位A/D通道。上位机可以通过无线通信方式控制该采控电路。通过仿真和测试显示,该电路运行可靠、通用性强、成本低廉,具有很好的实际应用价值。
关键词: 数字输出控制; 数字输入采集; 数码管显示; 模/数转换; STC15F2K60S2; 无线通信
中图分类号: TN431.2?34; TP274.2 文献标识码: A 文章编号: 1004?373X(2018)08?0053?04
Abstract: Taking the microcontroller STC15F2K60S2 as the control core, 40 TTL input ports are extended by using the 74HC165, 48 TTL output ports are extended by using the 74HC595, 8?bit nixie tube display driver is extended by using the MAX7219, and eight 10?bit A/D channels are provided by using the A/D converter integrated by the microcontroller STC15F2K60S2. The host computer can control the acquisition and control circuit by means of wireless communication. The simulation and test results show that the circuit has reliable operation, high universality, and low cost, which has a good practical application value.
Keywords: digital output control; digital input acquisition; nixie tube display; A/D conversion; STC15F2K60S2; wireless communication
随着信息化技术的发展,数字采控系统已越来越广泛地应用于工业控制、军事应用及农业生产等多个领域。采控对象可分为按钮开关输入、电位计模拟量输入、指示灯开关量输出及LED或LCD指示输出等[1?3]。数字采控电路对整个系统的正常运行具有重要意义,因此设计结构简单、性能稳定、通用性好、成本低廉的数字采控电路十分必要[4?6]。本文采用STC15F2K60S2单片机为控制核心,由6片74HC595芯片串联扩展48个数字输出接口;由5片74HC165芯片扩展40个数字输入接口;由MAX7219驱动8位数码管动态显示;采用STC15F2K60S2单片机集成的10位A/D模块提供8路模/数转换通路;采用nRF24L01无线数传模块设计全双工异步串行无线通信接口。该数字采控电路具有I/O端口多、设计简单、性价比高等特点,可广泛应用于各种采集控制应用系统[4]。
1 系统工作原理
该采控电路主要由控制中心、I/O输入模块、I/O输出模块、A/D转换模块、数码显示模块、电路地址设置及无线通信模块组成,通过无线通信模块和上位机相连,其系统的硬件组成如图1所示。该采控电路主要功能是采集40个开关状态、测量8路模拟量,并将开关状态和模拟量变换成的数字量通过无线模块上传到上位机,同时上位机可以根据逻辑需要驱动48个数码管指示灯和8位数码管动态显示。
2 硬件结构
2.1 主控中心
STC15F2K60S2是8051内核的单时钟/机器周期的单片机,指令代码完全兼容,速度快8~12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250 000 次/s),60K FLASH ROM,支持串口程序烧写。这种单片机对开发设备要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行保密,很好地保护劳动成果[7]。主控中心最小系统只需外接晶振和复位电路,外接器件简单,如图2所示。
2.2 I/O输入接口设计
74HC165是一款高速8位同步并行輸入异步串行输出移位寄存器[8]。SH_LD信号在上升沿时,A口至H口输入的并行数据将被异步的读取进寄存器内,同时外部数据也从SER端口串行进入寄存器,在CLK信号上升沿时,寄存器数据逐位向右移动位。利用这种特性,将前级Q7输出绑定到下一级的SER端口,并将末级Q7输出绑定到单片机端口,即可实现多路并口扩展。利用4根单片机I/O口线外接级联5片74HC165芯片扩展40个I/O输入口,在每个输入口并联一个0.1 μF的电容消除抖动,原理电路图如图3所示。
2.3 I/O输出接口设计
74HC595是一款高速8位串行输入并行输出移位寄存器,集成一个存储器并具有三态输出功能,在移位过程中,输出端数据可以保持不变,在串行速度较慢的场合十分有用处[9]。寄存器和存储器有相互独立的时钟SH_CP和ST_CP。数据在SH_CP上升沿输入到移位寄存器中,在ST_CP上升沿输入到存储寄存器中去。移位寄存器有一个串行移位输入端DS、一个串行输出Q7。将单片机数据端口连接到首级的DS端口,前级的Q7端绑定到后级的DS端。利用3根单片机I/O口线外接级联6片74HC595来扩展48个I/O输出口。原理电路图如图4所示。
2.4 数码管驱动接口设计
MAX7219是一种集成化的串行输入/输出8位共阴极7段数字LED动态显示驱动器,集成有B型BCD编码器、多路扫描回路、段字驱动器,还有一个8×8的静态RAM用来存储每一个数据[10]。可以通过外部寄存器用来设置各个LED的段电流。同时它有限制回转电流的段驱动来减少电磁干扰。MAX7219驱动数码管原理图如图5所示。
2.5 无线通信接口设计
射频收发器件nRF241L01是一款新型单片射频双工收发器件,工作于2.4~2.5 GHz ISM频段,接口为TTL电平。内置频率合成器、功率放大器、晶体振荡器、调频调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,具有掉电和空闲两种低功率工作模式。具有自动应答和自动再发射功能;通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式。单片机的P3.1和P3.2端口直接与nRF241L01相连,通信距离超过1 km,无线通信接口的原理图如图6所示。
3 软件设计
在软件设计中使用功能性好、结构紧凑、可读性强的开发系统Keil C51开发软件。Keil将C编译器、宏汇编、链接器、库管理和仿真调试器等集成到μVision开发环境中[9]。
软件流程主要包含主程序流程和串口数据接收中断流程。主程序流程图如图7所示,串口数据接收中断流程图如图8所示。
4 电路仿真与测试
Proteus软件可以通过原理图仿真单片机及外围电路的功能,还能由原理图自动生成PCB图。Proteus仿真电路图如图9所示,电路板如图10所示。
在Proteus环境中设计好原理电路,将Keil软件生成的目标代码加载到虚拟单片机模块中,进行单片机与外围电路协同仿真。仿真测试结果表明性能满足要求。Proteus电路仿真调试结束后,进行PCB板制作和元器件电装,烧写单片机程序,最后连接上位机,利用串口调试助手进行测试,测试结果满足要求。
5 结 语
本文设计一个拥有40路输入、48路输出、8路A/D、8位LED显示的数据采集控制电路,通过无线通信模块与上位机相连。系统软件按照模块化程序设计思想,程序编写由C语言实现,编程灵活,修改方便快捷。经测试表明,该数据采控电路运行可靠,工作稳定。
参考文献
[1] 李舟舟,王和明,王孔华.基于FPGA的采集控制系统设计与实现[J].火力与指挥控制,2015,40(11):139?141.
LI Zhouzhou, WANG Heming, WANG Konghua. Design and implementation of acquisition?controlling system based on FPGA [J]. Fire control &; command control, 2015, 40(11): 139?141.
[2] 韩卫洁,陈江锋,董兴,等.基于ADS8341与ARM的数据采集模块接口设计[J].现代电子技术,2014,37(24):84?86.
HAN Weijie, CHEN Jiangfeng, DONG Xing, et al. Interface design of high?speed data acquisition module based on ADS8341 and ARM [J]. Modern electronics technique, 2014, 37(24): 84?86.
[3] 蔡畅,戚文军,农登,等.数据采集系统设计[J].现代电子技术,2012,35(1):157?159.
CAI Chang, QI Wenjun, NONG Deng, et al. Design of data acquisition system [J]. Modern electronics technique, 2012, 35(1): 157?159.
[4] 佘东,胡中玉.基于单片机的无线测温系统设计[J].微型机与应用,2012,31(13):78?80.
SHE Dong, HU Zhongyu. Wireless temperature measurement system design based on MCU [J]. Microcomputer &; its applications, 2012, 31(13): 78?80.
[5] 黄克亚.基于单片机与PC机通信的数据采集控制系統设计[J].自动化应用,2012,21(2):20?22.
HUANG Keya. Design of data acquisition and control system based on communication between MCU and PC [J]. Automation application, 2012, 21(2): 20?22.
[6] 过其峰,刘群,田小锋,等.基于Cortex?M0采集控制设备的设计与实现[J].工业控制计算机,2016,29(2):24?25.
GUO Qifeng, LIU Qun, TIAN Xiaofeng, et al. Design and implementation of acquisition control system based on Cortex?M0 chip [J]. Industrial control computer, 2016, 29(2): 24?25.
[7] 宏晶科技.STC15F2K60S2系列单片机器件手册[EB/OL].[2016?11?24].www.stcmcu.com.
STC MCU Co., Ltd,. STC15F2K60S2 series MCU device manual [EB/OL]. [2016?11?24]. www.stcmcu.com.
[8] NXP Semiconductors. 74HC165, 74HCT165: 8?bit parallel?in/serial?out shift register [EB/OL]. [2008?03?14]. http://www.datasheetcatalog.com/datasheets_pdf/7/4/H/C/74HC165N.shtml.
[9] NXP Semiconductors. 74HC595, 74HCT595: 8?bit serial?in, serial or parallel?out shift register with output latches [EB/OL]. [2011?12?12]. http://www.datasheetcatalog.com/datasheets_pdf/7/4/H/C/74HC595BQ.shtml.
[10] Maxim. Serially interfaced, 8?digit LED display drivers [EB/OL]. [1997?07?01]. http://www.datasheetcatalog.com/datasheets_pdf/M/A/X/7/MAX7219ENG.shtml.