單片機(jī)課程設(shè)計(論文)智能數(shù)字電壓表_第1頁
單片機(jī)課程設(shè)計(論文)智能數(shù)字電壓表_第2頁
單片機(jī)課程設(shè)計(論文)智能數(shù)字電壓表_第3頁
單片機(jī)課程設(shè)計(論文)智能數(shù)字電壓表_第4頁
單片機(jī)課程設(shè)計(論文)智能數(shù)字電壓表_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、目 錄一論 文 摘 要.2二 設(shè)計要求3功能要求3主要技術(shù)指示3三 方案論證與選擇4四 系統(tǒng)原理及基本框圖5(一)電源設(shè)計5(二)at89c51單片機(jī)6(三)a/d轉(zhuǎn)換芯片7五.軟件設(shè)計12(一)主程序流程圖:14(二)開機(jī)自檢14(三)rom自檢流程圖:15(四)顯示子程序:16(五)a/d中斷服務(wù):17五、程序清單18(一)主程序18(二)rom自檢19(三)ram自檢20(四) 輸入通道自檢21(五)led顯示自檢21(六)顯示子程序23 (七)a/d中斷.24六元器件清單26七 系統(tǒng)評估27 設(shè)計總結(jié)28參考文獻(xiàn)30論 文 摘 要在集總參數(shù)電路中,考慮到操作的安全性、方便性、準(zhǔn)確性等因

2、素,測量的主要參量是電壓,電子電路的許多特性,如頻率特性、調(diào)制度、非線性失真系數(shù)等都可以視為電壓的派生量,各種電路的工作狀態(tài),如諧振、平衡、飽和、截止及動態(tài)范圍等,通常都用電壓的形式來反映。電子設(shè)備的各種控制、反饋信號也主要表現(xiàn)為電壓量。因此電壓測量是電子測量的最基本內(nèi)容之一。本系統(tǒng)是利用at89c51單片機(jī)的一種電壓測量電路,該系統(tǒng)除了采用icl7135高精度、雙積分a/d轉(zhuǎn)換電路外,還增設(shè)了超限報警電路。測量范圍直流01000伏,交流0750伏, led數(shù)碼管顯示。正文著重給出了軟硬件系統(tǒng)的各部分電路,介紹了雙積分電路的原理,at89c51的特點(diǎn),icl7135的功能和應(yīng)用。關(guān)鍵詞:數(shù)字電

3、壓表,at89c51,icl7135,雙積分a/d轉(zhuǎn)換器一 設(shè)計要求(一)功能要求(1) 能夠測量各種波形交流電壓的有效值; (2) 具有開機(jī)自檢、自動量程轉(zhuǎn)換功能;(3) 具有克服隨機(jī)誤差的數(shù)字濾波功能;(4) 使用220v交流電源,設(shè)置電源開關(guān)、源指示燈和電源保護(hù)功能。(二)主要技術(shù)指示(1) 直流電壓量程200 mv、2v、20v、200v、1000v 交流電壓量程為200 mv、2v、20v、200v、750v(2) 測量誤差: (0.5%(讀數(shù))+0.2%(滿度值))(3) 分辨率:100uv (最小量程)(4) 顯示方式:四位led數(shù)碼管顯示(5) 輸入阻抗:10m(6) 帶寬:1

4、0hz 100khz(7) 測量速度:23次/秒 三 總體方案論證與選擇a 從功能要求看,系統(tǒng)功能并不復(fù)雜,單片機(jī)和專用真有效值轉(zhuǎn)換芯片完全可以勝任主機(jī)的角色;b 從分辨率看,ad7135和mc14433均可滿足要求;分辨率=100u/7500.13u 采用雙積分型a/d轉(zhuǎn)換器,不需要采樣保持器這樣,系統(tǒng)組成方案的雛形已經(jīng)建立。鍵盤控制電路 方案1led顯示電路單片機(jī)a/d轉(zhuǎn)換器輸入電路被測電壓電源電路本方案利用a/d轉(zhuǎn)換原理將被測模擬量轉(zhuǎn)換成數(shù)字量,并通過控制系統(tǒng)即單片機(jī)用數(shù)字方式顯示測量結(jié)果方案2基準(zhǔn)參考電壓時鐘源計數(shù)器a/d轉(zhuǎn)換量程開關(guān)被測電壓 輸入電壓數(shù)字顯示七段譯碼驅(qū)動邏輯控制本方案

