基于單片機(jī)數(shù)字電壓表的方案設(shè)計(jì)書(shū)_第1頁(yè)
基于單片機(jī)數(shù)字電壓表的方案設(shè)計(jì)書(shū)_第2頁(yè)
基于單片機(jī)數(shù)字電壓表的方案設(shè)計(jì)書(shū)_第3頁(yè)
基于單片機(jī)數(shù)字電壓表的方案設(shè)計(jì)書(shū)_第4頁(yè)
基于單片機(jī)數(shù)字電壓表的方案設(shè)計(jì)書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※2010屆學(xué)生畢業(yè)設(shè)計(jì)(論文)材料(四)***********學(xué)生畢業(yè)設(shè)計(jì)(論文)課題名稱基于單片機(jī)數(shù)字電壓表的設(shè)計(jì)姓名**學(xué)號(hào)0712301-12院系********************專業(yè)電子信息工程技術(shù)指導(dǎo)教師*************2010年3月25日**********本科畢業(yè)設(shè)計(jì)(論文)誠(chéng)信聲明本人鄭重聲明:所呈交的本科畢業(yè)設(shè)計(jì)(論文),是本人在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,成果不存在知識(shí)產(chǎn)權(quán)爭(zhēng)議,除文中已經(jīng)注明引用的內(nèi)容外,本設(shè)計(jì)(論文)不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的作品成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。本科畢業(yè)設(shè)計(jì)(論文)作者簽名:(親筆簽名)二○一零年月日(打?。┠夸浾?關(guān)鍵詞…………………4Abstract………………4Keywords………………5前言……………………5總體結(jié)構(gòu)…………5系統(tǒng)硬件電路的設(shè)計(jì)……………62.1、10倍放大器電路…………62.2、A/D轉(zhuǎn)換電路……………72.3、電橋輸入電路………………82.4、測(cè)試電路……………………8系統(tǒng)程序的設(shè)計(jì)…………………113.1、初始化程序………………113.2、主程序……………………113.3、顯示子程序………………113.4、A/D轉(zhuǎn)換測(cè)量子程序…………………114、調(diào)試與性能分析…………………124.1、調(diào)試與測(cè)試………………124.2、性能分析…………………135、結(jié)語(yǔ)……………146、單片機(jī)匯編程序清………………14參考文獻(xiàn)………………21致謝……………………22附錄……………………22基于單片機(jī)數(shù)字電壓表的設(shè)計(jì)**(*****************2010屆電子信息工程技術(shù)專業(yè),*********)摘要:數(shù)字電壓表的誕生打破了傳統(tǒng)電子測(cè)量?jī)x器的模式和格局。它顯示清晰直觀、讀數(shù)準(zhǔn)確,采用了先進(jìn)的數(shù)顯技術(shù),大大地減少了因人為因素所造成的測(cè)量誤差事件。數(shù)字電壓表是把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式,并加以顯示的儀表。數(shù)字電壓表把電子技術(shù)、計(jì)算技術(shù)、自動(dòng)化技術(shù)的成果與精密電測(cè)量技術(shù)密切的結(jié)合在一起,成為儀器、儀表領(lǐng)域中獨(dú)立而完整的一個(gè)分支,數(shù)字電壓表標(biāo)志著電子儀器領(lǐng)域的一場(chǎng)革命,也開(kāi)創(chuàng)了現(xiàn)代電子測(cè)量技術(shù)的先河。本設(shè)計(jì)采用了以單片機(jī)為開(kāi)發(fā)平臺(tái),控制系采用AT89C52單片機(jī),A/D轉(zhuǎn)換采用ADC0809。系統(tǒng)除能確保實(shí)現(xiàn)要求的功能外,還可以方便進(jìn)行8路其它A/D轉(zhuǎn)換量的測(cè)量、遠(yuǎn)程測(cè)量結(jié)果傳送等擴(kuò)展功能。簡(jiǎn)易數(shù)字電壓測(cè)量電路由A/D轉(zhuǎn)換、數(shù)據(jù)處理、顯示控制等組成。關(guān)鍵詞:?jiǎn)纹瑱C(jī);AT89C52;A/D轉(zhuǎn)換;ADC0809;數(shù)據(jù)處理DesignofDigitalVoltageMeterbasedonSingle-chipMicrocomputer******(2010YearStudentofElectronicsandInformationEngineeringMajorof********************************************)Abstract:Thebirthofdigitalvoltagemeterbreakthetraditionalmodelofelectronicmeasuringinstrumentsandpatterns.Itshowstheclearandintuitive,accuratereadings,usinganadvanceddigitaldisplaytechnology,greatlyreducedduetohumanfactorsofthemeasurementerrorcausedbytheincident.Digitalvoltagemeterisarowofanalog(DCinputvoltage)intoanon-continuous,discretedigitalform,andtheinstrumentdisplay.Digitalvoltagemetertoelectronictechnology,computingtechnology,automationtechnologyandprecisionoftheresultsofelectricalmeasurementtechnologyclosertogetherandbecomeinstruments,metersandcompleteanindependentfieldofabranch,digitalvoltagemeterindicatesthatthefieldofelectronicdevicesarevolutionandalsopioneeredthemodernpioneerofelectronicmeasurementtechnology.Thedesignusesasingle-chipplatformforthedevelopment,controloftheDepartmentoftheuseofAT89C52single-chip,A/DconversionusingADC0809.Inadditiontotherealizationofthesystemtoensurethattherequiredfunctionality,butalsofacilitatethe8otherA/Dconvertermeasurement,distancemeasurementfunctionoftransmissionexpansion.SimpledigitalvoltagemeasuringcircuitismadeoftheA/Dconversion,dataprocessing,displaycontrol,etc.Keywords:SCM。AT89C52。A/Dconversion。ADC0809。dataprocessing引言數(shù)字電壓表(DigitalVoltmeter)簡(jiǎn)稱DVM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時(shí)代的需求,采用單片機(jī)的數(shù)字電壓表,由精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還可與PC進(jìn)行實(shí)時(shí)通信。目前,由各種單片A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域,示出強(qiáng)大的生命力。與此同時(shí),由DVM擴(kuò)展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測(cè)量技術(shù)提高到嶄新水平。新型數(shù)字電壓表以其高準(zhǔn)確度、高可靠性、高分辨率、高性價(jià)比等優(yōu)良特性倍受人們的青睞。目前,數(shù)字電壓表作為數(shù)字化儀表的基礎(chǔ)與核心,已被廣泛用于電子和電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等領(lǐng)域,顯示出強(qiáng)大的生命力。與此同時(shí),由電壓表擴(kuò)展而成的各種通用及專用儀表(含數(shù)字萬(wàn)用表),也將電量及非電量測(cè)量技術(shù)提高到嶄新水平本文重點(diǎn)介紹單片A/D轉(zhuǎn)換器以及由它們構(gòu)成的基于單片機(jī)的數(shù)字電壓表的工作原理。1、總體結(jié)構(gòu)數(shù)字電壓表的組成(圖1)圖1數(shù)字電壓表的組成框圖DVM(DigitalVoltageMeter)的核心是A/D轉(zhuǎn)換器。按系統(tǒng)功能實(shí)現(xiàn)要求,決定控制系統(tǒng)采用AT89C52單片機(jī),A/D轉(zhuǎn)換采用ADC0809。系統(tǒng)除能確保實(shí)現(xiàn)要求的功能外,還可以方便地進(jìn)行8路其他A/D轉(zhuǎn)換量的測(cè)量和遠(yuǎn)程測(cè)量結(jié)果傳送等擴(kuò)展功能。數(shù)字電壓表系統(tǒng)設(shè)計(jì)方案框圖如圖2所示。AT89C52AT89C52P0P2P1P3ADC08094位LED顯示上電復(fù)位串口通信電源電路圖2數(shù)字電壓表系統(tǒng)設(shè)計(jì)方案框圖2、系統(tǒng)硬件電路的設(shè)計(jì)2.1、10倍放大器電路下圖是一個(gè)最簡(jiǎn)單的10倍放大電路,運(yùn)算放大器使用的是精度比較高的OP07,利用它,可以把0~200mV的電壓放大到0~2.000V。在使用的數(shù)字電壓表量程為2.000V時(shí),特別有用。如果把它應(yīng)用在基本量程為±200.0mV的數(shù)字電壓表上,就相當(dāng)于把分辨力提高了10倍,在一些測(cè)量領(lǐng)域中,傳感器的信號(hào)往往覺(jué)得太小了,這時(shí),可以考慮在數(shù)字壓表前面加上這種放大器來(lái)提高分辨力。圖310倍放大器電路2.2、A/D轉(zhuǎn)換電路在電流或者電壓的測(cè)量中,經(jīng)常遇見(jiàn)測(cè)量的并不是直流而是交流,這時(shí)候,絕對(duì)不可以把交流信號(hào)直接輸入到數(shù)字電壓表去,必須先把被測(cè)的交流信號(hào)變成直流信號(hào)后,才可以送入數(shù)字電壓表進(jìn)行測(cè)量。下圖就是一個(gè)把交流信號(hào)轉(zhuǎn)換成為直流信號(hào)的參考電路。(說(shuō)明:更好的交流轉(zhuǎn)換成為直流的電路是一種“真有效值”轉(zhuǎn)換電路,但是由于其專用芯片價(jià)格昂貴,多應(yīng)用在一些高檔場(chǎng)合。)本電路中,輸入的是0~200.0mV的交流信號(hào),輸出的是0~200.0mV的直流信號(hào),從信號(hào)幅度來(lái)看,并不要求電路進(jìn)行任何放大,但是,正是電路本身具有的放大作用,才保證了其幾乎沒(méi)有損失地進(jìn)行AC-DC的信號(hào)轉(zhuǎn)換。因此,這里使用的是低功耗的高阻輸入運(yùn)算放大器,其不靈敏區(qū)僅僅只有2mV左右,在普通數(shù)字萬(wàn)用表中大量使用,電路大同小異。首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng)A/D轉(zhuǎn)換,之后EOC輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)OE輸入高電平時(shí),輸出三態(tài)門(mén)打開(kāi),轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。圖4AC-DC轉(zhuǎn)換電路2.3、電橋輸入電路在溫度測(cè)量和其他物理及化學(xué)量的測(cè)量中,經(jīng)常會(huì)出現(xiàn)“零點(diǎn)”的時(shí)候信號(hào)不是零的情況,這時(shí)候,下面的“電橋輸入”電路就被優(yōu)先采用了。可以根據(jù)被測(cè)信號(hào)的特點(diǎn),用傳感器替換電橋回路中的某一個(gè)電阻元件。數(shù)字電壓表的兩個(gè)輸入端也不再有接地點(diǎn),作為一種典型的“差分”輸入來(lái)使用了。圖5電橋輸入(差分輸入,比例輸入)電路2.4、測(cè)量電路電橋輸入電路的變種還可以延伸到下面的電路,這是一個(gè)把4~20mA電流轉(zhuǎn)換為數(shù)字顯示的電路。它的零點(diǎn)就是4mA而不是0mA。當(dāng)輸入零點(diǎn)電流為4mA的時(shí)候,利用IN-上面建立起來(lái)的電壓,抵消掉IN+由于4mA出現(xiàn)的無(wú)用信號(hào),使得數(shù)字電壓表差分輸入=0,就實(shí)現(xiàn)了4mA輸入時(shí)顯示為0的要求。隨著信號(hào)的繼續(xù)增大,例如到了20mA,對(duì)數(shù)字電壓表來(lái)說(shuō),相當(dāng)于差分輸入電流為20-4=16mA,這個(gè)16mA在62.5R電阻上的壓降,就是數(shù)字電壓表的最大輸入信號(hào)。這時(shí)候,把數(shù)字電壓表的基準(zhǔn)電壓調(diào)整到與16*62.5=1000mV相等,顯示就是1000個(gè)字。圖6測(cè)量電路簡(jiǎn)易數(shù)字電壓表測(cè)量電路由A/D轉(zhuǎn)換、數(shù)據(jù)處理及顯示控制等組成,電路原理圖如圖8所示。A/D轉(zhuǎn)換有集成電路ADC0809完成。ADC0809具有8路模擬輸入端口,地址線(第23-25腳)可決定對(duì)哪一路模擬輸入作A/D轉(zhuǎn)換。第22腳位地址鎖存控制,當(dāng)輸入為高電平時(shí),對(duì)地址信號(hào)進(jìn)行鎖存。第6腳位測(cè)試控制,當(dāng)輸入一個(gè)2μs寬高電平脈沖時(shí),就開(kāi)始A/D轉(zhuǎn)換。第7腳為A/D轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),第7腳輸出高電平。第9腳為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制,當(dāng)OE腳為高電平時(shí),A/D轉(zhuǎn)換數(shù)據(jù)從端口輸出。第10腳為ADC0809的時(shí)鐘輸入端,利用單片機(jī)第30腳嘚分頻晶振頻率,再通過(guò)14024二分頻得到1MHz時(shí)鐘。單片機(jī)的P1、P3.0-P3.3端口作為4位LED數(shù)碼管顯示控制。P3.5端口用作單路顯示/循環(huán)顯示轉(zhuǎn)換按鈕。P3.6端口用作單路顯示時(shí)選擇顯示的通道。P0端口用作A/D轉(zhuǎn)換數(shù)據(jù)讀入,P2端口用作ADC0809的A/D轉(zhuǎn)換控制。3、系統(tǒng)程序的設(shè)計(jì)3.1初始化程序系統(tǒng)上電時(shí),初始化程序主要用來(lái)執(zhí)行70H-77H內(nèi)存單元清0和P2口置0等準(zhǔn)備工作。3.2主程序在剛上電時(shí),系統(tǒng)默認(rèn)為循環(huán)顯示8個(gè)通道的電壓值狀態(tài)。當(dāng)進(jìn)行一次測(cè)量后,將顯示每一通道的A/D轉(zhuǎn)換值,每個(gè)通道的數(shù)據(jù)顯示時(shí)間在1s左右。主程序在調(diào)用顯示子程序與測(cè)量子程序之間循環(huán)。主程序流程圖如圖7所示。初始化初始化調(diào)用A/D轉(zhuǎn)換測(cè)量子程序調(diào)用顯示子程序開(kāi)始結(jié)束圖7主程序流程圖3.3顯示子程序顯示子程序采用動(dòng)態(tài)掃描法實(shí)現(xiàn)4位數(shù)碼管的數(shù)值顯示。測(cè)量所得的A/D轉(zhuǎn)換數(shù)據(jù)放在70H-77H內(nèi)存單元中,測(cè)量數(shù)據(jù)在顯示時(shí)須經(jīng)過(guò)轉(zhuǎn)換成為十進(jìn)制BCD碼放在78H-7BH單元中,其中7BH存放通道標(biāo)志數(shù)。寄存器R3用作8路循環(huán)控制,R0用作顯示數(shù)據(jù)地址指針。3.4A/D轉(zhuǎn)換測(cè)量子程序A/D轉(zhuǎn)換測(cè)量子程序用來(lái)控制對(duì)ADC0809的8路模擬輸入電壓的A/D轉(zhuǎn)換,并將對(duì)應(yīng)的數(shù)值移入70H-77H內(nèi)存單元。A/D轉(zhuǎn)換測(cè)量子程序流程圖如圖9所示圖9A/D轉(zhuǎn)換測(cè)量子程序流程圖4、調(diào)試及性能分析4.1調(diào)試與測(cè)量采用Wave或KeilC51編譯器進(jìn)行源程序編譯及仿真調(diào)試,同時(shí)進(jìn)行硬件電路板的設(shè)計(jì)制作,燒錄好程序后進(jìn)行軟硬件聯(lián)調(diào),最后進(jìn)行端口電壓的對(duì)比測(cè)試。測(cè)試對(duì)比表如表1所列。表中標(biāo)準(zhǔn)電壓值采用UT56數(shù)字萬(wàn)用表測(cè)得。表1簡(jiǎn)易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對(duì)比測(cè)試表標(biāo)準(zhǔn)電壓值/V簡(jiǎn)易電壓表測(cè)得值/V絕對(duì)誤差/V0.000.000.000.150.17+0.020.850.86+0.011.001.02+0.021.251.26+0.011.751.76+0.011.892.00+0.022.322.33+0.012.652.65+0.01從表1中可以看出,簡(jiǎn)易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表測(cè)得的絕對(duì)誤差均在0.02V以內(nèi),這與采用8位A/D轉(zhuǎn)換器所能到達(dá)到的理論誤差精度相一致,在一般的應(yīng)用場(chǎng)合完全可以滿足要求。4.2性能分析圖10數(shù)字電壓表工作過(guò)程波形圖圖10示出的是數(shù)字電壓表工作過(guò)程波形圖,啟動(dòng)脈沖位于斜坡脈沖起點(diǎn),關(guān)門(mén)脈沖位于斜坡脈沖與被測(cè)電壓Ux的交點(diǎn),圖10(d)表示在這個(gè)時(shí)間間隔內(nèi)通過(guò)T門(mén)的標(biāo)準(zhǔn)時(shí)間脈沖個(gè)數(shù)。數(shù)字電壓表的準(zhǔn)確度首先取決于標(biāo)準(zhǔn)時(shí)間脈沖發(fā)生器所發(fā)脈沖頻率的穩(wěn)定程度,因?yàn)槿魡挝粫r(shí)間發(fā)出的脈沖個(gè)數(shù)發(fā)生波動(dòng),必然影響讀數(shù)。其次決定于斜坡上升的線性,若斜坡呈線性上升,則可保證電壓上升值與時(shí)間間隔成正比。目前這兩方面的技術(shù)都比較成熟,所以數(shù)字電壓表準(zhǔn)確度也比較高。(1)由于單片機(jī)為8位處理器,當(dāng)輸入電壓為5.00V時(shí),ADC0809輸出數(shù)據(jù)值為255(FFH),因此單片機(jī)最高的數(shù)值分辨率為0.0196V(5/255)。這就決定了該電壓表的最高分辨率(精度)只能達(dá)到0.0196V,測(cè)試時(shí)電壓一般以0.02V的幅度變化。如果要獲得更高的精度要求,則應(yīng)采用12位、13位的A/D轉(zhuǎn)換器。(2)從表1中可以看出,簡(jiǎn)易數(shù)字電壓表測(cè)得的值基本上均比標(biāo)準(zhǔn)電壓值偏大0.01-0.01V。這可以通過(guò)校正ADC0809的基準(zhǔn)電壓來(lái)解決。因?yàn)樵撾妷罕碓O(shè)計(jì)時(shí)直接用5V的供電電源作為基準(zhǔn)電壓,所以電壓有可能有偏差。另外,還可以用軟件編程來(lái)校正測(cè)量值。(3)ADC0809的直流輸入阻抗為1MΩ,能滿足常用的電壓測(cè)試需要。另外,經(jīng)測(cè)試ADC0809可直接在2MHz的時(shí)鐘頻率下工作,這樣可省去二進(jìn)制分頻器14024集成塊。(4)當(dāng)要測(cè)量大于5的電壓時(shí),可在輸入口使用分壓電阻,而程序中只要將計(jì)算程序的除數(shù)進(jìn)行調(diào)整就可以了。但是量程越大,測(cè)量的精度會(huì)越低。5、結(jié)語(yǔ)基于單片機(jī)AT89C52,A/D轉(zhuǎn)換器ADC0809的數(shù)字電壓表,它代表著數(shù)字儀表的基礎(chǔ)。也標(biāo)志著電子儀器領(lǐng)域的一場(chǎng)革命,也開(kāi)創(chuàng)了現(xiàn)代電子測(cè)量技術(shù)的先河。數(shù)字電壓表具有讀數(shù)準(zhǔn)確方便、精度高、誤差小、靈敏度高和分辨率高、測(cè)量速度快等特點(diǎn)而倍受青睞。6、單片機(jī)匯編源程序清單。簡(jiǎn)易數(shù)字電壓表。。測(cè)量電壓最大為5V,顯示最大值為5.00V。70H—77H存放采樣值,78H—7BH存放顯示數(shù)據(jù),依次為個(gè)位、十位、百位、通道標(biāo)志。P3.5作單路顯示/循環(huán)顯示轉(zhuǎn)換用,P3.6作單路顯示時(shí)選擇通道按鍵用。*主程序和中斷程序入口* ORG0000HLJMPSTART ORG0003HRETI ORG000BH RETIORG0013HRETIORG001BHRETI ORG0023H RETI ORG002BH RETI。*初始化程序中的各變量*CLEARMEMIO:CLRAMOVP2,AMOVR0,#70HMOVR2,#0DHLOOPMEM:MOV@R0,AINCR0DJNZR2,LOOPMEMMOV20H,#00HMOVA,#0FFHMOVP0,AMOVP1,AMOVP3,ARET。* 主程序*START:LCALLCLEARMEMIO。初始化MAIN:LCALLTEST。測(cè)量一次LCALLDISPLAY。顯示數(shù)據(jù)一次 AJMP MAIN NOP 。PC值出錯(cuò)處理 NOP NOP LJMP START。* 顯示控制程序*DISPLAY:JB00H,DISP11。MOVR3,#08H。8路信號(hào)循環(huán)顯示控制MOVR0,#70H。顯示數(shù)據(jù)初址70H~77HMOV7BH,#00H。顯示通道路數(shù)初值DISLOOP1:LCALLTUNBCD。顯示數(shù)據(jù)轉(zhuǎn)為三位BCD碼存入7AH、79H、78HMOVR2,#0FFH。每路顯示時(shí)間控制4MS*255DISLOOP2:LCALLDISP。調(diào)四位顯示程序LCALLKEYWORK1。DJNZR2,DISLOOP2。INCR0。顯示下一路INC7BH。通道顯示數(shù)加一DJNZR3,DISLOOP1RETDISP11:MOVA,7BH。單路顯示控制子程序SUBBA,#01H。MOV7BH,A。ADDA,#70H。MOVR0,A。DISLOOP11:LCALLTUNBCD。顯示數(shù)據(jù)轉(zhuǎn)為三位BCD碼存入7AH、79H、78H(最大5.00v)MOVR2,#0FFH。每路顯示時(shí)間控制4MS*25DISLOOP22:LCALLDISP。調(diào)四位顯示程序LCALLKEYWORK2。按鍵檢測(cè)DJNZR2,DISLOOP22INC7BH。通道顯示數(shù)加一RET。*顯示數(shù)據(jù)轉(zhuǎn)為三位BCD碼程序*。顯示數(shù)據(jù)轉(zhuǎn)為三位BCD碼存入7AH、79H、78H(最大值5.00v);TUNBCD:MOVA,@R0。255/51=5.00V運(yùn)算MOVB,#51。DIVAB。MOV7AH,A。個(gè)位數(shù)放入7AHMOVA,B。余數(shù)大于19H,F0為1,乘法溢出,結(jié)果加5CLRF0SUBBA,#1AHMOVF0,CMOVA,#10。MULAB。MOVB,#51。DIVABJBF0,LOOP2。ADDA,#5LOOP2:MOV79H,A。小數(shù)后第一位放入79HMOVA,BCLRF0SUBBA,#1AHMOVF0,CMOVA,#10。MULAB。MOVB,#51。DIVABJBF0,LOOP3。ADDA,#5LOOP3:MOV78H,A。小數(shù)后第二位放入78HRET。*顯示子程序*。共陽(yáng)顯示子程序,顯示內(nèi)容在78H—7BH;DISP:MOVR1,#78H。共陽(yáng)顯示子程序,顯示內(nèi)容在78H—7BHMOVR5,#0FEH。數(shù)據(jù)在P1輸出,列掃描在P3.0-P3.3PLAY:MOVP1,#0FFHMOVA,R5ANLP3,AMOVA,@R1MOVDPTR,#TABMOVCA,@A+DPTRMOVP1,AJBP3.2,PLAY1。小數(shù)點(diǎn)處理CLRP1.7。小數(shù)點(diǎn)顯示(顯示格式為XX.XX)PLAY1:LCALLDL1MSINCR1MOVA,P3JNBACC.3,ENDOUTRLAMOVR5,AMOVP3,#0FFHAJMPPLAYENDOUT:MOVP3,#0FFHMOVP1,#0FFHRETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH。斷碼表。*延時(shí)程序*DL10MS:MOVR6,#0D0H。10MS延時(shí)子程序DL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1RETDL1MS:MOVR4,#0FFH。(513+513)ms=1MSLOOP11:DJNZR4,LOOP11MOVR4,#0FFHLOOP22:DJNZR4,LOOP22RET。*電壓測(cè)量(A/D)子程序*。一次測(cè)量數(shù)據(jù)8個(gè),依次放入70H-77H單元中;TEST:CLRA。模數(shù)轉(zhuǎn)換子程序MOVP2,AMOVR0,#70H。轉(zhuǎn)換值存放首址MOVR7,#08H。轉(zhuǎn)換8次控制LCALLTESTART。啟動(dòng)測(cè)試WAIT:JBP3.7,MOVD。等A/D轉(zhuǎn)換結(jié)束信號(hào)AJMPWAITTESTART:SETBP2.3。測(cè)試啟動(dòng)NOPNOPCLRP2.3SETBP2.4NOPNOPCLRP2.4NOPNOPNOPNOPRETMOVD:SETBP2.5。取A/D轉(zhuǎn)換數(shù)據(jù)MOVA,P0MOV@R0,ACLRP2.5INCR0MOVA,P2。通道地址加1INCAMOVP2,ACJNEA,#08H,TESTEND。等8路A/D轉(zhuǎn)換結(jié)束TESTEND:JCTESTCONCLRA。結(jié)束恢復(fù)端口MOVP2,AMOVA,#0FFHMOVP0,AMOVP1,AMOVP3,ARETTESTCON:LCALLTESTARTLJMPWAIT。*按鍵檢測(cè)子程序*KEYWORK1:JNBP3.5,KEY1KEYOUT:RETKEY1:LCALLDISP。延時(shí)消抖JBP3.5,KEYOUTWAIT11:JNBP3.5,WAIT12CPL00HMOVR2,#01HMOVR3,#01HRETWAIT12:LCALLDISP。鍵釋放等待時(shí)顯示用AJMPWAIT11KEYWORK2:JNBP3.5,KEY1JNBP3.6,KEY2RETKEY2:LCALLDISP。延時(shí)消抖用JBP3.6,KEYOUTWAIT22:JNBP3.6,WAIT21INC7BHMOVA,7BHCJNEA,#08H,KEYOUT11KEYOUT11:JCKEYOUT1MOV7BH,#00HKEYOUT1:RETWAIT21:LCALLDISP。鍵釋放等待時(shí)顯示用AJMPWAIT22END參考文獻(xiàn):[1]電子科技大學(xué)王祎磊。制作簡(jiǎn)易AT89系列編程器[N]。電子報(bào)。2004年[2]安徽蘆濤。數(shù)字萬(wàn)用表的電壓表頭故障檢修[N]。電子報(bào)。2004年[3]一飛。HYPERLINK"/Article/%09%09%09%09%09%09%09%09%09%09%09%09%0

溫馨提示

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

評(píng)論

0/150

提交評(píng)論