2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  題 目:數(shù)字電壓表</p><p><b>  1 設(shè)計(jì)總體方案</b></p><p><b>  1.1設(shè)計(jì)要求 </b></p><p> ?、乓訫CS-51系列單片機(jī)為核心器件,組成一個(gè)簡(jiǎn)單

2、的直流數(shù)字電壓表。</p><p> ?、撇捎?路模擬量輸入,能夠測(cè)量0-5V之間的直流電壓值。</p><p>  ⑶電壓顯示用4位一體的LED數(shù)碼管顯示,至少能夠顯示兩位小數(shù)。 </p><p> ?、缺M量使用較少的元器件。 </p><p><b>  1.2 設(shè)計(jì)思路</b></p><p&

3、gt;  ⑴根據(jù)設(shè)計(jì)要求,選擇AT89C51單片機(jī)為核心控制器件。</p><p> ?、艫/D轉(zhuǎn)換采用ADC0808實(shí)現(xiàn),與單片機(jī)的接口為P1口和P2口的高四位引腳。</p><p> ?、请妷猴@示采用4位一體的LED數(shù)碼管。</p><p>  ⑷LED數(shù)碼的段碼輸入,由并行端口P0產(chǎn)生:位碼輸入,用并行端口P2低四位產(chǎn)生。</p><p&g

4、t;<b>  1.3 設(shè)計(jì)方案</b></p><p>  硬件電路設(shè)計(jì)由6個(gè)部分組成; A/D轉(zhuǎn)換電路,AT89C51單片機(jī)系統(tǒng),LED顯示系統(tǒng)、時(shí)鐘電路、復(fù)位電路以及測(cè)量電壓輸入電路。硬件電路設(shè)計(jì)框圖如圖1所示。 </p><p>  圖1 數(shù)字電壓表系統(tǒng)硬件設(shè)計(jì)框圖</p><p><b>  2 硬件電路設(shè)計(jì)</b&g

5、t;</p><p>  2.1 A/D轉(zhuǎn)換模塊</p><p>  現(xiàn)實(shí)世界的物理量都是模擬量,能把模擬量轉(zhuǎn)化成數(shù)字量的器件稱為模/數(shù)轉(zhuǎn)換器(A/D轉(zhuǎn)換器),A/D轉(zhuǎn)換器是單片機(jī)數(shù)據(jù)采集系統(tǒng)的關(guān)鍵接口電路,按照各種A/D芯片的轉(zhuǎn)化原理可分為逐次逼近型,雙重積分型等等。雙積分式A/D轉(zhuǎn)換器具有抗干擾能力強(qiáng)、轉(zhuǎn)換精度高、價(jià)格便宜等優(yōu)點(diǎn)。與雙積分相比,逐次逼近式A/D轉(zhuǎn)換的轉(zhuǎn)換速度更快,而且

6、精度更高,比如ADC0809、ADC0808等,它們通常具有8路模擬選通開關(guān)及地址譯碼、鎖存電路等,它們可以與單片機(jī)系統(tǒng)連接,將數(shù)字量送到單片機(jī)進(jìn)行分析和顯示。一個(gè)n位的逐次逼近型A/D轉(zhuǎn)換器只需要比較n次,轉(zhuǎn)換時(shí)間只取決于位數(shù)和時(shí)鐘周期,逐次逼近型A/D轉(zhuǎn)換器轉(zhuǎn)換速度快,因而在實(shí)際中廣泛使用[1]。</p><p>  2.1.1 逐次逼近型A/D轉(zhuǎn)換器原理</p><p>  逐次逼近

7、型A/D轉(zhuǎn)換器是由一個(gè)比較器、A/D轉(zhuǎn)換器、存儲(chǔ)器及控制電路組成。它利用內(nèi)部的寄存器從高位到低位一次開始逐位試探比較。</p><p><b>  轉(zhuǎn)換過程如下:</b></p><p>  開始時(shí),寄存器各位清零,轉(zhuǎn)換時(shí),先將最高位置1,把數(shù)據(jù)送入A/D轉(zhuǎn)換器轉(zhuǎn)換,轉(zhuǎn)換結(jié)果與輸入的模擬量比較,如果轉(zhuǎn)換的模擬量比輸入的模擬量小,則1保留,如果轉(zhuǎn)換的模擬量比輸入的模擬量

