

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 單片機(jī)課程設(shè)計(jì)</b></p><p> 題 目 數(shù)字式電壓表 </p><p><b> 目 錄</b></p><p><b> 1 設(shè)計(jì)目的1</b></p><p> 2 課程設(shè)計(jì)的任務(wù)與要求1</
2、p><p> 2.1 設(shè)計(jì)任務(wù)1</p><p> 2.2 設(shè)計(jì)要求2</p><p> 3 設(shè)計(jì)方案與論證2</p><p> 4 設(shè)計(jì)原理及功能說(shuō)明3</p><p> 4.1 模數(shù)轉(zhuǎn)換原理3</p><p> 4.2 數(shù)據(jù)處理4</p><p>
3、 4.3 數(shù)據(jù)顯示4</p><p> 4.4 設(shè)計(jì)電路和仿真4</p><p><b> 5 芯片簡(jiǎn)介6</b></p><p> 5.1 ADC0808芯片6</p><p> 5.2 AT89C51芯片9</p><p> 5.3 LED顯示系統(tǒng)11</p>
4、;<p> 6 單元電路的設(shè)計(jì)13</p><p> 6.1 A/D轉(zhuǎn)換電路13</p><p> 6.2 時(shí)鐘電路14</p><p> 6.3 復(fù)位電路15</p><p> 6.4 LED顯示電路15</p><p> 7 硬件的制作與調(diào)試16</p><
5、p><b> 8 總結(jié)18</b></p><p><b> 參考文獻(xiàn)19</b></p><p> 附錄1:電路原理圖20</p><p> 附錄2:元器件清單21</p><p> 附錄3:實(shí)物圖22</p><p> 附錄4:源程序.....
6、..............................................................24</p><p><b> 1 設(shè)計(jì)目的</b></p><p> 隨著微電子技術(shù)的不斷發(fā)展,微處理器芯片的集成程度越來(lái)越高,單片機(jī)已可以在一塊芯片上同時(shí)集成CPU、存儲(chǔ)器、定時(shí)器/計(jì)數(shù)電路,這就很容易將計(jì)算機(jī)技術(shù)與測(cè)量控制技術(shù)結(jié)合,組成
7、智能化測(cè)量控制系統(tǒng)。 </p><p> 數(shù)字電壓表(Digital Voltmeter)簡(jiǎn)稱(chēng)DVM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。與此同時(shí),由DVM擴(kuò)展而成的各種通用及專(zhuān)用數(shù)字儀
8、器儀表,也把電量及非電量測(cè)量技術(shù)提高到嶄新水平。本章重點(diǎn)介紹單片A/D 轉(zhuǎn)換器以及由它們構(gòu)成的基于單片機(jī)的數(shù)字電壓表的工作原目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域,示出強(qiáng)大的生命力理。</p><p> 本設(shè)計(jì)AT89C51單片機(jī)的一種電壓測(cè)量電路,該電路采用ADC0808本文介紹一種基于A/D轉(zhuǎn)換電路,測(cè)量范圍直流 0~5V 的
9、4路輸入電壓值,并在四LED數(shù)碼管上顯示或單路選擇顯示。測(cè)量最小分辨率為0.019V,測(cè)量誤差約為正負(fù)0.02V。</p><p> 2 課程設(shè)計(jì)的任務(wù)與要求</p><p><b> 2.1 設(shè)計(jì)任務(wù)</b></p><p> 本設(shè)計(jì)是利用單片機(jī)AT89C51(可用STC89C52替代)與ADC0808(可用ADC0809替代)設(shè)計(jì)一個(gè)
10、數(shù)字電壓表,測(cè)量0-5V之間的直流電壓值,用四位數(shù)碼管顯示。</p><p><b> 2.2 設(shè)計(jì)要求</b></p><p> ?。?) 以MCS-51系列單片機(jī)為核心器件,組成一個(gè)簡(jiǎn)單的直流數(shù)字電壓表。</p><p> (2) 采用1路模擬量輸入,能夠測(cè)量0-5V之間的直流電壓值。</p><p> ?。?)
11、 電壓顯示用4位一體的LED數(shù)碼管顯示,至少能夠顯示兩位小數(shù)。 </p><p> (4) 盡量使用較少的元器件。 </p><p><b> 3 設(shè)計(jì)方案與論證</b></p><p><b> 主控芯片:</b></p><p> 方案1:選用專(zhuān)用電壓轉(zhuǎn)化芯片INC7107實(shí)現(xiàn)電壓的測(cè)量
12、和實(shí)現(xiàn)。用四位數(shù)碼管顯示出最后的轉(zhuǎn)換電壓結(jié)果。缺點(diǎn)是精度比較低,且內(nèi)部電壓轉(zhuǎn)換和控制部分不可控制。</p><p> 方案2:選用單片機(jī)AT89S51和A/D轉(zhuǎn)換芯片ADC0808實(shí)現(xiàn)電壓的轉(zhuǎn)換和控制,用四位數(shù)碼管顯示出最后的轉(zhuǎn)換電壓結(jié)果。優(yōu)點(diǎn)是轉(zhuǎn)換精度高,且轉(zhuǎn)換的過(guò)程和控制、顯示部分可以控制。</p><p> 基于課程設(shè)計(jì)的要求,我們優(yōu)先選用了:方案2</p><
13、;p><b> 顯示部分:</b></p><p> 方案1:選用4個(gè)單獨(dú)的共陽(yáng)數(shù)碼管。缺點(diǎn)是焊接時(shí)比較麻煩,容易出錯(cuò)。</p><p> 方案2:選用一個(gè)四聯(lián)的共陽(yáng)數(shù)碼管,外加四個(gè)三極管驅(qū)動(dòng)。這個(gè)電路幾乎沒(méi)有缺點(diǎn);優(yōu)點(diǎn)是便于控制,價(jià)格低廉,焊接簡(jiǎn)單。</p><p> 基于課程設(shè)計(jì)的要求,我們優(yōu)先選用了:方案2</p>
14、;<p> 硬件電路設(shè)計(jì)由6個(gè)部分組成: A/D轉(zhuǎn)換電路,AT89C51單片機(jī)系統(tǒng),LED顯示系統(tǒng)、時(shí)鐘電路、驅(qū)動(dòng)電路以及測(cè)量電壓輸入電路。硬件電路設(shè)計(jì)框圖如圖3-1所示: </p><p> 圖3-1 數(shù)字電壓表系統(tǒng)硬件設(shè)計(jì)框圖</p><p> 4 設(shè)計(jì)原理及功能說(shuō)明</p><p> 4.1 模數(shù)轉(zhuǎn)換原理</p><p
15、> 試驗(yàn)中,我們選用ADC0808作為模數(shù)轉(zhuǎn)換的芯片,其為逐次逼近式AD轉(zhuǎn)換式芯片,其工作時(shí)需要一個(gè)穩(wěn)定的時(shí)鐘輸入,根據(jù)查找資料,得到ADC0808的時(shí)鐘頻率在10khz~1200khz,我們選擇典型值640khz。課題要求測(cè)量電壓范圍是0到5V,又ADC0808的要求:</p><p> V ref+<=V cc V ref->=GND (4-1)</p>
16、;<p><b> 故我們?nèi)。?</b></p><p> V ref+=+5V V ref-=0V (4-2) </p><p> 由于ADC0808有8個(gè)輸入通道可供選擇,我們選擇IN0通道,直接使ADC0808的A、B、C接地便可以了,在當(dāng)ADC0808啟動(dòng)時(shí)ALE引腳電平正跳
17、變時(shí)變可以鎖存A、B、C上的地址信息。ADC0808可以將從IN0得到的模擬數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的二進(jìn)制數(shù),由于ADC0809輸出為8位的二進(jìn)制數(shù),轉(zhuǎn)換時(shí)將0到5V分為255等分,所以我們可以得到轉(zhuǎn)換公式為x/255*5化簡(jiǎn)為x/51x為得到的模擬數(shù)據(jù)量,也就是直接得到的電壓量。在AD轉(zhuǎn)換完成后,ADC0808將在EOC引腳上產(chǎn)生一個(gè)8倍于自身時(shí)鐘周期的正脈沖,以此來(lái)作為轉(zhuǎn)換結(jié)束的標(biāo)志。然后當(dāng)OE引腳上產(chǎn)生高電平時(shí),ADC0808將允許轉(zhuǎn)換完
18、的二進(jìn)制數(shù)據(jù)輸出。</p><p><b> 4.2 數(shù)據(jù)處理</b></p><p> 由ADC0808的轉(zhuǎn)換原理可以知道我們從其得到數(shù)據(jù)還只是二進(jìn)制數(shù)據(jù),我們還需要進(jìn)一步處理來(lái)的到x的十進(jìn)制數(shù),并且對(duì)其進(jìn)行精度處理,也就是課題要求的的精確到小數(shù)點(diǎn)后兩位,在這里我們用51單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理。我們處理數(shù)據(jù)的思路是:首先將得到的二進(jìn)制數(shù)直接除以十進(jìn)制數(shù)51,然后取
19、整為x的整數(shù)部分,然后就是將得到的余數(shù)乘以10,然后再除以51,再取整為x的十分位,最后將得到的余數(shù)除以5得到x的百分位。</p><p><b> 4.3 數(shù)據(jù)顯示</b></p><p> 試驗(yàn)中我們用到四位一體的八段數(shù)碼管,所以我們只能考掃描顯示來(lái)完成數(shù)碼管對(duì)x的顯示,我們用的是四位數(shù)碼顯示管,但是x只是三位的,故我們將將第四位顯示為單位U,通過(guò)程序的延時(shí),
20、實(shí)現(xiàn)四位數(shù)碼管的穩(wěn)定顯示。</p><p> 4.4 設(shè)計(jì)電路和仿真</p><p> 我們將單片機(jī)得P0口接上拉電阻后與數(shù)碼管的8位段選相連,若不接上拉電阻將無(wú)法驅(qū)動(dòng)數(shù)碼管,用P2口得4到7位連接數(shù)碼管的段選,考慮到整體的PCB布線(xiàn),我選用 P3.2口作為ADC0808的時(shí)鐘輸出端,并用到單片機(jī)的定時(shí)器。用P3.5傳輸ADC0808的START啟動(dòng)信號(hào),用P3.6作為ALE的信號(hào)傳輸
21、,P3.3作為OE的連接端。IN0為輸入端,而ADC0808的IN1到IN7懸空,不作連接。單片機(jī)EA接高電平。而P3口從ADC0808的輸出端輸入數(shù)據(jù)。</p><p> 數(shù)字電壓表電路仿真如圖4-1所示:</p><p> 圖4-1 數(shù)字式電壓表仿真圖</p><p> 此電路的工作原理是:+5V模擬電壓信號(hào)通過(guò)變阻器VR1分壓后由ADC08008的IN0
22、通道進(jìn)入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低電平),經(jīng)過(guò)模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過(guò)其輸出通道D0-D7傳送給AT89C51芯片的P1口,AT89C51負(fù)責(zé)把接收到的數(shù)字量經(jīng)過(guò)數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼傳送給四位LED,同時(shí)它還通過(guò)其四位I/O口P2.0、P2.1、P2.2、P2.3產(chǎn)生位選信號(hào)控制數(shù)碼管的亮滅。此外,AT89C51還控制ADC0808的工作。其中,單片機(jī)AT89C51通過(guò)定
23、時(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顯示出來(lái)[3]。</p><p> 簡(jiǎn)易數(shù)字直流電壓表的硬件電路已經(jīng)設(shè)計(jì)完成,就可以選取相應(yīng)的芯片和元器件,利用Proteus軟件繪制出硬件的原理,并仔細(xì)地檢查修改,直至形成完善的硬件原理圖。但要真正實(shí)現(xiàn)電路對(duì)電壓的測(cè)量和顯示的功能,還
24、需要有相應(yīng)的軟件配合,才能達(dá)到設(shè)計(jì)要求。</p><p><b> 5 芯片簡(jiǎn)介</b></p><p> 5.1 ADC0808芯片</p><p> ADC0808 主要特性:ADC0808是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,帶有使能控制端,與微機(jī)直接接口,片內(nèi)帶有鎖存功能的8路模擬多路開(kāi)關(guān),可以對(duì)8路0-5V輸入模擬電壓信號(hào)分時(shí)
25、進(jìn)行轉(zhuǎn)換,由于ADC0808設(shè)計(jì)時(shí)考慮到若干種模/數(shù)變換技術(shù)的長(zhǎng)處,所以該芯片非常適應(yīng)于過(guò)程控制,微控制器輸入通道的接口電路,智能儀器和機(jī)床控制等領(lǐng)域。</p><p> ADC0808主要特性:8路8位A/D轉(zhuǎn)換器,即分辨率8位;具有鎖存控制的8路模擬開(kāi)關(guān);易與各種微控制器接口;可鎖存三態(tài)輸出,輸出與TTL兼容;轉(zhuǎn)換時(shí)間:128μs;轉(zhuǎn)換精度:0.2%;單個(gè)+5V電源供電;模擬輸入電壓范圍0- +5V,無(wú)需外
26、部零點(diǎn)和滿(mǎn)度調(diào)整;低功耗,約15mW。ADC0808芯片有28條引腳,采用雙列直插式封裝,其引腳圖如圖5-1所示:</p><p> 圖5-1 ADC0808引腳圖</p><p> 下面說(shuō)明各個(gè)引腳功能: IN0-IN7(8條):8路模擬量輸入線(xiàn),用于輸入和控制被轉(zhuǎn)換的模擬電壓。地址輸入控制(4條):ALE:地址鎖存允許輸入線(xiàn),高電平有效,當(dāng)ALE為高電平時(shí),為地址輸入線(xiàn),用于選擇I
27、N0-IN7上那一條模擬電壓送給比較器進(jìn)行A/D轉(zhuǎn)換。 ADDA,ADDB,ADDC:3位地址輸入線(xiàn),用于選擇8路模擬輸入中的一路,其對(duì)應(yīng)關(guān)系如表5-1所示:</p><p> 表5-1 ADC0808通道選擇表</p><p> START:START為“啟動(dòng)脈沖”輸入法,該線(xiàn)上正脈沖由CPU送來(lái),寬度應(yīng)大于100ns,上升沿清零SAR,下降沿啟動(dòng)ADC工作。</p>
28、<p> EOC: EOC為轉(zhuǎn)換結(jié)束輸出線(xiàn),該線(xiàn)上高電平表示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&
29、gt;<p> V cc、GND:V cc為主電源輸入端,GND為接地端,一般REF+與V cc連接在一起,REF-與GND連接在一起.</p><p> CLK:時(shí)鐘輸入端。</p><p> (1) 8路模擬通道選擇開(kāi)關(guān)實(shí)現(xiàn)從8路輸入模擬量中選擇一路送給后面的比較器進(jìn)行比較。</p><p> ?。?) 地址鎖存與譯碼器用于當(dāng)ALE信號(hào)有效時(shí)
30、,鎖存從ADDA、ADDB、ADDC 3根地址線(xiàn)上送來(lái)的3位地址,譯碼后產(chǎn)生通道選擇信號(hào),從8路模擬通道中選擇當(dāng)前模擬通道。</p><p> ?。?) 比較器,8位開(kāi)關(guān)樹(shù)型A/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)。</p><p
31、> ?。?) 三態(tài)輸出鎖存器保存當(dāng)前模擬通道轉(zhuǎn)換得到的數(shù)字量,當(dāng)OE信號(hào)有效時(shí),把轉(zhuǎn)換的結(jié)果送出。</p><p> ADC0808的工作流程為:</p><p> (1) 輸入3位地址,并使ALE=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器從8路模擬通道中選通1路模擬量送給比較器。</p><p> ?。?) 送START一高脈沖,START的上升沿使逐次
32、寄存器復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換,并使EOC信號(hào)為低電平。</p><p> (3) 當(dāng)轉(zhuǎn)換結(jié)束時(shí),轉(zhuǎn)換的結(jié)果送入到輸出三態(tài)鎖存器中,并使EOC信號(hào)回到高電平,通知CPU已轉(zhuǎn)換結(jié)束。</p><p> (4) 當(dāng)CPU執(zhí)行一讀數(shù)據(jù)指令時(shí),使OE為高電平,則從輸出端D0-D7讀出數(shù)據(jù)。</p><p> 5.2 AT89C51芯片</p><
33、p> AT89C51提供以下標(biāo)準(zhǔn)功能:4KB的Flash閃速存儲(chǔ)器,128B內(nèi)部RAM,32個(gè)I/O口線(xiàn),兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)震蕩器及時(shí)鐘電路,同時(shí),AT89C51可降至0Hz靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。AT89C51采用PDIP封裝形式,引腳配置如圖5-2所示:</p><p> 圖5-2 AT89C51的引腳圖</p&g
34、t;<p> AT89C51芯片的各引腳功能為:P0口:這組引腳共有8條,P0.0為最低位。這8個(gè)引腳有兩種不同的功能,分別適用于不同的情況,第一種情況是89C51不帶外存儲(chǔ)器,P0口可以為通用I/O口使用,P0.0-P0.7用于傳送CPU的輸入/輸出數(shù)據(jù),這時(shí)輸出數(shù)據(jù)可以得到鎖存,不需要外接專(zhuān)用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是AT89C51帶片外存儲(chǔ)器,P0.0-P0.7在CPU訪(fǎng)問(wèn)片
35、外存儲(chǔ)器時(shí)先傳送片外存儲(chǔ)器的低8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀/寫(xiě)數(shù)據(jù)。P0口為開(kāi)漏輸出,在作為通用I/O使用時(shí),需要在外部用電阻上拉。P1口:這8個(gè)引腳和P0口的8個(gè)引腳類(lèi)似,P1.7為最高位,P1.0為最低位,當(dāng)P1口作為通用I/O口使用時(shí),P1.0-P1.7的功能和P0口的第一功能相同,也用于傳送用戶(hù)的輸入和輸出數(shù)據(jù)。P2口:這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用I/O口使用,它的第一功能和P0口引
36、腳的第二功能相配合,用于輸出片外存儲(chǔ)器的高8位地址,共同選中片外存儲(chǔ)器單元,但并不是像P0口那樣傳送存儲(chǔ)器的讀/寫(xiě)數(shù)據(jù)。P3口:這組引腳的第一功能和其</p><p> 表5-2 P3口第二功能</p><p> V cc為+5V電源線(xiàn),Ass接地。</p><p> ALE:地址鎖存允許線(xiàn),配合P0口的第二功能使用,在訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),AT89C51的CPU
37、在P0.0-P0.7引腳線(xiàn)去傳送隨后而來(lái)的片外存儲(chǔ)器讀/寫(xiě)數(shù)據(jù)。在不訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),89C51自動(dòng)在ALE線(xiàn)上輸出頻率為1/6震蕩器頻率的脈沖序列。該脈沖序列可以作為外部時(shí)鐘源或定時(shí)脈沖使用</p><p> :片外存儲(chǔ)器訪(fǎng)問(wèn)選擇線(xiàn),可以控制89C51使用片內(nèi)ROM或使用片外ROM,</p><p> 若=1,則允許使用片內(nèi)ROM, 若=0,則只使用片外ROM。</p>
38、<p> :片外ROM的選通線(xiàn),在訪(fǎng)問(wèn)片外ROM時(shí),89C51自動(dòng)在線(xiàn)上產(chǎn)生一個(gè)負(fù)脈沖,作為片外ROM芯片的讀選通信號(hào)。</p><p> RST:復(fù)位線(xiàn),可以使89C51處于復(fù)位(即初始化)工作狀態(tài)。通常89C51復(fù)位有自動(dòng)上電復(fù)位和人工按鍵復(fù)位兩種。</p><p> XTAL1和XTAL2:片內(nèi)震蕩電路輸入線(xiàn),這兩個(gè)端子用來(lái)外接石英晶體和微調(diào)電容,即用來(lái)連接89C5
39、1片內(nèi)OSC(震蕩器)的定時(shí)反饋回路。</p><p> 5.3 LED顯示系統(tǒng)</p><p> (1) LED基本結(jié)構(gòu)</p><p> LED是發(fā)光二極管顯示器的縮寫(xiě)。LED由于結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜、與單片機(jī)接口方便等優(yōu)點(diǎn)而得到廣泛應(yīng)用。LED顯示器是由若干個(gè)發(fā)光二極管組成顯示字段的顯示器件。在單片機(jī)中使用最多的是七段數(shù)碼顯示器。LED七段數(shù)碼顯示器由8
40、個(gè)發(fā)光二極管組成顯示字段,其中7個(gè)長(zhǎng)條形的發(fā)光二極管排列成“日”字形,另一個(gè)圓點(diǎn)形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,其通過(guò)不同的組合可用來(lái)顯示各種數(shù)字。LED引腳排列如下圖5-3所示:</p><p> 圖5-3 LED引腳排列</p><p> ?。?) LED顯示器的選擇</p><p> 在應(yīng)用系統(tǒng)中,設(shè)計(jì)要求不同,使用的LED顯示器的位數(shù)也不
41、同,因此就生產(chǎn)了位數(shù),尺寸,型號(hào)不同的LED顯示器供選擇,在本設(shè)計(jì)中,選擇4位一體的數(shù)碼型LED顯示器,簡(jiǎn)稱(chēng)“4-LED”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,即個(gè)位,后兩位顯示電壓的小數(shù)位。4-LED顯示器引腳如圖5-4所示:</p><p> 圖5-4 4位LED引腳</p><p> 4-LED顯示器是一個(gè)共陰極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段的
42、公共輸出端,1、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> 對(duì)于這種結(jié)構(gòu)的LED顯示器,它的體積和結(jié)構(gòu)都符合設(shè)計(jì)要求,由于4位LED陰極的各段已經(jīng)在內(nèi)部連接在一起,所以必須使用動(dòng)態(tài)掃描方式(將所有數(shù)碼管的段選線(xiàn)并聯(lián)在一起,用一個(gè)I/O接口控制)顯示。</p>
43、;<p><b> 6 單元電路的設(shè)計(jì)</b></p><p> 6.1 A/D轉(zhuǎn)換電路</p><p> 現(xiàn)實(shí)世界的物理量都是模擬量,能把模擬量轉(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)換器具有抗干擾能力強(qiáng)、轉(zhuǎn)換
44、精度高、價(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í)際中廣泛使用。</p><p> A/D轉(zhuǎn)換電路如圖6
45、-1所示:</p><p> 圖6-1 A/D轉(zhuǎn)換電路</p><p><b> 6.2 時(shí)鐘電路</b></p><p> 單片機(jī)中CPU每執(zhí)行一條指令,都必須在統(tǒng)一的時(shí)鐘脈沖的控制下嚴(yán)格按時(shí)間節(jié)拍進(jìn)行,而這個(gè)時(shí)鐘脈沖是單片機(jī)控制中的時(shí)序電路發(fā)出的。CPU執(zhí)行一條指令的各個(gè)微操作所對(duì)應(yīng)時(shí)間順序稱(chēng)為單片機(jī)的時(shí)序。MCS-51單片機(jī)芯片內(nèi)部
46、有一個(gè)高增益反相放大器,用于構(gòu)成震蕩器,XTAL1為該放大器的輸入端,XTAL2為該放大器輸出端,但形成時(shí)鐘電路還需附加其他電路。</p><p> 本設(shè)計(jì)系統(tǒng)采用內(nèi)部時(shí)鐘方式,利用單片機(jī)內(nèi)部的高增益反相放大器,外部電路簡(jiǎn),只需要一個(gè)晶振和 2個(gè)電容即可。</p><p> 時(shí)鐘如圖6-2所示。</p><p><b> 圖6-2 時(shí)鐘電路</
47、b></p><p> 電路中的器件選擇可以通過(guò)計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路的參數(shù),電路中,電容器C1和C2對(duì)震蕩頻率有微調(diào)作用,通常的取值范圍是30±10pF,在這個(gè)系統(tǒng)中選擇了33pF;石英晶振選擇范圍最高可選24MHz,它決定了單片機(jī)電路產(chǎn)生的時(shí)鐘信號(hào)震蕩頻率,在本系統(tǒng)中選擇的是12MHz,因而時(shí)鐘信號(hào)的震蕩頻率為12MHz。</p><p><b&
48、gt; 6.3 復(fù)位電路</b></p><p> 計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使中央處理器CPU和系統(tǒng)中的其它部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。STC89C52單片機(jī)有一個(gè)復(fù)位引腳RST,當(dāng)振蕩器起振后該引腳上出現(xiàn)2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘周期)以上的高電平,使器件復(fù)位,只要RST保持高電平,ST89C52保持復(fù)位狀態(tài)。時(shí)ALE、PSEN、P0、P1、P2、P3口都 輸出高電
49、平。RST變?yōu)楹?,退出?fù)位,CPU從初始狀態(tài)開(kāi)始工作。復(fù)位電路如圖6-3所示:</p><p> 圖6-3 復(fù)位電路圖</p><p> 6.4 LED顯示電路</p><p> 由于單片機(jī)的并行口不能直接驅(qū)動(dòng)LED顯示器,所以,在一般情況下,必須采用專(zhuān)用的驅(qū)動(dòng)電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作。如果驅(qū)動(dòng)電路能力差,即負(fù)載能力不夠時(shí),顯示器亮度
50、就低,而且驅(qū)動(dòng)電路長(zhǎng)期在超負(fù)荷下運(yùn)行容易損壞,因此,LED顯示器的驅(qū)動(dòng)電路設(shè)計(jì)是一個(gè)非常重要的問(wèn)題。</p><p> 為了簡(jiǎn)化數(shù)字式直流電壓表的電路設(shè)計(jì),在LED驅(qū)動(dòng)電路的設(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ù)字,LED顯示電路如圖6-4所示。
51、</p><p> 圖6-4 LED顯示電路</p><p> 7 硬件的制作與調(diào)試</p><p> 仿真時(shí),也就是寫(xiě)程序時(shí),為了硬件的簡(jiǎn)單,我們沒(méi)有采用74LS244來(lái)驅(qū)動(dòng)數(shù)碼管,而是直接用IO口來(lái)驅(qū)動(dòng)數(shù)碼管,這就導(dǎo)致最開(kāi)始的時(shí)候數(shù)碼管在位選為低電平(我們沒(méi)有采用三極管作為開(kāi)關(guān)管),段選為高電平時(shí)沒(méi)有任何顯示,也就是沒(méi)有考慮到單片機(jī)IO口驅(qū)動(dòng)負(fù)載的能力,后
52、面我們?cè)赑0口加上上拉電阻之后情況有所轉(zhuǎn)變。但是我們又發(fā)現(xiàn)了新的問(wèn)題:當(dāng)數(shù)碼管掃描顯示時(shí),數(shù)碼管的顯示會(huì)出現(xiàn)亂碼。當(dāng)然這是我們的程序有點(diǎn)問(wèn)題。開(kāi)始我們將得到的數(shù)據(jù)邊處理邊顯示,然后輪流點(diǎn)亮,但是發(fā)現(xiàn)數(shù)碼管根本就沒(méi)有一點(diǎn)反應(yīng),全部是黑的。后面將程序改為先將數(shù)據(jù)全部處理完,然后再依次顯示,這樣數(shù)碼管便可以顯示。后面總結(jié)得知:邊處理數(shù)據(jù)邊顯示由于顯示時(shí)間短的原因?qū)е聰?shù)碼管不能顯示。</p><p> 焊完板子以后,通
53、電后不加芯片對(duì)板子的各個(gè)引腳進(jìn)行電壓檢測(cè)后,下載程序運(yùn)行后發(fā)現(xiàn),數(shù)碼管不顯示示數(shù)。經(jīng)過(guò)仔細(xì)推敲,發(fā)現(xiàn)電路板上各個(gè)芯片忘了供電。經(jīng)檢查后,又給需供電的芯片供電??墒墙油娫春笕园l(fā)現(xiàn)數(shù)碼管無(wú)示數(shù)。經(jīng)查閱相關(guān)資料得知在實(shí)物電路中需要晶振提供脈沖方能實(shí)現(xiàn)數(shù)字電壓表的功能。后又重新焊接了晶振和兩個(gè)電容。接通后發(fā)現(xiàn)數(shù)碼管有示數(shù)且可以正常測(cè)試0-5V的電壓,數(shù)碼管有顯示,但是顯示的很暗,不是很明亮,開(kāi)始以為是上拉電阻的阻止太大,換了上拉電阻后沒(méi)有得到
54、改善。為了完善本設(shè)計(jì),決定再次糾查錯(cuò)誤之處,在同學(xué)和老師的幫助下,發(fā)現(xiàn)在共陽(yáng)極的數(shù)碼管上加上驅(qū)動(dòng)電路就可以完美的實(shí)現(xiàn)設(shè)計(jì)要求。加上驅(qū)動(dòng)電路后,并嘗試性的將程序中顯示做適當(dāng)?shù)难訒r(shí)后發(fā)現(xiàn)數(shù)碼管的顯示變的更亮了。最終不負(fù)眾望的完美的實(shí)現(xiàn)了設(shè)計(jì)要求??偨Y(jié)得知:數(shù)碼管輪流顯示時(shí),若顯示時(shí)間很短,即會(huì)造成平均電流很小直接使得數(shù)碼管的亮度不夠。</p><p><b> 8 總結(jié)</b></p&g
55、t;<p> 經(jīng)過(guò)一周的努力終于設(shè)計(jì)成功,LED的顯示結(jié)果和直接用數(shù)字電壓表測(cè)試模擬量輸入所得結(jié)果幾乎一致,誤差完全在合理的范圍之內(nèi)。由于儀器誤差,LED顯示最大值只能是4.9V,離標(biāo)準(zhǔn)最大值5.0V已經(jīng)不遠(yuǎn),達(dá)到預(yù)期目的,設(shè)計(jì)成功。 本設(shè)計(jì)參考了教材上第十一章89C51與ADC0809轉(zhuǎn)換的接口連線(xiàn),設(shè)計(jì)出電路圖的連線(xiàn),并從中理解了許多基本的知識(shí)和接線(xiàn)方法,在程序的設(shè)計(jì)與電壓表調(diào)試的過(guò)程中遇到了很多的問(wèn)題,剛開(kāi)
56、始時(shí)四個(gè)數(shù)碼管根本不顯示,后來(lái)發(fā)現(xiàn)用的是共陽(yáng)極的數(shù)碼管,而設(shè)計(jì)是共陰極的,更換后數(shù)碼管終于顯示,但問(wèn)題又出現(xiàn)了,數(shù)碼管雖然顯示了,但亮度達(dá)不到。經(jīng)過(guò)仔細(xì)地檢查電路和修改程序,并在老師同學(xué)的幫助下,添加了驅(qū)動(dòng)電路,并將延時(shí)程序略加調(diào)整后,加入驅(qū)動(dòng)電路,數(shù)碼管更加亮了。最后終于調(diào)試成功。</p><p> 在此再次衷心地向帶領(lǐng)我們這次課程設(shè)計(jì)的老師說(shuō)聲:謝謝!向在做課程設(shè)計(jì)過(guò)程中給予幫助的同學(xué)朋友表示誠(chéng)摯的謝意!
57、</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 鄭人杰.計(jì)算機(jī)軟件測(cè)試技術(shù).北京:清華大學(xué)出版社, 1992. </p><p> [2] 蔣廷彪,劉電霆,高富強(qiáng),方華.單片機(jī)原理及應(yīng)用.出版社:重慶大學(xué)出版社</p><p> 出版時(shí)間:2005年1月第2次印刷.</p>
58、<p> [3] 8051實(shí)驗(yàn)指導(dǎo)書(shū)電子電氣綜合實(shí)訓(xùn)系統(tǒng).出版社:北京精儀達(dá)盛科技有限</p><p><b> 公司.</b></p><p> [4] 徐愛(ài)鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì)(第二版)[M].北京:北京航空航</p><p> 天大學(xué)出版社,2004</p><p> [5] 潘永雄
59、.新編單片機(jī)原理與應(yīng)用,西安:西電科技大學(xué)出版社[M],2007. </p><p> [6] 潘新民,王燕芳.微型計(jì)算機(jī)控制技術(shù)實(shí)用教程[M],北京:電子工業(yè)出版 </p><p> 社,2006,128-139.</p><p> [7] 高峰.單片微型計(jì)算機(jī)與接口技術(shù)[M].北京科學(xué)出版社,2003.</p><p> [8]
60、 黃寧.S7-200PLC在自動(dòng)生產(chǎn)線(xiàn)中的應(yīng)用[J],自動(dòng)化技術(shù)與應(yīng)用,2009,</p><p> 28(9),86-89.</p><p> 附錄1:總體電路原理圖</p><p><b> 附錄2:元器件清單</b></p><p><b> 附錄3:實(shí)物圖</b></p>
61、<p><b> 附錄4:源程序</b></p><p> #include<reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> uint temp;<
62、/p><p> sbit ST=P3^0;</p><p> sbit OE=P3^1;</p><p> sbit EOC=P3^2;</p><p> sbit CLK=P3^3;</p><p> void delay(uint);</p><p> uchar code tabl
63、e[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};</p><p> uchar code scann[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};</p><p> void display(uint);</p><p> void init()<
64、/p><p><b> { </b></p><p> TMOD=0x02;</p><p> TH0=(256-50);</p><p> TL0=(256-250);</p><p><b> ET0=1;</b></p><p><
65、b> EA=1;</b></p><p><b> TR0=1;</b></p><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p> //TMOD=
66、0X02; //T0方式2</p><p> // TH0=(256-50);</p><p> // TL0=(256-50);</p><p><b> //ET0=1;</b></p><p><b> // EA=1;</b></p><p><b&g
67、t; //TR0=1;</b></p><p><b> init();</b></p><p><b> while(1)</b></p><p><b> {</b></p><p><b> OE=0;</b></p>
68、;<p><b> ST=0;</b></p><p><b> ST=1;</b></p><p><b> ST=0;</b></p><p><b> delay(2);</b></p><p> while(EOC==0);
69、</p><p><b> OE=1;</b></p><p><b> P1=0XFF;</b></p><p><b> temp=P1;</b></p><p><b> delay(2);</b></p><p>&
70、lt;b> OE=0;</b></p><p> display(temp); </p><p><b> }</b></p><p><b> }</b></p><p> void delay(uint z)</p><p><b>
71、 {</b></p><p><b> int i,j;</b></p><p> for(i=0;i<z;i++)</p><p> for(j=0;j<110;j++);</p><p><b> }</b></p><p> void
72、 display(uint num)</p><p><b> {</b></p><p> uchar a1,a2,a3,a4,a5,a6,a7,a8;</p><p> a1=num/51;</p><p> a2=(num%51)*10/51;</p><p> a3=((num%
73、51)*10%51)*10/51;</p><p> a4=(((num%51)*10%51)*10%51)*10/51;</p><p> a5=num/1000;</p><p> a6=(num%1000)/100;</p><p> a7=(num%100)/10;</p><p> a8=num%1
74、0;</p><p> P0=table[a1]&0x7f;</p><p> P2=scann[0];</p><p> delay(2); </p><p><b> P2=0xff;</b></p><p> P0=table[a2];</p><p&
75、gt; P2=scann[1];</p><p><b> delay(2);</b></p><p><b> P2=0xff;</b></p><p> P0=table[a3];</p><p> P2=scann[2];</p><p> delay(2)
76、; </p><p><b> P2=0xff;</b></p><p> P0=table[a4];</p><p> P2=scann[3];</p><p><b> delay(2);</b></p><p><b> P2=0xff; </
77、b></p><p> P0=table[a5];</p><p> P2=scann[4];</p><p> delay(2); </p><p><b> P2=0xff;</b></p><p> P0=table[a6];</p><p> P2
78、=scann[5];</p><p> delay(2); </p><p><b> P2=0xff;</b></p><p> P0=table[a7];</p><p> P2=scann[6];</p><p> delay(2); </p><p>&l
79、t;b> P2=0xff;</b></p><p> P0=table[a8];</p><p> P2=scann[7];</p><p> delay(2); </p><p><b> P2=0xff;</b></p><p><b> }</b
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的數(shù)字式電壓表課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--數(shù)字電壓表
- 數(shù)字電壓表課程設(shè)計(jì)報(bào)告
- 數(shù)字電壓表課程設(shè)計(jì)--簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表設(shè)計(jì)-課程設(shè)計(jì)
- 課程設(shè)計(jì)---數(shù)字電壓表設(shè)計(jì)
- 數(shù)字電壓表設(shè)計(jì)課程設(shè)計(jì)
- 數(shù)字電壓表設(shè)計(jì)-課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 簡(jiǎn)易數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì) (2)
評(píng)論
0/150
提交評(píng)論