




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 課 程 設(shè) 計(jì) 說 明 書課程名稱 單片機(jī)原理題 目 數(shù)字電壓表設(shè)計(jì) 院 系 電子信息工程學(xué)院班 級(jí) 自動(dòng)化085班學(xué)生姓名 指導(dǎo)教師 課程設(shè)計(jì)名稱 單片機(jī)原理 學(xué)生姓名 黃楠楠 專業(yè)班級(jí) 自動(dòng)化085 設(shè)計(jì)題目 數(shù)字電壓表設(shè)計(jì) 一、 課程設(shè)計(jì)目的1、 培養(yǎng)學(xué)生文獻(xiàn)檢索的能力,如何利用internet檢索需要的文獻(xiàn)資料。2、 培養(yǎng)學(xué)生綜合分析問題、發(fā)現(xiàn)問題和解決問題的能力。3、 培養(yǎng)學(xué)生綜合運(yùn)用知識(shí)的能力和工程設(shè)計(jì)的能力。4、 培養(yǎng)學(xué)生理論聯(lián)系實(shí)際的能力。5、 提高學(xué)生課程設(shè)計(jì)報(bào)告撰寫水平。二、 設(shè)計(jì)內(nèi)容和設(shè)計(jì)要求1、設(shè)計(jì)內(nèi)容利用51單片機(jī)與adc0808或adc0809設(shè)計(jì)一個(gè)數(shù)字電壓表,
2、能夠測(cè)量05v之間的直流電壓值,四位數(shù)碼顯示或lm1602液晶顯示,但要求使用的元器件數(shù)目最少。(1)使用adc0808或adc0809芯片做為電壓輸入的ad模塊;(2)使用外部按鍵控制方式讀取電壓信號(hào);(3) 使用4位共陰極動(dòng)態(tài)led數(shù)碼管或lm1602液晶顯示屏作為輸出顯示部分;(4)軟件可用c語言或匯編語言,硬件可用實(shí)驗(yàn)箱或protues仿真軟件實(shí)現(xiàn)功完整的能演示。2、設(shè)計(jì)要求(1)設(shè)計(jì)單片機(jī)最小系統(tǒng)(包括復(fù)位按鈕、晶振電路等);(2)共陰極led數(shù)碼管或lm1602液晶顯示。(3)用定時(shí)器中斷方式定時(shí)刷新或按鍵控制讀取方式顯示,使用按鍵控制時(shí)要求使用外部中斷方式。(4)繪制實(shí)現(xiàn)本設(shè)計(jì)內(nèi)
3、容的硬件電路(原理圖),系統(tǒng)的組成框圖。(5)給出adc0808或adc0809的功能說明與使用方法;(6)編寫本課程設(shè)計(jì)內(nèi)容的軟件設(shè)計(jì)(包含程序流程圖和對(duì)程序注釋)。三、硬件設(shè)計(jì)原理模數(shù)轉(zhuǎn)換原理: 試驗(yàn)中,我們選用adc0809作為模數(shù)轉(zhuǎn)換的芯片,其為逐次逼近式ad轉(zhuǎn)換式芯片,其工作時(shí)需要一個(gè)穩(wěn)定的時(shí)鐘輸入,根據(jù)查找資料,得到adc0809的時(shí)鐘頻率在10khz1200khz,我們選擇典型值640khz。課題要求測(cè)量電壓范圍是0到5v,又adc0809的要求:vref+=gnd,故我們?nèi)ref+=+5v,vref-=0v。由于adc0809有8個(gè)輸入通道可供選擇,我們選擇in6通道,直接使
4、adc0809的a接地,b、c接高電平可以了,在當(dāng)adc0809啟動(dòng)時(shí)ale引腳電平正跳變時(shí)變可以鎖存a、b、c上的地址信息。adc0809可以將從in6得到的模擬數(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/51,x為得到的模擬數(shù)據(jù)量,也就是直接得到的電壓量。在ad轉(zhuǎn)換完成后,adc0809將在eoc引腳上產(chǎn)生一個(gè)8倍于自身時(shí)鐘周期的正脈沖,以此來作為轉(zhuǎn)換結(jié)束的標(biāo)志。然后當(dāng)oe引腳上產(chǎn)生高電平時(shí),adc0809將允許轉(zhuǎn)換完的二進(jìn)制數(shù)據(jù)輸出。數(shù)據(jù)處理原理: 由adc0809的轉(zhuǎn)換原理可以知道
5、我們從其得到數(shù)據(jù)還只是二進(jìn)制數(shù)據(jù),我們還需要進(jìn)一步處理來的到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,然后取整為x的整數(shù)部分,然后就是將得到的余數(shù)乘以10,然后再除以51,再取整為x的十分位,最后將得到的余數(shù)除以5得到x的百分位。硬件原理圖:系統(tǒng)框圖:時(shí)鐘電路 復(fù)位電路a/d轉(zhuǎn)換電路測(cè)量電壓輸入顯示系統(tǒng)at89c51 p1 p2 p2 p0 四、主要器件介紹1、at89c51at89c51芯片模型at89c51芯片的各引腳功能為:p0口:8位,漏極開路的雙向i/
6、o口。這組引腳共有8條,p0.0為最低位。這8個(gè)引腳有兩種不同的功能,分別適用于不同的情況。 p1口:8位,準(zhǔn)雙向i/o口,具有內(nèi)部上拉電阻。這8個(gè)引腳和p0口的8個(gè)引腳類似,p1.7為最高位,p1.0為最低位,當(dāng)p1口作為通用i/o口使用時(shí),p1.0-p1.7的功能和p0口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。p2口:這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用i/o口使用,它的第一功能和p0口引腳的第二功能相配合,用于輸出片外存儲(chǔ)器的高8位地址,共同選中片外存儲(chǔ)器單元,但并不是像p0口那樣傳送存儲(chǔ)器的讀/寫數(shù)據(jù)。p3口:這組引腳的第一功能和其余三個(gè)端口的第一功能
7、相同,第二功能為控制功能,每個(gè)引腳并不完全相同,如下表2所示:ale/prog:地址鎖存允許信號(hào),輸出。配合p0口的第二功能使用,在訪問外部存儲(chǔ)器時(shí),89c51的cpu在p0.0-p0.7引腳線去傳送隨后而來的片外存儲(chǔ)器讀/寫數(shù)據(jù)。在不訪問片外存儲(chǔ)器時(shí),89c51自動(dòng)在ale線上輸出頻率為1/6震蕩器頻率的脈沖序列。該脈沖序列可以作為外部時(shí)鐘源或定時(shí)脈沖使用。/ea:片外存儲(chǔ)器訪問允許信號(hào),低電平有效??梢钥刂?9c51使用片內(nèi)rom或使用片外rom,若/ea=1,則允許使用片內(nèi)rom, 若/ea=0,則只使用片外rom。/psen:片外rom的選通信號(hào)低電平有效。在訪問片外rom時(shí),89c5
8、1自動(dòng)在/psen線上產(chǎn)生一個(gè)負(fù)脈沖,作為片外rom芯片的讀選通信號(hào)。rst:復(fù)位線,可以使89c51處于復(fù)位(即初始化)工作狀態(tài)。通常89c51復(fù)位有自動(dòng)上電復(fù)位和人工按鍵復(fù)位兩種。xtal1和xtal2:片內(nèi)震蕩電路輸入線,這兩個(gè)端子用來外接石英晶體和微調(diào)電容,即用來連接89c51片內(nèi)osc(震蕩器)的定時(shí)反饋回路。2、adc0808的功能說明與使用方法adc0808是一種典型的a/d轉(zhuǎn)換器。它是由8位a/d轉(zhuǎn)換器,一個(gè)8路模擬量開關(guān);8位模擬量地址鎖存譯碼器和一個(gè)三態(tài)數(shù)據(jù)輸出鎖存器組成;+5v單電源供電,轉(zhuǎn)化時(shí)間在100us左右;內(nèi)部沒有時(shí)鐘電路,故需外部提供時(shí)鐘信號(hào)。芯片模型如下圖所示
9、:adc0808芯片模型功能說明:(1) in0in7:8路模擬量輸入端。(2) d0d7:8位數(shù)字量輸出端口。(3) start:a/d轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。(4) ale:地址鎖存允許信號(hào),高電平有效。(5) eoc:輸出允許控制信號(hào),高電平有效。(6) oe: 輸出允許控制信號(hào),高電平有效。(7) clk:時(shí)鐘信號(hào)輸入端。(8)adda、addb、addc:轉(zhuǎn)換通道地址,控制8路模擬通道的切換。adda、addb、addc分別與地址線或數(shù)據(jù)線相連,三位編碼對(duì)應(yīng)8個(gè)通道地址端口,adda、addb、addc=000111分別對(duì)應(yīng)in0in7通道的地址端口。使用方法:adc0808采用逐次比較
10、的方法完成a/d轉(zhuǎn)換,由單一的+5v電源供電。片內(nèi)帶有鎖存功能的8路選1的模擬開關(guān),由adda、addb、addc的編碼來決定所選的通道。adc0808完成一次轉(zhuǎn)換需100s左右,它具有輸出ttl三態(tài)鎖存緩沖器,可直接連接到at89c51的數(shù)據(jù)總線上。通過適當(dāng)?shù)耐饨与娐罚琣dc0808可對(duì)05v的模擬信號(hào)進(jìn)行轉(zhuǎn)換。五、部分電路介紹1、晶振電路 本設(shè)計(jì)系統(tǒng)采用內(nèi)部時(shí)鐘方式,利用單片機(jī)內(nèi)部的高增益反相放大器,外部電路簡(jiǎn),只需要一個(gè)晶振和 2個(gè)電容即可,如下圖所示。晶振電路電路中的器件選擇可以通過計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路。參數(shù),電路中,電容器c1和c2對(duì)震蕩頻率有微調(diào)作用,通常的取值范
11、圍是3010pf,在這個(gè)系統(tǒng)中選擇了33pf;石英晶振選擇范圍最高可選24mhz,它決定了單片機(jī)電路產(chǎn)生的時(shí)鐘信號(hào)震蕩頻率,在本系統(tǒng)中選擇的是12mhz,因而時(shí)鐘信號(hào)的震蕩頻率為12mhz。2、復(fù)位電路單片機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使cpu和系統(tǒng)中的其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tà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ī)才能進(jìn)入其他工作狀態(tài)。 復(fù)位電路3、模擬輸入電路通過可變
12、電阻一端接電源+5v,一端接地gnd,通過改變電阻的阻值,從而改變所測(cè)電壓值,實(shí)現(xiàn)電壓的模擬信號(hào)輸入。模擬輸入電路六、軟件設(shè)計(jì)程序流程圖:開始初始化調(diào)用a/d轉(zhuǎn)換子程序調(diào)用顯示子程序結(jié)束主程序流程圖啟動(dòng)轉(zhuǎn)換a/d轉(zhuǎn)換結(jié)束?輸出轉(zhuǎn)換結(jié)果數(shù)值轉(zhuǎn)換顯示結(jié)束開始a/d轉(zhuǎn)換流程圖源程序:/*程序功能:實(shí)現(xiàn)數(shù)模轉(zhuǎn)換,并將結(jié)果在*數(shù)碼管上顯示出來。 */#include #include#define led_data p2#define a 10#define u 11sbit led1=p30;sbit led2=p31;sbit led3=p32;sbit led4=p33;sbit dp=p35;#
13、define led_slect p3#define uchar unsigned char#define uint unsigned intstatic uchar dispdata4;unsigned char code num=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x3e; /數(shù)字編碼/ad0809#define xbyte (unsigned char volatile xdata *) 0) #define adin xbyte0x7ff9 /0809的外部地址void delayus(uint us) whi
14、le(us-);uchar ad_action(uchar ch)/0255代表05v,所以v=out*5.0/255 uchar read_data; adin=ch; /ch:通道號(hào) delayus(6); read_data=adin; /? return read_data; /0809的輸出,數(shù)字量/* lcall ad_action(c:0463)mov dptr,#0x7fffmov a,r7movx dptr,amov r7,#0x06mov r6,#0x00lcall delayus(c:02d3)movx a,dptrmov r7,aret */ /數(shù)碼管顯示控制void
15、decodenum(float adv,uchar ch) /ch: ad通道號(hào) uint temp; temp=(uint)(adv*1000);/若顯示3位: temp=(uint)(adv*100) dispdata0=temp/1000; dispdata1=temp/100%10; dispdata2=temp/10%10; dispdata3=temp%10; dispdata3=ch;/可在最后1位顯示通道號(hào)void select(uchar led) switch(led) case 0:led1=0;break; case 1:led2=0;break; case 2:led
16、3=0;break; case 3:led4=0;break; default: led_slect=0xff; void dispone(uchar led,bit ifpoint,uchar number) /,number 0-9 select(led);if(ifpoint) dp=1; else dp=0; led_data=numnumber|0x80; delayus(200); led_slect=0xff; void disp() uchar i; bit point; for(i=0;i4;i+) if(i=0) point=1; else point=0; dispone
17、(i,point,dispdatai); #define addo (5.0/255.0)#define zero 0.005 /用于校準(zhǔn)ad的誤差 void main() uint cnt=0;/ad_action(0); while(1) switch(cnt+) case 0: decodenum(ad_action(0)*addo+zero,0);break; /* case 0: decodenum(ad_action(0)*addo+zero,0);break; case 70: decodenum(ad_action(1)*addo+zero,1);break; case 140
18、: decodenum(ad_action(2)*addo+zero,2);break; case 210: decodenum(ad_action(3)*addo+zero,3);break; case 280: decodenum(ad_action(4)*addo+zero,4);break; case 350: decodenum(ad_action(5)*addo+zero,5);break; case 420: decodenum(ad_action(6)*addo+zero,6);break; case 490: decodenum(ad_action(7)*addo+zero,7);break;*/ case 560:cnt=0;break; disp(); 七、總結(jié)與體會(huì)經(jīng)過一周的努力終于設(shè)計(jì)成功,led的顯示結(jié)果和直接用數(shù)字電壓表測(cè)試模擬量輸入所得結(jié)果幾乎一
溫馨提示
- 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. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度生物科技研發(fā)與合作合同范文
- 2025年度五星級(jí)酒店客房租賃合同協(xié)議書
- 二零二五版董事辭職及接任合同樣本
- 二零二五年度事業(yè)單位專業(yè)技術(shù)崗位聘用固定期限勞動(dòng)合同實(shí)施細(xì)則4篇
- 2025年工業(yè)自動(dòng)化設(shè)備代理銷售合同范本
- 二零二五年度城市地下管線拆除作業(yè)勞務(wù)服務(wù)協(xié)議
- 2025年度環(huán)衛(wèi)車輛租賃與城市清潔服務(wù)合同
- 垃圾清運(yùn)調(diào)度服務(wù)協(xié)議
- 2025年度珠寶店寶石鑒定專家質(zhì)量檢測(cè)合同
- 跨境電商項(xiàng)目居間投資合同
- 調(diào)節(jié)與集合的相關(guān)性 相對(duì)調(diào)節(jié)和相對(duì)集合的關(guān)系
- 《金融工程》課程教案
- 信貸管理系統(tǒng)需求說明書
- 蒙臺(tái)梭利教育理論
- 水輪機(jī)結(jié)構(gòu)總體介紹
- “求是鷹眼”反無人機(jī)系統(tǒng)
- 《X公司應(yīng)收賬款管理研究14000字(論文)》
- YS/T 441.1-2014有色金屬平衡管理規(guī)范第1部分:銅選礦冶煉
- GB/T 23791-2009企業(yè)質(zhì)量信用等級(jí)劃分通則
- GB/T 19470-2004土工合成材料塑料土工網(wǎng)
- GB/T 18913-2002船舶和航海技術(shù)航海氣象圖傳真接收機(jī)
評(píng)論
0/150
提交評(píng)論