項(xiàng)目2 數(shù)字電壓表設(shè)計(jì)與調(diào)試_第1頁
項(xiàng)目2 數(shù)字電壓表設(shè)計(jì)與調(diào)試_第2頁
項(xiàng)目2 數(shù)字電壓表設(shè)計(jì)與調(diào)試_第3頁
項(xiàng)目2 數(shù)字電壓表設(shè)計(jì)與調(diào)試_第4頁
項(xiàng)目2 數(shù)字電壓表設(shè)計(jì)與調(diào)試_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、項(xiàng)目項(xiàng)目2 數(shù)字電壓表設(shè)計(jì)與調(diào)試數(shù)字電壓表設(shè)計(jì)與調(diào)試子項(xiàng)目子項(xiàng)目1 并行并行ADC實(shí)現(xiàn)數(shù)字電壓表實(shí)現(xiàn)數(shù)字電壓表子項(xiàng)目子項(xiàng)目2 串行串行ADC實(shí)現(xiàn)數(shù)字電壓表實(shí)現(xiàn)數(shù)字電壓表項(xiàng)目項(xiàng)目2 數(shù)字電壓表設(shè)計(jì)與調(diào)試數(shù)字電壓表設(shè)計(jì)與調(diào)試子項(xiàng)目子項(xiàng)目1并行并行ADC實(shí)現(xiàn)數(shù)字電壓表實(shí)現(xiàn)數(shù)字電壓表教學(xué)目標(biāo)教學(xué)目標(biāo)u掌握掌握ADC0808用法;用法;u完成程序設(shè)計(jì)與調(diào)試。完成程序設(shè)計(jì)與調(diào)試。任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表 利用單片機(jī)控制利用單片機(jī)控制ADC0808,對變阻器電壓進(jìn)行,對變阻器電壓進(jìn)行實(shí)時數(shù)據(jù)采集,并將電壓數(shù)據(jù)按照兩位十六進(jìn)制形實(shí)時數(shù)據(jù)采集,并將電壓數(shù)據(jù)按照兩位十六進(jìn)制形式顯示在數(shù)碼管

2、上。式顯示在數(shù)碼管上。一、任務(wù)說明一、任務(wù)說明任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表1.硬件分析硬件分析 (1)關(guān)于)關(guān)于ADC0808*概述:概述:ADC0808是是8位位8模擬量輸入通道的逐次逼近型模擬量輸入通道的逐次逼近型A/D轉(zhuǎn)換器。轉(zhuǎn)換器。8通道多路轉(zhuǎn)換器能直接連通通道多路轉(zhuǎn)換器能直接連通8個單端模擬信號個單端模擬信號中的任何一個中的任何一個,輸出輸出8位二進(jìn)制數(shù)字量。位二進(jìn)制數(shù)字量。二、任務(wù)分析二、任務(wù)分析任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表*ADC0808的引腳的引腳ADDC ADDB ADDA通道 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0

3、 1 0 1 1 1 0 1 1 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表ADC0808為為28腳雙列直插式封裝,各引腳功能如下:腳雙列直插式封裝,各引腳功能如下:IN0IN7:8路模擬量輸入端,信號電壓范圍為路模擬量輸入端,信號電壓范圍為05V。ADDA、ADDB、ADDC:模擬輸入通道地址選擇線,:模擬輸入通道地址選擇線,其其8種編碼分別對應(yīng)種編碼分別對應(yīng)IN0IN7。ALE:地址鎖存允許輸入信號線,該信號的上升沿將地:地址鎖存允許輸入信號線,該信號的上升沿將地址選擇信號址選擇信號A、B、C地址狀態(tài)鎖存至地址寄存器。

