胡鄧華 馮剛 孫際哲
摘 要: 以STC15F2K60S2單片機(jī)為控制核心,利用74HC165擴(kuò)展40個(gè)TTL輸入端口,74HC595擴(kuò)展48個(gè)TTL輸出端口,MAX7219擴(kuò)展8位數(shù)碼管顯示驅(qū)動(dòng),并利用STC15F2K60S2單片機(jī)集成的A/D轉(zhuǎn)換器提供8路10位A/D通道。上位機(jī)可以通過無線通信方式控制該采控電路。通過仿真和測(cè)試顯示,該電路運(yùn)行可靠、通用性強(qiáng)、成本低廉,具有很好的實(shí)際應(yīng)用價(jià)值。
關(guān)鍵詞: 數(shù)字輸出控制; 數(shù)字輸入采集; 數(shù)碼管顯示; 模/數(shù)轉(zhuǎn)換; STC15F2K60S2; 無線通信
中圖分類號(hào): TN431.2?34; TP274.2 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 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
隨著信息化技術(shù)的發(fā)展,數(shù)字采控系統(tǒng)已越來越廣泛地應(yīng)用于工業(yè)控制、軍事應(yīng)用及農(nóng)業(yè)生產(chǎn)等多個(gè)領(lǐng)域。采控對(duì)象可分為按鈕開關(guān)輸入、電位計(jì)模擬量輸入、指示燈開關(guān)量輸出及LED或LCD指示輸出等[1?3]。數(shù)字采控電路對(duì)整個(gè)系統(tǒng)的正常運(yùn)行具有重要意義,因此設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單、性能穩(wěn)定、通用性好、成本低廉的數(shù)字采控電路十分必要[4?6]。本文采用STC15F2K60S2單片機(jī)為控制核心,由6片74HC595芯片串聯(lián)擴(kuò)展48個(gè)數(shù)字輸出接口;由5片74HC165芯片擴(kuò)展40個(gè)數(shù)字輸入接口;由MAX7219驅(qū)動(dòng)8位數(shù)碼管動(dòng)態(tài)顯示;采用STC15F2K60S2單片機(jī)集成的10位A/D模塊提供8路模/數(shù)轉(zhuǎn)換通路;采用nRF24L01無線數(shù)傳模塊設(shè)計(jì)全雙工異步串行無線通信接口。該數(shù)字采控電路具有I/O端口多、設(shè)計(jì)簡(jiǎn)單、性價(jià)比高等特點(diǎn),可廣泛應(yīng)用于各種采集控制應(yīng)用系統(tǒng)[4]。
該采控電路主要由控制中心、I/O輸入模塊、I/O輸出模塊、A/D轉(zhuǎn)換模塊、數(shù)碼顯示模塊、電路地址設(shè)置及無線通信模塊組成,通過無線通信模塊和上位機(jī)相連,其系統(tǒng)的硬件組成如圖1所示。該采控電路主要功能是采集40個(gè)開關(guān)狀態(tài)、測(cè)量8路模擬量,并將開關(guān)狀態(tài)和模擬量變換成的數(shù)字量通過無線模塊上傳到上位機(jī),同時(shí)上位機(jī)可以根據(jù)邏輯需要驅(qū)動(dòng)48個(gè)數(shù)碼管指示燈和8位數(shù)碼管動(dòng)態(tài)顯示。
2.1 主控中心
STC15F2K60S2是8051內(nèi)核的單時(shí)鐘/機(jī)器周期的單片機(jī),指令代碼完全兼容,速度快8~12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250 000 次/s),60K FLASH ROM,支持串口程序燒寫。這種單片機(jī)對(duì)開發(fā)設(shè)備要求很低,開發(fā)時(shí)間也大大縮短。寫入單片機(jī)內(nèi)的程序還可以進(jìn)行保密,很好地保護(hù)勞動(dòng)成果[7]。主控中心最小系統(tǒng)只需外接晶振和復(fù)位電路,外接器件簡(jiǎn)單,如圖2所示。
2.2 I/O輸入接口設(shè)計(jì)
74HC165是一款高速8位同步并行輸入異步串行輸出移位寄存器[8]。SH_LD信號(hào)在上升沿時(shí),A口至H口輸入的并行數(shù)據(jù)將被異步的讀取進(jìn)寄存器內(nèi),同時(shí)外部數(shù)據(jù)也從SER端口串行進(jìn)入寄存器,在CLK信號(hào)上升沿時(shí),寄存器數(shù)據(jù)逐位向右移動(dòng)位。利用這種特性,將前級(jí)Q7輸出綁定到下一級(jí)的SER端口,并將末級(jí)Q7輸出綁定到單片機(jī)端口,即可實(shí)現(xiàn)多路并口擴(kuò)展。利用4根單片機(jī)I/O口線外接級(jí)聯(lián)5片74HC165芯片擴(kuò)展40個(gè)I/O輸入口,在每個(gè)輸入口并聯(lián)一個(gè)0.1 μF的電容消除抖動(dòng),原理電路圖如圖3所示。
2.3 I/O輸出接口設(shè)計(jì)
74HC595是一款高速8位串行輸入并行輸出移位寄存器,集成一個(gè)存儲(chǔ)器并具有三態(tài)輸出功能,在移位過程中,輸出端數(shù)據(jù)可以保持不變,在串行速度較慢的場(chǎng)合十分有用處[9]。寄存器和存儲(chǔ)器有相互獨(dú)立的時(shí)鐘SH_CP和ST_CP。數(shù)據(jù)在SH_CP上升沿輸入到移位寄存器中,在ST_CP上升沿輸入到存儲(chǔ)寄存器中去。移位寄存器有一個(gè)串行移位輸入端DS、一個(gè)串行輸出Q7。將單片機(jī)數(shù)據(jù)端口連接到首級(jí)的DS端口,前級(jí)的Q7端綁定到后級(jí)的DS端。利用3根單片機(jī)I/O口線外接級(jí)聯(lián)6片74HC595來擴(kuò)展48個(gè)I/O輸出口。原理電路圖如圖4所示。
2.4 數(shù)碼管驅(qū)動(dòng)接口設(shè)計(jì)
MAX7219是一種集成化的串行輸入/輸出8位共陰極7段數(shù)字LED動(dòng)態(tài)顯示驅(qū)動(dòng)器,集成有B型BCD編碼器、多路掃描回路、段字驅(qū)動(dòng)器,還有一個(gè)8×8的靜態(tài)RAM用來存儲(chǔ)每一個(gè)數(shù)據(jù)[10]??梢酝ㄟ^外部寄存器用來設(shè)置各個(gè)LED的段電流。同時(shí)它有限制回轉(zhuǎn)電流的段驅(qū)動(dòng)來減少電磁干擾。MAX7219驅(qū)動(dòng)數(shù)碼管原理圖如圖5所示。
2.5 無線通信接口設(shè)計(jì)
射頻收發(fā)器件nRF241L01是一款新型單片射頻雙工收發(fā)器件,工作于2.4~2.5 GHz ISM頻段,接口為TTL電平。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)頻調(diào)制器等功能模塊,并融合了增強(qiáng)型ShockBurst技術(shù),其中輸出功率和通信頻道可通過程序進(jìn)行配置。nRF24L01功耗低,在以-6 dBm的功率發(fā)射時(shí),工作電流也只有9 mA;接收時(shí),工作電流只有12.3 mA,具有掉電和空閑兩種低功率工作模式。具有自動(dòng)應(yīng)答和自動(dòng)再發(fā)射功能;通過配置寄存器可將nRF241L01配置為發(fā)射、接收、空閑及掉電四種工作模式。單片機(jī)的P3.1和P3.2端口直接與nRF241L01相連,通信距離超過1 km,無線通信接口的原理圖如圖6所示。
在軟件設(shè)計(jì)中使用功能性好、結(jié)構(gòu)緊湊、可讀性強(qiáng)的開發(fā)系統(tǒng)Keil C51開發(fā)軟件。Keil將C編譯器、宏匯編、鏈接器、庫管理和仿真調(diào)試器等集成到μVision開發(fā)環(huán)境中[9]。
軟件流程主要包含主程序流程和串口數(shù)據(jù)接收中斷流程。主程序流程圖如圖7所示,串口數(shù)據(jù)接收中斷流程圖如圖8所示。
Proteus軟件可以通過原理圖仿真單片機(jī)及外圍電路的功能,還能由原理圖自動(dòng)生成PCB圖。Proteus仿真電路圖如圖9所示,電路板如圖10所示。
在Proteus環(huán)境中設(shè)計(jì)好原理電路,將Keil軟件生成的目標(biāo)代碼加載到虛擬單片機(jī)模塊中,進(jìn)行單片機(jī)與外圍電路協(xié)同仿真。仿真測(cè)試結(jié)果表明性能滿足要求。Proteus電路仿真調(diào)試結(jié)束后,進(jìn)行PCB板制作和元器件電裝,燒寫單片機(jī)程序,最后連接上位機(jī),利用串口調(diào)試助手進(jìn)行測(cè)試,測(cè)試結(jié)果滿足要求。
本文設(shè)計(jì)一個(gè)擁有40路輸入、48路輸出、8路A/D、8位LED顯示的數(shù)據(jù)采集控制電路,通過無線通信模塊與上位機(jī)相連。系統(tǒng)軟件按照模塊化程序設(shè)計(jì)思想,程序編寫由C語言實(shí)現(xiàn),編程靈活,修改方便快捷。經(jīng)測(cè)試表明,該數(shù)據(jù)采控電路運(yùn)行可靠,工作穩(wěn)定。
參考文獻(xiàn)
[1] 李舟舟,王和明,王孔華.基于FPGA的采集控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[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] 韓衛(wèi)潔,陳江鋒,董興,等.基于ADS8341與ARM的數(shù)據(jù)采集模塊接口設(shè)計(jì)[J].現(xiàn)代電子技術(shù),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] 蔡暢,戚文軍,農(nóng)登,等.數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),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ī)的無線測(cè)溫系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,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] 黃克亞.基于單片機(jī)與PC機(jī)通信的數(shù)據(jù)采集控制系統(tǒng)設(shè)計(jì)[J].自動(dòng)化應(yīng)用,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采集控制設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(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系列單片機(jī)器件手冊(cè)[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.