《單片機(jī)系統(tǒng)設(shè)計(jì)》實(shí)驗(yàn)報(bào)告_第1頁(yè)
《單片機(jī)系統(tǒng)設(shè)計(jì)》實(shí)驗(yàn)報(bào)告_第2頁(yè)
《單片機(jī)系統(tǒng)設(shè)計(jì)》實(shí)驗(yàn)報(bào)告_第3頁(yè)
《單片機(jī)系統(tǒng)設(shè)計(jì)》實(shí)驗(yàn)報(bào)告_第4頁(yè)
《單片機(jī)系統(tǒng)設(shè)計(jì)》實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、短學(xué)期實(shí)驗(yàn)報(bào)告(單片機(jī)系統(tǒng)設(shè)計(jì))題 目 :專(zhuān) 業(yè):指導(dǎo)教師 :學(xué)生姓名 :學(xué) 號(hào) :完成時(shí)間 :成 績(jī) :基于單片機(jī)的交流電壓表設(shè)計(jì)目錄1 系統(tǒng)的設(shè)計(jì)要求 22 系統(tǒng)的硬件要求 22.1 真有效值轉(zhuǎn)換電路的分析 22.2 放大電路的設(shè)計(jì) 32.3 A/D 轉(zhuǎn)換電路的設(shè)計(jì) 32.4 單片機(jī)電路的分析 42.5 顯示電路 4 3 軟件設(shè)計(jì) 53.1 軟件的總流程圖 53.2 初始化定義與定時(shí)器初始化流程 圖 53.3 A/D 轉(zhuǎn)換流程圖 63.4 數(shù)據(jù)處理流程圖 63.5 數(shù)據(jù)顯示流程圖 7 4 調(diào)試 74.1 調(diào)試準(zhǔn)備 74.2 關(guān)鍵點(diǎn)調(diào)試 74.3 測(cè)試結(jié)果 84.4 誤差分析 8 5 結(jié)束語(yǔ)

2、 85.1 總結(jié) 9 5.2 展望 9 附錄 1 總原理圖 10 附錄 2 程序 10 附錄 3 實(shí)物圖 14基于單片機(jī)的交流電壓表設(shè)計(jì)學(xué)院專(zhuān)業(yè)姓名指導(dǎo)老師:1 設(shè)計(jì)要求1)運(yùn)用單片機(jī)實(shí)現(xiàn)真有效值的檢測(cè)和顯示。2)數(shù)據(jù)采集使用中斷方式,顯示內(nèi)容為有效值與峰值交替進(jìn)行。2 硬件設(shè)計(jì)本系統(tǒng)是完成一個(gè)真有效值的測(cè)量和顯示,利用 AD737 將交流電轉(zhuǎn)換成交流電壓 的有效值,用 ADC0804實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,再通過(guò)單片機(jī)用數(shù)碼管來(lái)顯示。系統(tǒng)原理框圖 如圖 2-1所示。系統(tǒng)框圖由真有效值轉(zhuǎn)換電路、 放大電路、A/D 轉(zhuǎn)換電路、單片機(jī)電路、 數(shù)碼管顯示電路五部分。交流轉(zhuǎn)換放大A/D單片機(jī)顯示信號(hào)電路電路轉(zhuǎn)換

3、電路電路圖 2-1 原理框圖2.1 真有效值轉(zhuǎn)換電路 真有效值轉(zhuǎn)換電路主要是利用 AD737芯片來(lái)實(shí)現(xiàn)真有效值直流變換的, 即將輸入 的交流信號(hào)轉(zhuǎn)換成直流信號(hào)的有效值,其原理圖 如圖 2-2 所示。圖 2-2 真有效值轉(zhuǎn)換電路由于 AD737最大輸入電壓為 200mV, 所以需要接兩個(gè)二極管來(lái)限制輸入電壓, 起到限 幅的作用。如圖中 D1、D2,由IN4148構(gòu)成,電容 C6是耦合電容,電阻 R1是限流電阻。2.2 放大電路設(shè)計(jì)放大電路主要是利用運(yùn)放 uA741來(lái)進(jìn)行放大,電路原理圖如圖 2-3 所示圖 2-3 放大電路原理圖由于 AD737 可接受的信號(hào)有效值為 0200mV 。而 ADC0