4、地址狀態(tài)鎖存至地址寄存器。START:A/D轉(zhuǎn)換啟動信號,其下降沿啟動內(nèi)部控制邏轉(zhuǎn)換啟動信號,其下降沿啟動內(nèi)部控制邏輯開始輯開始A/D轉(zhuǎn)換。轉(zhuǎn)換。EOC:A/D轉(zhuǎn)換結(jié)束信號,當(dāng)進(jìn)行轉(zhuǎn)換結(jié)束信號,當(dāng)進(jìn)行A/D轉(zhuǎn)換時,轉(zhuǎn)換時,EOC輸輸出低電平,轉(zhuǎn)換結(jié)束后,出低電平,轉(zhuǎn)換結(jié)束后,EOC引腳輸出引腳輸出高電平高電平,可作中斷,可作中斷請求信號或供請求信號或供CPU查詢。查詢。任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表OUT1OUT8: 8位數(shù)字量輸出端,接單片機(jī)并行口。位數(shù)字量輸出端,接單片機(jī)并行口。OE:輸出允許控制端,高電平有效。高電平時將:輸出允許控制端,高電平有效。高電平時將A/D轉(zhuǎn)換

5、轉(zhuǎn)換后的后的8位數(shù)據(jù)送出。位數(shù)據(jù)送出。CLOCK:時鐘輸入端,它決定:時鐘輸入端,它決定A/D轉(zhuǎn)換器的轉(zhuǎn)換速度,其轉(zhuǎn)換器的轉(zhuǎn)換速度,其頻率范圍為頻率范圍為101280KHz,500KHz時對應(yīng)轉(zhuǎn)換速度約為時對應(yīng)轉(zhuǎn)換速度約為128us。VREF(+)、VREF(-):內(nèi)部:內(nèi)部D/A轉(zhuǎn)換器的參考電壓輸入端。轉(zhuǎn)換器的參考電壓輸入端。Vcc: +5V電源輸入端,電源輸入端,GND為接地端地。一般為接地端地。一般REF(十十)與與VCC連接在一起,連接在一起,REF(一一)與與GND連接在一起。連接在一起。任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表*ADC0808的工作過程的工作過程選擇模擬量選

6、擇模擬量輸入通道輸入通道ALE、START置置1START清清0,啟動啟動AD轉(zhuǎn)換轉(zhuǎn)換判斷判斷EOC信信號號轉(zhuǎn)換完成,轉(zhuǎn)換完成,OE置置1讀取讀取數(shù)字量數(shù)字量OE清清0EOC=0EOC=1任務(wù)任務(wù)1 電路圖電路圖共陽極共陽極數(shù)碼管數(shù)碼管500K信信號源號源generators滑線變滑線變阻器阻器POT-HG電位器電位器(參照)(參照)模擬量模擬量通道通道1任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表 任務(wù)要求對變阻器電壓進(jìn)行實(shí)時采集和顯示,設(shè)計(jì)任務(wù)要求對變阻器電壓進(jìn)行實(shí)時采集和顯示,設(shè)計(jì)的程序應(yīng)該不斷將采集到的模擬電壓轉(zhuǎn)換為數(shù)字量并按的程序應(yīng)該不斷將采集到的模擬電壓轉(zhuǎn)換為數(shù)字量并按照兩位十

7、六進(jìn)制數(shù)顯示在數(shù)碼管上。照兩位十六進(jìn)制數(shù)顯示在數(shù)碼管上。 所以程序應(yīng)該是數(shù)碼管動態(tài)顯示模塊(所以程序應(yīng)該是數(shù)碼管動態(tài)顯示模塊(void display())和)和AD轉(zhuǎn)換模塊(轉(zhuǎn)換模塊(void adc0808())的無限循環(huán)。)的無限循環(huán)。2.軟件分析軟件分析任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表#include “reg51.h“ /51單片機(jī)頭文件單片機(jī)頭文件 sbit ADDA=P20;/定義關(guān)鍵引腳定義關(guān)鍵引腳sbit ADDB=P21;sbit ADDC=P22;sbit START=P23;sbit OE=P24;sbit EOC=P25;unsigned char d

