版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計(論文)</b></p><p> 題 目:簡易數(shù)字電壓表設(shè)計 </p><p><b> 摘 要</b></p><p> 數(shù)字電壓表(Digital Voltmeter)簡稱DVM,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以
2、顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時代的需求,采用單片機的數(shù)字電壓表,由精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC進行實時通信。目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領(lǐng)域,示出強大的生命力。與此同時,由DVM擴展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測量技術(shù)提高到嶄新水平。本章重點介紹單片A/D 轉(zhuǎn)換器以及由
3、它們構(gòu)成的基于單片機的數(shù)字電壓表的工作原理。</p><p> 關(guān)鍵詞: A/D轉(zhuǎn)換模塊 數(shù)據(jù)處理模塊簡易數(shù)字電壓表</p><p><b> 目 錄</b></p><p> 摘要……………………………………………………………………………8</p><p> 第一章 實現(xiàn)方案…………………………………………
4、…………………10</p><p> 1.硬件選擇方案…………………………………………………………… 12</p><p> 2.主要元器件的介紹……………………………………………………… 12</p><p> 3.程序設(shè)計………………………………………………………………… 21</p><p> 第二章 系統(tǒng)的測試與結(jié)果 …………
5、…………………………………… 25</p><p> 第三章系統(tǒng)調(diào)試過程及問題解決………………………………………… 28</p><p> 第四章 結(jié)論………………………………………… …………………… 29</p><p> 第五章致謝 ……………………………………………………………… 30</p><p> 參考文獻 …………
6、………………………………………………………30</p><p><b> 引 言</b></p><p> 本文主要描述采用AT89S51芯片和ADC0809芯片來完成一個簡易的數(shù)字電壓表,能夠?qū)斎氲?~5 V的模擬直流電壓進行測量,并通過一個4位一體的7段LED數(shù)碼管進行顯示,測量誤差約為0.02 V。該電壓表的測量電路主要由三個模塊組成:A/D轉(zhuǎn)換模塊、數(shù)
7、據(jù)處理模塊及顯示控制模塊。A/D轉(zhuǎn)換主要由芯片ADC0809來完成,它負責(zé)把采集到的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量再傳送到數(shù)據(jù)處理模塊。數(shù)據(jù)處理則由芯片AT89S51來完成,其負責(zé)把ADC0809傳送來的數(shù)字量經(jīng)一定的數(shù)據(jù)處理,產(chǎn)生相應(yīng)的顯示碼送到顯示模塊進行顯示;另外它還控制著ADC0809芯片的工作。顯示模塊主要由7段數(shù)碼管及相應(yīng)的驅(qū)動芯片(74HC245組成,顯示測量到的電壓值</p><p> 湖南科技經(jīng)貿(mào)職
8、業(yè)學(xué)院畢業(yè)論文選題表</p><p> 2010 年 3 月 15 日</p><p> 湖南科技經(jīng)貿(mào)職業(yè)學(xué)院畢業(yè)論文任務(wù)書</p><p> 說明:此表一式兩份,系部和學(xué)生各留存一份</p><p> 湖南科技經(jīng)貿(mào)職業(yè)學(xué)院畢業(yè)論文開題報告</p><p> 湖南科技經(jīng)貿(mào)職業(yè)學(xué)院畢業(yè)論文開題報告<
9、/p><p> 湖南科技經(jīng)貿(mào)職業(yè)學(xué)院畢業(yè)論文成績考核表</p><p><b> 摘 要</b></p><p> 數(shù)字電壓表(Digital Voltmeter)簡稱DVM,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時代的需求,采用
10、單片機的數(shù)字電壓表,由精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC進行實時通信。目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領(lǐng)域,示出強大的生命力。與此同時,由DVM擴展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測量技術(shù)提高到嶄新水平。本章重點介紹單片A/D 轉(zhuǎn)換器以及由它們構(gòu)成的基于單片機的數(shù)字電壓表的工作原理,本文主要描述采用AT89S51芯片
11、和ADC0809芯片來完成一個簡易的數(shù)字電壓表,能夠?qū)斎氲?~5 V的模擬直流電壓進行測量,并通過一個4位一體的7段LED數(shù)碼管進行顯示,測量誤差約為0.02 V。該電壓表的測量電路主要由三個模塊組成:A/D轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示控制模塊。A/D轉(zhuǎn)換主要由芯片ADC0809來完成,它負責(zé)把采集到的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量再傳</p><p> 【關(guān)鍵詞】7段數(shù)碼管ADC0809芯片 簡易數(shù)字電壓表。&l
12、t;/p><p><b> 第一章實現(xiàn)方案</b></p><p> 本系統(tǒng)采用AT89S51單片機芯片配合ADC0809模/數(shù)轉(zhuǎn)換芯片構(gòu)成一個簡易的數(shù)字電壓表,原理電路如圖1-1所示。該電路通過ADC0809芯片采樣輸入口IN0輸入的0~5 V的模擬量電壓,經(jīng)過模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過其輸出通道D0~D7傳送給AT89S51芯片的P0口。AT89S51負責(zé)
13、把接收到的數(shù)字量經(jīng)過數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼,并通過其P1口經(jīng)驅(qū)動芯片74HC245驅(qū)動,再傳送給數(shù)碼管。同時它還通過其三位I/O口P3.0、P3.1、P3.2產(chǎn)生位選信號,控制數(shù)碼管的亮滅。另外,AT89S51還控制著ADC0809的工作。其ALE管腳為ADC0809提供了1MHz工作的時鐘脈沖;P2.3控制ADC0809的地址鎖存端(ALE);P2.4控制ADC0809的啟動端(START);P2.5控制ADC080
14、9的輸出允許端(OE);P3.7控制ADC0809的轉(zhuǎn)換結(jié)束信號(EOC)。系統(tǒng)框圖如圖1-2所示。</p><p> 圖1-1 電路原理圖</p><p><b> 圖1-2 系統(tǒng)框圖</b></p><p> 1.1硬件選擇方案:</p><p><b> 一.所需元器件:</b><
15、;/p><p> 1. AT89S51芯片 1塊</p><p> 2. ADC0809芯片 1塊</p><p> 3. 74HC245芯片 2塊</p&
16、gt;<p> 4. 4位一體數(shù)碼 1個</p><p> 5. 6MHz晶振 1個</p><p> 6. 33pF電容 2個</p><p>
17、 7. 0.1uF濾波電容 2個</p><p> 8. 10uF電解電容 1個</p><p> 9. 按鍵開關(guān) 1個</p><p> 10.發(fā)光二極管
18、 1個</p><p> 11.4.7KΩ精密電位器 1個</p><p> 12.510Ω電阻 12個</p><p> 13.8.2KΩ電阻 1個</p><p> 14.10KΩ電阻 1個</p><p> 15.導(dǎo)線
19、 若干</p><p> 1.2 主要元器件的介紹:</p><p> ?。?). 模數(shù)轉(zhuǎn)換芯片ADC0809:</p><p> ADC0809是典型的8位8通道逐次逼近式A/D轉(zhuǎn)換器,其實物如圖1-3所示。它可以和微型計算機直接接口。ADC0809轉(zhuǎn)換器的系列芯片是ADC0808,可以相互替換。</p><p> 圖1
20、-3 ADC0809實物圖</p><p> 1) ADC0809內(nèi)部邏輯結(jié)構(gòu)</p><p> 圖1-4 ADC0809的內(nèi)部邏輯結(jié)構(gòu)及引腳圖 </p><p> ADC0809的內(nèi)部邏輯結(jié)構(gòu)如圖1-4所示。圖中多路模擬開關(guān)可選通8路模擬通道,允許8路模擬量分時輸入,并共用一個A/D轉(zhuǎn)換器進行轉(zhuǎn)換。地址鎖存與譯碼電路完成對A、B、
21、C三個地址位進行鎖存與譯碼,如表1-1所示。</p><p> 表1-1 ADC0809通道選擇表 </p><p> 2) ADC0809的引腳</p><p> ADC0809芯片為28引腳雙列直插式封裝,其引腳排列如圖1-4所示。</p><p> (1)IN0~IN7:8路模擬量輸入通道。</p><
22、p> (2)A、B、C:模擬通道地址線。這3根地址線用于對8路模擬通道的選擇,其譯碼關(guān)系如表1-1所示。其中,A為低地址,C為高地址,引腳圖中為ADDA,ADDB和ADDC。</p><p> (3)ALE:地址鎖存允許信號。對應(yīng)ALE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。</p><p> (4)START:轉(zhuǎn)換啟動信號。START上升沿時,復(fù)位ADC0809;STAR
23、T下降沿時啟動芯片,開始進行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,START應(yīng)保持低電平。本信號有時簡寫為ST。</p><p> (5)D7~D0:數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以和單片機的數(shù)據(jù)線直接相連。D0為最低位,D7為最高。 </p><p> (6)OE:輸出允許信號。用于控制三態(tài)輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=0,輸出數(shù)據(jù)線呈高阻;OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。&
24、lt;/p><p> (7)CLK:時鐘信號。ADC0809的內(nèi)部沒有時鐘電路,所需時鐘信號由外界提供,因此有時鐘信號引腳。通常使用頻率為500KHz的時鐘信號。</p><p> (8)EOC:轉(zhuǎn)換結(jié)束信號。EOC=0,正在進行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。使用中該狀態(tài)信號即可作為查詢的狀態(tài)標志,又可作為中斷請求信號使用。</p><p> (9)Vcc: +5V
25、電源,GND:地。 </p><p> (10)Vref:參考電壓。參考電壓用來與輸入的模擬信號進行比較,作為逐次逼近的基準。其典型值為+5V(Vref(+)=+5V, Vref(-)=0V)。</p><p> 3) ADC0809的工作原理:</p><p> 首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較
26、器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。</p><p> ?。ㄗ⒁猓篈LE信號常與START信號連在一起,這樣連接可以在信號的前沿寫入地址信號,在其后沿啟動A/D轉(zhuǎn)換,圖1
27、-5為ADC0809信號的時序配合圖)。</p><p> 圖1-5 ADC0809信號的時序配合</p><p> ?。?). 數(shù)據(jù)處理及控制芯片AT89S51:</p><p> AT89S51是美國ATMEL公司生產(chǎn)的低功耗、高性能CMOS 8位單片機。圖1-6和1-7分別為其實物圖和內(nèi)部總體結(jié)構(gòu)圖。AT89S51片內(nèi)含有4k字節(jié)Flash閃速存儲器
28、,128字節(jié)內(nèi)部 RAM,32個I/O 口線,看門狗(WDT),兩個數(shù)據(jù)指針,兩個16 位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許 RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存 RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。由于將多功能8位CP
29、U和閃爍存儲器組合在單個芯片中,ATMEL的AT89S51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p> 圖1-6 AT89S51實物圖</p><p><b> 1) 主要性能參數(shù)</b></p><p> 與MCS-51產(chǎn)品指令系列完全兼容;</p><p> 4
30、K字節(jié)在系統(tǒng)編程(ISP)Flash閃速存儲器;</p><p> 1000次擦寫周期;</p><p> 4.0~5.5 V工作電壓范圍;</p><p> 全靜態(tài)工作模式:0Hz~33MHz;</p><p><b> 三級程序加密鎖;</b></p><p> 128字節(jié)內(nèi)部RAM
31、;</p><p> 32個可編程I/O口線;</p><p> 2個16位的定時/計數(shù)器;6個中斷源;</p><p> 圖1-7 AT89S51芯片內(nèi)部總體結(jié)構(gòu)圖</p><p> 全雙工串行UART通道;</p><p> 低工耗空閑和掉電模式;</p><p> 中斷可從空
32、閑模式喚醒系統(tǒng);</p><p> 看門狗(WDT)及雙數(shù)據(jù)指針;</p><p> 掉電標識和快速編程特性;</p><p> 靈活的在系統(tǒng)編程(ISP-字節(jié)或頁寫模式)。</p><p> 2) AT89S51的引腳:</p><p> AT89S51芯片為40引腳雙列直插式封裝,其引腳排列如圖1-8所示
33、。</p><p> 圖1-8 AT89S51的引腳圖</p><p> (5)P2口:P2口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P2口的輸出緩沖器可驅(qū)動4個TTL邏輯門電路。對P2口管腳寫入“1”后,被內(nèi)部上拉電阻拉高,可用作輸入。P2口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部接有上拉電阻的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸
34、出地址的高八位。在訪問8位地址外部數(shù)據(jù)存儲器時,P2口線上的內(nèi)容,在整個訪問期間不改變。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> (6)P3口:P3口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P3口的輸出緩沖器可驅(qū)動4個TTL邏輯門電路。對P3口管腳寫入“1”后,被內(nèi)部上拉電阻拉高,可用作輸入。P3口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部接有上拉電阻的緣故。P3口除
35、了一般I/O線的功能外,還具有更為重要的第二功能,如表1-3所示。P3口同時為FLASH編程和編程校驗接收一些控制信號。 </p><p> (1)V (1)VCC:電源電壓;</p><p> (2)GND:接地;</p><p> (3)P0口:P0口是一組8位漏極開路雙向I/O口,每位引腳可驅(qū)動
36、8個TTL邏輯門路。對P0口的管腳寫“1”時,被定義為高阻抗輸入。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,它可以被定義為數(shù)據(jù)總線和地址總線的低八位。在FLASH編程時,P0 口作為原碼輸入口;當FLASH進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。 (4)P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口的輸出緩沖器可驅(qū)動4個TTL邏輯門電路。對P1口管腳寫入“1”后,被內(nèi)部上拉電
37、阻拉高,可用作輸入。P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部接有上拉電阻的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。P1口還具有第二功能,如表1-2所示。</p><p> 表1-2 P1口的第二功能</p><p> 表1-3 P3口的第二功能</p><p> (7) RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RS
38、T腳兩個機器周期的高電平時間。</p><p> (8) ALE//RPOG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址
39、上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> (9)/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的信號將不出現(xiàn)。</p><p> (10)/EA/VPP:當保持低電平時,則在此期
40、間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> (11)XTAL1:片內(nèi)高增益反向放大器的輸入及內(nèi)部時鐘工作電路的輸入。 (12)XTAL2:片內(nèi)高增益反向
41、放大器的輸出端。</p><p> 3) AT89S51與AT89C51的區(qū)別</p><p> AT89S51在AT89C51的基礎(chǔ)上,又增加了許多功能,性能有了較大提升。</p><p> (1)ISP在線編程功能,這個功能的優(yōu)勢在于改寫單片機存儲器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離。是一個強大易用的功能。(2)工作頻率為33MHz,大家都知道89C5
42、1的極限工作頻率只有24M,就是說S51具有更高工作頻率,從而具有了更快的計算速度。(3)具有雙工UART串行通道。 (4)內(nèi)部集成看門狗計時器,不再需要像89C51那樣外接看門狗計時器單元電路。(5)雙數(shù)據(jù)指示器。(6)電源關(guān)閉標識。 (7)全新的加密算法,這使得對于89S51的解密變?yōu)椴豢赡埽绦虻谋C苄源蟠蠹訌?,這樣就可以有效的保護知識產(chǎn)權(quán)不被侵犯。 (8)兼容性方面:向下
43、完全兼容51全部字系列產(chǎn)品。比如8051、89C51等等早期MCS-51兼容產(chǎn)品。在89C51上一樣可以照常運行,這就是所謂的向下兼容。</p><p> 4) AT89S51的復(fù)位電路</p><p> AT89S51的復(fù)位電路如圖1-9所示。當單片機一上電,立即復(fù)位;另外,如果在運行中,外界干擾等因素使單片機的程序陷入死循環(huán)狀態(tài)或“跑飛”,就可以通過按鍵使其復(fù)位。復(fù)位也是使單片機退
44、出低功耗工作方式而進入正常狀態(tài)的一種操作。</p><p><b> 圖1-9 復(fù)位電路</b></p><p> 電容C和電阻R1實現(xiàn)上電自動復(fù)位。增加按鍵開關(guān)S和電阻R2又可實現(xiàn)按鍵復(fù)位功能。R2的作用是在S按下的時候,防止電容C放電電流過大燒壞開關(guān)S的觸點。因保證R1/R2 >10。一般取C=10uF,R2=100Ω,R1=8.2KΩ。</p&g
45、t;<p> 5) AT89S51與ADC0809的連接</p><p> AT89S51與ADC0809的連接電路如圖1-10所示。</p><p> AT89S51與ADC0809的連接必須注意處理好3個問題:</p><p> (1)在START端送一個100ns寬的啟動正脈沖;</p><p> (2)獲取EO
46、C端上的狀態(tài)信息,因為它是A/D轉(zhuǎn)換的結(jié)束標志;</p><p> (3)給“三態(tài)輸出鎖存器”分配一個端口地址,也就是給OE端送一個地址譯碼器的輸出信號。</p><p><b> ?。▓D見下頁)</b></p><p> 圖1-10 AT89S51與ADC0809的連接電路</p><p> ?。?). 驅(qū)動芯片7
47、4HC245</p><p> 74HC245為三態(tài)輸出的八組總線收發(fā)器,在本實驗中作為驅(qū)動芯片使用,用于驅(qū)動數(shù)碼管的點亮。圖1-11和圖1-12分別為其實物圖和引腳圖。</p><p> (1)A:A總線端;</p><p> (2)B:B總線端;</p><p> (3)/G:三態(tài)允許端(低電平有效);</p>&l
48、t;p> (4)DIR:方向控制端;</p><p> (5)Vcc:電源; (6)GND:地。</p><p> ?。▓D1-11)74HC245的實物圖 (圖1-12)74HC245引腳圖</p><p> (4). 4位一體7段LED數(shù)碼管</p><p
49、> 本實驗的顯示模塊主要由一個4位一體的7段LED數(shù)碼管(SM410564)構(gòu)成,用于顯示測量到的電壓值。它是一個共陽極的數(shù)碼管,每一位數(shù)碼管的原理圖如圖1-13所示。每一位數(shù)碼管的a,b,c,d,e,f,g和dp端都各自連接在一起,用于接收AT89S51的P1口產(chǎn)生的顯示段碼。1,2,3,4引腳端為其位選端,用于接收AT89S51的P3口產(chǎn)生的位選碼。圖1-14和圖1-15分別為其實物圖和引腳圖。</p><
50、;p> 圖1-13 一位數(shù)碼管的原理圖</p><p> 圖1-14 SM410564數(shù)碼管實物圖</p><p><b> 3、程序設(shè)計</b></p><p><b> ?。?).主程序設(shè)計</b></p><p> 初始化中主要對AT89S51,ADC0809的管腳和數(shù)碼管的位選
51、及所用到的內(nèi)存單元70H,78H,79H,7AH 進行初始化設(shè)置。</p><p> 準備工作做好后便啟動ADC0809對IN0腳輸入進的0~5V電壓模擬信號進行數(shù)據(jù)采集并轉(zhuǎn)換成相對應(yīng)的0~255十進制數(shù)字量。</p><p> 在數(shù)據(jù)處理子程序中,運用標度變換知識,編寫算法將0~255十進制數(shù)字量轉(zhuǎn)換成0.00~5.00V的數(shù)據(jù),輸出到顯示子程序進行顯示。</p>&l
52、t;p> 整個主程序就是在A/D轉(zhuǎn)換,數(shù)據(jù)處理及顯示程序循環(huán)執(zhí)行。整個程序流程框圖如圖1-16所示。(圖見下頁)</p><p> ?。?).各子程序設(shè)計</p><p> 1)A/D轉(zhuǎn)換子程序</p><p> 啟動ADC0809對模擬量輸入信號進行轉(zhuǎn)換,通過判斷EOC(P3.1引腳)來確定轉(zhuǎn)換是否完成,若EOC為0,則繼續(xù)等待;若EOC為1,則把OE
53、置位,將轉(zhuǎn)換完成的數(shù)據(jù)存儲到70H中。</p><p> 程序流程圖如圖1-17所示。(圖見下頁)</p><p> 圖1-16主程序流程圖 圖1-17 A/D轉(zhuǎn)換程序流程圖</p><p><b> 2)數(shù)據(jù)處理子程序</b></p><p> 程序流程圖如圖1-18
54、所示</p><p><b> (圖見下頁)</b></p><p> 圖1-18數(shù)據(jù)處理子程序流程圖</p><p><b> 3)顯示子程序</b></p><p> 顯示子程序采用動態(tài)掃描法實現(xiàn)三位數(shù)碼管的數(shù)值顯示。測量所得的A/D轉(zhuǎn)換數(shù)據(jù)放在70H內(nèi)存單元中,測量數(shù)據(jù)在顯示時需轉(zhuǎn)換成
55、10進制BCD碼放在78H~7AH單元中。寄存器R1用作顯示數(shù)據(jù)地址指針。程序流程圖如圖1-19所示。</p><p> 圖1-19顯示子程序流程圖</p><p> 第二章 系統(tǒng)的測試與結(jié)果</p><p> 1.源程序ORG 0000HLJMP STARTORG 0003HRETIORG
56、 000BHRETIORG 0013HRETIORG 001BHRETIORG 0023HRETIORG 002BHRETIORG 0030H</p><p> 2;初始化參數(shù)START: CLR A
57、; SETB P3.7 ;初始化EOC CLR P3.0 ;初始化LED位選,全不選中。
58、 CLR P3.1 CLR P3.2 MOV P2 , A ;初始化P2口,清除對ADC0809的控制信號。MOV 70H , A ;初始化數(shù)據(jù)采樣后存儲空間。
59、0; MOV 78H , A ;初始化數(shù)據(jù)處理后3位有效數(shù)字的存儲空間(78H最高位,7AH最低位)。 MOV 79H , A MOV 7AH , AMOV A , #0FFH ;初始化P0,P1口,寫入高電平。MOV P0 , AMOV P1 ,
60、A</p><p> 3;主程序MAIN: LCALL AD_SUB ;調(diào)用A/D轉(zhuǎn)換子程序,開始采樣并轉(zhuǎn)換。 LCALL TURN_SUB ;調(diào)用數(shù)碼轉(zhuǎn)換子程序,將采樣轉(zhuǎn)換來的0-255轉(zhuǎn)換成一一對應(yīng)的;0.00-5.00LCALL DISP_SUB ;調(diào)用顯示子程序。LJMP MAIN;=============
61、=================================================================;A/D轉(zhuǎn)換子程序 AD_SUB: CLR AMOV P2 , A ;初始化P2口,清除對ADC0809的控制信號。MOV
62、 R0 , #70H LCALL AD_ST ;調(diào)用采樣轉(zhuǎn)換子程序</p><p> WAIT: JB P3.7 , DATASAVE ;判斷采樣轉(zhuǎn)換是否完畢,完畢則跳轉(zhuǎn)到DATASAVE進行存儲。 AJMP WAIT
63、 ;否則繼續(xù)等待。</p><p> ;啟動采樣,送脈沖時序AD_ST: SETB P2.3 ;ALE 脈沖時序NOPNOPCLR P2.3SETB P2.4 ;START 脈沖時序(上跳清零,下跳開始轉(zhuǎn)換)NOPNOPCLR P2.4NOPNOP
64、RET</p><p> ;采樣轉(zhuǎn)換的數(shù)據(jù)存儲DATASAVE: SETB P2.5 ;置位OE端,允許ADC0809輸出數(shù)據(jù)MOV A , P0 ;將轉(zhuǎn)換的數(shù)據(jù)存儲到70H中MOV @R0 , ACLR P2.5 CLR A
65、; ;初始化P0,P1,P2口(P0,P1高電平,P2低電平)MOV P2 , AMOV A , #0FFHMOV P0 , AMOV P1 , ARET</p><p> ;將0~255轉(zhuǎn)換為0.00~5.00TURN_SUB: MOV A , @R0 MOV B , #51DIV AB
66、 MOV 78H , A ;以上這一段是整數(shù)部分(個位)放入78H MOV A , B ;余數(shù)部分放入ACLR F0SUBB A , #1AH &
67、#160; ;余數(shù)和51的一半即1AH比較,以便四舍五入MOV F0 , CMOV A , #10MUL AB ;余數(shù)乘以10,以便再除以51 MOV B , #51DIV ABJB F0 , LOOP1
68、0; ;判斷四舍五入,跳到LOOP1是“四舍”ADD A , #5 ;這是“五入”LOOP1: MOV 79H , A ;十分位MOV A , BCLR F0SUBB A , #
69、1AHMOV F0,CMOV A , #10MUL ABMOV B , #51DIV ABJB F0 , LOOP2ADD A , #5LOOP2: MOV 7AH , A </p><p> 第三章 系統(tǒng)調(diào)試中遇到的問題及解決的方法</p><p> 1)實驗初期,我們選用的是三極管作為數(shù)碼管的驅(qū)動元件,但是在測試過程中發(fā)現(xiàn)數(shù)碼管顯示
70、不穩(wěn)定,發(fā)生頻閃現(xiàn)象,而且亮度不夠。我們就換用了74HC245芯片作為驅(qū)動元件,解決了上述問題。2)在應(yīng)用濾波電容的過程中,一開始是把電容串聯(lián)在電路中,導(dǎo)致電路無法導(dǎo)通,而后我們短路電容,解決了問題。3)電源指示燈上,一開始發(fā)現(xiàn)接上電源,指示燈不亮,經(jīng)過儀器測量發(fā)現(xiàn)正負極接反,后重新焊接,問題解決。4)由于源程序的多處錯誤,使得仿真無法通過,后經(jīng)過單步調(diào)試,把存在的錯誤一一排除,通過了軟件仿真。5)在燒錄芯片的過程中,由于選擇燒
71、錄文件的錯誤及芯片自身問題(因多次燒錄,無法再次燒錄)使得燒錄失敗,后經(jīng)過老師指導(dǎo)并更換了AT89C51芯片,解決了問題。</p><p><b> 第四章 結(jié)論</b></p><p> 通過本次課題設(shè)計,我們對單片機這門課程有了更進一步的了解。無論是在其硬件連接方面還是在軟件編程方面,都取得了新的收獲。本次實驗采用了AT89S51單片機芯片,與以往我們我們所熟
72、悉的C51芯片有許多不同之處,通過本次實驗及查閱相關(guān)資料,我們對其之間的區(qū)別有了一定的認識,在本課題設(shè)計報告的硬件介紹部分也對其作了詳細的論述。S51在C51的基礎(chǔ)上增加了許多新的功能,使其功能更為完善,應(yīng)用領(lǐng)域也更為廣泛。另外,在對單片機編程方面,我們又掌握了一些新的編程思想,使得程序更為簡練、易懂,而且更為嚴謹,程序執(zhí)行的穩(wěn)定性得到了提高。實驗中我們還用到了模/數(shù)轉(zhuǎn)換芯片ADC0809,以前在學(xué)單片機這門課程時只是對其理論知識有了
73、初步的了解。通過本次實驗,我們對它的工作原理徹底理解了,對其啟動設(shè)置、轉(zhuǎn)換結(jié)束判斷以及輸出控制等都基本掌握。電路連接方面,我們對其與單片機的連接也有了更為直觀的認識,通過實驗的摸索以及必要的理論知識,我準確的實現(xiàn)了它于單片機的互連。由于我是做的LCM(液晶模組顯示)制造業(yè),所以原材料和技術(shù)方面有很大優(yōu)勢,這給我更好的提高這方面的知識有巨大的幫助作用,今后要向同事多多學(xué)習(xí),以提高自</p><p><b&g
74、t; 致 謝</b></p><p> 本課程設(shè)計能夠順利的完成,離不開公司各位工程師以及同事們的關(guān)心和幫助,最重要的是感謝指導(dǎo)老師*老師的悉心指導(dǎo)和諄諄教誨. 在論文研究期間,我查閱很多書籍,得到很多幫助,不管是理論知識,還是實際操作和人際關(guān)系都有很大的進步.</p><p> 最后感謝學(xué)校對我的栽培,衷心祝愿學(xué)校桃李滿天下.</p><
75、p><b> 參 考 文 獻</b></p><p> 1.( 9787560935911) 胡乾斌、《單片機原理與應(yīng)用》、2006年2月、第二版、華中科技大學(xué)出版社、P20~P24。</p><p> 2.( 9787810778374) 李廣弟 朱月秀冷祖祁、《單片機基礎(chǔ)》、2007年6月、第一版、北京航空航天大學(xué)出版社、P65~P67</p&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計---簡易數(shù)字電壓表的設(shè)計
- 簡易電壓表畢業(yè)設(shè)計
- 數(shù)字電壓表課程設(shè)計--簡易數(shù)字電壓表的設(shè)計
- 數(shù)字電壓表畢業(yè)設(shè)計
- 數(shù)字電壓表畢業(yè)設(shè)計
- 畢業(yè)設(shè)計-數(shù)字電壓表
- 畢業(yè)設(shè)計---數(shù)字電壓表
- 數(shù)字電壓表畢業(yè)設(shè)計
- 數(shù)字電壓表設(shè)計畢業(yè)設(shè)計
- 簡易電壓表的制作畢業(yè)設(shè)計
- 簡易數(shù)字電壓表的設(shè)計畢業(yè)論文
- 數(shù)字電壓表的設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---數(shù)字電壓表的設(shè)計
- 直流數(shù)字電壓表畢業(yè)設(shè)計
- 數(shù)字電壓表畢業(yè)設(shè)計 (2)
- 簡易數(shù)字電壓表課程設(shè)計
- 簡易數(shù)字電壓表 課程設(shè)計
- 簡易數(shù)字電壓表課程設(shè)計
- 畢業(yè)設(shè)計(論文)-基于單片機的簡易數(shù)字電壓表設(shè)計
- 畢業(yè)設(shè)計---數(shù)字電壓表的設(shè)計 (2)
評論
0/150
提交評論