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

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)科代碼:07120100學(xué) 師 范 大 學(xué)(本 科)畢 業(yè) 論 文題 目:基于C51單片機(jī)數(shù)字電壓表設(shè)計(jì)及仿真學(xué) 院: 專(zhuān) 業(yè): 電子信息科學(xué)與技術(shù)年 級(jí):2010級(jí)姓 名: 指導(dǎo)老師:老師(副教授)完成時(shí)間:2010年04月15日摘要:本論文講述了基于C51單片機(jī)的數(shù)字電壓表的設(shè)計(jì)及仿真,設(shè)計(jì)主要由三個(gè)部分組成:?jiǎn)纹瑱C(jī)(AT89C51)、LED顯示模塊、A/D轉(zhuǎn)換器。A/D轉(zhuǎn)換主要由芯片ADC0808來(lái)完成,作用是把電壓的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量并傳送到數(shù)據(jù)處理模塊。數(shù)據(jù)處理則由芯片AT89C51來(lái)完成,其負(fù)責(zé)把ADC0808傳送來(lái)的數(shù)字量經(jīng)過(guò)一定的處理,產(chǎn)生相應(yīng)的顯示代碼驅(qū)動(dòng)顯示模塊進(jìn)行

2、顯示;另外,它還控制著ADC0808芯片工作。該系統(tǒng)的數(shù)字電壓表電路簡(jiǎn)潔明了,所涉及到的元件較少,成本低,而測(cè)量精度和可靠性較高。該數(shù)字電壓表可以測(cè)量0-5V的1路模擬直流輸入電壓值,并通過(guò)一個(gè)4位一體的7段數(shù)碼管顯示出來(lái)。 關(guān)鍵詞 AT89C51;ADC0808;LED數(shù)碼顯示管;數(shù)字電壓表Abstract: This essay which introduces a kind of simple digital voltmeter is based on C51 single-chip microcontroller design and simulation. The circuit o

3、f the voltage meter is mainly containing three parts: data processor(AT89C51)、LED display、A/D converting mould piece, A/D converting is mainly completed by the ADC0808, it converts the analog data into the digital data and transmits the outcome to the data processor(C51). Data processing is mainly c

4、ompleted by the AT89C51 chip, it processes the data produced by the ADC0808 chip and generates the right manifestation codes,。meanwhile, transmits the codes to the manifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0808 chip to work.The voltmeter is made of simple electric

5、al circuit, lower use of elements, low cost, but its measuring precision and reliability. The voltmeter is capable of measuring voltage inputs from 1 route ranging from 0 to 5 volt, and displaying the measurements though a digital code tube of 7 pieces of LED.Keywords AT89C51;ADC0808;LED digital dis

6、play tube;digital voltmeter 引 言電壓、電流和頻率是最基本的三個(gè)被測(cè)電量,其中電壓量的測(cè)量最為經(jīng)常。而且隨著電子技術(shù)的發(fā)展,更是經(jīng)常需要測(cè)量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測(cè)量?jī)x器。它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。由于數(shù)字式儀器具有讀數(shù)準(zhǔn)確方便、精度高、誤差小、測(cè)量速度快等優(yōu)點(diǎn)而泛應(yīng)用到實(shí)際生活中。 傳統(tǒng)的指針式刻度電壓表功能單一,進(jìn)度低,容易引起視差和視覺(jué)疲勞,因而不能滿(mǎn)足數(shù)字化時(shí)代的需要。采用單片機(jī)的數(shù)字電壓表,將連續(xù)的模擬量轉(zhuǎn)換離散的數(shù)字形式并加以顯示。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ)。

