單片機(jī)課程報(bào)告_第1頁
單片機(jī)課程報(bào)告_第2頁
單片機(jī)課程報(bào)告_第3頁
單片機(jī)課程報(bào)告_第4頁
單片機(jī)課程報(bào)告_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

華南理工大學(xué)廣州學(xué)院《數(shù)字式電壓表設(shè)計(jì)》課程報(bào)告姓名:黃日志 學(xué)號:201230085232序號:__01 學(xué)院:電子信息工程學(xué)院班級:12電信(1)指導(dǎo)老師:李欣 完成時(shí)間:成13-12-31目錄序言TOC\o"1-5"\h\z\o"CurrentDocument".系統(tǒng)設(shè)計(jì)要求 1\o"CurrentDocument".系統(tǒng)設(shè)計(jì)思路 1\o"CurrentDocument".元器件選擇與介紹 2\o"CurrentDocument".設(shè)計(jì)方案 4\o"CurrentDocument".電路與電路圖 6\o"CurrentDocument".作品調(diào)試 9\o"CurrentDocument".總結(jié) 12參考文獻(xiàn)數(shù)字式電壓表設(shè)計(jì)課程報(bào)告序言數(shù)字電壓表是指表面從指針改為數(shù)字的電壓表,即采用數(shù)碼管顯示或者液晶面板顯示。傳統(tǒng)的指針式刻度電壓表功能單一,精度低,容易引起視差和視覺疲勞,因而不能滿足數(shù)字化時(shí)代的需求。采用單片機(jī)的數(shù)字電壓表,將連續(xù)的模擬量如直流電壓轉(zhuǎn)化成不連續(xù)的離散的數(shù)字形式并加以顯示,從而精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還可與PC實(shí)時(shí)通信。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ)。以數(shù)字電壓表為核心,可以擴(kuò)展成各種通用數(shù)字儀表、專用數(shù)字儀表及各種非電量的數(shù)字化儀表。因此,我們很有必要對數(shù)字式電壓表做更深更全面的研究學(xué)習(xí)。.系統(tǒng)設(shè)計(jì)要求.可以測量0-5V的8路輸入電壓值;.測量結(jié)果可在四位LED數(shù)碼管上輪流顯示后單路選擇顯示;.測量最小分辨率為0.019V;.測量誤差約為+0.02V;.系統(tǒng)設(shè)計(jì)思路.根據(jù)設(shè)計(jì)要求,選擇AT89S51單片機(jī)作為核心控制器件。.A/D轉(zhuǎn)換采用ADC0809實(shí)現(xiàn)。與單片機(jī)的接口為P0口和P2端口的高四位引腳。.電壓顯示采用4位一體的LED數(shù)碼管。.LED數(shù)碼管的段碼輸入,由并行端口P1產(chǎn)生;位碼輸入,由并行端口P3低三位產(chǎn)生。圖1.元器件選擇與介紹.單片機(jī)的選擇AT89S52是美國ATMEL公司生產(chǎn)的低功耗、高性能CMOS8位單片機(jī)。AT89S52片內(nèi)含有4k字節(jié)Flash閃速存儲器,128b內(nèi)部RAM,4個(gè)8位I/O口線,看門狗(WDT),兩個(gè)數(shù)據(jù)指針,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,ATMEL的AT89S52是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。因此我選擇AT89S52為系統(tǒng)的控制器。AT89S51芯片為40引腳雙列直插式封裝,其引腳排列如圖2所示Pl?匚□VCC1WPl.1匚239□POjO{ADO)Pl2C33S□P0.1I{AD1)pia匚437□P02{AD2)Pl.4匚536□P02{AD句{MOSI)Pl£□635JP0.4(AD4){MISO)Pl.6匚(SCK)Pl.7匚734□P0j5{AD£)S33□P0.6{AD6)ASTCg32□P0.7{AD7)(RKD)P3j0C1031□EA/VPP{TKD)P3.1匚11第□ALE/PROG(INTO)P32匚1229□PSBN[Firn]P32匚13SS□P2.7(A15}(TO)P3.4匚1427□P2.6{A14)(Tl)P3j5匚1526□P2j5{A13)師)P3.6C1625□P2.4{A12)(RD)P3.7C1724□P2J(A11)XTAL2匚IS23□P22{A10)2.A/D轉(zhuǎn)換器的選擇O>L1匚22□P2.ll{AS)A/D轉(zhuǎn)換器大致分有:裁:一是雙積分A/D轉(zhuǎn)換器,二是逐次逼近式A/D轉(zhuǎn)換器,三是并行A/D轉(zhuǎn)換;器。在轉(zhuǎn)換精度上、轉(zhuǎn)換速率、以及經(jīng)濟(jì)上的考慮,該系統(tǒng)決定選用逐次逼近式A/D轉(zhuǎn)換器的ADC0809型。ADC0809是典型的8位MOS型8通道逐次逼近式A/D轉(zhuǎn)換器,每采集一次一般需100〃s。

