版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p> 第一章 前言- 3 -</p><p> 1.1概述- 3 -</p><p> 1.2系統(tǒng)原理及基本框圖- 3 -</p><p> 第二章 硬件設(shè)計(jì)- 4 -</p><p> 2.1 背景介紹- 4 -&
2、lt;/p><p> 2.1.1、預(yù)備知識(shí)- 4 -</p><p> 2.1.2、單片機(jī)測(cè)量電壓原理- 4 -</p><p> 2.2 設(shè)計(jì)目的- 4 -</p><p> 2.3 設(shè)計(jì)題目- 4 -</p><p> 2.4 設(shè)計(jì)說明- 5 -</p><p> 2.4.
3、1、系統(tǒng)設(shè)計(jì)- 5 -</p><p> 2.4.2、硬件原理- 5 -</p><p> 2.4.3、系統(tǒng)連接- 6 -</p><p> 2.5 軟件流程圖- 7 -</p><p> 2.6 系統(tǒng)各模塊原理圖- 9 -</p><p> 第三章 程序設(shè)計(jì)- 15 -</p>&
4、lt;p> 第四章.總結(jié)- 19 -</p><p><b> 第一章 前言</b></p><p><b> 1.1概述</b></p><p> 數(shù)字電壓表(Digital Voltmeter)簡(jiǎn)稱DVM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀
5、表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時(shí)代的需求,采用單片機(jī)的數(shù)字電壓表,由精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便。目前,由各種單片A/D 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域,示出強(qiáng)大的生命力。與此同時(shí),由DVM擴(kuò)展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測(cè)量技術(shù)提高到嶄新水平。本章重點(diǎn)介紹單片A/D 轉(zhuǎn)換器以及由它們構(gòu)成的基于單片機(jī)的數(shù)字電壓表
6、的工作原理。</p><p> 1.2系統(tǒng)原理及基本框圖</p><p> 如圖1.1所示,模擬電壓經(jīng)過檔位切換到不同的分壓電路衰減后,經(jīng)隔離干擾送到A/D轉(zhuǎn)換器進(jìn)行A/D轉(zhuǎn)換,然后送到單片機(jī)中進(jìn)行數(shù)據(jù)處理。處理后的數(shù)據(jù)送到LED中顯示,同時(shí)通過串行通訊與上位機(jī)通信.</p><p><b> 第二章 硬件設(shè)計(jì)</b></p>
7、<p><b> 2.1 背景介紹</b></p><p> 2.1.1、預(yù)備知識(shí) </p><p> 1. 熟悉凌陽(yáng)單片機(jī)工作原理。 </p><p> 1)凌陽(yáng)單片機(jī)的I/O口的使用原理和設(shè)置; </p><p> 2)凌陽(yáng)單片機(jī)的中斷功能; </p><p> 3)
8、凌陽(yáng)單片機(jī)的ADC的了解。 </p><p> 2. 熟悉凌陽(yáng)匯編語(yǔ)言及C語(yǔ)言。 </p><p> 2.1.2、單片機(jī)測(cè)量電壓原理 </p><p> 單片機(jī)實(shí)現(xiàn)電壓測(cè)量,首先要把輸入的電信號(hào)轉(zhuǎn)換為數(shù)字量,這一轉(zhuǎn)換過程稱為A/D轉(zhuǎn)換,又稱為量化過程,需要用到A/D轉(zhuǎn)換器。 </p><p><b> 2.2 設(shè)計(jì)目的<
9、;/b></p><p> 本課程設(shè)計(jì)的基本要求是: </p><p> 1. 熟悉凌陽(yáng)十六位單片機(jī)系統(tǒng)板-61板的基本構(gòu)成。 </p><p> 2. 掌握LED數(shù)碼管原理及使用方法。 </p><p> 3. 掌握61板的使用方法。 </p><p> 4. 初步掌握SPCE061A單片機(jī)匯編語(yǔ)言一
10、般編程技巧。 </p><p> 5. 初步掌握61板系統(tǒng)調(diào)試的一般步驟及方法。 </p><p> 6. 掌握ADC的使用。 </p><p><b> 2.3 設(shè)計(jì)題目</b></p><p> 本裝置將實(shí)現(xiàn)0-3.3V的電壓測(cè)量,IOA6接要測(cè)量的電壓,經(jīng)AD轉(zhuǎn)換后,計(jì)算出當(dāng)前電壓值,在數(shù)碼管上顯示當(dāng)前電壓
11、。具體要求如下: </p><p> 1. 通過IOA6接入要測(cè)量的電壓,單片機(jī)自動(dòng)檢測(cè)。 </p><p> 2. 在數(shù)碼管上實(shí)時(shí)顯示當(dāng)前電壓值。 </p><p><b> 2.4 設(shè)計(jì)說明</b></p><p> 2.4.1、系統(tǒng)設(shè)計(jì) </p><p> 根據(jù)設(shè)計(jì)題目的要求分析,
12、并考慮到題目的可擴(kuò)展性,系統(tǒng)分成兩大部分: </p><p> 1. 模擬電壓輸入。 </p><p> 2. 數(shù)碼管顯示。 </p><p> 根據(jù)系統(tǒng)的功能現(xiàn)選擇61板作為單片機(jī)控制處理部分,利用4位LED數(shù)碼管作為顯示部分,如圖 4.36所示。 </p><p> 0~3.3V電壓輸入SPCE061A精簡(jiǎn)開發(fā)板IOA8~15LE
13、D數(shù)碼管IOB8~9IOA6 </p><p><b> 2.1 系統(tǒng)框圖</b></p><p> 2.4.2、硬件原理 </p><p> 61板電路原理圖請(qǐng)參考附錄。 </p><p> 關(guān)于LED數(shù)碼管可參考第一章內(nèi)容。 </p><p> 0~3.3V可調(diào)的電壓可以通過在VD
14、D與GND之間接一電位器獲得,其電路如下圖所示。 </p><p> VDD(3.3V)GNDR(10K)IOA6 </p><p> 2.2 顯示部分原理圖</p><p> 2.4.3、系統(tǒng)連接 </p><p> 采用凌陽(yáng)大學(xué)計(jì)劃的LED鍵盤模組和61板搭配可以很容易的完成這個(gè)課程設(shè)計(jì)的題目。它的連結(jié)圖如圖 4.38所示,IO
15、B的低八位控制數(shù)碼管顯示段位,IOB高八位控制點(diǎn)亮哪一個(gè)數(shù)碼管,IOA6連接模擬電壓輸入端AV(圖中并沒有畫出具體連線)。LED鍵盤模組的左上角有一個(gè)可變電阻,調(diào)整它的阻值即可在IOA6獲得不同電壓。</p><p> 2.3 LED鍵盤膜組和61板連接圖</p><p> 發(fā)光二極管數(shù)碼管1數(shù)碼管2數(shù)碼管3數(shù)碼管4數(shù)碼管5數(shù)碼管6KEY1KEY2KEY3KEY4KEY5KEY6KE
16、Y7KEY8按鍵狀態(tài)跳線2*4Key</p><p><b> 2.5 軟件流程圖</b></p><p> 在主程序中,首先初始化AD和數(shù)碼管驅(qū)動(dòng)程序,然后不斷執(zhí)行AD采集,將采到的數(shù)字量換算成0~3.3V區(qū)間的電壓值,在數(shù)碼管上顯示出來。其流程如下: 開始初始化AD及數(shù)碼管驅(qū)動(dòng)程序獲壓值在數(shù)碼管上顯示 </p><p> 顯示器片選
17、1*8Key 顯示器段選 IOA8-15 IOA0-7 IOB0-7 IOB8-15 2.4 主程序流程圖</p><p> AD轉(zhuǎn)換程序連續(xù)采集8個(gè)數(shù)字量,取其平均值,返回給主程序。 </p><p> YN開始ADC_Sum = 0AD轉(zhuǎn)換完成?將AD轉(zhuǎn)換值累加至ADC_Sum已執(zhí)行8次轉(zhuǎn)換?ADC_Sum=ADC_Sum/8返回ADC_SumYN </p&
18、gt;<p> 2.5 AD轉(zhuǎn)換程序流程</p><p> 2.6 系統(tǒng)各模塊原理圖</p><p><b> 原理與框圖:</b></p><p> ?。?)電源區(qū)原理框圖</p><p> ?。?)下載區(qū)原理框圖ICE 基本運(yùn)作方式是通過控制 clock 及通過 ICE 喂入指令方式,來控制C
19、PU 的運(yùn)行及緩存器資料和內(nèi)存資料的存取,因此必須透過控制緩存器值的設(shè)定來控制目前 CPU 的動(dòng)作. </p><p> 每個(gè)相連接的不同ICE模塊都擁有自己獨(dú)特的3-bit ID,當(dāng)PC在傳送control信號(hào)時(shí)都會(huì)先傳送該 3-bit ID,只有ICE本身的ID和control信號(hào)的ID 相同時(shí)才會(huì)執(zhí)行該命令或回傳資料。61板上的74HC244主要在我們選用下載線的時(shí)候起作用,主要奇緩存的作用和完成SDA是
20、作為數(shù)據(jù)回送還是數(shù)據(jù)下傳的選擇。</p><p><b> ?。?)音頻輸入部分</b></p><p> 如下圖所示電路, MICP和MICN將隨著MIC產(chǎn)生的波形變化,并在兩個(gè)端口處形成兩路反相的波形,再經(jīng)過兩級(jí)運(yùn)放放大,把放大的語(yǔ)音信號(hào)交給ADC轉(zhuǎn)換為數(shù)字量,這個(gè)時(shí)候我們就可以通過單片機(jī)編程對(duì)這些數(shù)據(jù)進(jìn)行處理,比如說語(yǔ)音數(shù)據(jù)壓縮、語(yǔ)音識(shí)別樣本處理。音頻輸入外圍
21、電路如下:</p><p> 2.3.5音頻輸出部分</p><p> SPY0030是凌陽(yáng)公司開發(fā)的專門用于語(yǔ)音信號(hào)放大的芯片,它的增益如下所示: </p><p> Gain=2*5000/(5000+R1) </p><p> SPY0030工作原理圖</p><p><b> 2.3.6按鍵
22、部分</b></p><p> 按鍵是通過通斷控制來實(shí)現(xiàn)它的功能,61板上的按鍵在沒按下時(shí),它的1、3腳是斷開的,當(dāng)按下時(shí)這兩個(gè)腳是連通的。若此時(shí)我們?cè)?腳接一個(gè)高電平,把第三腳連到一個(gè)I/O口上,這就形成了一個(gè)人機(jī)操作界面,通過編程對(duì)I/O掃描,單片機(jī)就能識(shí)別到我們的按鍵命令。</p><p><b> 第三章 程序設(shè)計(jì)</b></p>
23、<p> 3.1 程序名稱為VoltageTest。 </p><p> 工程名稱:VoltageTest</p><p> 功能描述:0~3.3V電壓表參考程序</p><p> 實(shí)現(xiàn)0-3.3V的電壓測(cè)量,IOA6接要測(cè)量的電壓,經(jīng)AD轉(zhuǎn)換后,計(jì)算出當(dāng)前電壓值,在數(shù)碼管上顯示當(dāng)前電壓。具體要求如下:</p><p>
24、; 1. 通過IOA6接入要測(cè)量的電壓,單片機(jī)自動(dòng)檢測(cè)。</p><p> 2. 在數(shù)碼管上實(shí)時(shí)顯示當(dāng)前電壓值。</p><p> 涉及的庫(kù):CMacro.lib</p><p> 組成文件:main.c, AD.c</p><p><b> Dig.asm</b></p><p>
25、 AD.h, Dig.h</p><p> 硬件連接:LED鍵盤模組的2*4KEY接IOA低8位,DIG接IOB高8位,SEG接IOB低8位,61板的電壓選擇跳線J5跳至"3V"位</p><p><b> ?。?)主程序</b></p><p> 文件名稱:main.c</p><p>
26、功能描述:0~3.3V電壓的程序</p><p> #include "AD.h"// AD采集程序頭文件</p><p> #include "DIG.h"// 包含數(shù)碼管驅(qū)動(dòng)頭文件</p><p> #define CLR_WDT()*(unsigned *)0x7012=1// 清
27、看門狗</p><p> 語(yǔ)法格式:void DispFloat(float fNum)</p><p> 實(shí)現(xiàn)功能:顯示10以內(nèi)浮點(diǎn)數(shù),保留2位小數(shù)</p><p> 參數(shù):fNum - 要顯示的數(shù)值,范圍0.00~9.99</p><p><b> 返回值:無</b></p><
28、;p> const unsigned DigNum[]={// 0~9十個(gè)數(shù)字對(duì)應(yīng)的數(shù)碼管顯示編碼</p><p> 0x3f,0x06,0x5b,0x4f,0x66,</p><p> 0x6d,0x7d,0x27,0x7f,0x6f</p><p><b> };</b></p><p>
29、void DispFloat(float fNum)</p><p><b> {</b></p><p> unsigned int TempNum, i;</p><p> if(fNum>10)return;</p><p> TempNum = (unsigned int)fNum;// 獲得
30、整數(shù)部分</p><p> DIG_Set(1, DigNum[TempNum] | 0x80);// 在第1位上顯示整數(shù)部分(以及小數(shù)點(diǎn))</p><p> for(i=2; i<=3; i++)</p><p><b> {</b></p><p> fNum = (fNum - TempNum)
31、* 10;</p><p> TempNum = (unsigned int)fNum;</p><p> DIG_Set(i, DigNum[TempNum]);// 在第i位上顯示第i-1位小數(shù)</p><p><b> }</b></p><p><b> }</b></p&
32、gt;<p> 語(yǔ)法格式:int main(void)</p><p><b> 實(shí)現(xiàn)功能:主函數(shù)</b></p><p><b> 參數(shù):無</b></p><p><b> 返回值:無</b></p><p> int main()<
33、;/p><p><b> {</b></p><p> unsigned int AD_Data;</p><p> float AD_Result;</p><p> ADC_Init();</p><p> DIG_Init();</p><p><b>
34、; while(1)</b></p><p><b> {</b></p><p> CLR_WDT();</p><p> AD_Data = ADC_Get();</p><p> AD_Result = ((float)AD_Data/0xffc0)*4.0;</p><p
35、> DispFloat(AD_Result);</p><p><b> }</b></p><p><b> }</b></p><p> #define P_INT_Ctrl(unsigned int*)0x7010// 硬件端口定義</p><p> #define P_I
36、NT_Clear(unsigned int*)0x7011// 硬件端口定義</p><p> #define C_IRQ4_4KHz0x0040// 常數(shù)助記符定義</p><p> void IRQ4(void)__attribute__((ISR));// 將IRQ4函數(shù)聲明為中斷服務(wù)函數(shù)/ 語(yǔ)法格式:void IRQ4(void)<
37、/p><p> 實(shí)現(xiàn)功能:IRQ4中斷服務(wù)函數(shù),用于LED數(shù)碼管驅(qū)動(dòng)</p><p><b> 參數(shù):無</b></p><p><b> 返回值:無</b></p><p> void IRQ4(void)// IRQ4函數(shù)體</p><p>
38、<b> {</b></p><p> if((*P_INT_Ctrl&C_IRQ4_4KHz)!=0x0000)// 如果是4KHz中斷</p><p><b> {</b></p><p> *P_INT_Clear = C_IRQ4_4KHz;// 清中斷標(biāo)志位</p><
39、p> DIG_Drive();</p><p><b> }</b></p><p><b> }</b></p><p><b> ?。?)頂頭文件</b></p><p> void ADC_Init(void);</p><p>
40、unsigned int ADC_Get(void);</p><p><b> #endif;</b></p><p><b> 實(shí)驗(yàn)顯示結(jié)果:</b></p><p><b> 3.2 可擴(kuò)展題目</b></p><p> 3.2.1、功能描述: </p>
41、;<p> 1)、改進(jìn)為兩路電壓數(shù)據(jù)采集; </p><p> 2)、用61板的KEY1與KEY2切換采集通道; </p><p> 3)、按下KEY3鍵語(yǔ)音播報(bào)當(dāng)前電壓值。 </p><p> 3.2.2、方案論證: </p><p> 1)、多路AD采集; </p><p> 2)、61板
42、播放語(yǔ)音; </p><p><b> 3)、按鍵掃描. </b></p><p><b> 第四章.總結(jié)</b></p><p> 1.電壓測(cè)量通過不同的接口電路可實(shí)現(xiàn)溫度、濕度、壓力等測(cè)量,廣泛應(yīng)用于工業(yè)領(lǐng)域。本電路設(shè)計(jì)別具一格,是一種高精度、低功耗、寬量程、智能化的電壓表??蓴U(kuò)展鍵盤、報(bào)警電路,實(shí)現(xiàn)電壓異常記錄
43、、報(bào)警。但在實(shí)驗(yàn)過程中由于沒有LCD顯示器,沒有實(shí)現(xiàn)帶播報(bào)電壓語(yǔ)音和在LCD液晶屏顯示電壓數(shù)據(jù)的結(jié)果,用LED顯示缺一個(gè)插口,不能同時(shí)實(shí)現(xiàn)語(yǔ)音播報(bào)和數(shù)字顯示。</p><p><b> 2.心得體會(huì)</b></p><p> 經(jīng)過半個(gè)月的單片機(jī)課程設(shè)計(jì)我認(rèn)識(shí)到61板的作用以及它能實(shí)現(xiàn)的功能,但是我覺得自己所學(xué)的基礎(chǔ)知識(shí)還不是很踏實(shí),有些問題自己還解決不了,需要老師
最新文檔
- 單片機(jī)課程設(shè)計(jì)-數(shù)字電壓表
- 單片機(jī)課程設(shè)計(jì)---數(shù)字電壓表
- 單片機(jī)課程設(shè)計(jì)-數(shù)字電壓表
- 單片機(jī)(數(shù)字電壓表)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)----數(shù)字電壓表
- 單片機(jī)課程設(shè)計(jì)-數(shù)字電壓表
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電壓表
- 單片機(jī)課程設(shè)計(jì)--數(shù)字電壓表
- 單片機(jī)課程設(shè)計(jì)---數(shù)字電壓表設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字電壓表設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字電壓表設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易數(shù)字電壓表
- 單片機(jī)(數(shù)字電壓表)課程設(shè)計(jì).rar
- 單片機(jī)課程設(shè)計(jì)數(shù)字電壓表
- 單片機(jī)數(shù)字電壓表課程設(shè)計(jì).doc
- 單片機(jī)(數(shù)字電壓表)課程設(shè)計(jì).rar
- 單片機(jī)(數(shù)字電壓表)課程設(shè)計(jì).rar
- 單片機(jī)課程設(shè)計(jì)報(bào)告——數(shù)字電壓表
- 課程設(shè)計(jì)----單片機(jī)簡(jiǎn)易數(shù)字電壓表
- 單片機(jī)(數(shù)字電壓表)課程設(shè)計(jì).rar
評(píng)論
0/150
提交評(píng)論