8、大,則1不保留,然后從第二位依次重復(fù)上述過程直至最低位,最后寄存器中的內(nèi)容就是輸入模擬量對(duì)應(yīng)的二進(jìn)制數(shù)字量[5]。其原理框圖如圖2所示:</p><p>  圖2 逐次逼近式A/D轉(zhuǎn)換器原理圖</p><p>  2.1.2 ADC0808 主要特性</p><p>  ADC0808是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,帶有使能控制端,與微機(jī)直接接口,片內(nèi)帶有

9、鎖存功能的8路模擬多路開關(guān),可以對(duì)8路0-5V輸入模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換,由于ADC0808設(shè)計(jì)時(shí)考慮到若干種模/數(shù)變換技術(shù)的長(zhǎng)處,所以該芯片非常適應(yīng)于過程控制,微控制器輸入通道的接口電路,智能儀器和機(jī)床控制等領(lǐng)域[5]。</p><p>  ADC0808主要特性:8路8位A/D轉(zhuǎn)換器,即分辨率8位;具有鎖存控制的8路模擬開關(guān);易與各種微控制器接口;可鎖存三態(tài)輸出,輸出與TTL兼容;轉(zhuǎn)換時(shí)間:128μs;轉(zhuǎn)換

10、精度:0.2%;單個(gè)+5V電源供電;模擬輸入電壓范圍0- +5V,無需外部零點(diǎn)和滿度調(diào)整;低功耗,約15mW[6]。</p><p>  2.1.3 ADC0808的外部引腳特征 </p><p>  ADC0808芯片有28條引腳,采用雙列直插式封裝,其引腳圖如圖3所示。</p><p>  圖3 ADC0808引腳圖</p><p> 

11、 下面說明各個(gè)引腳功能:</p><p>  IN0-IN7(8條):8路模擬量輸入線,用于輸入和控制被轉(zhuǎn)換的模擬電壓。</p><p>  地址輸入控制(4條):</p><p>  ALE:地址鎖存允許輸入線,高電平有效,當(dāng)ALE為高電平時(shí),為地址輸入線,用于選擇IN0-IN7上那一條模擬電壓送給比較器進(jìn)行A/D轉(zhuǎn)換。</p><p> 

12、 ADDA,ADDB,ADDC:3位地址輸入線,用于選擇8路模擬輸入中的一路,其對(duì)應(yīng)關(guān)系如表1所示:</p><p>  表1 ADC0808通道選擇表</p><p>  START:START為“啟動(dòng)脈沖”輸入法,該線上正脈沖由CPU送來,寬度應(yīng)大于100ns,上升沿清零SAR,下降沿啟動(dòng)ADC工作。</p><p>  EOC: EOC為轉(zhuǎn)換結(jié)束輸出線,該線上

13、高電平表示A/D轉(zhuǎn)換已結(jié)束,數(shù)字量已鎖入三態(tài)輸出鎖存器。</p><p>  D1-D8:數(shù)字量輸出端,D1為高位。</p><p>  OE:OE為輸出允許端,高電平能使D1-D8引腳上輸出轉(zhuǎn)換后的數(shù)字量。</p><p>  REF+、REF-:參考電壓輸入量,給電阻階梯網(wǎng)絡(luò)供給標(biāo)準(zhǔn)電壓。</p><p>  Vcc、GND: Vcc為主

14、電源輸入端,GND為接地端,一般REF+與Vcc連接在一起,REF-與GND連接在一起.</p><p>  CLK:時(shí)鐘輸入端。</p><p>  2.1.4 ADC0808的內(nèi)部結(jié)構(gòu)及工作流程</p><p>  ADC0808由8路模擬通道選擇開關(guān),地址鎖存與譯碼器,比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時(shí)和控制電路和三態(tài)輸出鎖存器等組成,