7、以數(shù)字電壓表為核心,可以擴(kuò)展成各種通用數(shù)字儀表、專(zhuān)用數(shù)字儀表及各種非電量的數(shù)字化儀表。目前,由各種單片機(jī)和A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表作全面深入的了解是很有必要的。最近的幾十年來(lái),隨著半導(dǎo)體技術(shù)、集成電路(IC)和微處理器技術(shù)的發(fā)展,數(shù)字電路和數(shù)字化測(cè)量技術(shù)也有了巨大的進(jìn)步,從而促使了數(shù)字電壓表的快速發(fā)展,并不斷出現(xiàn)新的類(lèi)型。數(shù)字電壓表問(wèn)世以來(lái),經(jīng)歷了不斷改進(jìn)的過(guò)程,從最早采用繼電器、電子管和形式發(fā)展到了現(xiàn)在的全固態(tài)化、集成化(IC),另一方面,精度較以前有所提高目前,數(shù)字電壓表的內(nèi)部核心部件是A/D轉(zhuǎn)換器,轉(zhuǎn)換的精度很大程度上影響著數(shù)字電壓表的準(zhǔn)確度,因而,以后數(shù)字電壓表的發(fā)展就著眼在高精度

8、和低成本這兩個(gè)方面。本文是以簡(jiǎn)易數(shù)字直流電壓表的設(shè)計(jì)仿真為研究?jī)?nèi)容,系統(tǒng)主要包括三大模塊:轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊、顯示模塊。其中,A/D轉(zhuǎn)換采用ADC0808,對(duì)輸入的模擬電壓信號(hào)進(jìn)行轉(zhuǎn)換,控制核心AT89C51再對(duì)轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算處理,最后驅(qū)動(dòng)顯示裝置LED來(lái)顯示數(shù)字電壓信號(hào)。1 設(shè)計(jì)方案1.1設(shè)計(jì)需求 1、以AT89C51單片機(jī)為核心器件,組成一個(gè)簡(jiǎn)單的直流數(shù)字電壓表。2、采用1路模擬量輸入,能夠測(cè)量0-+5V之間的直流電壓值。3、電壓顯示用4位一體的LED數(shù)碼管顯示,至少能夠顯示兩位小數(shù)。 1.2設(shè)計(jì)思路 1、根據(jù)設(shè)計(jì)要求,選擇AT89C51單片機(jī)為核心控制器件。2、A/D轉(zhuǎn)換采用AD

9、C0808實(shí)現(xiàn),輸出端口與單片機(jī)的接口為P1口,時(shí)鐘等端口與P2口的低四位引腳相連。3、數(shù)字電壓顯示采用4位一體的7段LED數(shù)碼管。4、LED數(shù)碼的段碼輸入,由并行端口P0產(chǎn)生:位碼輸入,用并行端口P3低四位產(chǎn)生。1.3系統(tǒng)組成硬件電路設(shè)計(jì)由3個(gè)部分組成:A/D轉(zhuǎn)換電路,AT89C51單片機(jī)系統(tǒng),LED顯示系統(tǒng)。硬件電路設(shè)計(jì)框圖如圖所示: 數(shù)字電壓表系統(tǒng)硬件設(shè)計(jì)框圖2 硬件電路2.1 A/D轉(zhuǎn)換器能把模擬量轉(zhuǎn)化成數(shù)字量的器件稱(chēng)為模/數(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)換器具有抗干

10、擾能力強(qiáng)、轉(zhuǎn)換精度高、價(jià)格便宜等優(yōu)點(diǎn)。與雙積分相比,逐次逼近式A/D轉(zhuǎn)換的轉(zhuǎn)換速度更快,而且精度更高,比如ADC0809、ADC0808等,它們通常具有8路模擬選通開(kāi)關(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í)際中廣泛使用。2.1.1逐次逼近型A/D轉(zhuǎn)換器原理逐次逼近型A/D轉(zhuǎn)換器是由一個(gè)比較器、A/D轉(zhuǎn)換器、存儲(chǔ)器及控制電路組成。它利用內(nèi)部的寄存器從高位到低位一次開(kāi)始逐位試探比較。轉(zhuǎn)換過(guò)程如下:開(kāi)始時(shí),寄存器各位清零,轉(zhuǎn)換時(shí),先將

