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