4、804 、單片機(jī)的電源電 壓都需要 05V ,因此需要一個(gè)放大電路, 將 AD737 輸出的 200mV 的電壓提升至 5V, 所以放大電路的放大倍數(shù)最低需要 25 倍。該放大電路采用集成芯片 uA741 ,連接成 一個(gè)同相比例運(yùn)放,輸入電阻采用 3.3K ,反饋電阻用 100K 的滑動(dòng)變阻器,當(dāng)滑動(dòng)變 阻器處于最大值時(shí),放大倍數(shù)處于最大,為 AVf=(1+R3/R2 ) 31.3 。放大倍數(shù)可以根 據(jù)滑動(dòng)變阻器的滑動(dòng)而改變。2.3 A/D 轉(zhuǎn)換電路A/D 轉(zhuǎn)換電路采用 ADC0804實(shí)現(xiàn),其原理圖如圖 2-4 所示圖 2-4 A/D 轉(zhuǎn)換電路原理圖此電路考慮到做單片機(jī)系統(tǒng)時(shí),需數(shù)據(jù)采集,而數(shù)

5、據(jù)采集能通過(guò) I/O 口擴(kuò)展接口 電路得到,但 51單片機(jī)大多不帶 A/D轉(zhuǎn)換器,所以模擬量的采集必須靠 A/D 實(shí)現(xiàn)。所 謂 A/D轉(zhuǎn)換就是將輸入的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)輸出。 改該電路采用 ADC0804 芯片, 其最快轉(zhuǎn)換時(shí)間為 100us,時(shí)鐘頻率 f=1/(C5*R9) ,可對(duì) 05V 之間的電壓進(jìn)行轉(zhuǎn)換; 輸入基準(zhǔn)電壓為實(shí)際基準(zhǔn)電壓的 1/2;若輸入基準(zhǔn)電壓為 2.56V ,其輸入模擬電壓為 (DATA/256)*2 ,DATA 為轉(zhuǎn)換數(shù)字量。轉(zhuǎn)換結(jié)束信號(hào)輸出到單片機(jī)外中斷 1,如圖 2-4所示。 /RD為外部讀取轉(zhuǎn)換結(jié)果的控制輸出信號(hào)。 /RD為 HI 時(shí), DB0DB7為高阻抗

6、; /RD為L(zhǎng)O時(shí),數(shù)據(jù)才輸出。 /WR用來(lái)啟動(dòng)轉(zhuǎn)換控制輸入,相當(dāng)于 ADC轉(zhuǎn)換開(kāi)始( /CS=0 時(shí)),當(dāng)/WR由 HI 變?yōu)?LO時(shí),轉(zhuǎn)換器被清除;當(dāng) /WR為 HI 時(shí)開(kāi)始轉(zhuǎn)換。 CLKI N,CLK R: 接振蕩電路,振蕩頻率為 1/(1.1RC) ,如圖中 R9、C6,ADC0804的最大輸入電壓為 5V, 輸出轉(zhuǎn)換值為 0255,R5、R11 組成分壓電路,為 VREF提供基準(zhǔn)電壓。根據(jù) ADC0804原 理圖,將輸入模擬值轉(zhuǎn)換成數(shù)字值后由 P0口輸出。2.4 單片機(jī)電路單片機(jī)電路主要是單片機(jī)的最小系統(tǒng),其原理圖如圖 2-5 所示圖 2-5 單片機(jī)電路原理圖該部分電路主要由 89S

7、51、晶振和復(fù)位電路組成其原理圖如 2-6所示。采用 12M的晶 振,機(jī)器周期為 0.1us;上電復(fù)位;信號(hào)輸入到外中斷 0,在中斷中啟動(dòng) AD 轉(zhuǎn)換; AD轉(zhuǎn) 換結(jié)束標(biāo)志作為外中斷 1的中斷源,在中斷 1中讀取數(shù)據(jù)并保存; P1口為數(shù)碼管提供斷碼; P0.0P0.7分別為 AD的啟動(dòng)信號(hào)、 AD的讀取信號(hào)和數(shù)碼管的掃描信號(hào)。2.5 顯示電路顯示電路采用數(shù)碼管來(lái)顯示如圖 2-6 所示。圖2-6顯示電路原理圖該部分電路采用 3位數(shù)碼管來(lái)交替顯示所測(cè)電壓的有效值和峰值, 同時(shí)數(shù)碼管采用 動(dòng)態(tài)顯示,每 1ms刷新一位, 用3個(gè)8550的PNP型三極管來(lái)片選。 圖中smg0smg7與單片 機(jī)P0口相連