8、at=0;/數(shù)字量電壓值數(shù)字量電壓值unsigned char seg16=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90,0 x88, 0 x83,0 xC6,0 xA1,0 x86,0 x8E; /共陽極七段碼共陽極七段碼0f2.軟件分析軟件分析變量定義部分變量定義部分任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表void display()/2位動態(tài)顯示子函數(shù)位動態(tài)顯示子函數(shù)unsigned char k; P3=0 x01;/通過通過P3口選中個位數(shù)碼管口選中個位數(shù)碼管P1=segdat%16;/電壓值對電壓值對

9、16取余,余數(shù)就是個位顯示值,取余,余數(shù)就是個位顯示值, /從數(shù)組從數(shù)組seg中取對應(yīng)的七段碼送字型口中取對應(yīng)的七段碼送字型口P1for(k=0;k150;k+);/總線延時總線延時P3=0 x02;/通過通過P3口選中十位數(shù)碼管口選中十位數(shù)碼管P1=segdat/16;/電壓值除以電壓值除以16,商就是十位顯示值,從數(shù),商就是十位顯示值,從數(shù) /組組seg中取對應(yīng)的七段碼送字型口中取對應(yīng)的七段碼送字型口P1for(k=0;k150;k+);/總線延時總線延時2.軟件分析軟件分析數(shù)碼管動態(tài)顯示部分?jǐn)?shù)碼管動態(tài)顯示部分任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表2.軟件分析軟件分析AD轉(zhuǎn)換部分

10、轉(zhuǎn)換部分選擇模擬量選擇模擬量輸入通道輸入通道ALE、START置置1START清清0,啟動啟動AD轉(zhuǎn)換轉(zhuǎn)換判斷判斷EOC信信號號轉(zhuǎn)換完成,轉(zhuǎn)換完成,OE置置1讀取讀取數(shù)字量數(shù)字量OE清清0EOC=0EOC=1任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表void main()/主函數(shù)主函數(shù)while(1)display();adc0808();2.軟件分析軟件分析主函數(shù)主函數(shù)任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表三、任務(wù)實(shí)施三、任務(wù)實(shí)施步驟步驟1:在:在Proteus軟件中建立仿真電路軟件中建立仿真電路文件。文件。步驟步驟2:在:在Keil中設(shè)計(jì)中設(shè)計(jì)AD轉(zhuǎn)換轉(zhuǎn)換部分程序,部分程序

11、,匯編無誤后,生成目標(biāo)文件(匯編無誤后,生成目標(biāo)文件(.HEX)。)。步驟步驟3:在:在Proteus軟件中加載目標(biāo)文件,軟件中加載目標(biāo)文件,仿真運(yùn)行觀察結(jié)果。仿真運(yùn)行觀察結(jié)果。步驟步驟4:結(jié)果無誤,請求教師檢查、評價。:結(jié)果無誤,請求教師檢查、評價。步驟步驟5:編制項(xiàng)目報(bào)告。:編制項(xiàng)目報(bào)告。任務(wù)任務(wù)1 十六進(jìn)制顯示電壓表十六進(jìn)制顯示電壓表四、任務(wù)拓展四、任務(wù)拓展顯示原始電壓值,例如顯示原始電壓值,例如2.25V。任務(wù)任務(wù)2 原始電壓顯示電壓表原始電壓顯示電壓表 利用單片機(jī)控制利用單片機(jī)控制ADC0808,對變阻器電壓進(jìn)行,對變阻器電壓進(jìn)行實(shí)時數(shù)據(jù)采集,并將原始電壓數(shù)據(jù)顯示在數(shù)碼管上,實(shí)時數(shù)據(jù)