5、采用雙積分a/d轉(zhuǎn)換器,使用時只需外接少量的元器件,配以譯碼驅(qū)動及l(fā)ed數(shù)碼管便可組成3位半的數(shù)字電壓表。它由模擬電路和數(shù)字電路兩部分組成,模擬部分包括轉(zhuǎn)換式輸入放大器、基準(zhǔn)電壓源和a/d轉(zhuǎn)換電路。數(shù)字部分包括時鐘源、計數(shù)器、譯碼驅(qū)動顯示及邏輯控制。其中a/d轉(zhuǎn)換、計數(shù)及控制是數(shù)字電壓表的核心部件,其作用是將輸入的模擬量轉(zhuǎn)換為數(shù)字量,再通過譯碼驅(qū)動顯示部件,將模擬量的數(shù)值顯示出來方案3真有效值轉(zhuǎn)換量程開關(guān)被測電壓a/d轉(zhuǎn)換電源部分 led數(shù)碼管本方案以專用真有效值轉(zhuǎn)換芯片和a/d轉(zhuǎn)換器為核心來設(shè)計數(shù)字電壓表,設(shè)計簡單易行,而且可靠性較高以上三種方案比較而言,第一種方法比較常用,并且技術(shù)也比較成

6、熟,技術(shù)方面均能達(dá)到設(shè)計要求。因此本設(shè)計采用方案一三 系統(tǒng)原理及基本框圖(一)電源設(shè)計由于單片機(jī)及所使用的芯片均為5v直流供電,經(jīng)過變壓器將其變?yōu)榈蛪航涣麟妷?,低壓電壓?jīng)過橋式全波整流變成直流電壓,再經(jīng)過雙t電容濾波加集成穩(wěn)壓芯片(7805和7905)最終變成穩(wěn)定的5v直流電壓。本電路還設(shè)計電路保護(hù)和電源指示燈。在使用數(shù)字電壓表測量開關(guān)電源電路中的電壓時,經(jīng)常會由于人為疏忽出現(xiàn)意外情況。為維修時易發(fā)現(xiàn)故障所在。 電源電路原理圖如下:圖1 電源設(shè)計圖由該電路實踐證明:(1)最高輸出電壓受穩(wěn)壓器最大輸入電壓及最小輸入輸出壓差的限制,該固定式三端集成穩(wěn)壓集成電路7805最大輸入電壓為35v,輸入輸出

7、差要保持2v以上,因此該電路中由于穩(wěn)壓器的直流輸入電壓為+14v,所以該電路的輸出最大值為+12v。(2)實驗表明,在穩(wěn)壓器的穩(wěn)壓范圍內(nèi),其穩(wěn)壓精度可達(dá)0.03。(3)由于集成穩(wěn)壓器7805和7905具有很高的“電壓調(diào)整率”把輸入包含的交流成分和輸入直流波動一起加以抑制,從而使輸出直流穩(wěn)定,交流紋波減小。1n4148是保護(hù)二極管,用來防止在輸入短路時輸出電容c4和c9所存儲的電荷通過穩(wěn)壓器放電而損壞器件(二)at89c51單片機(jī)芯片介紹:at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and erasable read only me

8、mory)的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。7 1.主要特性:8031 cpu與mcs-51 兼容 4k字節(jié)可編程flash存儲器(壽命:1000寫/擦循環(huán)) 全靜態(tài)工作:0hz-24khz 三級程序存儲器保密鎖定 128*8位內(nèi)部ram 32條可編程i/o線 兩個16位定時器/計數(shù)器6個中斷源 可編程串行通道 低功耗的閑置和掉電模

