基于STC15S2K60單片機(jī)數(shù)字電壓表(共13頁(yè))_第1頁(yè)
基于STC15S2K60單片機(jī)數(shù)字電壓表(共13頁(yè))_第2頁(yè)
基于STC15S2K60單片機(jī)數(shù)字電壓表(共13頁(yè))_第3頁(yè)
基于STC15S2K60單片機(jī)數(shù)字電壓表(共13頁(yè))_第4頁(yè)
基于STC15S2K60單片機(jī)數(shù)字電壓表(共13頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 PAGE 2信息(xnx)與電氣工程學(xué)院?jiǎn)纹瑱C(jī)課程設(shè)計(jì)報(bào)告(bogo)題 目: 專 業(yè): 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)(zhdo)教師: 信息與電氣工程學(xué)院課程設(shè)計(jì)任務(wù)書20 20 學(xué)年(xunin)第 學(xué)期(xuq)專業(yè)(zhuny): 班級(jí): 學(xué)號(hào): 姓名: 課程設(shè)計(jì)名稱: 設(shè)計(jì)題目: 完成期限:自 年 月 日至 年 月 日共 周設(shè)計(jì)依據(jù)、要求及主要內(nèi)容(可另加附頁(yè)):指導(dǎo)教師(簽字): 批準(zhǔn)日期: 年 月 日目錄(ml) TOC o 1-3 h z u HYPERLINK l _Toc422787230 一、課程設(shè)計(jì)的目的(md) PAGEREF _Toc422787230 h

2、4 HYPERLINK l _Toc422787231 二、實(shí)驗(yàn)(shyn)要求 PAGEREF _Toc422787231 h 4 HYPERLINK l _Toc422787232 三、設(shè)計(jì)方案的描述 PAGEREF _Toc422787232 h 4 HYPERLINK l _Toc422787233 四、硬件原理圖 PAGEREF _Toc422787233 h 5 HYPERLINK l _Toc422787234 五、基本原理和元器件說明 PAGEREF _Toc422787234 h 5 HYPERLINK l _Toc422787235 1. ADC原理和內(nèi)部結(jié)構(gòu) PAGERE

3、F _Toc422787235 h 5 HYPERLINK l _Toc422787236 2. TL431的功能與應(yīng)用 PAGEREF _Toc422787236 h 6 HYPERLINK l _Toc422787237 3. 74HC595簡(jiǎn)介 PAGEREF _Toc422787237 h 7 HYPERLINK l _Toc422787238 六、程序流程圖 PAGEREF _Toc422787238 h 7 HYPERLINK l _Toc422787239 七、源程序清單 PAGEREF _Toc422787239 h 8 HYPERLINK l _Toc422787240 八、

4、心得體會(huì) PAGEREF _Toc422787240 h 12 HYPERLINK l _Toc422787241 九、參考文獻(xiàn) PAGEREF _Toc422787241 h 12一、課程設(shè)計(jì)的目的(md)通過單片機(jī)原理與應(yīng)用這門課的課程設(shè)計(jì),學(xué)生應(yīng)能對(duì)STC15系列單片機(jī)有一個(gè)全面的認(rèn)識(shí),掌握以STC15系列單片機(jī)為核心(hxn)的電子電路的設(shè)計(jì)方法和應(yīng)用技術(shù)。1.進(jìn)一步掌握ADC轉(zhuǎn)換的原理(yunl)和編程方法。 2.進(jìn)一步掌握TL431基準(zhǔn)電壓的原理及使用方法。 3.進(jìn)一步掌握中斷處理程序的編程方法。二、實(shí)驗(yàn)要求用STC15F2K60S2單片機(jī)和ADC0809構(gòu)成數(shù)字電壓表,測(cè)量0-5

5、v的電壓,將所測(cè)電壓用4位數(shù)碼管動(dòng)態(tài)顯示出來。三、設(shè)計(jì)方案的描述1.讀ADC測(cè)量外部電壓,使用外部TL431基準(zhǔn)計(jì)算電壓,計(jì)算公式為g = (u16)(u32)j * 2.5 / Bandgap),Bandgap為基準(zhǔn)電壓數(shù)字量,j為相應(yīng)按鍵模擬量逐次比較后對(duì)應(yīng)的數(shù)字量,g為測(cè)得的相應(yīng)按鍵電壓。2.用STC的MCU的IO方式控制74HC595驅(qū)動(dòng)8位數(shù)碼管。3.用戶可以修改宏來選擇時(shí)鐘頻率。使用Timer0的16位自動(dòng)重裝來產(chǎn)生1ms節(jié)拍,程序運(yùn)行于這個(gè)節(jié)拍下, 用戶修改MCU主時(shí)鐘頻率時(shí),自動(dòng)定時(shí)于1ms。4.右邊4位數(shù)碼管顯示測(cè)量的電壓值,左邊4位數(shù)碼管顯示的是基準(zhǔn)電壓值。5.外部電壓從板