12、采集,并將原始電壓數(shù)據(jù)顯示在數(shù)碼管上,如如2.25。一、任務(wù)說明一、任務(wù)說明任務(wù)任務(wù)2 原始電壓顯示電壓表原始電壓顯示電壓表1.原始電壓值求取思路(以原始電壓值求取思路(以2.25V為例)為例)變阻器電壓經(jīng)過變阻器電壓經(jīng)過ADC0808轉(zhuǎn)換之后得到數(shù)字量轉(zhuǎn)換之后得到數(shù)字量dat=2.25*255/5=115=73H將將dat(73H)轉(zhuǎn)化回原始電壓轉(zhuǎn)化回原始電壓2.25V有兩種方法有兩種方法(1)dat除以除以51(255/5=51),即),即115/51=2.25(2)dat乘以分辨率乘以分辨率(5/255=0.0196),即,即115*0.00196=2.25 二、任務(wù)分析二、任務(wù)分析任務(wù)

13、任務(wù)2 原始電壓顯示電壓表原始電壓顯示電壓表2.原始電壓值轉(zhuǎn)換程序原始電壓值轉(zhuǎn)換程序 無論哪一種方法都需要編程取出個位、十分位和百分位無論哪一種方法都需要編程取出個位、十分位和百分位的顯示值的顯示值2、2、5,送交數(shù)碼管顯示,個位數(shù)碼管的小數(shù)點(diǎn),送交數(shù)碼管顯示,個位數(shù)碼管的小數(shù)點(diǎn)需要單獨(dú)點(diǎn)亮。需要單獨(dú)點(diǎn)亮。 因此先定義顯示代碼數(shù)組因此先定義顯示代碼數(shù)組 char dis3,分別存放個位、,分別存放個位、十分位和百分位的顯示值。十分位和百分位的顯示值。(1)dat除以除以51dis2 =數(shù)字量數(shù)字量dat對對51取商(個位)取商(個位)dis1 =上次運(yùn)算的余數(shù)擴(kuò)大十倍再對上次運(yùn)算的余數(shù)擴(kuò)大十倍