11、最高位置1,把數(shù)據(jù)送入A/D轉(zhuǎn)換器轉(zhuǎn)換,轉(zhuǎn)換結(jié)果與輸入的模擬量比較,如果轉(zhuǎn)換的模擬量比輸入的模擬量小,則1保留,如果轉(zhuǎn)換的模擬量比輸入的模擬量大,則1不保留,然后從第二位依次重復(fù)上述過(guò)程直至最低位,最后寄存器中的內(nèi)容就是輸入模擬量對(duì)應(yīng)的二進(jìn)制數(shù)字量。其原理框圖如圖2所示:順序脈沖發(fā)生器逐次逼近寄存器ADC電壓比較器輸入電壓輸入數(shù)字量 逐次逼近式A/D轉(zhuǎn)換器原理2.1.2ADC0808的主要性能ADC0808是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,帶有使能控制端,與微機(jī)直接接口,片內(nèi)帶有鎖存功能的8路模擬多路開(kāi)關(guān),可以對(duì)8路0-5V輸入模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換,由于ADC0808設(shè)計(jì)時(shí)考慮到若干

12、種模/數(shù)變換技術(shù)的長(zhǎng)處,所以該芯片非常適應(yīng)于過(guò)程控制,微控制器輸入通道的接口電路,智能儀器和機(jī)床控制等領(lǐng)域。ADC0808主要特性:它有8路模擬開(kāi)關(guān)、地址鎖存、譯碼器、8位A/D轉(zhuǎn)換器以及三態(tài)輸出鎖存器組成。0808芯片可以處理8路模擬輸入信號(hào)而不是1路,許多可以和微機(jī)接口的A/D轉(zhuǎn)換器芯片都有這種特性。為了區(qū)分是對(duì)哪一路輸入信號(hào)進(jìn)行A/D轉(zhuǎn)換,了;由3個(gè)通道地址信號(hào)ADDA、ADDB和ADDC來(lái)決定是哪一路模擬信號(hào)被選中并送到內(nèi)部的A/D轉(zhuǎn)換器去轉(zhuǎn)換。輸出位8位數(shù)字量D7-D0.2.1.3 ADC0808的外部腳 ADC0808芯片有28條引腳,采用雙列直插式封裝,其引腳圖如下圖所示: AD

13、C0808引腳圖IN0-IN7(8條):8路模擬量輸入線(xiàn),用于輸入和控制被轉(zhuǎn)換的模擬量。ALE:地址鎖存信號(hào)。高電平有效是把3個(gè)通道地址信號(hào)送入地址鎖存器,并經(jīng)譯碼器得到地址輸出,以選擇相應(yīng)的模擬輸入通道。 EOC:轉(zhuǎn)換結(jié)束信號(hào),是芯片的輸入信號(hào)。轉(zhuǎn)換一開(kāi)始,EOC信號(hào)變低,轉(zhuǎn)換結(jié)束時(shí),EOC返回高電平。這個(gè)信號(hào)可以作為A/D轉(zhuǎn)換器的狀態(tài)信號(hào)來(lái)查詢(xún),也可以直接做中斷申請(qǐng)信號(hào)。OE:輸出控制信號(hào),高電平輸入有效時(shí),打開(kāi)輸出緩沖器。CLOCK:時(shí)鐘信號(hào),最高允許值位640KHZ.VREF(+)和VVREF(-):都是A/D轉(zhuǎn)換器的參考電壓。 START:START為“啟動(dòng)脈沖”輸入法,該線(xiàn)上正脈沖

14、由CPU送來(lái),寬度應(yīng)大于100ns,上升沿清零SAR,下降沿啟動(dòng)ADC工作。2.1.4 ADC0808的內(nèi)部結(jié)構(gòu)、工作原理及時(shí)序圖ADC0808由8路模擬通道選擇開(kāi)關(guān),地址鎖存與譯碼器,比較器,8位開(kāi)關(guān)樹(shù)型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時(shí)和控制電路和三態(tài)輸出鎖存器等組成,其內(nèi)部結(jié)構(gòu)如圖4所示。ADC0808的內(nèi)部結(jié)構(gòu)(1)8路模擬通道選擇開(kāi)關(guān)實(shí)現(xiàn)從8路輸入模擬量中選擇一路送給后面的比較器進(jìn)行比較。(2)地址鎖存與譯碼器用于當(dāng)ALE信號(hào)有效時(shí),鎖存從ADDA、ADDB、ADDC 3根地址線(xiàn)上送來(lái)的3位地址,譯碼后產(chǎn)生通道選擇信號(hào),從8路模擬通道中選擇當(dāng)前模擬通道。(3)比較器,8位開(kāi)關(guān)樹(shù)型A