15、其內(nèi)部結(jié)構(gòu)如圖4所示。</p><p>  圖4 ADC0808的內(nèi)部結(jié)構(gòu)</p><p><b>  其中:</b></p><p> ?。?)8路模擬通道選擇開關(guān)實(shí)現(xiàn)從8路輸入模擬量中選擇一路送給后面的比較器進(jìn)行比較。</p><p> ?。?)地址鎖存與譯碼器用于當(dāng)ALE信號(hào)有效時(shí),鎖存從ADDA、ADDB、AD

16、DC 3根地址線上送來的3位地址,譯碼后產(chǎn)生通道選擇信號(hào),從8路模擬通道中選擇當(dāng)前模擬通道。</p><p> ?。?)比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時(shí)和控制電路組成8位A/D轉(zhuǎn)換器,當(dāng)START信號(hào)有效時(shí),就開始對(duì)當(dāng)前通道的模擬信號(hào)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完成后,把轉(zhuǎn)換得到的數(shù)字量送到8位三態(tài)鎖存器,同時(shí)通過引腳送出轉(zhuǎn)換結(jié)束信號(hào)。</p><p> ?。?)三態(tài)輸出鎖存器保

17、存當(dāng)前模擬通道轉(zhuǎn)換得到的數(shù)字量,當(dāng)OE信號(hào)有效時(shí),把轉(zhuǎn)換的結(jié)果送出。</p><p>  ADC0808的工作流程為:</p><p> ?。?)輸入3位地址,并使ALE=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器從8路模擬通道中選通1路模擬量送給比較器。</p><p> ?。?)送START一高脈沖,START的上升沿使逐次寄存器復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換,并使E

18、OC信號(hào)為低電平。</p><p> ?。?)當(dāng)轉(zhuǎn)換結(jié)束時(shí),轉(zhuǎn)換的結(jié)果送入到輸出三態(tài)鎖存器中,并使EOC信號(hào)回到高電平,通知CPU已轉(zhuǎn)換結(jié)束。</p><p> ?。?)當(dāng)CPU執(zhí)行一讀數(shù)據(jù)指令時(shí),使OE為高電平,則從輸出端D0-D7讀出數(shù)據(jù)。</p><p>  2.2 單片機(jī)系統(tǒng)</p><p>  2.2.1 AT89C51性能&l

19、t;/p><p>  AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含有4KB的可反復(fù)擦寫的只讀程序存儲(chǔ)器和128字節(jié)的隨機(jī)存儲(chǔ)器。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容,由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,它為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。&l

20、t;/p><p>  AT89C51功能性能:與MCS-51成品指令系統(tǒng)完全兼容;4KB可編程閃速存儲(chǔ)器;壽命:1000次寫/擦循環(huán);數(shù)據(jù)保留時(shí)間:10年;全靜態(tài)工作:0-24MHz;三級(jí)程序存儲(chǔ)器鎖定;128*8B內(nèi)部RAM;32個(gè)可編程I/O口線;2個(gè)16位定時(shí)/計(jì)數(shù)器;5個(gè)中斷源;可編程串行UART通道;片內(nèi)震蕩器和掉電模式[6]。 </p><p>  2.2.2 AT89C51各引

21、腳功能</p><p>  AT89C51提供以下標(biāo)準(zhǔn)功能:4KB的Flash閃速存儲(chǔ)器,128B內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)震蕩器及時(shí)鐘電路,同時(shí),AT89C51可降至0Hz靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作,掉電方式保存RAM中的內(nèi)容,但震

22、蕩器停止工作并禁止其他所有工作直到下一個(gè)硬件復(fù)位。AT89C51采用PDIP封裝形式,引腳配置如圖5所示[7]。</p><p>  圖5 AT89C51的引腳圖</p><p>  AT89C51芯片的各引腳功能為:</p><p>  P0口:這組引腳共有8條,P0.0為最低位。這8個(gè)引腳有兩種不同的功能,分別適用于不同的情況,第一種情況是89C51不帶外存儲(chǔ)器