6、上測(cè)溫電阻兩端輸入, 輸入電壓0VDD, 不要超過VDD或低于0V。 6.實(shí)際項(xiàng)目串一個(gè)1K的電阻到ADC輸入口, ADC輸入口再并一個(gè)電容到地。7.總體框圖如下圖1-1:四、硬件(yn jin)原理圖硬件(yn jin)原理圖如下:圖 1-2 硬件(yn jin)原理圖五、基本原理和元器件說明1. ADC原理和內(nèi)部結(jié)構(gòu)STC15F2K60S2單片機(jī)ADC輸入通道與P1口復(fù)用,上電復(fù)位后P1口為弱上拉型I/O口,用戶可通過設(shè)置P1ASF特殊功能寄存器將8路中的任何一路設(shè)置為ADC輸入通道,不用作ADC輸入通道仍可作為一般I/O口使用。 圖 1-3 ADC原理圖STC15F2K60S2單片機(jī)AD

7、C模塊的參考(cnko)電壓源(VREF)就是(jish)輸入工作電源VCC,無專門(zhunmn)ADC參考電壓輸入通道。如果VCC不穩(wěn)定,如電池的供電系統(tǒng)中,電壓常常在5.34.2V之間漂移,則可以在8路A/D轉(zhuǎn)換通道的任一通道上接一個(gè)基準(zhǔn)電源(如2.50V基準(zhǔn)電壓),以此計(jì)算出此時(shí)的工作電壓VCC,再計(jì)算其它輸入通道的模擬輸入電壓。STC15F2K60S2單片機(jī)的A/D模塊主要是由P1ASF、ADC_CONTR、ADC_RES和ADC_RESL等四個(gè)特殊功能寄存器進(jìn)行控制與管理的。P1ASF的8個(gè)控制位與P1口的8個(gè)口線是一一對(duì)應(yīng)的,即P1ASF.7P1ASF.0對(duì)應(yīng)控制P1.7P1.0

8、,為“1”,對(duì)應(yīng)P1口口線為ADC的輸入通道;為“0”,其它I/O口功能。 P1ASF的格式如下:圖 1-4 P1ASF寄存器本實(shí)驗(yàn)中利用了P1ASF寄存器的D4和D2亦即單片機(jī)上P1.2和P1.口,其中P1.2口用于獲取基準(zhǔn)電壓模擬值,P1.口用于獲取按鍵的模擬值。ADC0809是10位的A/D轉(zhuǎn)換器。當(dāng)輸入電壓為5.00V時(shí),輸出的數(shù)據(jù)值為255(0FFH),因此最大分辨率為0.0196(5/255)。ADC0809具有8路模擬量輸入端口,可以輸出10位ADC 。通過3位地址輸入端能從8路中選擇一路進(jìn)行轉(zhuǎn)換。如每隔一段時(shí)間依次輪流改變3位地址輸入端的地址,就能依次對(duì)8 路輸入電壓進(jìn)行測(cè)量。

9、LED數(shù)碼管顯示采用軟件譯碼動(dòng)態(tài)顯示。通過按鍵選擇可對(duì)8路循環(huán)顯示,也可單路顯示,單路顯示可通過按鍵選擇顯示的通道數(shù)。圖 1-5 ADC結(jié)構(gòu)控制寄存器2. TL431的功能與應(yīng)用TL431是輸出可調(diào)的基準(zhǔn)電壓源,在儀表中的作用是給模擬電路提供一個(gè)穩(wěn)定準(zhǔn)確的參考電壓源。這些基準(zhǔn)的特性使他們能在數(shù)字電壓表、電源和運(yùn)放電路等許多應(yīng)用中代替齊納二極管。2.5V參考從5.0V邏輯電源可方便地獲得穩(wěn)定參考電壓。TL431塑料封裝外殼如圖1-6所示。管腳:1.參考2.陽(yáng)極3.陰極圖 1-6 塑料封裝外殼(wi k)及符號(hào)TL431為用于多方面的可編程精密參考。在需要非標(biāo)準(zhǔn)參考電壓的電路中它可作為參考電壓。其