15、/D轉(zhuǎn)換器,逐次逼近型寄存器,定時(shí)和控制電路組成8位A/D轉(zhuǎn)換器,當(dāng)START信號(hào)有效時(shí),就開(kāi)始對(duì)當(dāng)前通道的模擬信號(hào)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完成后,把轉(zhuǎn)換得到的數(shù)字量送到8位三態(tài)鎖存器,同時(shí)通過(guò)引腳送出轉(zhuǎn)換結(jié)束信號(hào)。(4)三態(tài)輸出鎖存器保存當(dāng)前模擬通道轉(zhuǎn)換得到的數(shù)字量,當(dāng)OE信號(hào)有效時(shí),把轉(zhuǎn)換的結(jié)果送出。ADC0808的工作原理:1、輸入3位地址,并使ALE=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器從8路模擬通道中選通1路模擬量送給比較器。2、送START一高脈沖,START的上升沿使逐次寄存器復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換,并使EOC信號(hào)為低電平。3、當(dāng)轉(zhuǎn)換結(jié)束時(shí),轉(zhuǎn)換的結(jié)果送入到輸出三態(tài)鎖存器中,并使E

16、OC信號(hào)回到高電平,通知CPU已轉(zhuǎn)換結(jié)束。4、當(dāng)CPU執(zhí)行一讀數(shù)據(jù)指令時(shí),使OE為高電平,則從輸出端D0-D7讀出數(shù)據(jù)。2.2單片機(jī)最小系統(tǒng)2.2.1 單片機(jī)的介紹 AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器的低電壓、高性能CMOS 8位微處理器,俗稱(chēng)單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃速存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。2.2.2 AT8

17、9C51的引腳功能AT89C51提供以下標(biāo)準(zhǔn)功能:4KB的Flash閃速存儲(chǔ)器,128B內(nèi)部RAM,32個(gè)I/O口線(xiàn),2*16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)震蕩器及時(shí)鐘電路。引腳配置如下圖所示:AT89C51的引腳圖VSS:接地端。VCC:電源端。P0.0-P0.7:通道0,雙向I/O口。第二功能是在訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí)可分時(shí)用作低8位地址線(xiàn)和8位數(shù)據(jù)線(xiàn),在編程和檢驗(yàn)是,用于數(shù)據(jù)的輸入和輸出。P1.0-P1.7:通道1,雙向I/O口,在編程和檢驗(yàn)是,用于接收地位地址字節(jié)。P2.0-P2.7:通道2,雙向I/O口,在第二功能是在訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),輸出高8位地址,在

18、編程和檢驗(yàn)時(shí),用做高位地址字節(jié)和控制信號(hào)。P3.0-3.7:雙向I/O口,每條線(xiàn)都有自己的功能。詳見(jiàn)下表:表2 P3口各位的第二功能P3口各位第二功能P3.0 RTD(串行口輸出)P3.1 TXD(串行口輸入)P3.2(外部中斷0輸入)P3.3 (外部中斷1輸入)P3.4T0(定時(shí)器/計(jì)數(shù)器0的外部輸入)P3.5T1(定時(shí)器/計(jì)數(shù)器1的外部輸入)P3.6(片外數(shù)據(jù)存儲(chǔ)器寫(xiě)信號(hào)) P3.7(片外數(shù)據(jù)存儲(chǔ)器讀信號(hào))ALE:地址鎖存允許線(xiàn),在訪(fǎng)問(wèn)外部存儲(chǔ)器是,用來(lái)鎖存P0口送出的低8位地址信號(hào)。在不訪(fǎng)問(wèn)外部存儲(chǔ)器是,ALE也震蕩頻率的六分之一的固定速率輸出,此時(shí),它可用做外部時(shí)鐘和外不定時(shí)。但若要訪(fǎng)