23、,P0口可以為通用I/O口使用,P0.0-P0.7用于傳送CPU的輸入/輸出數(shù)據(jù),這時(shí)輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是89C51帶片外存儲(chǔ)器,P0.0-P0.7在CPU訪問片外存儲(chǔ)器時(shí)先傳送片外存儲(chǔ)器的低8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀/寫數(shù)據(jù)。P0口為開漏輸出,在作為通用I/O使用時(shí),需要在外部用電阻上拉。</p><p>  P1口

24、:這8個(gè)引腳和P0口的8個(gè)引腳類似,P1.7為最高位,P1.0為最低位,當(dāng)P1口作為通用I/O口使用時(shí),P1.0-P1.7的功能和P0口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。</p><p>  P2口:這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用I/O口使用,它的第一功能和P0口引腳的第二功能相配合,用于輸出片外存儲(chǔ)器的高8位地址,共同選中片外存儲(chǔ)器單元,但并不是像P0口那樣傳送存儲(chǔ)

25、器的讀/寫數(shù)據(jù)。</p><p>  P3口:這組引腳的第一功能和其余三個(gè)端口的第一功能相同,第二功能為控制功能,每個(gè)引腳并不完全相同,如下表2所示:</p><p>  表2 P3口各位的第二功能</p><p>  Vcc為+5V電源線,Vss接地。</p><p>  ALE:地址鎖存允許線,配合P0口的第二功能使用,在訪問外部存儲(chǔ)器時(shí)

26、,89C51的CPU在P0.0-P0.7引腳線去傳送隨后而來的片外存儲(chǔ)器讀/寫數(shù)據(jù)。在不訪問片外存儲(chǔ)器時(shí),89C51自動(dòng)在ALE線上輸出頻率為1/6震蕩器頻率的脈沖序列。該脈沖序列可以作為外部時(shí)鐘源或定時(shí)脈沖使用。</p><p>  /EA:片外存儲(chǔ)器訪問選擇線,可以控制89C51使用片內(nèi)ROM或使用片外ROM,</p><p>  若/EA=1,則允許使用片內(nèi)ROM, 若/EA=0,則

27、只使用片外ROM。</p><p>  /PSEN:片外ROM的選通線,在訪問片外ROM時(shí),89C51自動(dòng)在/PSEN線上產(chǎn)生一個(gè)負(fù)脈沖,作為片外ROM芯片的讀選通信號(hào)。</p><p>  RST:復(fù)位線,可以使89C51處于復(fù)位(即初始化)工作狀態(tài)。通常89C51復(fù)位有自動(dòng)上電復(fù)位和人工按鍵復(fù)位兩種。</p><p>  XTAL1和XTAL2:片內(nèi)震蕩電路輸入

28、線,這兩個(gè)端子用來外接石英晶體和微調(diào)電容,即用來連接89C51片內(nèi)OSC(震蕩器)的定時(shí)反饋回路。</p><p>  2.4 LED顯示系統(tǒng)設(shè)計(jì)</p><p>  2.4.1 LED基本結(jié)構(gòu)</p><p>  LED是發(fā)光二極管顯示器的縮寫。LED由于結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜、與單片機(jī)接口方便等優(yōu)點(diǎn)而得到廣泛應(yīng)用。LED顯示器是由若干個(gè)發(fā)光二極管組成顯示字段的顯

29、示器件[6]。在單片機(jī)中使用最多的是七段數(shù)碼顯示器。LED七段數(shù)碼顯示器由8個(gè)發(fā)光二極管組成顯示字段,其中7個(gè)長(zhǎng)條形的發(fā)光二極管排列成“日”字形,另一個(gè)圓點(diǎn)形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,其通過不同的組合可用來顯示各種數(shù)字。LED引腳排列如下圖8所示:</p><p>  圖8 LED引腳排列</p><p>  2.4.2 LED顯示器的選擇</p>&l