8、接,三極管的集電極分別與共陽(yáng)數(shù)碼管 9腳相連接,基極分別與單片機(jī)的 P2.1P2.3相連接。3 軟件設(shè)計(jì)3.1 總軟件流程 總軟件流程圖如圖 3-1 所示:圖 3-1 總軟件流程圖3.2 初始化程序 初始化程序主要是定義主程序中要用的變量和定時(shí)器的初始化。 變量定義如下: unchar dat;/AD 采樣數(shù)據(jù)變量unchar tab3;/顯示數(shù)據(jù)各個(gè)位存儲(chǔ)數(shù)組定時(shí)器初始化流程圖如圖 3-2 所示:圖 3-2 定時(shí)器初始化流程圖3.3 AD 采樣程序AD 采樣主要是根據(jù) ADC0804 的時(shí)序進(jìn)行對(duì)外部數(shù)據(jù)的采用讀取。其中包括 AD初始化時(shí)序和 AD 數(shù)據(jù)讀取程序。 AD 時(shí)序圖 3-3 所示

9、:圖 3-3 AD 時(shí)序圖根據(jù) 3-3 圖所示時(shí)序,寫(xiě)出 AD 程序流程圖,如圖 3-4 所示圖 3-4 AD 程序流程圖3.4 數(shù)據(jù)處理程序AD對(duì) AD 采樣的數(shù)據(jù)必須進(jìn)行處理才能正常地顯示。首先的要把十六進(jìn)制數(shù)的 值轉(zhuǎn)換成十進(jìn)制數(shù),然后進(jìn)行值處理,求出有效值,峰值,接著分別求出數(shù)據(jù)中的各 個(gè)位上的數(shù)字,以便顯示。其程序流程圖如圖 3-7 所示。圖 3-7 數(shù)據(jù)處理程序流程圖3.5 數(shù)據(jù)顯示程序 數(shù)據(jù)顯示主要是用數(shù)碼管動(dòng)態(tài)掃描的方法。其程序流程圖如土 3-8 所示圖 3-8 數(shù)據(jù)顯示程序流程圖4 調(diào)試4.1 調(diào)試準(zhǔn)備 調(diào)試所用到的儀器有萬(wàn)用表、直流穩(wěn)壓電源、示波器、信號(hào)發(fā)生器。運(yùn)用萬(wàn)用表 來(lái)

10、測(cè)量電阻、電壓,直流穩(wěn)壓電源接正負(fù) Vs和地,信號(hào)發(fā)生器產(chǎn)生信號(hào),示波器顯示 輸出波形和峰值。4.2 關(guān)鍵點(diǎn)調(diào)試(1)、放大電路調(diào)試前要先進(jìn)行調(diào)零,即將運(yùn)放的 2個(gè)輸入端(同相輸入端和反向輸 入端)對(duì)地短路,用萬(wàn)用表測(cè)輸出電壓,調(diào)節(jié)滑動(dòng)變阻器 R1,使輸出電壓為 0,如果不進(jìn)行調(diào)零,則會(huì)導(dǎo)致輸出電壓有偏差。( 2)、注意輸入 A/D的基準(zhǔn)電壓為 1/2vef, 同時(shí)最合適的基準(zhǔn)電壓為 2.56V, 以便計(jì)算時(shí) 方便。4.2.1 放大波形(1)、理論波形2)、實(shí)際波形4.2.2 顯示電路4.3 測(cè)試結(jié)果4.4 誤差分析( 1)放大電路的放大倍數(shù)會(huì)因輸入電阻, 反饋電阻與理論值有偏差而存在一定的誤

11、 差,放大倍數(shù)過(guò)大會(huì)波形互失真;( 2)當(dāng)ADC0804的基準(zhǔn)電壓為 2.56V時(shí),其最小分辨率為 20mv,因此測(cè)量值會(huì)有 20mv 的偏差;(3)輸入信號(hào)存在干擾和波動(dòng);(4)偏置電壓引起的誤差。5 結(jié)束語(yǔ)5.1 總結(jié) 通過(guò)本次短學(xué)期的實(shí)驗(yàn),使我對(duì)很多芯片有了一定的了解和鞏固,對(duì)它們的功能 有了一定的熟悉和掌握。如 AD737,該芯片可以用來(lái)將交流電轉(zhuǎn)換成真有效值的直流 電,如 ADC0804芯片可實(shí)現(xiàn)數(shù)模轉(zhuǎn)換,同時(shí)對(duì)真有效值的轉(zhuǎn)換、放大等電路的設(shè)計(jì)有 了進(jìn)一步的理解和掌握。在電路設(shè)計(jì)中必須注意電路中各元件值的選擇會(huì)影響電路最終的結(jié)果。當(dāng)在設(shè)計(jì) 放大電路時(shí),輸入電阻、反饋電阻的不同就會(huì)使放