10、它用途包括驅(qū)動(dòng)電壓監(jiān)視器、恒流源、橫流宿、串聯(lián)(chunlin)穩(wěn)壓器和電源中的光耦合器的反饋控制。在每項(xiàng)上述應(yīng)用中在各種工作電流和負(fù)載(fzi)電容情況下保持器件穩(wěn)定性相當(dāng)關(guān)鍵。3. 74HC595簡(jiǎn)介8位串行輸入 /8位串行或并行輸出 存儲(chǔ)狀態(tài)寄存器。并行輸出,總線驅(qū)動(dòng); 串行輸入;標(biāo)準(zhǔn)中等規(guī)模集成電路。圖 1-7 74HC595六、程序(chngx)流程圖圖 1-8 程序(chngx)流程圖七、源程序清單/*本程序功能(gngnng)說明*讀ADC測(cè)量外部電壓,使用外部TL431基準(zhǔn)計(jì)算電壓.用STC的MCU的IO方式控制74HC595驅(qū)動(dòng)8位數(shù)碼管。用戶可以修改宏來選擇時(shí)鐘頻率.使用T

11、imer0的16位自動(dòng)重裝來產(chǎn)生1ms節(jié)拍,程序運(yùn)行于這個(gè)節(jié)拍下, 用戶修改MCU主時(shí)鐘頻率時(shí),自動(dòng)定時(shí)于1ms.右邊4位數(shù)碼管顯示測(cè)量的電壓值值.外部電壓從板上測(cè)溫電阻兩端輸入, 輸入電壓0VDD, 不要超過VDD或低于0V. 實(shí)際項(xiàng)目使用請(qǐng)串一個(gè)1K的電阻到ADC輸入口, ADC輸入口再并一個(gè)電容到地.*/#define MAIN_Fosc22118400L/定義主時(shí)鐘#includeSTC15Fxxxx.H/*/#define DIS_DOT0 x20#define DIS_BLACK0 x10#define DIS_0 x11#define P1n_pure_input(bitn)P1

12、M1 |= (bitn),P1M0 &= (bitn)/* 用戶定義宏 */#defineCal_MODE 0/每次測(cè)量只讀1次ADC. 分辨率0.01V/#defineCal_MODE 1/每次測(cè)量連續(xù)(linx)讀16次ADC 再平均計(jì)算. 分辨率0.01V#defineTimer0_Reload(65536UL -(MAIN_Fosc / 1000)/Timer 0 中斷(zhngdun)頻率, 1000次/秒/*本地(bnd)常量聲明*/u8 code t_display=/標(biāo)準(zhǔn)字庫(kù)/0 1 2 3 4 5 6 7 8 9 A B C D E F0 x3F,0 x06,0 x5B,0

13、x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71,/black - H J K L No P U t G Q r M y0 x00,0 x40,0 x76,0 x1E,0 x70,0 x38,0 x37,0 x5C,0 x73,0 x3E,0 x78,0 x3d,0 x67,0 x50,0 x37,0 x6e,0 xBF,0 x86,0 xDB,0 xCF,0 xE6,0 xED,0 xFD,0 x87,0 xFF,0 xEF,0 x46;/0. 1. 2. 3. 4. 5. 6. 7. 8.

14、 9. -1u8 code T_COM=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80;/位碼/*IO口定義*/sbitP_HC595_SER = P40;/pin 14SERdata inputsbitP_HC595_RCLK = P54;/pin 12RCLkstore (latch) clocksbitP_HC595_SRCLK = P43;/pin 11SRCLKShift data clock/*本地變量聲明*/u8 LED88;/顯示緩沖u8display_index;/顯示位索引bitB_1ms;/1ms標(biāo)志u16msecond;u