14、再對51取商(十分位)取商(十分位)dis0 =上次運(yùn)算的余數(shù)擴(kuò)大十倍再對上次運(yùn)算的余數(shù)擴(kuò)大十倍再對51取商(百分位)取商(百分位)任務(wù)任務(wù)2 原始電壓顯示電壓表原始電壓顯示電壓表(2)dat乘以分辨率乘以分辨率 直接乘以直接乘以0.0196得到得到2.25,不方便取顯示值,應(yīng)乘以,不方便取顯示值,應(yīng)乘以1.96,得到得到225,然后取顯示值。,然后取顯示值。因此先定義變量因此先定義變量 int vol;vol=dat*1.96;或者或者vol=dat*500.0/255;dis2 =vol對對100取商(個位)取商(個位)dis1 =vol對對100取余再除以取余再除以10(十分位)(十分位

15、)dis0 =vol對對10取余(百分位)取余(百分位)任務(wù)任務(wù)2 原始電壓顯示電壓表原始電壓顯示電壓表3.電電壓壓值值的的顯顯示示 總線延時總線延時P1=segdis2&0 x7f;選中左側(cè)數(shù)碼管(個位)選中左側(cè)數(shù)碼管(個位)總線延時總線延時P1=segdis1;選中中間數(shù)碼管(十分位)選中中間數(shù)碼管(十分位)總線延時總線延時P1=segdis0;選中右側(cè)數(shù)碼管(百分位)選中右側(cè)數(shù)碼管(百分位)電壓值個位電壓值個位顯示值的七顯示值的七段碼跟段碼跟01111111相與相與清零最高位清零最高位(字段(字段dp)點(diǎn)亮小數(shù)點(diǎn)點(diǎn)亮小數(shù)點(diǎn)任務(wù)任務(wù)2 原始電壓顯示電壓表原始電壓顯示電壓表三、任務(wù)實(shí)施三、任

16、務(wù)實(shí)施步驟步驟1:在:在Proteus軟件中軟件中調(diào)用任務(wù)調(diào)用任務(wù)1仿仿真電路文件。真電路文件。步驟步驟2:修改顯示函數(shù)修改顯示函數(shù),匯編無誤后,匯編無誤后,生成目標(biāo)文件(生成目標(biāo)文件(.HEX)。)。步驟步驟3:在:在Proteus軟件中加載目標(biāo)文軟件中加載目標(biāo)文件,仿真運(yùn)行觀察結(jié)果。件,仿真運(yùn)行觀察結(jié)果。步驟步驟4:結(jié)果無誤,請求教師檢查、評:結(jié)果無誤,請求教師檢查、評價。價。步驟步驟5:編制項(xiàng)目報(bào)告。:編制項(xiàng)目報(bào)告。任務(wù)任務(wù)2 原始電壓顯示電壓表原始電壓顯示電壓表四、任務(wù)拓展四、任務(wù)拓展1.如何實(shí)現(xiàn)如何實(shí)現(xiàn)4位電壓顯示(增加千分位)?位電壓顯示(增加千分位)?2.如何實(shí)現(xiàn)多路電壓巡回檢測

17、?如何實(shí)現(xiàn)多路電壓巡回檢測?任務(wù)任務(wù)3 八路巡檢電壓表八路巡檢電壓表一、任務(wù)說明一、任務(wù)說明 利用單片機(jī)控制利用單片機(jī)控制ADC0808完成八路模擬量完成八路模擬量電壓循環(huán)檢測并顯示。電壓循環(huán)檢測并顯示。 數(shù)碼管最高位顯示模擬量支路編號,其余數(shù)碼管最高位顯示模擬量支路編號,其余3位顯示支路電壓原始值每秒切換檢測支路。位顯示支路電壓原始值每秒切換檢測支路。任務(wù)任務(wù)3 八路巡檢電壓表八路巡檢電壓表二、任務(wù)分析二、任務(wù)分析1.硬件分析硬件分析 在任務(wù)在任務(wù)1的電路中添加另外的電路中添加另外7個模擬量電壓個模擬量電壓輸入量,使得輸入量,使得ADC0808的每個模擬量輸入通道的每個模擬量輸入通道都輸入一

18、個可變化的模擬量電壓,如下圖所示。都輸入一個可變化的模擬量電壓,如下圖所示。任務(wù)任務(wù)3 電路圖電路圖支路支路編號編號電壓電壓值值任務(wù)任務(wù)3 八路巡檢電壓表八路巡檢電壓表2.軟件分析軟件分析-整體分析整體分析 利用定時器定時利用定時器定時1秒,主函數(shù)完成定時器和中斷秒,主函數(shù)完成定時器和中斷初始化后,不斷重復(fù)調(diào)用顯示子函數(shù)和初始化后,不斷重復(fù)調(diào)用顯示子函數(shù)和AD轉(zhuǎn)換子函數(shù)。轉(zhuǎn)換子函數(shù)。 每到每到1秒,在中斷服務(wù)子函數(shù)中修改支路編號,秒,在中斷服務(wù)子函數(shù)中修改支路編號,完成新支路的電壓轉(zhuǎn)換和顯示。完成新支路的電壓轉(zhuǎn)換和顯示。任務(wù)任務(wù)3 八路巡檢電壓表八路巡檢電壓表2.軟件分析軟件分析-函數(shù)構(gòu)成函數(shù)

19、構(gòu)成主函數(shù)主函數(shù) 定時器中斷初始化定時器中斷初始化 循環(huán)調(diào)用顯示和轉(zhuǎn)換子函數(shù)循環(huán)調(diào)用顯示和轉(zhuǎn)換子函數(shù)顯示顯示 最高位顯示支路編號最高位顯示支路編號 低低3位顯示原始電壓值位顯示原始電壓值A(chǔ)D轉(zhuǎn)換轉(zhuǎn)換 去掉輸入通道選擇部分去掉輸入通道選擇部分 從啟動從啟動ADC0808開始開始中斷服中斷服務(wù)務(wù) 每過每過50ms打斷主函數(shù)自動進(jìn)入中斷服務(wù)子函數(shù)打斷主函數(shù)自動進(jìn)入中斷服務(wù)子函數(shù) 累計(jì)累計(jì)20次中斷,實(shí)現(xiàn)定時次中斷,實(shí)現(xiàn)定時1秒秒 每秒修改支路編號,編號每秒修改支路編號,編號0-7循環(huán)循環(huán)支路編支路編號判斷號判斷 根據(jù)支路編號完成根據(jù)支路編號完成ADC0808通道定義通道定義任務(wù)任務(wù)3 八路巡檢電壓表

20、八路巡檢電壓表2.軟件分析軟件分析-變量定義變量定義 新定義無符號字符型全局變量新定義無符號字符型全局變量count(統(tǒng)計(jì)中斷次(統(tǒng)計(jì)中斷次數(shù))、數(shù))、number(存放支路編號)。(存放支路編號)。任務(wù)任務(wù)3 八路巡檢電壓表八路巡檢電壓表2.軟件分析軟件分析-主函數(shù)主函數(shù)調(diào)用轉(zhuǎn)換子函數(shù)調(diào)用轉(zhuǎn)換子函數(shù)adc0808( );調(diào)用顯示子函數(shù)調(diào)用顯示子函數(shù)display( );變量變量count、number清零清零啟動定時器啟動定時器開中斷開中斷定時定時50ms,定時器初值填裝,定時器初值填裝定時器工作方式定義定時器工作方式定義無限無限循環(huán)循環(huán)TMOD=?TH0=?TL0=?ET0=?EA=?TR

21、0=?任務(wù)任務(wù)3 八路巡檢電壓表八路巡檢電壓表2.軟件分析軟件分析-定時中斷服務(wù)子函數(shù)定時中斷服務(wù)子函數(shù)中斷返回中斷返回支路編號清零支路編號清零支路編號支路編號是否為是否為8支路編號加支路編號加1中斷次數(shù)清零中斷次數(shù)清零中斷次數(shù)中斷次數(shù)是否第是否第21次次中斷次數(shù)加中斷次數(shù)加1重裝定時器初值重裝定時器初值否否否否任務(wù)任務(wù)3 八路巡檢電壓表八路巡檢電壓表2.軟件分析軟件分析-支路編號判斷子函數(shù)支路編號判斷子函數(shù)如果支路編號等于如果支路編號等于7,ADC0808選擇通道選擇通道7如果支路編號等于如果支路編號等于6,ADC0808選擇通道選擇通道6如果支路編號等于如果支路編號等于5,ADC0808選

22、擇通道選擇通道5如果支路編號等于如果支路編號等于4,ADC0808選擇通道選擇通道4如果支路編號等于如果支路編號等于3,ADC0808選擇通道選擇通道3如果支路編號等于如果支路編號等于2,ADC0808選擇通道選擇通道2如果支路編號等于如果支路編號等于1,ADC0808選擇通道選擇通道1如果支路編號等于如果支路編號等于0,ADC0808選擇通道選擇通道0任務(wù)任務(wù)3 八路巡檢電壓表八路巡檢電壓表三、任務(wù)實(shí)施三、任務(wù)實(shí)施步驟步驟1:在:在Proteus軟件中軟件中調(diào)用任務(wù)調(diào)用任務(wù)1仿仿真電路文件真電路文件,添加模擬量支路,添加模擬量支路。步驟步驟2:對照分析修改各函數(shù)對照分析修改各函數(shù),匯編無,匯

23、編無誤后,生成目標(biāo)文件(誤后,生成目標(biāo)文件(.HEX)。)。步驟步驟3:在:在Proteus軟件中加載目標(biāo)文軟件中加載目標(biāo)文件,仿真運(yùn)行觀察結(jié)果。件,仿真運(yùn)行觀察結(jié)果。步驟步驟4:結(jié)果無誤,請求教師檢查、評:結(jié)果無誤,請求教師檢查、評價。價。步驟步驟5:編制項(xiàng)目報(bào)告。:編制項(xiàng)目報(bào)告。任務(wù)任務(wù)3 八路巡檢電壓表八路巡檢電壓表四、任務(wù)拓展四、任務(wù)拓展利用利用6位數(shù)碼管顯示位數(shù)碼管顯示8路巡檢電壓,如下圖所示路巡檢電壓,如下圖所示項(xiàng)目項(xiàng)目2 數(shù)字電壓表設(shè)計(jì)與調(diào)試數(shù)字電壓表設(shè)計(jì)與調(diào)試子項(xiàng)目子項(xiàng)目2 串行串行ADC實(shí)現(xiàn)數(shù)字電壓表實(shí)現(xiàn)數(shù)字電壓表教學(xué)目標(biāo)教學(xué)目標(biāo)u掌握串行掌握串行DAC用法;用法;u完成程序

24、設(shè)計(jì)與調(diào)試。完成程序設(shè)計(jì)與調(diào)試。任務(wù)任務(wù)1 原始電壓顯示電壓表原始電壓顯示電壓表利用利用TLC549實(shí)現(xiàn)模擬電壓的實(shí)時檢測,實(shí)現(xiàn)模擬電壓的實(shí)時檢測,并將原始電壓值顯示在數(shù)碼管上。并將原始電壓值顯示在數(shù)碼管上。一、任務(wù)說明一、任務(wù)說明任務(wù)任務(wù)1 原始電壓顯示電壓表原始電壓顯示電壓表1.硬件分析硬件分析(1)芯片簡介)芯片簡介TLC549是美國德州儀器公司生產(chǎn)的是美國德州儀器公司生產(chǎn)的8位串行位串行A/D轉(zhuǎn)換器芯轉(zhuǎn)換器芯片,可與通用微處理器、控制器通過片,可與通用微處理器、控制器通過CLK、CS、DATA OUT三條口線進(jìn)行串行接口。具有三條口線進(jìn)行串行接口。具有4MHz片內(nèi)系統(tǒng)時鐘和片內(nèi)系統(tǒng)時鐘