圖3ADC0809的內(nèi)部邏輯結(jié)構(gòu)圖圖中多路模擬開關(guān)可選通8路模擬通道,允許8路模擬量分時(shí)輸入,并共用一個(gè)A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。地址鎖存與譯碼電路完成對A、B、C三個(gè)地址位進(jìn)行鎖存與譯碼。3.4位一體7段LED共陰數(shù)碼管圖4一位數(shù)碼管的原理圖4位一體7段LED數(shù)碼管圖4位一體7段LED數(shù)碼管圖圖54.所需元器件清單器件類型器件名單位數(shù)量單片機(jī)AT89S5211A/D轉(zhuǎn)換器ADC080911數(shù)碼管**4-CC-BLUE11開關(guān)按鍵開關(guān)11電容C1、C233uF2電解電容C310uF1電阻R11K1排阻RP111變阻器RV11K1晶振X11MHz1表1四.設(shè)計(jì)方案.系統(tǒng)程序設(shè)計(jì)總方案根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,A/D轉(zhuǎn)換子程序和顯示子程序,這三個(gè)程序模塊構(gòu)成了整個(gè)系統(tǒng)軟件的主程序,如圖6所示。圖6數(shù)字式直流電壓表主程序框圖.系統(tǒng)子程序設(shè)計(jì)(1)初始化程序所謂初始化,是對將要用到的MCS_51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定,初始化子程序的主要工作是設(shè)置定時(shí)器的工作模式,初值預(yù)置,開中斷和打開定時(shí)器等。(2)A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換子程序用來控制對輸入的模塊電壓信號的采集測量,并將對應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖7所示。圖7A/D轉(zhuǎn)換流程圖(3)顯示子程序顯示子程序采用動態(tài)掃描實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示,在采用動態(tài)掃描顯示方式時(shí),要使得LED顯示的比較均勻,又有足夠的亮度,需要設(shè)置適當(dāng)?shù)膾呙桀l率,當(dāng)掃描頻率在70HZ左右時(shí),能夠產(chǎn)生比較好的顯示效果,一般可以采用間隔10ms對LED進(jìn)行動態(tài)掃描一次,每一位LED的顯示時(shí)間為1ms。在本設(shè)計(jì)中,為了簡化硬件設(shè)計(jì),主要采用軟件定時(shí)的方式,即用定時(shí)器0溢出中斷功能實(shí)現(xiàn)11〃s定時(shí),通過軟件延時(shí)程序來實(shí)現(xiàn)5ms的延時(shí)。其轉(zhuǎn)換流程圖如圖8所示。

圖8 顯示子程序流程圖五.電路與電路圖.總電路本課課實(shí)驗(yàn)主要采用AT89S21芯片和ADC0809芯片來完成一個(gè)簡易的數(shù)字電壓表,能夠?qū)斎氲??5V的模擬直流電壓進(jìn)行測量,并通過一個(gè)4位一體的7段LED數(shù)碼管進(jìn)行顯示,測量誤差約為0.02V。該電壓表的測量電路主要由三個(gè)模塊組成:A/D轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示控制模塊。A/D轉(zhuǎn)換主要由芯片ADC0809來完成,它負(fù)責(zé)把采集到的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量再傳送到數(shù)據(jù)處理模塊。數(shù)據(jù)處理則由芯片AT89S51來完成,其負(fù)責(zé)把ADC0809傳送來的數(shù)字量經(jīng)一定的數(shù)據(jù)處理,產(chǎn)生相應(yīng)的顯示碼送到顯示模塊進(jìn)行顯示;另外它還控制著ADC0809芯片的工作。顯示模塊主要由7段數(shù)碼管及相應(yīng)的驅(qū)動組成,顯示測量到的電壓值。

圖9總電路圖.AT89S52的復(fù)位電路和時(shí)鐘電路AT89S52的復(fù)位電路如圖10所示。當(dāng)單片機(jī)一上電,立即復(fù)位;另外,如果在運(yùn)行中,外界干擾等因素使單片機(jī)的程序陷入死循環(huán)狀態(tài)或“跑飛”,就可以通過按鍵使其復(fù)位。復(fù)位也是使單片機(jī)退出低功耗工作方式而進(jìn)入正常狀態(tài)的一種操作。圖10 復(fù)位電路與時(shí)鐘電路7