9、式 片內(nèi)振蕩器和時鐘電路(三)轉(zhuǎn)換器icl7135 如圖所示:對輸入模擬電壓和基準(zhǔn)電壓進(jìn)行兩次積分,先對輸入模擬電壓進(jìn)行積分,將其變換成與輸入模擬電壓成正比的時間間隔 t1,再利用計數(shù)器測出此時間間隔,則計數(shù)器所計的數(shù)字量就正比于輸入的模擬電壓;接著對基準(zhǔn)電壓進(jìn)行同樣的處理。在常用的a/d轉(zhuǎn)換芯片(如adc -0809、icl7135、icl7109等)中,icl7135與其余幾種有所不同,它是一種四位半的雙積分a/d轉(zhuǎn)換器,具有精度高(精度相當(dāng)圖2雙積a/d 轉(zhuǎn)換器的波形圖于14位二進(jìn)制數(shù))、價格低廉、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。本文介紹用單片機(jī)并行方式采集icl7135的數(shù)據(jù)以實現(xiàn)單片機(jī)電壓表和小

10、型智能儀表的設(shè)計方案。1.icl7135的引腳功能及主要特性icl7135是雙斜積分式4位半單片ad轉(zhuǎn)換器,28腳dip封裝。其引腳功能如下:1腳(v)5v電源端;2腳(vref)基準(zhǔn)電壓輸入端;3腳(agnd)模擬地;4腳(int)積分器輸入端,接積分電容;5腳(az)積分器和比較器反相輸入端,接自零電容;6腳(buf)緩沖器輸出端,接積分電阻;7腳(cref)基準(zhǔn)電容正端;8腳(cref)基準(zhǔn)電容負(fù)端;9腳(in)被測信號負(fù)輸入端;10腳(in)被測信號正輸入端;11腳(v)5v電源端;12、1720腳(d1d5)位掃描輸出端;1316腳(b1b4)bcd碼輸出端;21腳(busy)忙狀態(tài)

11、輸出端;22腳(clk)時鐘信號輸入端;23腳(pol)負(fù)極性信號輸出端;24腳(dgnd)數(shù)字地端;25腳(rh)運(yùn)行讀數(shù)控制端;26腳(str)數(shù)據(jù)選通輸出端;27腳(or)超量程狀態(tài)輸出端;28腳(ur)欠量程狀態(tài)輸出端。2.性能:(1) 總讀數(shù)達(dá)+20000和-20000計數(shù),滿標(biāo)電壓為2.0000v,精度達(dá)1計數(shù);(2) 自校零,保證零電壓輸入時讀數(shù)為零;(3) 輸入阻抗大于1000m,(4) 具有精確的差分輸入(5) 自動判別信號極性,保證零讀數(shù)附近極性準(zhǔn)確;(6) 只要求單一基準(zhǔn)電壓(7) 具有適用自動量程能力的超量程和欠量程信號;(8) 全部輸出與ttl兼容;(9) 用閃爍顯示

12、的方式直觀的表明超量程狀態(tài);(10) 設(shè)有六個i/o輔助信號,適用于多個異步收發(fā)機(jī),微理器或其它組合線路;(11) 采用位掃描和bcd碼輸出。3 數(shù)據(jù)輸出方式:icl7135的輸出方式為動態(tài)bcd碼掃描形式,圖中是其輸出波形圖,這種圖形將bcd碼數(shù)與字位數(shù)及st倍相配合使用,可組成多種形式的數(shù)據(jù)據(jù)輸也電路,以供顯示或計算機(jī)采集數(shù)據(jù)之用。 當(dāng)輸入模擬量超過或者低于合適量程時or端或ur端就會出現(xiàn)圖所示的波形在過量程情況下,顯示數(shù)還會自動“閃光報警”。 圖3 icl7135數(shù)據(jù)輸出方式圖4. 7135數(shù)字部分?jǐn)?shù)字部分主要由計數(shù)器、鎖存器、多路開關(guān)及控制邏輯電路等組成。7135一次a/d轉(zhuǎn)換周期分為