25、和軟、硬件控制電路,轉(zhuǎn)換時間最長軟、硬件控制電路,轉(zhuǎn)換時間最長17s。一、任務(wù)分析一、任務(wù)分析任務(wù)任務(wù)1 原始電壓顯示電壓表原始電壓顯示電壓表(2)芯片引腳)芯片引腳SCLK: 串行串行I/O時鐘輸入端。時鐘輸入端。CS: 芯片選用通端。芯片選用通端。SDO: 數(shù)字量輸出端。數(shù)字量輸出端。AIN:模擬信號輸入端。:模擬信號輸入端。REF+、 REF -:基準(zhǔn)電壓輸:基準(zhǔn)電壓輸入端。入端。任務(wù)任務(wù)1 原始電壓顯示電壓表原始電壓顯示電壓表(2)芯片工作時序)芯片工作時序CSCS變低,變低,DODO輸出輸出上次上次ADAD轉(zhuǎn)換數(shù)轉(zhuǎn)換數(shù)字量最字量最高位高位每個每個CLOCKCLOCK的的下降沿下降沿讀

26、讀1 1位數(shù)位數(shù)第第8 8個個CLOCKCLOCK的的下降沿后將下降沿后將CSCS置置1 1,再次啟,再次啟動動ADAD轉(zhuǎn)換,此轉(zhuǎn)換,此時時DODO保持高阻保持高阻狀態(tài)狀態(tài)CSCS再次變低,再次變低,DODO輸出上次輸出上次ADAD轉(zhuǎn)換數(shù)字轉(zhuǎn)換數(shù)字量最高位量最高位任務(wù)任務(wù)1 電路圖電路圖任務(wù)任務(wù)1 原始電壓顯示電壓表原始電壓顯示電壓表2.軟件分析軟件分析整體分析整體分析整體程序應(yīng)該是數(shù)碼管動態(tài)顯示模塊(整體程序應(yīng)該是數(shù)碼管動態(tài)顯示模塊(void display())和)和AD轉(zhuǎn)換模塊(轉(zhuǎn)換模塊(void tlc549())的無)的無限循環(huán)。程序結(jié)構(gòu)參照子項(xiàng)目限循環(huán)。程序結(jié)構(gòu)參照子項(xiàng)目1的任務(wù)的