30、t;p>  在應(yīng)用系統(tǒng)中,設(shè)計(jì)要求不同,使用的LED顯示器的位數(shù)也不同,因此就生產(chǎn)了位數(shù),尺寸,型號(hào)不同的LED顯示器供選擇,在本設(shè)計(jì)中,選擇4位一體的數(shù)碼型LED顯示器,簡(jiǎn)稱“4-LED”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,即個(gè)位,后兩位顯示電壓的小數(shù)位。</p><p>  4-LED顯示器引腳如圖9所示,是一個(gè)共陰極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段的公共輸出端,1、

31、2、3、4分別是每一位的位數(shù)選端,dp是小數(shù)點(diǎn)引出端,4位一體LED數(shù)碼顯示管的內(nèi)部結(jié)構(gòu)是由4個(gè)單獨(dú)的LED組成,每個(gè)LED的段輸出引腳在內(nèi)部都并聯(lián)后,引出到器件的外部。</p><p>  圖9 4位LED引腳</p><p>  對(duì)于這種結(jié)構(gòu)的LED顯示器,它的體積和結(jié)構(gòu)都符合設(shè)計(jì)要求,由于4位LED陰極的各段已經(jīng)在內(nèi)部連接在一起,所以必須使用動(dòng)態(tài)掃描方式(將所有數(shù)碼管的段選線并

32、聯(lián)在一起,用一個(gè)I/O接口控制)顯示。</p><p>  2.4.3 LED譯碼方式</p><p>  譯碼方式是指由顯示字符轉(zhuǎn)換得到對(duì)應(yīng)的字段碼的方式,對(duì)于LED數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。</p><p>  硬件譯碼是指利用專門的硬件電路來實(shí)現(xiàn)顯示字符碼的轉(zhuǎn)換。</p><p>  軟件譯碼就是編寫軟

33、件譯碼程序,通過譯碼程序來得到要顯示的字符的字段碼,譯碼程序通常為查表程序[3]。</p><p>  本設(shè)計(jì)系統(tǒng)中為了簡(jiǎn)化硬件線路設(shè)計(jì),LED譯碼采用軟件編程來實(shí)現(xiàn)。由于本設(shè)計(jì)采用的是共陰極LED,其對(duì)應(yīng)的字符和字段碼如下表3.3所示。</p><p>  表3.3 共陰極字段碼表</p><p>  2.4.4 LED顯示器與單片機(jī)接口設(shè)計(jì)</p>

34、<p>  由于單片機(jī)的并行口不能直接驅(qū)動(dòng)LED顯示器,所以,在一般情況下,必須采用專用的驅(qū)動(dòng)電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作[7]。如果驅(qū)動(dòng)電路能力差,即負(fù)載能力不夠時(shí),顯示器亮度就低,而且驅(qū)動(dòng)電路長(zhǎng)期在超負(fù)荷下運(yùn)行容易損壞,因此,LED顯示器的驅(qū)動(dòng)電路設(shè)計(jì)是一個(gè)非常重要的問題。</p><p>  為了簡(jiǎn)化數(shù)字式直流電壓表的電路設(shè)計(jì),在LED驅(qū)動(dòng)電路的設(shè)計(jì)上,可以利用單片機(jī)P0

35、口上外接的上拉電阻來實(shí)現(xiàn),即將LED的A-G段顯示引腳和DP小數(shù)點(diǎn)顯示引腳并聯(lián)到P0口與上拉電阻之間,這樣,就可以加大P0口作為輸出口德驅(qū)動(dòng)能力,使得LED能按照正常的亮度顯示出數(shù)字,如圖10所示。</p><p>  圖10 LED與單片機(jī)接口間的設(shè)計(jì)</p><p>  2.5 總體電路設(shè)計(jì)</p><p>  經(jīng)過以上的設(shè)計(jì)過程,可設(shè)計(jì)出基于單片機(jī)的簡(jiǎn)易數(shù)字

36、直流電壓表硬件電路原理圖如圖11所示。</p><p>  圖11 簡(jiǎn)易數(shù)字電壓表電路圖</p><p>  此電路的工作原理是:+5V模擬電壓信號(hào)通過變阻器VR1分壓后由ADC08008的IN0通道進(jìn)入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低電平),經(jīng)過模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過其輸出通道D0-D7傳送給AT89C51芯片的P1口,AT89C51負(fù)責(zé)把接收到

