單片機數(shù)字電壓表課程設(shè)計(共11頁)_第1頁
單片機數(shù)字電壓表課程設(shè)計(共11頁)_第2頁
單片機數(shù)字電壓表課程設(shè)計(共11頁)_第3頁
單片機數(shù)字電壓表課程設(shè)計(共11頁)_第4頁
單片機數(shù)字電壓表課程設(shè)計(共11頁)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、哈 爾 濱 理 工 大 學(xué) 榮 成 學(xué) 院單片機原理(yunl)課程設(shè)計題目(tm): 數(shù)字電壓表設(shè)計 班級(bnj): 電氣 12-2 姓名: 學(xué)號: 題目(tm)簡介本文介紹了用TLC549集成電壓轉(zhuǎn)換芯片和AT89C51單片機設(shè)計制作的一個簡易的數(shù)字電壓表。設(shè)計的電壓表是由A/D轉(zhuǎn)換器TLC549在單片機的控制下完成對模擬信號的采集和轉(zhuǎn)換功能,最后由數(shù)碼管顯示采集的電壓值。在本次設(shè)計中要求測量精度小數(shù)點后兩位。黨所測得的電壓大于4V或小于1V時,就會使蜂鳴器報警。由于這次的課程設(shè)計蜂鳴器采用無源,故應(yīng)接入音頻方波,改變方波頻率可以(ky)得到不同音調(diào)的聲音。在報警過程中當按下按鍵時,報警

2、停止。在A/D轉(zhuǎn)換過程中,應(yīng)該每秒送一次數(shù)據(jù)。此設(shè)計通過調(diào)試完全滿足設(shè)計的指標要求。實現(xiàn)(shxin)方案TLC549是TI公司生產(chǎn)的一種低價位、高性能的8位A/D轉(zhuǎn)換器,它以8位開關(guān)電容逐次逼近的方法實現(xiàn)A/D轉(zhuǎn)換,其轉(zhuǎn)換速度小于17s,最大轉(zhuǎn)換速率為40000Hz。電源為36V。它可以采用三線串行的方式與單片機進行接口。TLC549的引腳定義 圖1.1TLC549的引腳定義 REF+:正基準電壓,2.5VREF+Vcc+0.1;REF-:負基準電壓,-0.1VREF-2.5V。 VCC:系統(tǒng)電源, 3V Vcc 6V;GND:接地端。:芯片選擇輸入端,要求高電平VIN0.8V。DATA O

3、UT:轉(zhuǎn)換結(jié)果數(shù)據(jù)串行輸出端,與TTL電平兼容,輸出時高位在前,低位在后。ANALOGIN:模擬信號輸入端 ,0ANALOGINVcc,當ANALOGINREF+電壓時,轉(zhuǎn)換結(jié)果為全1(0FFH), ANALOGINREF-電壓時,轉(zhuǎn)換結(jié)果為全0(00H)。I/O CLOCK:外接輸入/輸出時鐘輸入端 ,用于同步芯片的輸入輸出操作,無需與芯片內(nèi)部系統(tǒng)時鐘同步。TLC549的功能框圖TLC549由采樣保持器、模數(shù)轉(zhuǎn)換器、輸出數(shù)據(jù)寄存器、數(shù)據(jù)選擇與驅(qū)動器及相關(guān)控制邏輯電路組成。TLC549內(nèi)部結(jié)構(gòu)如圖1.2所示。圖1.2TLC549的內(nèi)部(nib)結(jié)構(gòu)圖 TLC549帶有片內(nèi)系統(tǒng)時鐘,該時鐘與I/

4、O CLOCK是獨立工作的,無需特殊的速度及相位(xingwi)匹配。當 為高時,數(shù)據(jù)輸出端DATA OUT處于高阻狀態(tài)(zhungti),此時I/O CLOCK不起作用。這種控制作用允許在同時使用多片TLC549時,以減少多片A/D轉(zhuǎn)換器使用時的I/O控制端。TLC549的工作時序TLC549的工作時序如圖1.3所示。圖1.3TLC549的時序圖首先置低,內(nèi)部電路在測得下降沿后,在等待兩個內(nèi)部時鐘上升沿和一個下降沿后,再確認這一變化,最后自動將前一次結(jié)果的最高位D7輸出到DATA OUT。在前4個I/O CLOCK周期的下降沿依次移出D6,D5,D4,D3,片上采樣保持電路在第4個I/O C

5、LOCK下降沿開始采樣模擬輸入。接下來的三個I/O CLOCK周期的下降沿可移出D2,D1,D0各位。在第8個I/O CLOCK后,必須為高或I/O CLOCK保持低電平,這種狀態(tài)需要維持36個內(nèi)部(nib)系統(tǒng)時鐘周期以等待保持和轉(zhuǎn)換工作的完成。應(yīng)注意(zh y),此時的輸出是前一次的轉(zhuǎn)換結(jié)果而不是正在進行的轉(zhuǎn)換結(jié)果。若要在待定的時刻采樣模擬信號,則應(yīng)使第8個I/O CLOCK時鐘的下降沿與該時刻對應(yīng)。因為芯片雖在第4個I/O CLOCK時鐘的下降沿開始采樣,卻在第8個I/O CLOCK的下降沿才開始保存。TLC549芯片(xn pin)的工作原理 當/CS變?yōu)榈碗娖胶螅?TLC549芯片被

