




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單單片片機機系系統(tǒng)統(tǒng)開開發(fā)發(fā)與與應(yīng)應(yīng)用用工工程程實實習(xí)習(xí)報報告告選選題題名名稱稱: 基于 at89s52 的數(shù)字電壓表的設(shè)計 系系(院院): 計算機工程學(xué)院專專 業(yè)業(yè): 嵌入式系統(tǒng)設(shè)計班班 級級: 姓姓 名名: 學(xué)學(xué) 號號: 指指導(dǎo)導(dǎo)教教師師: 學(xué)學(xué)年年學(xué)學(xué)期期: 2009 2010 學(xué)年 第 2 學(xué)期2010年 5 月 30 日摘摘要要:在測量儀器中,電壓表是必須的,而且電壓表的好壞直接影響到測量精度。具有一個精度高、轉(zhuǎn)換速度快、性能穩(wěn)定的電壓表才能符合測量的要求。 而且數(shù)字電壓表是采用數(shù)字化測量技術(shù),把連續(xù)的模擬電壓量轉(zhuǎn)換成不連續(xù)、離散的數(shù)字化形式并加以顯示的儀器。為此本項目介紹了一種基于
2、 at89s52 單片機的數(shù)字電壓表的設(shè)計 ,目的是在使用盡量少的元器件的情況下,用單片機 at89s52 和 adc0809 高精度 a/d 轉(zhuǎn)換芯片設(shè)計一個 4 位數(shù)碼管顯示的數(shù)字電壓表,并 能夠測量 05v 之間的直流電壓值, 其測量最小分辨率為 0.02v。本設(shè)計主要分為兩部分:硬件電路及軟件程序。而硬件電路又大體可分為a/d 轉(zhuǎn)換電路、led 顯示電路,各部分電路的設(shè)計及原理將會在硬件電路設(shè)計部分詳細(xì)介紹;程序的設(shè)計使用 c 語言編程,詳細(xì)的設(shè)計算法將會在程序設(shè)計部分詳細(xì)介紹。關(guān)關(guān)鍵鍵詞詞:at89s52;adc0809;a/d 轉(zhuǎn)換;led 數(shù)碼管顯示目錄1. 關(guān)于單片機 at89
3、s52 與 adc0809 芯片.11.1關(guān)于 at89s52.11.2關(guān)于 adc0809.22 硬件電路.32.1 程序原理圖.32.2 焊接順序:.42.3a/d 轉(zhuǎn)換電路.42.4 led 顯示電路.53 軟件程序的設(shè)計.63.1 主程序流程圖.63.2a/d 轉(zhuǎn)換模塊:.83.3 數(shù)碼管顯示模塊.104 實驗結(jié)果.11單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告11 1. . 關(guān)關(guān)于于單單片片機機 a at t8 89 9s s5 52 2 與與 a ad dc c0 08 80 09 9 芯芯片片 1.1 關(guān)關(guān)于于 at89s52at89s52 是一種低功耗、高性能 cmos8 位微控制器
4、,具有 8k 在系統(tǒng)可編程flash 存儲器。片上 flash 允許程序存儲器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 cpu 和在系統(tǒng) 可編程 flash,使得 at89s52 為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 at89s52 具有以下標(biāo)準(zhǔn)功能: 8k 字節(jié) flash,256 字節(jié) ram,32 位 i/o 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個 16 位定時器/計數(shù)器,一個 6 向量 2 級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,at89s52 可降至 0hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下,cpu 停
5、止工作,允許 ram、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram 內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。圖 1-1 at89s52 線路引腳圖(由于 at89s52 的引腳較多,介紹起來比較繁瑣,在此略過 )單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告21.2 關(guān)關(guān)于于 adc0809a/d 轉(zhuǎn)換器是模擬量輸入通道中的一個環(huán)節(jié),單片機通過a/d 轉(zhuǎn)換器把輸入模擬量變成數(shù)字量再處理。adc0809 是采樣分辨率為 8 位的、以逐次逼近原理進(jìn)行模 數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個 8 通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8 路模擬輸入信號中
6、的一個進(jìn)行 a/d 轉(zhuǎn)換。 圖 1-2 adc0809 引腳圖引腳功能如下:adc0809 芯片有 28 條引腳,采用雙列直插式封裝,如圖1323 所示。下面說明各引腳功能。 in0in7:8 路模擬量輸入端。 2-12-8:8 位數(shù)字量輸出端。 adda、addb、addc:3 位地址輸入線,用于選通 8 路模擬輸入中的一路 ale:地址鎖存允許信號,輸入,高電平有效。 start: ad 轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns 寬)使其啟動(脈沖上升沿使 0809 復(fù)位,下降沿啟動 a/d 轉(zhuǎn)換)。 單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告3eoc: ad 轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)
7、ad 轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。 oe:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)ad 轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 clk:時鐘脈沖輸入端。要求時鐘頻率不高于640khz。 ref(+)、ref(-):基準(zhǔn)電壓。 vcc:電源,單一 5v。 gnd:地。2 2 硬硬件件電電路路2.1 程程序序原原理理圖圖圖 2-1 關(guān)于 at89s52 的數(shù)字電壓表原理圖原理圖說明:原理圖主要由 at89s52 芯片,adc0809 芯片,led 數(shù)碼管組成。at89s52芯片的 rst 與復(fù)位電路相連, xtal1 與 xtal2 連接著晶振電
8、路。 p0 口與 adc0809 直接相連接受來自 adc0809 傳輸而來的數(shù)據(jù), p2 口作為 4 位動態(tài)數(shù)碼顯示管的位顯示控制, p1 口則是動態(tài)數(shù)碼顯示管的段顯示控制并連接著 74ls07 作為驅(qū)動,p3 則是提供給 adc0809 芯片的 clk 信號并控制其開始。相對的 adc0809 芯片的 in0 接了滑動電阻器以為實驗產(chǎn)生不等的電壓。add ac 接地,并確?;鶞?zhǔn)電壓。單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告42.2 焊焊接接順順序序:a)把“單片機系統(tǒng)”區(qū)域中的 p1.0p1.7 與“動態(tài)數(shù)碼顯示”區(qū)域中的 abcdefgh 端口用 8 芯排線連接。b)把“單片機系統(tǒng)”區(qū)域中的
9、 p2.0p2.7 與“動態(tài)數(shù)碼顯示”區(qū)域中的s1s2s3s4s5s6s7s8 端口用 8 芯排線連接。c)把“單片機系統(tǒng)”區(qū)域中的 p3.0 與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的 st 端子用導(dǎo)線相連接。d 把“單片機系統(tǒng)”區(qū)域中的 p3.1 與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的 oe 端子用導(dǎo)線相連接。e)把“單片機系統(tǒng)”區(qū)域中的 p3.2 與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的 eoc 端子用導(dǎo)線相連接。f)把“單片機系統(tǒng)”區(qū)域中的 p3.3 與“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的 clk 端子用導(dǎo)線相連接。g)把“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的 a2a1a0 端子用導(dǎo)線連接到 “電源模塊”區(qū)域中的gnd 端子上。h)把“模數(shù)轉(zhuǎn)換模塊”區(qū)
10、域中的 in0 端子用導(dǎo)線連接到 “三路可調(diào)電壓模塊 ”區(qū)域中的 vr1 端子上。i)把“單片機系統(tǒng)”區(qū)域中的 p0.0p0.7 用 8 芯排線連接到“模數(shù)轉(zhuǎn)換模塊”區(qū)域中的 d0d1d2d3d4d5d6d7 端2.3a/d 轉(zhuǎn)轉(zhuǎn)換換電電路路a/d 轉(zhuǎn)換器是模擬量輸入通道中的一個環(huán)節(jié),單片機通過a/d 轉(zhuǎn)換器把輸入模擬量變成數(shù)字量再處理。 具體電路圖如下:單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告5圖 2-2 實現(xiàn) a/d 轉(zhuǎn)換電路圖adc0809 實現(xiàn) a/d 轉(zhuǎn)換的原理如下:其工作原理如下: 首先輸入 3 位地址,并使 ale=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通 8 路模擬輸入之一到比
11、較器。 start 上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 ad 轉(zhuǎn)換,之后 eoc 輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到ad 轉(zhuǎn)換完成,eoc 變?yōu)楦唠娖剑甘?ad 轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng) oe 輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。2.4 led 顯顯示示電電路路設(shè)計中采用的是 4 段 led 數(shù)碼管來顯示電壓值。 led 具有耗電低、亮度高、視角大、線路簡單、耐震及壽命長等優(yōu)點,它由 4 個發(fā)光二極管組成,其中 3 個按8字型排列,另一個發(fā)光二極管為圓點形狀,位于右下角,常用于顯示小數(shù)點。把4 個發(fā)光二極管連在一起,公共端
12、接高電平,叫共陽極接法,相反,公共端接低電平的叫共陰極接法,我們采用共陰極接法。當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)的一段筆畫或點就發(fā)亮,從而形成不同的發(fā)光字符。其 8 段分別命名為 dp g f e d c b a。例如,要顯示“0”,則 dp g f e d c b a 分別為:00111111b;若要顯示多個數(shù)字,只要讓若干個數(shù)碼管的位碼循環(huán)為高電平就可以了。單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告6圖 2-3 led 數(shù)碼管顯示電路圖根據(jù)設(shè)計要求,顯示電路需要至少 4 位 led 數(shù)碼管來顯示電壓值,我們再多加一位用來顯示電壓單位“v”,則有 7 位 led 循環(huán)顯示。利用單片機的 i/o 口驅(qū)動 l
13、ed 數(shù)碼管的亮滅,設(shè)計中由 p0 口驅(qū)動 led 的段碼顯示,即顯示字符,由 p2 口選擇 led 位碼,即選擇點亮哪位 led 來顯示。3 軟軟件件程程序序的的設(shè)設(shè)計計3.1 主主程程序序流流程程圖圖單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告7圖 3-1 主程序流程圖程序初始化:#include unsigned char code dispbitcode=0 xfe,0 xfd,0 xfb,0 xf7, 0 xef,0 xdf,0 xbf,0 x7f;unsigned char code dispcode=0 x3f,0 x06,0 x5b,0 x4f,0 x66, 0 x6d,0 x7d,0
14、 x07,0 x7f,0 x6f,0 x00;unsigned char dispbuf8=10,10,10,10,0,0,0,0;unsigned char dispcount;unsigned char getdata;unsigned int temp;unsigned char i;sbit st=p30;sbit oe=p31;sbit eoc=p32;sbit clk=p33; void main(void) st=0; oe=0; et0=1;/允許定時器 0 et1=1;/允許定時器 1 ea=1;/中斷允許總控制位,中斷總允許 tmod=0 x12; th0=216; tl0
15、=216; th1=(65536-4000)/256; /定時時間計算公式: tl1=(65536-4000)%256;/一共 4 個 8 位定時器 tr1=1;/啟動定時器 1單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告8 tr0=1;/啟動寄存器 0程序的初始化工作有以下功能:生成數(shù)碼管等代碼表;表示部分引腳聯(lián)通;設(shè)置部分變量的初值;定義定時器 0,1;設(shè)置定時器方式選擇寄存器 并確定寄存器 0 使用工作方式1,寄存器 1 使用工作方式 2,具體設(shè)定了寄存器 1,并啟用 0,1 寄存器。3.2a/d 轉(zhuǎn)轉(zhuǎn)換換模模塊塊:圖 3-2 a/d 轉(zhuǎn)換測量子程序流程圖 st=1; st=0; /產(chǎn)生下跳沿
16、開始 a/d 轉(zhuǎn)換 while(1) if(eoc=1)/eoc 轉(zhuǎn)換結(jié)束信號,eoc=1 時轉(zhuǎn)換結(jié)束 oe=1;/輸出允許信號 oe=1 時輸出轉(zhuǎn)化得到的數(shù)據(jù) getdata=p0;/將轉(zhuǎn)化所得數(shù)據(jù)傳輸?shù)?p0單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告9 oe=0;/oe=0 時輸出數(shù)據(jù)線呈高阻態(tài) temp=getdata*235; temp=temp/128;/將模擬量轉(zhuǎn)換為數(shù)碼量 i=5; dispbuf0=10; dispbuf1=10; dispbuf2=10; dispbuf3=10; dispbuf4=10; dispbuf5=0; dispbuf6=0; dispbuf7=0;/寄存
17、要輸出的數(shù)據(jù) while(temp/10) dispbufi=temp%10; temp=temp/10; i+; dispbufi=temp; /從寄存中提取數(shù)據(jù)st=1; st=0; /產(chǎn)生下跳沿 a/d 轉(zhuǎn)換程序由開始設(shè)定的 st 的變化開始(產(chǎn)生下跳沿 使 adc0809 的 start 開始運轉(zhuǎn))然后當(dāng)轉(zhuǎn)換結(jié)束( eoc=1)時,開始傳輸數(shù)據(jù)到 p0(oe=1 輸出允許信號置 1)至傳輸結(jié)束時 oe 置 0,將獲得的電壓量轉(zhuǎn)換成所對應(yīng)的 16 進(jìn)制數(shù)據(jù)并寄存 ,再通過取模的方式把各位數(shù)字逐個提取, 最后結(jié)束。單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告103.3 數(shù)數(shù)碼碼管管顯顯示示模模塊塊
18、void t0(void) interrupt 1 using 0 clk=clk; /時鐘信號取反 void t1(void) interrupt 3 using 0 /外部中斷 0th1=(65536-4000)/256; tl1=(65536-4000)%256; /定時器初始化,定時 4 微秒循環(huán)p1=dispcodedispbufdispcount; p2=dispbitcodedispcount; /經(jīng)查代碼表得出數(shù)據(jù)if(dispcount=3) p1=p1 | 0 x80; /在 led 上顯示出數(shù)字 dispcount+; if(dispcount=4) dispcount=
19、0; led 數(shù)碼管的現(xiàn)實首先由外部寄存器 0 中斷使時鐘信號取反,在有外部寄存器 1 中斷使定時器初始化,通過之前 adc0809 輸出的 16 位數(shù)據(jù)經(jīng)查詢代碼表得到相應(yīng)的 bcd 碼,最后顯示即可。單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告114 4 實實驗驗結(jié)結(jié)果果經(jīng)過 protel 的制作與實物的焊接 和燒制程序后 我所得的結(jié)果還是不盡如人意: 由于部分元器件的缺失,雖然電源燈和 led 數(shù)碼管能夠使用,但很不穩(wěn)定 。經(jīng)過萬用表的測試也不能解決,導(dǎo)致最后實驗沒有達(dá)到預(yù)期效果。單片機系統(tǒng)開發(fā)與應(yīng)用工程實習(xí) 計報告12總結(jié)單片機是一門理論和技術(shù)發(fā)展十分迅速、應(yīng)用非常廣泛的前沿性學(xué)科, 它的理論
20、性和實踐性都很強。通過這次漫長的程序設(shè)計中,首先我們通過用 rrotel 軟件繪制電路圖設(shè)計 pcb 板,再經(jīng)過自己動手焊制電路板并實現(xiàn)實驗結(jié)果的過程 ,加深了對課堂抽象概念的理解,鞏固了課堂上所學(xué)的理論知識 ,并很好地理解與掌握 單片機 at89s52 和 a/d 轉(zhuǎn)換芯片 adc0809 的基本原理、使用方法。而對于這次課程設(shè)計的題目 “數(shù)字電壓表的設(shè)計 ”,在收集資料以及編程過程中,不光讓我鞏固所學(xué)的知識 ,加強理論和實際結(jié)合的能力,細(xì)致的了解了單片機的工作原理 ,還培養(yǎng)了我們的綜合設(shè)計能力與實際工作能力。真可謂獲益匪淺啊。雖然最后離我的實驗結(jié)果還有少許偏差讓我有點不甘心,但這次獨立制作芯片的過程還是讓我感觸良多的。而且在這次課程設(shè)計的撰寫過程中,我得到了許多人的幫助。本論文從立題到論文撰寫整個過程都是在 和悉心指導(dǎo)下完成的。老師們在傳授我知識的同時,更注重培養(yǎng)我解決問題的思路和 法及創(chuàng)新能力,為我今后學(xué)習(xí)和工作打下了堅實的基礎(chǔ)并開闊了我的視野,淵博的知識、嚴(yán)謹(jǐn)?shù)闹螌W(xué)
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀屑病物理治療
- 防水灌漿培訓(xùn)課件
- 花西子七夕活動方案策劃
- 智能電力:實現(xiàn)能源供應(yīng)的可持續(xù)性
- 2025年《小小郵遞員》大班標(biāo)準(zhǔn)教案
- 初一工作總結(jié)計劃
- 金融投資平臺投資風(fēng)險提示及免責(zé)聲明書
- 專業(yè)教育機構(gòu)遠(yuǎn)程教學(xué)平臺合作
- 市場趨勢的深度分析與解讀
- 電氣化鐵路架空導(dǎo)線相關(guān)行業(yè)投資規(guī)劃報告
- 教科版三年級下冊科學(xué)全冊同步練習(xí)(一課一練)
- 2025年南京信息職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫參考答案
- 2025年度共享辦公空間轉(zhuǎn)租合作協(xié)議
- 2025年公益項目合作協(xié)議
- 【凱度】2025年生鮮消費新趨勢
- 人教版(2024)七下 第二單元第1課《精彩瞬間》課件-七年級美術(shù)下冊(人教版)
- 四川省2024年高等職業(yè)教育單獨招生考試中職類語文試題及答案
- 歷年考研自動化復(fù)試面試試題匯集
- 多晶硅大型還原爐裝備項目可行性研究報告建議書
- 2024年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2024年常州機電職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
評論
0/150
提交評論