13、四個階段:1、自動調(diào)零(az);2、被測電壓積分(int);3、基準(zhǔn)電壓反積分(de);4、積分回零(zi)。具體內(nèi)部轉(zhuǎn)換過程如圖所示 圖4 icl7135數(shù)字輸出圖由于數(shù)字部分以dgng端作為接地端,所以所有輸出端輸出電平以dgng作為相對參考點(diǎn)?;鶞?zhǔn)電壓,基準(zhǔn)電壓的輸入必須對于模擬公共端com是正電壓。 5.與單片機(jī)系統(tǒng)的串行連接在icl7135與單片機(jī)系統(tǒng)進(jìn)行連接時,使用并行采集方式 需要外部的時鐘信號,在實際應(yīng)用系統(tǒng)中,經(jīng)常采用外接rc振蕩器的方式,這樣可以根據(jù)積分時間確定振蕩頻率。為了使電路具有抗50hz串模干擾能力,a/d轉(zhuǎn)換的積分時間應(yīng)選擇積分時間等于50hz工頻的整數(shù)倍。當(dāng)時鐘

14、頻率fclk=125khz時,則每個時鐘周期為1/fclk,所以a/d轉(zhuǎn)換的積分時間為to=40002*(1/fclk)=320ms 即當(dāng)時鐘頻率為125khz時,每秒約轉(zhuǎn)換3次。積分電阻rint和積分電容cint的選擇是非常關(guān)鍵的。rint應(yīng)選擇精密電阻,積分電阻是由滿量程輸入電壓和用來對積分電容充電的內(nèi)部緩沖放大器的輸出電流來定義的,充電電流的常規(guī)值為20ua,積分電阻的精確值可由下式得到 rint=滿量程電壓值/20ua 在icl7135的實際應(yīng)用中,最常用的時將輸入電壓范圍接為最大即+2-2v,此時基準(zhǔn)電壓應(yīng)為1/2滿量程電壓即+1v,rint為100k,這種元件選擇參數(shù)時icl713