19、問(wèn)外部存儲(chǔ)器,則ALE不是連續(xù)周期脈沖,無(wú)法用做時(shí)鐘信號(hào)。:片外存儲(chǔ)器訪(fǎng)問(wèn)選擇線(xiàn),可以控制89C51使用片內(nèi)ROM或使用片外ROM,若=1,則允許使用片內(nèi)ROM, 若=0,則只使用片外ROM。PSEN:片外ROM的選通線(xiàn),在訪(fǎng)問(wèn)片外ROM時(shí),89C51自動(dòng)在PSEN線(xiàn)上產(chǎn)生一個(gè)負(fù)脈沖,作為片外ROM芯片的讀選通信號(hào)。RST:復(fù)位線(xiàn),可以使89C51處于復(fù)位(即初始化)工作狀態(tài)。通常89C51復(fù)位有自動(dòng)上電復(fù)位和人工按鍵復(fù)位兩種。XTAL1和XTAL2:片內(nèi)震蕩電路輸入線(xiàn),這兩個(gè)端子用來(lái)外接石英晶體和微調(diào)電容,即用來(lái)連接89C51片內(nèi)OSC(震蕩器)的定時(shí)反饋回路。2.3 LED顯示系統(tǒng)2.3.

20、1 LED的基本結(jié)構(gòu)LED顯示器是由若干個(gè)發(fā)光二極管組成顯示字段的顯示器件。在單片機(jī)中使用最多的是七段數(shù)碼顯示器。LED七段數(shù)碼顯示器由8個(gè)發(fā)光二極管組成顯示字段,其中7個(gè)長(zhǎng)條形的發(fā)光二極管排列成“日”字形,另一個(gè)圓點(diǎn)形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,其通過(guò)不同的組合可用來(lái)顯示各種數(shù)字。LED引腳排列如下圖所示:LED引腳排列2.3.2 LED顯示器的選擇4-LED顯示器引腳如圖9所示,是一個(gè)共陰極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段的公共輸出端,1、2、3、4分別是每一位的位數(shù)選端,dp是小數(shù)點(diǎn)引出端: 4位LED引腳2.3.3 LED的譯碼方

21、式譯碼方式是指由顯示字符轉(zhuǎn)換得到對(duì)應(yīng)的字段碼的方式,對(duì)于LED數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。本設(shè)計(jì)系統(tǒng)中為了簡(jiǎn)化硬件線(xiàn)路設(shè)計(jì),LED譯碼采用軟件編程來(lái)實(shí)現(xiàn)。由于本設(shè)計(jì)采用的是共陰極LED,其對(duì)應(yīng)的字符和字段碼如下圖所示:2.3.4 LED與C51的接口設(shè)計(jì)由于單片機(jī)的并行口不能直接驅(qū)動(dòng)LED顯示器,所以,在一般情況下,必須采用專(zhuān)用的驅(qū)動(dòng)電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作。如果驅(qū)動(dòng)電路能力差,顯示器亮度就低,而且驅(qū)動(dòng)電路長(zhǎng)期在超負(fù)荷下運(yùn)行容易損壞,因此,LED顯示器的驅(qū)動(dòng)電路設(shè)計(jì)是一個(gè)非常重要的問(wèn)題。為了簡(jiǎn)化數(shù)字式直流電壓表的電路設(shè)計(jì),在LED驅(qū)動(dòng)電路

22、的設(shè)計(jì)上,可以利用單片機(jī)P0口上外接的上拉電阻來(lái)實(shí)現(xiàn),即將LED的A-G段顯示引腳和DP小數(shù)點(diǎn)顯示引腳并聯(lián)到P0口與上拉電阻之間,這樣,就可以加大P0口作為輸出口的驅(qū)動(dòng)能力,使得LED能按照正常的亮度顯示出數(shù)字。2.4復(fù)位電路和時(shí)鐘電路2.4.1復(fù)位電路單片機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使CPU和系統(tǒng)中的其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。MCS-51單片機(jī)有一個(gè)復(fù)位引腳RST,采用施密特觸發(fā)輸入。當(dāng)震蕩器起振后,只要該引腳上出現(xiàn)2個(gè)機(jī)器周期以上的高電平即可確保時(shí)器件復(fù)位。復(fù)位完成后,如果RST端繼續(xù)保持高電平,MCS-51就一直處于復(fù)位狀態(tài),只要RST恢復(fù)低電平后,單片機(jī)才能