.A/D轉(zhuǎn)換電路A/D轉(zhuǎn)換由ADC0809完成。ADC0809具有8路模擬輸入端口,地址線(23?25腳)可決定對哪一路模擬輸入作A/D轉(zhuǎn)換。22腳為地址控制,當(dāng)輸入為高電平時(shí),對地址信號進(jìn)行鎖存。6腳為測試控制,當(dāng)輸入一個(gè)2〃s寬高電平脈沖時(shí),就開始A/D轉(zhuǎn)換。7腳為A/D轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),7腳輸出高電平。9腳為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制,當(dāng)OE腳為高電平時(shí),A/D轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10腳為ADC0809的時(shí)鐘輸入端,利用單片機(jī)AT89S51的30腳的六分頻晶振頻率再通過14024二分頻得到1MHz時(shí)鐘。AT89S51與ADC0809的連接電路原理圖如圖11所示?!?0■1112P3.0/RXDP3.1/TXDP3.2JINT0P3.3/INT1P3.4)T0P3.5JT1PME恒P3.7/RD"P1.1 14?■10■1112P3.0/RXDP3.1/TXDP3.2JINT0P3.3/INT1P3.4)T0P3.5JT1PME恒P3.7/RD"P1.1 14?P1.2目1工P1.4 18?P1.5P1E 2口■P1.7 21OEVREF(-)VREF(+)OUT8ALEOUT7ADDCOUT6ADDSOUT5ADDAOUT4OUT3IN7OUT2IN6OUT1IN5IN4EOCIN3IN2STARTIN1>CLOCKINOADC0808十■16■24■25圖11 AT89S52與ADC0809的連接電路原理圖.顯示電路由于單片機(jī)的并行口不能直接驅(qū)動LED顯示器,所以,在一般情況下,必須采用專用的驅(qū)動電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作[7]如果驅(qū)動電路能力差,即負(fù)載能力不夠時(shí),顯示器亮度就低,而且驅(qū)動電路長期在超負(fù)荷下運(yùn)行容易損壞,因此,LED顯示器的驅(qū)動電路設(shè)計(jì)是一個(gè)非常重要的問題。圖12數(shù)碼管顯示六.作品調(diào)試1.軟件調(diào)試軟件調(diào)試的主要任務(wù)是排查錯(cuò)誤,錯(cuò)誤主要包括邏輯和功能錯(cuò)誤,這些錯(cuò)誤有些是顯性的,而有些是隱形的,可以通過仿真開發(fā)系統(tǒng)發(fā)現(xiàn)逐步改正。Proteus可以完成單片機(jī)系統(tǒng)原理圖電路繪制、PCB設(shè)計(jì),更為顯著點(diǎn)的特點(diǎn)是可以與uVisions4工具軟件結(jié)合進(jìn)行編程仿真調(diào)試。(1)軟件代碼#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharCctable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharcctabledp[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};ucharaddata;〃數(shù)字量uintvvalue;〃模擬量sbitale=P3八0;sbitoe=P3A1;sbiteoc=P3A2;sbitstart=P3A3;sbitclk=P3A4;sbitw0=P2A0;sbitw1=P2A1;sbitw2=P2A2;sbitw3=P2A3;voiddelay(uintx)(uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);)voidt0init()(TMOD=0x02;TH0=255;TL0=255;EA=1;ET0=1;TR0=1;)voidt0serv()interrupt1(clk=~clk;) 一voiddisp()〃顯示函數(shù)(P0=cctabledp[vvalue/1000];w0=0;delay(1);w0=1;P0=cctable[vvalue%1000/100];w1=0;delay(1);w1=1;P0=cctable[vvalue%100/10];w2=0;delay(1);w2=1;P0=cctable[vvalue%10];w3=0;delay(1);w3=1;)voidadc()〃轉(zhuǎn)換函數(shù)10ale=1;start=1;ale=0;start=0;while(eoc==0);oe=1;addata=P1;oe=0;vvalue=addata*1.0*夕256*1000;〃數(shù)字量轉(zhuǎn)換成模擬量顯示)voidmain()(t0init();while(1)(adc();disp();)).硬件調(diào)試(1)按照總電路圖,手工認(rèn)真焊出作品:(2)通電前檢查作品的開路短路情況,是否有虛焊或漏焊等情況:(3)把程序燒進(jìn)單片機(jī);(4)發(fā)現(xiàn)程序不能正常運(yùn)行,可以按照以下步驟排查問題:1)檢查原理圖連接是否正確;2)檢查原理圖與器件上引腳是否一致;3)用萬用表檢查是否有虛焊,引腳短路現(xiàn)象;4)飛線。用別的的口線進(jìn)行控制,看看能不能對其進(jìn)行正常操作,多試驗(yàn),才能找到問題出現(xiàn)在什么地方等等。(5)完成通電后,發(fā)現(xiàn)數(shù)碼管有幾段不亮,把單片機(jī)pl口置0,逐個(gè)排查:(6)發(fā)現(xiàn)數(shù)碼管的小數(shù)點(diǎn)不對,進(jìn)行程序修改..誤差分析(1)實(shí)際使用中元件器參數(shù)會隨著使用環(huán)境而變化,如溫度濕度等等。(2)由于單片機(jī)AT89C52為8位處理器,當(dāng)輸入電壓為5.00V時(shí),ADC0808輸出數(shù)據(jù)值為255(FFH),因此單片機(jī)最高的數(shù)值分辨率為0.0196V(5/255)。這就決定了電壓表的最高分辨率只能到0.0196V。11七.總結(jié)通過差不多半個(gè)月的努力,終于我們把作品完成了,我們確實(shí)產(chǎn)生了許多感想,有許多的心得體會。下面簡要列出一些:(1)細(xì)節(jié)決定成?。菏褂密浖途帉懗绦驎r(shí)一定要注意每一個(gè)細(xì)節(jié),一個(gè)分號的遺漏也會造成錯(cuò)誤。制作前一定要做好規(guī)劃設(shè)計(jì),反復(fù)論證和計(jì)算,防止考慮不到的地方使得做好的東西

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論