




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)原理及應(yīng)用課程設(shè)計(jì)報(bào)告書題 目:簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)姓 名:學(xué) 號(hào): 專 業(yè):電氣工程及其自動(dòng)化電子與信息工程學(xué)院目 錄1.引 言11.1.設(shè)計(jì)意義11.2.系統(tǒng)功能要求12.方案設(shè)計(jì)13.硬件設(shè)計(jì)24.軟件設(shè)計(jì)35.系統(tǒng)調(diào)試56.設(shè)計(jì)總結(jié)57.附 錄A;源程序68.附 錄B;作品實(shí)物圖片109.參考文獻(xiàn)11簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)1引言1.1. 設(shè)計(jì)意義本課題的設(shè)計(jì)是基于AT89C52單片機(jī)為控制系統(tǒng),ADC0809為轉(zhuǎn)換的簡(jiǎn)易數(shù)字電壓表。其意義主要有兩個(gè)方面:其一,主要是檢驗(yàn)我們對(duì)單片機(jī)原理及應(yīng)用這門課的掌握程度包括硬件的組裝與軟件調(diào)試;其二,了解單片機(jī)的應(yīng)用。1.2. 系統(tǒng)功能要求簡(jiǎn)易
2、數(shù)字電壓表可以測(cè)量05V的8路輸入電壓值,并在4位LED數(shù)碼管上輪流顯示或單路選擇顯示。測(cè)量誤差約為0.02V。2. 方案設(shè)計(jì)按系統(tǒng)功能實(shí)現(xiàn)要求,決定控制系統(tǒng)采用AT89C52單片機(jī),A/D轉(zhuǎn)換采用ADC0809.系統(tǒng)除能實(shí)現(xiàn)要求的功能外,還能方便的進(jìn)行8路其他A/D轉(zhuǎn)換量的測(cè)量,遠(yuǎn)程測(cè)量結(jié)果傳送等拓展功能。數(shù)字電壓表系統(tǒng)設(shè)計(jì)方案框圖如圖2.1所示: AT89C52 4位LED顯示 ADC0809 上位復(fù)電 串口通信 電源電路 P0 P2 P1 P3 圖2.1 數(shù)字電壓表系統(tǒng)設(shè)計(jì)方案框圖3. 硬件設(shè)計(jì)簡(jiǎn)易數(shù)字電壓測(cè)量由A/D轉(zhuǎn)換、數(shù)據(jù)處理及顯示控制等組成,電路原理圖如圖3.1所示,A/D轉(zhuǎn)換有
3、集成電路ADC0809完成。ADC0809據(jù)有8路模擬輸入端口,地址線(第2325腳)可決定對(duì)哪一路模擬輸入作A/D轉(zhuǎn)換。第22腳為地址鎖存控制,當(dāng)輸入為高電平時(shí),對(duì)地址信號(hào)進(jìn)行鎖存,第6腳為測(cè)試控制,當(dāng)輸入一個(gè)2us寬高電平脈沖時(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ù)從端口輸出。 單片機(jī)的P1、P3.0P3.3端口作為四位LED數(shù)碼管顯示控制。其中P1端口控制段碼,P3.0P3.3端口控制位選。P3.5端口用作單路顯示/循環(huán)轉(zhuǎn)換按鈕,P3.6端口用作單路顯示時(shí)選擇顯示的通道。
4、P0端口作A/D轉(zhuǎn)換數(shù)據(jù)讀入,P2端口用作ADC0809的A/D轉(zhuǎn)換控制。 圖3.1 數(shù)字電壓表電路原理圖AT89C52芯片引腳圖如圖3.2所示圖3.2 AT89C52芯片引腳圖4. 軟件設(shè)計(jì)系統(tǒng)上電后,先進(jìn)行程序初始化。在剛上電時(shí),系統(tǒng)默認(rèn)為循環(huán)顯示8個(gè)通道的電壓值狀態(tài),當(dāng)進(jìn)行一次測(cè)量后,將顯示每一通道的A/D轉(zhuǎn)換值,每個(gè)通道的數(shù)據(jù)顯示時(shí)間為1s左右。主程序在調(diào)用顯示子程序與測(cè)量子程序之間循環(huán)。主程序流程圖如4.1所示。顯示子程序采用動(dòng)態(tài)掃描法實(shí)現(xiàn)4位數(shù)碼管的數(shù)值顯示。測(cè)量所得的A/D轉(zhuǎn)換數(shù)據(jù)放在數(shù)組中,測(cè)量數(shù)據(jù)在顯示時(shí)須經(jīng)過轉(zhuǎn)換成為十進(jìn)制BCD碼放在對(duì)應(yīng)的數(shù)組中。A/D轉(zhuǎn)換測(cè)量子程序用來控
5、制對(duì)ADC0809的8路模擬輸入電壓的A/D轉(zhuǎn)換,并將對(duì)應(yīng)的數(shù)值放在數(shù)組中。A/D轉(zhuǎn)換測(cè)量子程序流程圖如圖4.2所示。開始 初始化 調(diào)用A/D轉(zhuǎn)換測(cè)量子程序 調(diào)用顯示子程序 圖4.1 主程序流程圖 開始 啟動(dòng)測(cè)試(TESTART) A/D 轉(zhuǎn)換結(jié)束? (P3.7=1?) ADC0809地址加1 取數(shù)據(jù)(P2.5=1) 地址數(shù)小于8? 結(jié)束 N Y N Y 圖4.2A/D轉(zhuǎn)換測(cè)量子程序流程圖5. 系統(tǒng)調(diào)試線路連接完成后,首先檢查是否有線松動(dòng)的情況,然后要將連接實(shí)驗(yàn)板的正負(fù)極的銅線切斷,以免造成短路。調(diào)試中分塊檢查錯(cuò)誤,首先要檢查數(shù)碼管是否完好。判斷選通位以及段碼是否線接好。若數(shù)碼管檢查完畢,無故
6、障。則看數(shù)碼管與單片機(jī)是否接通,通電,數(shù)碼管是否顯示。若不顯示,則檢查線路有無虛焊。直至無誤。最后判斷ADC0809是否起作用,依據(jù)就是數(shù)碼管是否循環(huán)顯示。若不顯示,仍然是檢查線路有無虛焊。硬件部分完畢,則進(jìn)行軟件調(diào)試。采用 Kiel C51 編譯器進(jìn)行源程序編譯及仿真調(diào)試,同時(shí)進(jìn)行硬件電路板的設(shè)計(jì)制作,燒錄好程序后進(jìn)行軟硬件聯(lián)調(diào),最后進(jìn)行端口電壓的對(duì)比測(cè)試。測(cè)試對(duì)比表如下表5-1所示。 表5-1 簡(jiǎn)易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對(duì)比測(cè)試表標(biāo)準(zhǔn)電壓值/V 0.00 0.25 0.68 1.00 1.50 1.80 2.30 3.40 4.60 簡(jiǎn)易電壓表測(cè)得值/V 0.00 0.26 0.6
7、9 1.02 1.51 1.81 2.32 3.41 4.61 絕對(duì)誤差/V 0.00 +0.01 +0.01 +0.02 +0.01 +0.01 +0.02 +0.01 +0.01 6. 設(shè)計(jì)總結(jié)通過本次課程設(shè)計(jì),對(duì)單片機(jī)的接口技術(shù)連接有了一定的掌握,以前是用的單片機(jī)學(xué)習(xí)開發(fā)板,是現(xiàn)成的模塊。這次得親自設(shè)計(jì)板塊的布局及其布線。布局過程中,各芯片的排列順序尤其重要,應(yīng)盡量的減少連線,充分利用底板的優(yōu)勢(shì)。布線方面,本次做的較差,是焊一根線,再布一根線,在這點(diǎn)上得引起重視。對(duì)以后的設(shè)計(jì)中,先規(guī)劃好布線,然后再開始焊線。實(shí)驗(yàn)中用到模/數(shù)轉(zhuǎn)換芯片ADC0809,開始對(duì)其只有了一個(gè)初步的認(rèn)識(shí)。通過本次的
8、應(yīng)用,掌握了其原理及其應(yīng)用。這是我第一次在底板反面焊線,反面焊線與正面焊線的一個(gè)弊端之處,在于,焊線很容易脫焊。尤其是當(dāng)焊完后過一段時(shí)間,再調(diào)試時(shí),就很有可能會(huì)不成功,得重新檢查焊線的情況。然后還有一點(diǎn)值得注意的是,焊線最后首先通過原理圖畫其反面的實(shí)物連接圖,然后再開始焊接,不然很容易出錯(cuò)。在這點(diǎn)上我就出了錯(cuò)誤,數(shù)碼管和ADC部分就焊接了兩遍。通過本次課程設(shè)計(jì)的教訓(xùn),相信會(huì)對(duì)以后的設(shè)計(jì)起一定的作用。7. 附 錄A;源程序#include <reg52.h> #include <intrins.h> /調(diào)用_nop_();延時(shí)函數(shù)用#define ad_con P2 /A
9、D控制口#define addata P0 /AD數(shù)據(jù)計(jì)入讀入口#define Disdata P1 /顯示數(shù)據(jù)段碼輸出口#define uchar unsigned char /無符號(hào)字符(8位)#define uint unsigned int /無符號(hào)整數(shù)(16位)sbit ALE=P23; /鎖存地址控制位sbit START=P24; /啟動(dòng)一次轉(zhuǎn)換位sbit OE=P25; /0809輸出數(shù)據(jù)控制位sbit EOC=P37; /轉(zhuǎn)換結(jié)束標(biāo)志位sbit DISX=Disdata7; /LED小數(shù)點(diǎn)sbit CLK=P34;sbit da_xun=P35;sbit tongdao=P3
10、6;uchar z,q;uchar code dis_711=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff;/* 共陽(yáng)七段LED段碼表 "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮" */ uchar code scan_con4=0xfe,0xfd,0xfb,0xf7;
11、/四位列掃描控制字uchar data ad_data8=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/定義8個(gè)數(shù)據(jù)內(nèi)存單元uint data dis5=0x00,0x00,0x00,0x00,0x00; /定義4個(gè)顯示數(shù)據(jù)單元、1個(gè)數(shù)據(jù)暫存單元/*1毫秒延時(shí)子函數(shù)*/void delay1ms(uint t)uint i,j;for(i=0;i<t;i+) for(j=0;j<120;j+);void t0(void) interrupt 1 using 3 CLK=CLK; test() uchar m; uchar s=0x00;TR0=1
12、;ad_con=s;for(m=0;m<8;m+) ALE=0; _nop_(); _nop_(); ALE=1; /轉(zhuǎn)換通道地址鎖存 START=1; _nop_();_nop_();_nop_();_nop_(); START=0; /開始轉(zhuǎn)換命令 _nop_(); _nop_(); _nop_(); _nop_(); /延時(shí)4微秒 while(EOC=0); /等待轉(zhuǎn)換結(jié)束 OE=1; ad_datam=addata; OE=0;s+; ad_con=s;/取AD值,地址加1 ad_con=0x00;TR0=0;scan(uchar i)uchar k,n,m;int h;m=i;
13、 dis3=0x00; /通道初值為0 If(m=0)for(n=0;n<8;n+) /每次顯示8個(gè)數(shù)據(jù) dis2=ad_datan/51; /測(cè)得值轉(zhuǎn)換為三位BCD碼,最大為5.00V dis4=ad_datan%51; / 余數(shù)暫存 dis4=dis4*10; /計(jì)算小數(shù)第一位 dis1=dis 4/51; / dis4=dis4%51; / dis4=dis4*10; /計(jì)算小數(shù)第二位 dis0=dis4/51; / for(h=0;h<500;h+) /每個(gè)通道值顯示時(shí)間控制(約1秒) for(k=0;k<4;k+) /四位LED掃描控制 Disdata=dis_7d
14、isk; if(k=2) DISX=0; P3=scan_conk; delay1ms(1); P3=0xff; dis3+; /通道值加1 ; if(n=8) n=0;k=0; if(m=1) dis3=dis3+q; dis2=ad_dataq/51; /測(cè)得值轉(zhuǎn)換為三位BCD碼,最大為5.00V dis4=ad_dataq%51; / 余數(shù)暫存 dis4=dis4*10; /計(jì)算小數(shù)第一位 dis1=dis4/51; / dis4=dis4%51; / dis4=dis4*10; /計(jì)算小數(shù)第二位 dis0=dis4/51; / for(h=0;h<500;h+) /每個(gè)通道值顯示
15、時(shí)間控制(約1秒) for(k=0;k<4;k+) /四位LED掃描控制 Disdata=dis_7disk; if(k=2) DISX=0; P3=scan_conk; delay1ms(3); P3=0xff; Void key()if(da_xun=0)delay1ms(1);if(da_xun=0) z=z+; if(z=2) z=0; while(!da_xun);if(tongdao=0)delay1ms(1);if(tongdao=0)q+;if(q>7)q=0;while(!tongdao);/*主函數(shù)*/void main()P0=0xff; /初始化端口 P2=0x00;P1=0xff;P3=0xff; _nop_(); _nop_(); _nop_();
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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年中國(guó)校表機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)干線放大器市場(chǎng)調(diào)查研究報(bào)告
- 2024年度浙江省二級(jí)注冊(cè)建筑師之法律法規(guī)經(jīng)濟(jì)與施工考前沖刺試卷A卷含答案
- 2024年度浙江省二級(jí)注冊(cè)建筑師之建筑結(jié)構(gòu)與設(shè)備押題練習(xí)試卷A卷附答案
- 2025年中國(guó)仿古畫舫游船市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)乙二醇一乙醚市場(chǎng)調(diào)查研究報(bào)告
- 高檔住宅小區(qū)停車位所有權(quán)變更合同范本
- 商業(yè)街場(chǎng)地租賃合同補(bǔ)充條款模板
- 商業(yè)地產(chǎn)項(xiàng)目場(chǎng)地獲取合同書
- 城市綜合體公共停車場(chǎng)租賃管理協(xié)議
- 2024年湖北省中考?xì)v史真題
- 2024小學(xué)六年級(jí)人教版道德與法治升學(xué)畢業(yè)小升初試卷及答案(時(shí)政+上下冊(cè)考點(diǎn))04
- 期末考試試卷(試題)-2023-2024學(xué)年三年級(jí)下冊(cè)數(shù)學(xué)北師大版
- 人教版2024年數(shù)學(xué)小升初模擬試卷(含答案解析)
- 市場(chǎng)營(yíng)銷學(xué)智慧樹知到期末考試答案章節(jié)答案2024年廣東石油化工學(xué)院
- 架空送電線路導(dǎo)線及避雷線液壓施工工藝規(guī)程
- 森林管護(hù)工考試考試題庫(kù)(強(qiáng)化練習(xí))
- GB/T 3880.2-2024一般工業(yè)用鋁及鋁合金板、帶材第2部分:力學(xué)性能
- 藝術(shù)中國(guó)智慧樹知到期末考試答案2024年
- 2024年中央財(cái)政支持社會(huì)組織參與社會(huì)服務(wù)項(xiàng)目資金管理與財(cái)務(wù)管理指引
- 四川省公需科目2024年度數(shù)字經(jīng)濟(jì)與驅(qū)動(dòng)發(fā)展考試題庫(kù)及答案
評(píng)論
0/150
提交評(píng)論