15、16Bandgap;u16Get_ADC10bitResult(u8 channel);/channel = 07/*/void main(void)u8i;u16j;P0M1 = 0;P0M0 = 0;/設(shè)置為準(zhǔn)雙向口P1M1 = 0;P1M0 = 0;/設(shè)置為準(zhǔn)雙向口P2M1 = 0;P2M0 = 0;/設(shè)置為準(zhǔn)雙向口P3M1 = 0;P3M0 = 0;/設(shè)置為準(zhǔn)雙向口P4M1 = 0;P4M0 = 0;/設(shè)置為準(zhǔn)雙向口P5M1 = 0;P5M0 = 0;/設(shè)置為準(zhǔn)雙向口P6M1 = 0;P6M0 = 0;/設(shè)置為準(zhǔn)雙向口P7M1 = 0;P7M0 = 0;/設(shè)置為準(zhǔn)雙向口display_

16、index = 0;P1ASF = (12) + (14);/P1.2 P1.4做ADCP1M1 |= (0 xc0);P1M0 &= (0 xc0);/P1.2 P1.4設(shè)置(shzh)成高阻ADC_CONTR = 0 xE0;/90T, ADC power onTimer0_1T();Timer0_AsTimer();Timer0_16bitAutoReload();Timer0_Load(Timer0_Reload);Timer0_InterruptEnable();Timer0_Run();EA = 1;/打開(d ki)總中斷for(i=0; i= 300)/300ms到msecon

17、d = 0;#if (Cal_MODE = 0)/= 只讀1次ADC, 10bit ADC. 分辨率0.01V Get_ADC10bitResult(2);/通道改變, 讀一次并丟棄結(jié)果, 內(nèi)部的采樣電容電壓等于輸入值.Bandgap = Get_ADC10bitResult(2); /讀外部基準(zhǔn)TL431對(duì)應(yīng)的ADCGet_ADC10bitResult(4); /通道改變, 讀一次并丟棄結(jié)果, 內(nèi)部的采樣電容電壓等于輸入值.j = Get_ADC10bitResult(4); /讀外部電壓ADCj = (u16)(u32)j * 250 / Bandgap);/計(jì)算外部電壓, TL431電壓

18、為2.50V, 測(cè)電壓分辨率0.01V#endif/=/= 連續(xù)讀16次ADC 再平均計(jì)算. 分辨率0.01V =#if (Cal_MODE = 1)Get_ADC10bitResult(2);/通道改變, 讀一次并丟棄結(jié)果, 內(nèi)部的采樣電容電壓等于輸入值.for(j=0, i=0; i 4;/16次平均(pngjn)Get_ADC10bitResult(4);/通道改變(gibin), 讀一次并丟棄結(jié)果, 內(nèi)部(nib)的采樣電容電壓等于輸入值.for(j=0, i=0; i 4;/16次平均j = (u16)(u32)j * 250 / Bandgap);/計(jì)算外部電壓, TL431電壓為

19、2.50V, 測(cè)電壓分辨率0.01V#endif/=LED85 = j / 100 + DIS_DOT;/顯示外部電壓值LED86 = (j % 100) / 10;LED87 = j % 10;/j = Bandgap;/LED80 = j / 1000;/顯示Bandgap ADC值/LED81 = (j % 1000) / 100;/LED82 = (j % 100) / 10;/LED83 = j % 10; /*/=/ 函數(shù): u16Get_ADC10bitResult(u8 channel)/ 描述: 查詢法讀一次ADC結(jié)果./ 參數(shù): channel: 選擇要轉(zhuǎn)換的ADC./ 返

20、回: 10位ADC結(jié)果./ 版本: V1.0, 2012-10-22/=u16Get_ADC10bitResult(u8 channel)/channel = 07ADC_RES = 0;ADC_RESL = 0;ADC_CONTR = (ADC_CONTR & 0 xe0) | 0 x08 | channel; /start the ADCNOP(4);while(ADC_CONTR & 0 x10) = 0);/wait for ADC finishADC_CONTR &= 0 x10;/清除ADC結(jié)束標(biāo)志return(u16)ADC_RES 2) | (ADC_RESL & 3);/* 向HC595發(fā)送(f sn)一個(gè)字節(jié)函數(shù) */void Send_595(u8 dat)u8i;for(i=0; i8; i+)dat = 8)display_index = 0;/8位結(jié)束回0/* Timer0 1ms中斷函數(shù) */void timer0 (void) interrupt TIMER0_VECTORDisplayScan();/1ms掃描顯示一位B_1ms = 1;/1ms標(biāo)志八、心得體會(huì)通過這次單片機(jī)課程設(shè)利用STC15系列單片機(jī)制作數(shù)字電壓表,我對(duì)單片

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論