37、的數(shù)字量經(jīng)過數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼傳送給四位LED,同時(shí)它還通過其四位I/O口P2.0、P2.1、P2.2、P2.3產(chǎn)生位選信號(hào)控制數(shù)碼管的亮滅。此外,AT89C51還控制ADC0808的工作。其中,單片機(jī)AT89C51通過定時(shí)器中斷從P2.4輸出方波,接到ADC0808的CLOCK,P2.6發(fā)正脈沖啟動(dòng)A/D轉(zhuǎn)換,P2.5檢測(cè)A/D轉(zhuǎn)換是否完成,轉(zhuǎn)換完成后,P2.7置高從P1口讀取轉(zhuǎn)換結(jié)果送給LED顯示出來[3]。&

38、lt;/p><p>  簡(jiǎn)易數(shù)字直流電壓表的硬件電路已經(jīng)設(shè)計(jì)完成,就可以選取相應(yīng)的芯片和元器件,利用Proteus軟件繪制出硬件的原理,并仔細(xì)地檢查修改,直至形成完善的硬件原理圖。但要真正實(shí)現(xiàn)電路對(duì)電壓的測(cè)量和顯示的功能,還需要有相應(yīng)的軟件配合,才能達(dá)到設(shè)計(jì)要求。</p><p><b>  3 程序設(shè)計(jì)</b></p><p>  3.1 程序

39、設(shè)計(jì)總方案</p><p>  根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,A/D轉(zhuǎn)換子程序和顯示子程序,這三個(gè)程序模塊構(gòu)成了整個(gè)系統(tǒng)軟件的主程序,如圖12所示。</p><p>  圖12 數(shù)字式直流電壓表主程序框圖</p><p>  3.2 系統(tǒng)子程序設(shè)計(jì)</p><p>  3.2.1 初始化程序</p><p

40、>  所謂初始化,是對(duì)將要用到的MCS_51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定,初始化子程序的主要工作是設(shè)置定時(shí)器的工作模式,初值預(yù)置,開中斷和打開定時(shí)器等[9]。</p><p>  3.2.2 A/D轉(zhuǎn)換子程序</p><p>  A/D轉(zhuǎn)換子程序用來控制對(duì)輸入的模塊電壓信號(hào)的采集測(cè)量,并將對(duì)應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖13所示。</p>

41、;<p>  圖13 A/D轉(zhuǎn)換流程圖</p><p>  3.2.3 顯示子程序</p><p>  顯示子程序采用動(dòng)態(tài)掃描實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示,在采用動(dòng)態(tài)掃描顯示方式時(shí),要使得LED顯示的比較均勻,又有足夠的亮度,需要設(shè)置適當(dāng)?shù)膾呙桀l率,當(dāng)掃描頻率在70HZ左右時(shí),能夠產(chǎn)生比較好的顯示效果,一般可以采用間隔10ms對(duì)LED進(jìn)行動(dòng)態(tài)掃描一次,每一位LED的顯示時(shí)間為1

42、ms[10]。</p><p>  在本設(shè)計(jì)中,為了簡(jiǎn)化硬件設(shè)計(jì),主要采用軟件定時(shí)的方式,即用定時(shí)器0溢出中斷功能實(shí)現(xiàn)11μs定時(shí),通過軟件延時(shí)程序來實(shí)現(xiàn)5ms的延時(shí)。</p><p><b>  4 仿真</b></p><p><b>  4.1 軟件調(diào)試</b></p><p>  軟件調(diào)試

43、的主要任務(wù)是排查錯(cuò)誤,錯(cuò)誤主要包括邏輯和功能錯(cuò)誤,這些錯(cuò)誤有些是顯性的,而有些是隱形的,可以通過仿真開發(fā)系統(tǒng)發(fā)現(xiàn)逐步改正。Proteus軟件可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真,用戶甚至可以實(shí)時(shí)采用諸如LED/LCD、鍵盤、RS232終端等動(dòng)態(tài)外設(shè)模型來對(duì)設(shè)計(jì)進(jìn)行交互仿真。Proteus支持的微處理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。Proteus可以完成單片機(jī)系統(tǒng)原理圖電路繪制、P