15、5最常用的接法。 cint積分電容的計算公式為 cint=(10000*(1/fclk)*20ua)/積分器輸出電壓的擺動幅值由于積分電容和積分電阻的乘積由給定的最大電壓波動選擇,而最大電壓波動不超過積分器允許范圍(接近正負(fù)電源的0.3v)。所以,滿量程積分器輸出電壓的擺動幅值控制在3.5v4v的電壓范圍較為理想。如果電源電壓取5v,icl7135的模擬地端接0v,則積分器輸出電壓的擺幅取4v就是合適的。此時的電容為 cint=10000*(1/125)*(10(-3)*20*(10(-6))/4=0.4uf在實際應(yīng)用中考慮到可靠性,應(yīng)使積分器的輸出電壓擺幅稍小一些,所以常取cint=0.47

16、uf。此外積分電容一個很重要的特性是當(dāng)它只有很小的介質(zhì)吸收系數(shù)時,才可阻止過沖翻轉(zhuǎn)。通常選聚丙烯電容器或聚碳酸酯電容器作積分電容。自動調(diào)零電容caz的大小對系統(tǒng)的噪聲有些影響,選用較大容量的電容可以減小噪聲,典型值為1uf。 基準(zhǔn)電容cref應(yīng)大到足以使結(jié)點(diǎn)對地的寄生電容可以被忽略為止,典型值為1uf。積分輸出端串接一個二極管d和電阻r=100k,是為了消除rollover 誤差,根據(jù)要求接上即可。icl7135的并行方式在實踐中的應(yīng)用效果很好。與串行方式相比,其突出的優(yōu)點(diǎn)是結(jié)構(gòu)簡單、程序簡潔、占用單片機(jī)的資源少、可提高抗干擾能力,同時可提高儀器的檢測可靠性,并且可在不添加任何擴(kuò)展口線器件的情

17、況下使系統(tǒng)的成本得到降低。icl7650是intersil公司利用動態(tài)校零技術(shù)和cmos工藝制作的斬波穩(wěn)零式高精度運(yùn)放,它具有輸入偏置電流小、失調(diào)小、增益高、共模抑制能力強(qiáng)、響應(yīng)快、漂移低、性能穩(wěn)定及價格低廉等優(yōu)點(diǎn). icl7650是一種高增益、高共模抑制比和具有雙端輸入功能的運(yùn)算放大器. cd4066是一種雙向模擬開關(guān),在集成電路內(nèi)有4個獨(dú)立的能控制數(shù)字及模擬信號傳送的模擬開關(guān)。每個開關(guān)有一個輸人端和一個輸出端,它們可以互換使用,還有一個選通端(又稱控制端),當(dāng)選通端為高電平時,開關(guān)導(dǎo)通;當(dāng)選通端為低電平時,開關(guān)截止。使用時選通端是不允許懸空的. 輸入衰減器、程控電壓放大電路設(shè)輸入衰減器的傳

18、輸系數(shù)為a1,放大器的增益為a2。 輸入衰減器和放大器增益控制由于a/d轉(zhuǎn)換器滿度輸入電壓即放大器的輸出電壓uo=2v,所以 200mv量程總增益為a200mv=uo/ui=2/0.2=110=a1a2, 2v量程總增益a2v=uo/ui=2/2=11=a1a2,初步確定采用同相比例放大器,200mv和2v量程不使用輸入衰減器,由電子開關(guān)控制放大器增益a2=10或1實現(xiàn)量程轉(zhuǎn)換。 20v量程總增益a20v= uo/ui=2/20=1/10=(1/100)10=a1a2, 200v量程總增益a200v=uo/ui=2/200=(1/100)1=a1a2, 700v量程總增益a1000v=uo/u

19、i=1/1000=(1/1000)1=a1a2。在20v、200v兩檔由繼電器j1、j2接入a1=1/100的輸入衰減器,配合a2=10或1實現(xiàn)量程轉(zhuǎn)換,1000v量程由j1、j2接入a1=1/1000的輸入衰減器,配合a2=1實現(xiàn)量程轉(zhuǎn)換。 電路參數(shù)計算:運(yùn)放a1選icl7650斬波穩(wěn)零運(yùn)放。r1、r2、r3組成輸入衰減器,d1、d2、d3、d4、r4、r5、r6組成輸入保護(hù)電路,a1、r8、r9組成高阻同相放大電路,j1、j2、s1組成量程轉(zhuǎn)換電路。s2與r10等組成輸入通道自檢電路。(j1、j2繼電器、s1、s2電子開關(guān)cd4053)。icl7650運(yùn)放的輸入電阻遠(yuǎn)大于10m(ri=10

20、12),所以r1+r2+r3=10m。因為r3/(r1+r2+r3)=1/1000,所以r3=(r1+r2+r3)/1000=10m/1000=10k因為(r2+r3)/(r1+r2+r3)=1/100,所以r2+r3=(r1+r2+r3)/100=10m/100=100kr2=100-r3=90k,r1=10m-(r2+r3)=10m-100k=9.9m因為au=1+r8/r9=10即r8/r9=9,取r9=1k,則r8=9r9=9k;d1、d2選用開關(guān)二極管1n4148,r4為限流電阻,設(shè)流過d1、d2的最大電流為10ma,則r4uimax/idm=1000/0.01=100k,pr4ui

21、max2/r4=10002/100=10w,由于icl7650最大允許輸入電壓為:vcc+0.3v和vee-0.3v,所以,使用4v的穩(wěn)壓二極管將a1同相端電位限制在4.7v。r5為直流平衡電阻,其值應(yīng)等于運(yùn)放同相端到地的電阻(約為100k)。 i/o口分配i/o口用途p0.0p0.7輸出顯示7段碼ag、dp,高電平有效p1.0接7135的outrunp1.1接7135的d5 ,作的中斷請求信號p1.2接7135的過量程信號輸出端or,or=1過量程p1.3接7135的欠量程信號輸出端ur,ur=1欠量程p1.4接7135的符號輸出端pol,“1”正“0”負(fù)p1.5接7135的bcd碼輸出端b

22、1p1.6接7135的bcd碼輸出端b2p1.7接7135的bcd碼輸出端b4p2.0p2.3顯示器個位萬位位選信號輸出,高電平有效(經(jīng)sn7407反相驅(qū)動)p2.6mv單位指示led,低電平有效p2.7v單位指示led,低電平有效p3.1接7135的bcd碼輸出端b8p3.2接7135的 d5 d5=1時a/d轉(zhuǎn)換結(jié)果萬位數(shù)據(jù)輸出p3.3接繼電器j1,p3.4=1時k1吸合,接入衰減器p3.4接繼電器j2,p3.5=1時k2吸合,接1/100衰減p3.6接電子開關(guān)k1,p3.6=0時放大器電壓增益為10,p3.6=1時增益為1p3.7接電子開關(guān)k2,p3.7=0時測量;p3.7=1時輸入通道

23、自檢四 軟件設(shè)計1 時鐘頻率的確定 單片機(jī)時鐘:時鐘頻率高運(yùn)算速度快,但耗電量增加、抗干擾能力變差。本設(shè)計對速度要求不高,也無串行通信功能,故對時鐘無特殊要求,選fosc=6mhz。 a/d的時鐘:如果正向積分階段的時間(10000tcp)是干擾信號周期的整倍數(shù)時對此干擾抑制效果很好,如50hz工頻干擾的周期為20ms,取正向積分時間為80ms,則80000s=10000tcp,即tcp=80000s/10000=8s,fcp=1/tcp=1/8s=125khz。icl7135完成一次a/d轉(zhuǎn)換需要40002個時鐘周期,當(dāng)tcp=8s時,轉(zhuǎn)換周期為t400008s=320ms。a/d轉(zhuǎn)換速度約

24、每秒3次。2 監(jiān)控程序設(shè)計 ram地址分配附表5-1 ram地址分配表地址用途說明0組工作寄存器r1、r4、r5顯示器自檢子程序,r0、r2 rom、ram自檢子程序,r1、r3通道自檢子程序,r0、r2、r6、r7顯示子程序1組工作寄存器a/d轉(zhuǎn)換中斷服務(wù),r0地址指針,r5中斷計數(shù)(0萬位、4千位1個位),r6當(dāng)前量程狀態(tài)2組工作寄存器k1、k2鍵處理子程序,r7手動量程鍵k2狀態(tài)計數(shù)器20h22ha/d轉(zhuǎn)換結(jié)果,20h.7符號位,20h.0萬位,21h22h千位個位23h25h存放零漂值,壓縮bcd碼,存放方式與上面類似26h28h存放計算的顯示值,壓縮bcd碼,存放方式與上面類似2bh

25、小數(shù)點(diǎn)應(yīng)在的字位碼2ch顯示字段碼暫存2fh33h顯示緩沖區(qū),bcd碼,萬位個位50h7fh堆棧f0暫存a/d轉(zhuǎn)換結(jié)果的符號位,“0”正/“1”負(fù)2dh.02dh.0=1rom有故障2dh.12dh.1=1ram有故障2dh.22dh.2=1輸入通道有故障2dh.32dh.3=1開機(jī)自檢有故障2dh.42dh.4=1過量程2dh.52dh.5=1欠量程2dh.62dh.6=1自動量程轉(zhuǎn)換,2dh.6=0手動量程轉(zhuǎn)換2dh.72dh.7=1過載,即最高量程仍超量程 量程狀態(tài)轉(zhuǎn)換表:量程r6s2s1j2j1(p3.7p3.4)p3口狀態(tài)代碼小數(shù)點(diǎn)應(yīng)在字位碼(2bh)200mv00h00000fh0

26、4h(百位)2v01h01004fh10h(萬位)20v02h00011fh08h(千位)200v03h01015fh04h(百位)1000v04h01117fh02h(十位)通道自檢05h10110bfh10h(萬位) 系統(tǒng)初始化參數(shù)及控制字:(p2)=40h,關(guān)報警、v單位燈亮、關(guān)顯示器(p3)=0bfh,量程開關(guān)置自檢狀態(tài)0eh=05h,置量程指示寄存器1組r6為自檢(sp)=4fh(ip)=01h,設(shè)為高級中斷,其余為低級中斷it0=1,外部中斷置為邊沿出發(fā)(ie)=81h,僅允許請求中斷(2bh)=10h,置小數(shù)點(diǎn)應(yīng)在字位碼(萬位)(2dh)=00h,請各個位標(biāo)志(一)主程序流程圖:

27、開始開機(jī)自檢有故障f11系統(tǒng)初始化掃描顯示器f0=1?f1=1?報警報警關(guān)報警1. (二)開機(jī)自檢 開機(jī)自檢輸入通道故障清除f1rom自檢ram自檢顯示緩存區(qū)e1顯示緩存區(qū)e2顯示緩存區(qū)e3量程f1(f11)系統(tǒng)初始化(三)rom自檢流程圖:rom自檢清零a,ba讀romba異或b最后字節(jié)a校驗和a=b?置位返回清零指向下一單元(四)顯示子程序:返回顯示子程序置顯緩存區(qū)首址,置位碼關(guān)顯示,取顯示數(shù),查段碼百位?十位=1?a=0最后一位加符號段碼送p0.位碼送p2延時1ms修改位碼顯緩區(qū)地址減1加dp應(yīng)加dp(五)a/d中斷服務(wù):icl7135每一分鐘完成3次據(jù)的采集工作,1/3秒完成后向cpu

28、申請中斷,cpu這時暫停工作,為中斷服務(wù).中斷響應(yīng)后關(guān)中斷,將psw、acc壓棧,判斷是否首次中斷,如果是首次中斷,則將正負(fù)號標(biāo)志位置入60h,再把百位置入61h中,如果不是首次中斷,則跳到next處,如果是第二次中斷,則將十位數(shù)置入62h中,如果是第三次中斷,再將個位數(shù)置入63h中,第五次中斷則將小數(shù)點(diǎn)位置入64h中,同時個位置入64h中。同時清除中斷次數(shù)寄存器30h中的值,完成中斷后將acc、psw出棧,開中斷。消隱的思想:每次電壓采集后,cpu將數(shù)據(jù)送到led顯示,將可能出現(xiàn)以下幾種需要消隱的情況。例如:750v檔量程:0199.9此時百位的值0不符合人們的視覺習(xí)慣,需要把百位的值消隱掉

29、,編程是將#20h送入百位,使其在led中不顯示任何字符即可。同樣的情況如下:需要消隱百位、十位需要消隱百位、十位、個位2000v檔量程:01.900.9需要消隱百位需要消隱百位、十位200v檔量程:01.900.9需要消隱百位20v檔量程:19.9在采集到數(shù)據(jù)之后,置數(shù)之前判斷檔位,是2v檔不消隱,是其他檔位時再看要消隱的位之前有幾個是零。例如750v檔量程,-01.9v,在2次中斷時判斷檔位是750v檔,第1位是零,消隱第2位個位。五、程序清單(一)主程序t1: acall disply acall trom jb 20h.0,e1 acall tram jb 20h.1,e2 acall

30、 tch jb 20h.2,e3 clr f1 acall ini e1: mov 2ch,#79h mov 2bh,#06h ajmp ffe2: mov 2ch,#79h mov 2bh,#5bh ajmp ffe3: mov 2ch,#79h mov 2bh,#4fh ajmp ffff: setb f1 ajmp ini ini: org 0000h ajmp main org 0003h ajmp int0 main: mov sp,#4fh mov ie,#81h setb it0 mov p2,#1fh mov p3,#03h mov 14h,#05hhh: acall dis1

31、 jnb f0,gg setb p3.3 ajmp hhgg: jnb f1,ii setb p3.3 ajmp t1ii: clr p3.3 ajmp hh ret end (二)rom自檢trom mov dptr,#0fffh push dph push dpl mov dptr,#0000h mov b,#0lp1: clr a mov a,a+dptr xrl b,a pop acc mov r1,a cjne a,dpl,lp3 pop acc mov r2,a cjne a,dph,lp2 ajmp lp4lp2: mov a,r2 push acc lp3: mov a,r1

32、push acc inc dptr ajmp lp1lp4: mov dptr,#0100h clr a mov a,a+dptr xrl a,b jnz lp5 clr 20h.0 ajmp lp6 lp5: setb 20h.0lp6: ret end(三) ram自檢tram: mov r1,#00h loop: mov r1,#55h mov a,r1 cjne a,#55h,aa mov r1,#aa mov a,r1 cjne a,#0aah,aainc r1 cjne r1,#7fh,loop clr 20h.1 ret aa: setb 20h.1 end(四)輸入通道自檢.t

33、ch: mov 14h,#05h setb p2.5 acall delay mov a,26h cjne a,#00h,bb mov a,25h cjne a,#9,cc clr c mov a,24h subb a,#7 jc ee dd: clr 20h.2 ret ee:setb 20h.2 retbb: mov a,25h cjne a,#0h,dd mov a,24h subb a,#5 jc ee ajmp dd ret cc: ajmp dd retdelay: mov r7,#10 dl3: mov r6,#200 dl2: mov r5,#248 nop dl1: djnz

34、 r5,dl1 djnz r6,dl2 djnz r7,dl3 ret end(五)led顯示自檢(顯示4位“0“和4位數(shù)字“8”)disply: nop clr r5 mov r5,#4 mov r2,#100disply1: setb p3.3 acall dl1 djnz r2,disply1 mov r2,#100 clr p3.3disply4: mov r0,#2ch mov r3,#01hdisply2: mov a,r3 mov p2,a clr a mov dptr,#tab1 movc a,a+dptr mov p0,a acall dl1 inc r0 mov a,r3

35、jb acc.4,disply3 rl a mov r3,a ajmp disply2disply3: djnz r2,disply4 mov r2,#100 mov r1,#2chdisply5: mov a,#80h mov r1,a inc r1 djnz r5,disply3 ret tab1: db 3fh, 06h, 5bh, 4fh, 66h db 6dh, 7dh, 07h, 7fh, 6fh, 77h db 7ch, 39h, 5eh, 79h, 71h, 00hdl1: mov r7,#02h dl2: mov r6,#0ffh djnz r6,$ djnz r7,dl2

36、ret(六)顯示子程序.dis1: mov r0,#2ch mov r3,#10h dis0: clr a mov p0,a mov a,r0 anl a,#0fh add a,29h movc a,a+pc cjne r3,#10h,dis3 jb 20h.0,dis2 clr adis2: mov c,20h.4 mov acc.6,cdis3: mov 27h,a mov a,r3 cjne a,21h,dis4 setb 27h.7dis4: mov p0,27h mov a,p2 anl a,#0e0h orl a,r3 mov p2,a acall dl1 mov a,r3 jb

37、acc.0,dis5 rr a mov r3,a dec r0 ajmp dis0 dis5: rettab: db 3fh, 06h, 5bh, 4fh, 66h db 6dh, 7dh, 07h, 7fh, 6fh, 77h db 7ch, 39h, 5eh, 79h, 71h, 00hdl1: mov r7,#02h dl2: mov r6,#02h djnz r6,$ djnz r7,dl2 end ret(七)a/d中斷intuse: clr ea push acc push psw setb psw.3 mov a,#00h cjne a,intnum,next mov r0,#darstart mov r2,#00h mov r3,#00h mov r4,#01h jnb p1.6,k0 setb p1.4 ajmp k1 k0: clr p1.4 k1: jb p1.5,pol mov darpole,#2d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論