27、任務(wù)2。任務(wù)任務(wù)1 原始電壓顯示電壓表原始電壓顯示電壓表2.軟件分析軟件分析TLC549工作流程工作流程CS置置1SCLK下降沿下降沿將將SDO的值送的值送datdat左移左移1位位CS置置08次次任務(wù)任務(wù)1 原始電壓顯示電壓表原始電壓顯示電壓表三、任務(wù)實(shí)施三、任務(wù)實(shí)施步驟步驟1:在:在Proteus軟件中軟件中完成完成仿真電仿真電路文件。路文件。步驟步驟2:參照參照ADC0808任務(wù)任務(wù)2完成程序完成程序,匯編無誤后,生成目標(biāo)文件(匯編無誤后,生成目標(biāo)文件(.HEX)。)。步驟步驟3:在:在Proteus軟件中加載目標(biāo)文軟件中加載目標(biāo)文件,仿真運(yùn)行觀察結(jié)果。件,仿真運(yùn)行觀察結(jié)果。步驟步驟4:

28、結(jié)果無誤,請求教師檢查、評:結(jié)果無誤,請求教師檢查、評價。價。步驟步驟5:編制項(xiàng)目報(bào)告。:編制項(xiàng)目報(bào)告。任務(wù)任務(wù)1 原始電壓顯示電壓表原始電壓顯示電壓表四、任務(wù)拓展四、任務(wù)拓展利用利用4片片TLC549實(shí)現(xiàn)實(shí)現(xiàn)4個支路的電壓巡檢。個支路的電壓巡檢。任務(wù)任務(wù)2 四路巡檢電壓表四路巡檢電壓表一、任務(wù)說明一、任務(wù)說明利用利用4片片TLC549實(shí)現(xiàn)實(shí)現(xiàn)4個支路的電壓巡檢。個支路的電壓巡檢。任務(wù)任務(wù)2 四路巡檢電壓表四路巡檢電壓表二、任務(wù)分析二、任務(wù)分析1.硬件分析硬件分析4片片TLC549通過各自的通過各自的CS端輪流選中(置零),端輪流選中(置零),任意時刻只有一片任意時刻只有一片549選中,選中的