6、選中, 同時前次轉(zhuǎn)換結(jié)果的最高有效位MSB (A7)自 DATA OUT 端輸出,接著要求自 I/O CLOCK端輸入8個外部 HYPERLINK /view/188811.htm t _blank 時鐘信號,前7個 I/O CLOCK信號的作用,是配合 TLC549 輸出前次轉(zhuǎn)換結(jié)果的 A6-A0 位,并為本次轉(zhuǎn)換做準備:在第4個 I/O CLOCK 信號由高至低的跳變之后,片內(nèi)采樣/保持電路對輸入模擬量采樣開始,第8個 I/O CLOCK 信號的下降沿使片內(nèi)采樣/保持電路進入保持狀態(tài)并啟動 A/D開始轉(zhuǎn)換。轉(zhuǎn)換時間為 36 個系統(tǒng)時鐘周期,最大為 17us。直到 A/D轉(zhuǎn)換完成前的這段時間

7、內(nèi),TLC549 的控制邏輯要求:或者/CS保持高電平,或者 I/O CLOCK 時鐘端保持36個系統(tǒng)時鐘周期的低電平。由此可見,在自 TLC549的 I/O CLOCK 端輸入8個外部時鐘信號期間需要完成以下工作:讀入前次A/D轉(zhuǎn)換結(jié)果;對本次轉(zhuǎn)換的輸入模擬信號采樣并保持;啟動本次 A/D轉(zhuǎn)換開始。原理圖軟件(run jin)流程圖實驗(shyn)源程序#include#include#define uchar unsigned char#define uint unsigned intuint Volt; uchar num,you;uchar frq;void DelayUs2x(uns

8、igned char t);void DelayMs(unsigned char t);uchar table= 0XAF,0XA0,0XC7,0XE5,0XE8,0X6D,0X6F,0XA1,0XEF,0XE9, 0XEB,0X6E,0X0F,0XE6,0X4F,0X4B,0XCB,0X10,0X00;sbit CLK = P13; /時鐘(shzhng)sbit DO = P32; /數(shù)據(jù)輸出sbit CS = P33; /片選sbit P20=P20;sbit ge = P23;sbit shi = P34;sbit bai= P35;sbit qian=P24;sbit LED=P36

9、;sbit SPK=P37; void TIM0_Init() TMOD=0 x01; TH0=0X4C; /50ms TL0=0X00; EA=1; ET0=1; TR0=1; void TIM1_Init(void) TMOD |= 0 x10; EA=1; ET1=1; TR1=1; uchar TLC549_ADC(void) /TLC549轉(zhuǎn)換(zhunhun)函數(shù) uchar i,tmp; CS = 1; /CS置高,片選無效(wxio) CLK = 0; CS = 0; /CS置低,片選有效 ,同時(tngsh)DO輸出最高位 _nop_(); _nop_(); /適當延遲時間1

10、.4us 等待啟動 for(i = 0; i 8; i+) /串行數(shù)據(jù)移位輸入 tmp = 1; tmp |= DO; CLK = 1; /在CLK的下降沿讀取數(shù)據(jù) _nop_(); /CLK保持低電平一段時間等待數(shù)據(jù)讀出 CLK = 0; CS = 1; /CS置高,DO處于高阻狀態(tài),且CLK禁止轉(zhuǎn)換完成系統(tǒng)必須馬上把CS置高 for(i=0;i17;i+) /轉(zhuǎn)換周期為17us _nop_(); return (tmp);void Data_Conversion(void) uchar AD_Data; AD_Data = TLC549_ADC(); Volt = 4.60* AD_Dat

11、a/256 * 1000; /擴大(kud)1000倍以輸出小數(shù)void display() uchar i,j,k; uint count; i = Volt / 1000 ; /個位加小數(shù)點 j = Volt / 100 % 10; /十分(shfn)位 k = Volt / 10 % 10; /百分位 ge=1;P0=0 xff;P0=tablek;for(count=0;count200;count+);ge=0;shi=1;P0=0 xff;P0=tablej;for(count=0;count200;count+);shi=0;bai=1;P0=0 xff;P0=tablei|0

12、x10;for(count=0;count=4000|Volt=1000) if(you=0) TR1=1; else TR1=0; DelayMs(1); frq+; display(); LED=1; if(P20=0) DelayMs(10); while(P20=0) you=1; else you=0; SPK=0; TR1=0; LED=0; void main() TIM0_Init(); TIM1_Init(); qian=0; SPK=0; TR1=0; while(1) display();baojing(); void TIM0_Int() interrupt 1 TH0

13、=0X4C, TL0=0X00; num+; if(num=10) num=0; Data_Conversion(); void DelayUs2x(unsigned char t) while(-t);void DelayMs(unsigned char t) while(t-) DelayUs2x(245); DelayUs2x(245); void TIM1_Int(void) interrupt 3 TH1=0 xfe; TL1=frq; SPK=!SPK; 六、總結(jié)(zngji) 通過此次的課程設(shè)計,是我更加扎實的掌握了有關(guān)單片機應(yīng)用方面的知識。在這次課程設(shè)計的過程中,遇到了很多困難,但是經(jīng)過一次又一次的思考和查閱資料,解決(jiju)了大部分的問題。在一些比較困難的問題上,經(jīng)過老師的耐

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論