23、進(jìn)入其他工作狀態(tài)。單片機(jī)的復(fù)位方式有上電自動(dòng)復(fù)位和手動(dòng)復(fù)位兩種,下圖是51系列單片機(jī)統(tǒng)常用的上電復(fù)位和手動(dòng)復(fù)位組合電路,只要Vcc上升時(shí)間不超過(guò)1ms,它們都能很好的工作。2.4.2 時(shí)鐘電路 在MCS51單片機(jī)片內(nèi)有一個(gè)高增益的反相放大器,反相放大器的輸入端為XTAL1,輸出端為XTAL2,由該放大器構(gòu)成的振蕩電路和時(shí)鐘電路一起構(gòu)成了單片機(jī)的時(shí)鐘方式。在內(nèi)部方式時(shí)鐘電路中,必須在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個(gè)微調(diào)電容構(gòu)成振蕩電路,通常電容一般取30pF,晶振的頻率取值在1.2MHz12MHz之間。晶體振蕩器的振蕩信號(hào)從XTAL2端送入內(nèi)部時(shí)鐘電路,它將該振蕩

24、信號(hào)二分頻,產(chǎn)生一個(gè)兩相時(shí)鐘信號(hào)P1和P2供單片機(jī)使用。時(shí)鐘信號(hào)的周期稱(chēng)為狀態(tài)時(shí)間S,它是振蕩周期的2倍,P1信號(hào)在每個(gè)狀態(tài)的前半周期有效,在每個(gè)狀態(tài)的后半周期P2信號(hào)有效。CPU就是以?xún)上鄷r(shí)鐘P1和P2為基本節(jié)拍協(xié)調(diào)單片機(jī)各部分有效工作的。如圖所示: 時(shí)鐘電路2.5 總電路硬件圖經(jīng)過(guò)以上的設(shè)計(jì)過(guò)程,整合可得出基于單片機(jī)的簡(jiǎn)易數(shù)字直流電壓表硬件電路原理圖。如圖所示:簡(jiǎn)易數(shù)字電壓表電路圖3 程 序 設(shè) 計(jì)3.1程序設(shè)計(jì)方案 根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,A/D轉(zhuǎn)換子程序和顯示子程序,這三個(gè)程序模塊構(gòu)成了整個(gè)系統(tǒng)軟件的主程序,如圖12所示。數(shù)字式直流電壓表主程序框圖3.2 系統(tǒng)子程序

25、設(shè)計(jì)3.2.1 子程序初始化所謂初始化,是對(duì)將要用到的AT89C51單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定,主要是設(shè)置定時(shí)器的工作模式,初值預(yù)置,開(kāi)中斷和打開(kāi)定時(shí)器等。3.2.2 A/D轉(zhuǎn)化子程序A/D轉(zhuǎn)換子程序用來(lái)控制對(duì)輸入的模塊電壓信號(hào)的采集測(cè)量,并將對(duì)應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖13所示。A/D轉(zhuǎn)換流程圖4 仿 真4.1軟件調(diào)試 軟件調(diào)試的主要任務(wù)是排查錯(cuò)誤,錯(cuò)誤主要包括邏輯和功能錯(cuò)誤,這些錯(cuò)誤有些是顯性的,而有些是隱形的,可以通過(guò)仿真開(kāi)發(fā)系統(tǒng)發(fā)現(xiàn)逐步改正。本系統(tǒng)的調(diào)試主要用到keil和protues軟件。其中,系統(tǒng)電路圖的繪制和仿真采用的是Proteus軟件,而C

26、語(yǔ)言程序用Keil軟件調(diào)試并把程序?qū)懭雴纹瑱C(jī)。程序調(diào)試:硬件仿真:4.2仿真結(jié)果 仿真結(jié)果有三種情況:當(dāng)滑動(dòng)變阻器短路時(shí),數(shù)字電壓表沒(méi)有讀數(shù)顯示;滑動(dòng)變阻器滑片處于正中央,在理想情況下電壓表的讀數(shù)是2.5;當(dāng)滑動(dòng)變阻器全部接入電路中,理想情況下電壓表的讀數(shù)是5.滑動(dòng)變阻器短路時(shí)滑動(dòng)變阻器滑片處于中間滑動(dòng)變阻器滑到最大端參考文獻(xiàn)1單片機(jī)原理及接口技術(shù).機(jī)械工業(yè)出版社,胡健,2004年10月.2單片微型計(jì)算機(jī)(第三版).北京郵電大學(xué)出版社。徐惠民、安德寧、丁玉珍編著.3單片機(jī)原理與程序設(shè)計(jì)實(shí)驗(yàn)教程.西安電子科技大學(xué)出版社,于殿泓、王新年,2007年5月.4單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)實(shí)例.電子