29、芯片選中,選中的芯片SDO端可以讀數(shù),其余三個芯片端可以讀數(shù),其余三個芯片SDO端輸出為高阻端輸出為高阻狀態(tài)(狀態(tài)(Z狀態(tài)),因此可以采用以下接線方法:狀態(tài)),因此可以采用以下接線方法:4個芯片的個芯片的CS端采用獨(dú)立連接端采用獨(dú)立連接4個芯片的個芯片的SCLK共用共用4個芯片的個芯片的SDO端構(gòu)成單向數(shù)據(jù)總線端構(gòu)成單向數(shù)據(jù)總線當(dāng)EN1、EN2、 EN3輪流為高電平 1 ,且任何時刻只能有一個三態(tài)輸出門工作時,則輸入信號A1B1、A2B2、A3B3 輪流以與非關(guān)系將信號送到總線上,而其它三態(tài)輸出門由于EN= 0 而處于高阻狀態(tài),與總線斷開??偩€ 數(shù)字電路基礎(chǔ):三態(tài)輸出門應(yīng)用數(shù)字電路基礎(chǔ):三態(tài)輸出門應(yīng)用任務(wù)任務(wù)2 電路圖電路圖任務(wù)任務(wù)2 四路巡檢電壓表四路巡檢電壓表2.軟件分析軟件分析-整體分析整體分析 利用定時器定時利用定時器定時1秒,主函數(shù)完成定時器和中斷初秒,主函數(shù)完成定時器和中斷初始化后,不斷重復(fù)調(diào)用顯示子函數(shù)和始

溫馨提示

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

評論

0/150

提交評論