44、CB設(shè)計(jì),更為顯著點(diǎn)的特點(diǎn)是可以與u Visions3 IDE工具軟件結(jié)合進(jìn)行編程仿真調(diào)試[8]。</p><p>  本系統(tǒng)的調(diào)試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是Proteus軟件,而程序方面,采用的是匯編語言,用Keil軟件將程序?qū)懭雴纹瑱C(jī)。</p><p>  4.2顯示結(jié)果及誤差分析</p><p>  4.2.1 顯示結(jié)果</

45、p><p>  當(dāng)IN0口輸入電壓值為0V時(shí),顯示結(jié)果如圖14所示,測(cè)量誤差為0V。</p><p>  圖14 輸入電壓為0V時(shí),LED的顯示結(jié)果</p><p>  2.當(dāng)IN0輸入電壓值為1.50V時(shí),顯示結(jié)果如圖15所示。測(cè)量誤差為0.01V。</p><p>  圖15 輸入電壓為1.50V時(shí),LED的顯示結(jié)果</p>&

46、lt;p>  3. 當(dāng)IN0口輸入電壓值為3.50V時(shí),顯示結(jié)果如圖16。測(cè)量誤差為0.01V。</p><p>  圖16 輸入電壓為3.50V時(shí),LED的顯示結(jié)果</p><p>  4.2.2 誤差分析</p><p>  通過以上仿真測(cè)量結(jié)果可得到簡(jiǎn)易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對(duì)比測(cè)試表,如下表4所示:</p><p>  

47、表4 簡(jiǎn)易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對(duì)比測(cè)試表</p><p>  由于單片機(jī)AT89C51為8位處理器,當(dāng)輸入電壓為5.00V時(shí),ADC0808輸出數(shù)據(jù)值為255(FFH),因此單片機(jī)最高的數(shù)值分辨率為0.0196V(5/255)。這就決定了電壓表的最高分辨率只能到0.0196V,從上表可看到,測(cè)試電壓一般以0.01V的幅度變化。</p><p>  從上表可以看出,簡(jiǎn)易數(shù)字電壓表測(cè)

48、得的值基本上比標(biāo)準(zhǔn)電壓值偏大0-0.01V,這可以通過校正ADC0808的基準(zhǔn)電壓來解決。因?yàn)樵撾妷罕碓O(shè)計(jì)時(shí)直接用5V的供電電源作為電壓,所以電壓可能有偏差。當(dāng)要測(cè)量大于5V的電壓時(shí),可在輸入口使用分壓電阻,而程序中只要將計(jì)算程序的除數(shù)進(jìn)行調(diào)整就可以了。參考文獻(xiàn)</p><p>  [1]胡健.單片機(jī)原理及接口技術(shù).北京:機(jī)械工業(yè)出版社,2004年10月</p><p>  [2]王毓銀.

49、數(shù)字電路邏輯設(shè)計(jì).高等教育出版社,2005年12月</p><p>  [3]于殿泓、王新年.單片機(jī)原理與程序設(shè)計(jì)實(shí)驗(yàn)教程.西安電子科技大學(xué)出版社,2007年5月</p><p>  [4]謝維成、楊加國.單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)實(shí)例.電子工業(yè)出版社,2006年3月</p><p>  [5]李廣弟.單片機(jī)基礎(chǔ).北京航空航天大學(xué)出版社,2007年5月<

50、/p><p>  [6]姜志海,黃玉清等著.單片機(jī)原理及應(yīng)用[M] .北京:電子工業(yè)出版社.2005年7月 </p><p>  [7]魏立峰.單片機(jī)原理及應(yīng)用技術(shù).北京大學(xué)出版社,2005年</p><p>  [8]周潤(rùn)景.Protues在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例.第一版.北京:電子工業(yè)出版社,2006年</p><p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論