一.方案設(shè)計(jì)與比較
1.1控制芯片選擇
方案一:采用8031芯片,其內(nèi)部沒有程序存儲(chǔ)器,需要進(jìn)行外部擴(kuò)展,這給電路增加了復(fù)雜度。
方案二:采用2051芯片,其內(nèi)部有2KB單元的程序存儲(chǔ)器,不需外部擴(kuò)展程序存儲(chǔ)器。但由于系統(tǒng)用到較多的I/O口,因此此芯片資源不夠用。
方案三:采用AT89C52單片機(jī),其內(nèi)部有4KB單元的程序存儲(chǔ)器,不需外部擴(kuò)展程序存儲(chǔ)器,而且它的I/O口也足夠本次設(shè)計(jì)的要求。
比較這三種方案,綜合考慮單片機(jī)的各部分資源,因此此次設(shè)計(jì)選用方案三。
1.2鍵盤顯示部分
控制與顯示電路是反映電路性能、外觀的最直觀部分,所以此部分電路設(shè)計(jì)的好壞直接影響到電路的好壞。
方案一:采用可編程控制器8279與數(shù)碼管及地址譯碼器74LS138組成,可編程/顯示器件8279實(shí)現(xiàn)對(duì)按鍵的掃描、消除抖動(dòng)、提供LED的顯示信號(hào),并對(duì)LED顯示控制。用8279和鍵盤組成的人機(jī)控制平臺(tái),能夠方便的進(jìn)行控制單片機(jī)的輸出。
方案二:采用單片機(jī)AT89C52與4X4矩陣組成控制和掃描系統(tǒng),并將鍵盤接成總線形式進(jìn)行分時(shí)掃描,同樣采用總線的方式在P0口接1602液晶來顯示實(shí)際輸出電壓和設(shè)定值,這種方案既能很好的控制鍵盤及顯示,又為主單片機(jī)大大的減少了程序的復(fù)雜性,而且具有體積小,價(jià)格便宜的特點(diǎn)。
對(duì)比兩種方案可知,方案一雖然也能很好的實(shí)現(xiàn)電路的要求,但考慮到電路設(shè)計(jì)的成本電路整體的性能,我采用方案二。
1.3 AD/DA模塊部分
方案一:AD采用MAX196,MAX196S是美信公司的一款具有多個(gè)輸入范圍,12位的數(shù)據(jù)采集系統(tǒng),它不僅具有轉(zhuǎn)換時(shí)間短,采樣速率快的優(yōu)點(diǎn),還具有兩種可編程的掉電模式。DA采用TLV5638, TLV5638是TI公司的12位DA轉(zhuǎn)換器,具有兩個(gè)輸出通道,數(shù)據(jù)傳輸接口為3線制的串行接口并且兼容SPI串行接口
方案二:AD和DA 分別采用TLC1543和 TLC5615。TLC1543和 TLC5615均是TI公司生產(chǎn)的10位串行接口芯片。它們不僅抗干擾性強(qiáng),穩(wěn)定性好,還具有低功耗和性價(jià)比高特點(diǎn)。
按照設(shè)計(jì)要求實(shí)現(xiàn)輸出電壓10mv步進(jìn)的要求,AD和DA至少要求10位(最好是12位),但考慮到I/O口和操作方便以及功耗和性價(jià)比的問題,因此選擇方案二。
1.4調(diào)理電路和報(bào)警模塊
因?yàn)?1單片機(jī)最多只能輸出5V的電壓,而設(shè)計(jì)要求能最多輸出9.99V的電壓,因此我選擇了將輸出電壓通過同向放大電路放大2倍,并且再外加電路進(jìn)行調(diào)理以便能電壓能精確輸出。報(bào)警模塊則可以采用一個(gè)PNP三極管和蜂鳴器串聯(lián)來實(shí)現(xiàn)設(shè)計(jì)要求。
二.理論分析與計(jì)算
2.1AD/DA模塊的分析
由于設(shè)計(jì)基本要求輸出電壓范圍為0~4.99V,實(shí)現(xiàn)10mV步進(jìn)。即精度要求達(dá)到0.01V,8位的AD/DA顯然達(dá)不到要求,因此必須選擇10位以上的AD/DA考慮到性價(jià)比的問題選擇10位的AD/DA。又由于TI公司生產(chǎn)的10位串行接口芯片TLC1543和 TLC5615不僅抗干擾性強(qiáng)而且具有很低的功耗,加上串行接口還能緩解接口緊張的局面。因此AD/DA芯片選擇了TLC1543和 TLC5615。
2.2模擬接口和調(diào)理模塊的分析
由于設(shè)計(jì)發(fā)揮部分要求進(jìn)一步擴(kuò)大輸出電壓范圍到0~9.99V,而基本單片機(jī)模塊最多只能提供不超過5V的電壓,因此想到將輸出電壓放大2倍,再在軟件中實(shí)現(xiàn)調(diào)整即可達(dá)到要求。調(diào)理部分的電路作用是為了穩(wěn)定輸出增加電路的帶阻能力,此部分可用基本的模擬放大調(diào)節(jié)模塊來實(shí)現(xiàn),具體模塊將在后面進(jìn)行說明。
2.3鍵盤顯示模塊分析
在本次設(shè)計(jì)中,由于要隨意輸入0~9.99V范圍內(nèi)的電壓值,并且還要求能實(shí)現(xiàn)10mV步進(jìn),因此采用4X4矩陣鍵盤來輸入0-9十個(gè)數(shù)和小數(shù)點(diǎn),再用兩個(gè)按鍵來實(shí)現(xiàn)10 mV步進(jìn)。顯示模塊采用1602分兩行來顯示設(shè)定值和實(shí)際電壓輸出即可達(dá)到基本設(shè)計(jì)要求。
三.總體方案原理分析
3. 1 系統(tǒng)總體框圖如圖3-1所示。
系統(tǒng)模塊分為:鍵盤輸入模塊,ADC模塊,DAC模塊,1602液晶顯示模塊,蜂鳴器報(bào)警模塊,模擬接口和調(diào)理電路模塊。鍵盤模塊輸入電壓設(shè)定值,ADC實(shí)現(xiàn)實(shí)際輸出電壓值的測(cè)量,DAC實(shí)現(xiàn)設(shè)定值輸出,蜂鳴器在按鍵輸入時(shí)發(fā)提示音并且當(dāng)設(shè)定值和實(shí)際測(cè)量值超過1V以上時(shí)報(bào)警,1602液晶顯示電壓設(shè)定值和實(shí)測(cè)值,模擬接口和調(diào)理電路模塊調(diào)節(jié)電路和增加輸出的帶阻能力。
圖3-1 系統(tǒng)結(jié)構(gòu)框圖
3. 2各模塊設(shè)計(jì)
3.2.1鍵盤模塊
鍵盤模塊通過74HC573與單片機(jī)進(jìn)行總線連接,單片機(jī)通過分時(shí)掃描來對(duì)設(shè)定值進(jìn)行采樣,鍵盤中取消和確認(rèn)鍵用于取消和確定設(shè)定值,減和增用于實(shí)現(xiàn)10mV步進(jìn)。
圖3-2-1 鍵盤設(shè)計(jì)電路圖
3.2.2A/D和D/A模塊
A/D和D/A模塊分別采用串行接口芯片TLC1543和 TLC5615,其中TLC1543與單片機(jī)P1口的部分管腳相連(P15提供模擬時(shí)序,P16提供使能信號(hào))。TLC5615
與單片機(jī)P3口的P3.2至P3.5相連,并通過TLC5615的第七腳輸出電壓,其中
TLC5615的外部電路采用典型接法。
圖3-2-2 鍵盤設(shè)計(jì)電路圖
3.2.3顯示和報(bào)警模塊
顯示模塊采用LCD1602來顯示設(shè)定值和實(shí)際電壓輸出,1602與單片機(jī)也是采用總線的接法來驅(qū)動(dòng),數(shù)據(jù)通過數(shù)據(jù)總線P0口來傳輸。報(bào)警模塊則通過簡(jiǎn)單的電路實(shí)現(xiàn),與單片機(jī)通過1.0來實(shí)現(xiàn)通訊。
圖3-2-3顯示和報(bào)警模塊電路圖
3.2.4模擬接口和調(diào)理電路模塊
模擬接口通過下圖右邊的放大器將輸出電壓放大兩倍,并通過左邊的電路來穩(wěn)定電壓輸出和增加輸出的電流。其中右邊的放大器的同向輸入端與DA電路的輸出
相連。
圖3-2-4模擬接口和調(diào)理電路模塊
四.軟件設(shè)計(jì)分析說明
4.1軟件設(shè)計(jì)思想說明
本系統(tǒng)的軟件采用多任務(wù)系統(tǒng)設(shè)計(jì)思想來完成,所謂的多任務(wù)就是將系統(tǒng)任務(wù)分割成若干獨(dú)立的任務(wù),然后讓CPU按照一定的頻度來輪流執(zhí)行各個(gè)任務(wù)。這其中的一個(gè)關(guān)鍵點(diǎn)就是要用中斷來進(jìn)行任務(wù)之間的切換,并且每個(gè)任務(wù)在一個(gè)執(zhí)行周期里所需的時(shí)間是多少必須要在分析之后進(jìn)行嚴(yán)格的設(shè)定。
4.2總程序流程圖如下
圖5-1總程序流程圖
五.系統(tǒng)仿真測(cè)試
5.1測(cè)試方案
運(yùn)行系統(tǒng)仿真后,通過鍵盤輸入設(shè)定輸出電壓值,觀察LCD1602上顯示的設(shè)定值和實(shí)際值是否符合實(shí)際,并聽蜂鳴器在按鍵輸入時(shí)是否有提示音。然后通過增和減按鍵來實(shí)現(xiàn)10mV步進(jìn),通過多次設(shè)定來測(cè)試系統(tǒng)電壓的輸出范圍是否達(dá)到設(shè)計(jì)要求。
5.1測(cè)試結(jié)果
表5-1電壓輸出設(shè)定值和實(shí)際值
5.2結(jié)果分析
由上表可以看出,系統(tǒng)不僅達(dá)到了輸出電壓范圍和電壓步進(jìn)要求也達(dá)到了設(shè)計(jì)的顯示要求,而且輸出電壓范圍大,具有按鍵提示和當(dāng)設(shè)定值并當(dāng)設(shè)定值和測(cè)量值超過1V以上時(shí)關(guān)閉輸出和報(bào)警功能。系統(tǒng)還具有信號(hào)調(diào)理功能并且人機(jī)交互效果好。由此可以看出系統(tǒng)達(dá)到了全部的基本要求和部分發(fā)揮部分要求,還具有功耗低、抗干擾能力強(qiáng)等特點(diǎn),基本滿足設(shè)計(jì)要求。
六.結(jié)束語
首先,通過本次應(yīng)用系統(tǒng)設(shè)計(jì),在很大程度上提高了我的獨(dú)立思考能力和單片機(jī)的專業(yè)知識(shí),也深刻了解寫一篇應(yīng)用系統(tǒng)的步驟和格式,有過這樣的一次經(jīng)歷,相信在接下來的日子我能在已有的基礎(chǔ)上做得更好。本系統(tǒng)以STC89C52單片機(jī)作為系統(tǒng)的核心控制器件,由DAC模塊,ADC模塊,鍵盤模塊,液晶顯示模塊和蜂鳴器模塊和模擬接口和調(diào)理電路模塊組成,具有系統(tǒng)功耗低、抗干擾能力強(qiáng)等特點(diǎn)。但是由于時(shí)間較緊,最后還有部分發(fā)揮部分的要求未達(dá)到,我會(huì)在接下來的時(shí)間里繼續(xù)完善該設(shè)計(jì),完善發(fā)揮部分的要求,并提高各方面的參數(shù),以其做得更好。
參考文獻(xiàn)
[1] 何立明 《單片機(jī)高級(jí)教程應(yīng)用設(shè)計(jì)》.北京: 北京航空航天大學(xué)出版社,2000
[2] 朱定華.《單片機(jī)原理與接口技術(shù)》.電子工業(yè)出版社,2006
[3] 劉瑞新.《單片機(jī)原理及應(yīng)用教程》.機(jī)械工業(yè)出版社,2003
[4] 譚浩強(qiáng). C語言程序設(shè)計(jì)(第三版). 清華大學(xué)出版社,2005.
[5] 大學(xué)生電子實(shí)驗(yàn)室 WWW.CEET.HBNU.EDU.CN/BBS/
[6] 51單片機(jī)學(xué)習(xí)網(wǎng) WWW.51C51.COM/BBS/