27、工業(yè)出版社,謝維成、楊加國(guó),2006年3月.5魏立峰.單片機(jī)原理及應(yīng)用技術(shù).北京大學(xué)出版社,魏立峰.6Protues在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例(第一版)。電子工業(yè)出版社,周潤(rùn)景.7計(jì)算機(jī)接口技術(shù),清華大學(xué)出版社,趙松主編.致謝辭經(jīng)過(guò)最近一段時(shí)間的努力,基于C51單片機(jī)的簡(jiǎn)易數(shù)字電壓表設(shè)計(jì)及仿真畢業(yè)論文基本完成。系統(tǒng)功能、指標(biāo)基本達(dá)到了設(shè)計(jì)預(yù)期要求、系統(tǒng)在硬件設(shè)計(jì)上充分考慮了可擴(kuò)展性,經(jīng)過(guò)一定的改造,可以增加功能。通過(guò)本次設(shè)計(jì),我對(duì)單片機(jī)這門(mén)課有了進(jìn)一步的了解。無(wú)論是在硬件連接方面還是在軟件編程方面。本次設(shè)計(jì)采用了AT89C51單片機(jī)芯片,這讓我對(duì)其認(rèn)識(shí)及了解更深刻,特別是

28、其端口功能和用途。設(shè)計(jì)中還用到了模/數(shù)轉(zhuǎn)換芯片ADC0808,以前在學(xué)單片機(jī)課程時(shí)只是對(duì)其理論知識(shí)有了初步的理解。通過(guò)這次設(shè)計(jì),對(duì)它的工作原理有了更深的理解。但是本次論文還是存在不足,比如在調(diào)試過(guò)程中遇到很多問(wèn)題,硬件上的理論知識(shí)學(xué)得不夠扎實(shí),對(duì)電路的仿真方面也不夠熟練。此外,在電路的設(shè)計(jì)上存在缺陷,例如應(yīng)該在在滑動(dòng)變阻器上應(yīng)該加一個(gè)數(shù)子電壓表,以便和最后LED顯示的結(jié)果作對(duì)比來(lái)驗(yàn)證是否正確和誤差分析??傊敬坞娐返脑O(shè)計(jì)和仿真,基本上達(dá)到了設(shè)計(jì)的功能要求。這期間,感謝一路來(lái)支持我的老師和同學(xué),特別感謝我的導(dǎo)師肖老師一路來(lái)對(duì)我的悉心幫助和講解。在以后的實(shí)踐中,我將繼續(xù)努力學(xué)習(xí)與AT89C51相關(guān)

29、的理論知識(shí),并理論聯(lián)系實(shí)際,爭(zhēng)取在以后設(shè)計(jì)方面能有所進(jìn)展。附錄#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit ST=P20;  /啟動(dòng)轉(zhuǎn)換位sbit OE=P22;  /輸出允許位sbit ALE=P23;  /地址允許鎖存位sbit EOC=P21;  /轉(zhuǎn)換結(jié)束位sbit CLK=P24;  /時(shí)鐘long int datas,bai,she,ge;uchar duan;uchar

30、 code num=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/不帶點(diǎn)的數(shù)字uchar code num_dot=0xbf,0x86,0xdb,0xcf,0xe6,0xed;   /帶點(diǎn)的數(shù)字uchar code wei=0x0d,0x0b,0x07;      /位碼void delay(uint z) uchar i; while(z-) for(i=0;i<120;i+);void display() uchar i=0; bai=(datas*500/255)/100;/計(jì)算并得到最高位 she=(datas*500/255)/10 % 10;/計(jì)算并得到中間位 ge=(datas*500/255) % 10;/計(jì)算并得到最低位 for(i=0;i<3;i+)       P3=we

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論