12、大倍數(shù)有所不同,根據(jù)題目要求和 芯片的資料,必須保證最低放大倍數(shù) 25,因此如放大倍數(shù)太小則不能滿(mǎn)足要求,而太 大則會(huì)導(dǎo)致輸出波形的失真。因此,要合理選擇各元件的值。在電路調(diào)試時(shí),應(yīng)該分 模塊進(jìn)行調(diào)試,及時(shí)發(fā)現(xiàn)問(wèn)題解決問(wèn)題, 等所有模塊都調(diào)試成功再進(jìn)行總體的調(diào)試。 最 后要根據(jù)自己所測(cè)的結(jié)果,進(jìn)行分析,尤其對(duì)測(cè)試出的結(jié)果與理論結(jié)果進(jìn)行比較,是 否有誤差,并分析形成誤差的原因,如何減少誤差。5.2 展望 雖然該電路已經(jīng)基本能實(shí)現(xiàn)對(duì)真有效值的測(cè)量和顯示,但測(cè)量結(jié)果還存在著較大 的誤差,電路設(shè)計(jì)還有待于進(jìn)一步的完善,各部分電路的穩(wěn)定性也有待于進(jìn)一步的提 高,希望通過(guò)更進(jìn)一步的研究和學(xué)習(xí),實(shí)現(xiàn)用更少的

13、元件,設(shè)計(jì)出更加合理、更高效 的電路。附錄:1 總原理圖2 程序清單主程序模塊 #include #include #includeadc0804.h #includesmgdis.h#define unchar unsigned char#define unint unsigned int unchar count=0;10unchar ID=0; /任務(wù) ID,時(shí)間片分配 ID#define a 0.5 static unchar y;static time_init()TMOD=0x01;/* 定時(shí)器 T0方式 1(16位計(jì)數(shù)器) */* 公式為: x=65536-fosc/12*t 6

14、5536-50000=15536 其中x為定時(shí)初值, fosc 為晶振頻率, t 為定時(shí)時(shí)間 */TH0=15536/256; /* 定時(shí)器高位 */TL0=15536%256; /*定時(shí)器低位 , 定時(shí)時(shí)間為 50ms , 20次為1s */ET0=1;/* 允許定時(shí)器 T0中斷 */TR0=1;/* 開(kāi)定時(shí)器 T0*/EA=1;/* 開(kāi)總中斷 */void main()unchar dat;unchar tab3;time_init();while(1)dat=get_adc_value();value_done(dat,tab,ID);led_display(tab0,tab1,tab2

15、);void timer0() interrupt 1TR0=0;TH0=15536/256;TL0=15536%256; /* 重裝初值 */ count+; /* 計(jì)數(shù),累加中斷次數(shù) */ if(count=20) /*判斷是否到 10次,即 0.5s*/count=0;ID+; /* 轉(zhuǎn)換下一個(gè)顯示 */ if(ID=3) ID=0;11TR0=1;A/D 轉(zhuǎn)換模塊:(頭文件) #ifndef _ADC0804_H_ #define _ADC0804_H_ #ifndef unchar#define unchar unsigned char#endif#ifndef unint#defi

16、ne unint unsigned int#endif #define adc_databus P1 /the databus of ADCsbit cs_adc=P20;sbit wr=P36;sbit rd=P37;/to choose the chip ADC0804 /wr# signal/rd# signal void value_done(unint tvdata,unchar led,unchar ID)unint temp;/temp=(unint)(tvdata*1.0/255*500);temp=(unint)(tvdata*2);switch(ID)case 0:/有效值

17、break;case 1:/峰值 temp*=sqrt(2);break;default: /其他情況break; led0=(temp/100)%10;/最高位 led1=(temp/10)%10; led2=temp%10;/最低位if(led010|led010|led110|led20) led0=11;12 unchar get_adc_value(void)unchar k;unint tvdata;/adc0804 start/cs_adc=0; k=k; /nop wr=0; k=k; wr=1; k=k;cs_adc=1; k=k;k=k;k=k;/read value of

18、 adc0804/adc_databus=0xff;cs_adc=0; k=k;rd=0; k=k; tvdata=adc_databus;rd=1; k=k;cs_adc=1; k=k;return tvdata;#endif 顯示模塊(頭文件) #ifndef _SMGDIS_H_ #define _SMGDIS_H_ #ifndef unchar #define unchar unsigned char #endif#ifndef unint#define unint unsigned int#endif/* 全局變量定義 */#define DataBus P0 /數(shù)據(jù)口定義 sbit c0=P21; /數(shù)碼管 0 控制腳 sbit c1=P22; /數(shù)碼管 1 控制腳 sbit c2=P23; /數(shù)碼管 2 控制腳 void delay(void)unchar i; unchar t=1; while(t-)13 for(i=0;i125;i+);void led_display(unchar a,unchar b,unchar c)/*共陽(yáng)數(shù)碼管數(shù)字碼 09+全暗碼 */Unchar code tab012=0xc0,0xf9,0xa4

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論