用中斷法讀取AD數(shù)據(jù)_第1頁(yè)
用中斷法讀取AD數(shù)據(jù)_第2頁(yè)
用中斷法讀取AD數(shù)據(jù)_第3頁(yè)
用中斷法讀取AD數(shù)據(jù)_第4頁(yè)
用中斷法讀取AD數(shù)據(jù)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)課程課后作業(yè)班級(jí): 學(xué)號(hào):姓名: 作業(yè)要求:1 將例5.3.1改為使用中斷法讀取A/D數(shù)據(jù) 2 畫出Proteus原理圖3 寫出Keil編程程序1. 原理部分1.1 51單片機(jī)的中斷體系結(jié)構(gòu) 80C51的中斷系統(tǒng)有5個(gè)中斷源(8052有 6個(gè)),2個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷嵌套。MCS-51系列單片機(jī)中斷系統(tǒng)的機(jī)構(gòu)如下:圖1中斷系統(tǒng)機(jī)構(gòu)組成51單片機(jī)的中斷體系結(jié)構(gòu)與中斷系統(tǒng)相關(guān)的特殊寄存器:1)中斷允許控制寄存器(IE)- 控制各中斷的開放和屏蔽2)中斷優(yōu)先級(jí)控制寄存器(IP)-設(shè)置各中斷的優(yōu)先級(jí)3)定時(shí)器/計(jì)數(shù)器控制寄存器(TCON)-定時(shí)器和外部中斷的控制4)串行口控制寄存器(SCON

2、)-串行中斷的控制中斷類型分為三類:1)T0、T1是2個(gè)定時(shí)器/計(jì)數(shù)器中斷,由片內(nèi)定時(shí)器提供;2)INT0、INT1是2個(gè)外部中斷,由引腳P3.2和P3.2提供;3)RX、TX為串行口中斷所用,由片內(nèi)串口提供。圖2 51單片機(jī)的中斷體系結(jié)構(gòu)1、(P3.2)/(P3.3)可由IT0(TCON.0)/IT1(TCON.2)選擇其為低電平有效還是下降沿有效。當(dāng)CPU檢測(cè)到P3.2/P3.3引腳上出現(xiàn)有效的中斷信號(hào)時(shí),中斷標(biāo)志IE0(TCON.1)/IE1(TCON.3)置1,向CPU申請(qǐng)中斷。3、TF0(TCON.5)/TF1(TCON.7),片內(nèi)定時(shí)/計(jì)數(shù)器T0/T1溢出中斷請(qǐng)求標(biāo)志。當(dāng)定時(shí)/計(jì)數(shù)

3、器T0/T1發(fā)生溢出時(shí),置位TF0/TF1,并向CPU申請(qǐng)中斷。5、RI(SCON.0)或TI(SCON.1),串行口中斷請(qǐng)求標(biāo)志。當(dāng)串行口接收完一幀串行數(shù)據(jù)時(shí)置位RI或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)時(shí)置位TI,向CPU申請(qǐng)中斷。上述只是向CPU申請(qǐng)中斷,如果要得到CPU的相應(yīng),還要設(shè)置相應(yīng)的中斷允許IE和優(yōu)先級(jí)IP,中斷方能的到響應(yīng)。1)定時(shí)器中斷的使用(以定時(shí)器0為例) TMOD |= 0x01 | 0x04; /使用模式1,16位計(jì)數(shù)器,使用|符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響 TH0=0xFF; /給定初值 TL0=245; /從245計(jì)數(shù)到255 EA=1; /總中斷打開 ET0=1;

4、/定時(shí)器中斷打開 TR0=1; /定時(shí)器開關(guān)打開void Timer0_isr(void) interrupt 1 using 1 /中斷服務(wù)程序 TH0=0xFF; /重新給定初值 TL0=245; 2)外部中斷的使用(以外部中斷0為例) EA=1; /全局中斷開 EX0=1; /外部中斷0開 IT0=0; /電平觸發(fā)void ISR_Key(void) interrupt 0 using 1 /中斷服務(wù)程序在這次作業(yè)中,我所采用的中斷程序?yàn)橥獠恐袛?1.2 ADC0804轉(zhuǎn)換的基本原理1.工作原理:所謂 A/D轉(zhuǎn)換器就是模擬/ 數(shù)字轉(zhuǎn)換器(ADC),是將輸入的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。信號(hào)輸

5、入端可以是傳感器或轉(zhuǎn)換器的輸出,而 ADC的數(shù)字信號(hào)也可能提供給微處理器,以便廣泛地應(yīng)用。 2. ADC0804引腳圖如下:8 位 COMS依次逼近型的 A/D轉(zhuǎn)換器. 三態(tài)鎖定輸 出 存取時(shí)間:135US 分辨率:8 位 轉(zhuǎn)換時(shí)間:100US 總誤差:正負(fù) 1LSB 工作溫度:ADC0804LCN-070 度 圖3 ADC0804引腳圖3.引腳說(shuō)明/CS(引腳1)芯片選擇信號(hào),低電平有效 /RD(引腳 2) 外部讀取轉(zhuǎn)換結(jié) 果的控制輸出信號(hào)。/RD為 HI 時(shí),DB0DB7處理高阻抗:/RD為 LO時(shí), 數(shù)字?jǐn)?shù)據(jù)才會(huì)輸出。 /WR(引腳 3)用來(lái)啟動(dòng)轉(zhuǎn)換的控制輸入,相當(dāng)于 ADC的轉(zhuǎn)換開始(

6、/CS=0 時(shí)), 當(dāng) /WR由 HI變?yōu)?LO時(shí),轉(zhuǎn)換器被清除:當(dāng)/WR回到 HI 時(shí),轉(zhuǎn)換正式開始。 CS 、RD 、WR (引腳1、2、3):是數(shù)字控制輸入端,滿足標(biāo)準(zhǔn)TTL 邏輯電平。其中CS 和WR 用來(lái)控制A/D 轉(zhuǎn)換的啟 動(dòng)信號(hào)。CS 、RD 用來(lái)讀A/D 轉(zhuǎn)換的結(jié)果,當(dāng)它們同時(shí)為低電平時(shí),輸出數(shù)據(jù)鎖存器DB0DB7 各端上出現(xiàn)8 位并行二進(jìn)制數(shù)碼。CLKI(引腳4)和CLKR(引腳19):ADC08010805 片內(nèi)有時(shí)鐘電路,只要在外部“CLKI”和“CLKR”兩端外接一對(duì)電阻電容即可產(chǎn)生 A/D 轉(zhuǎn)換所要求的時(shí)鐘,其振蕩頻率為fCLK1/1.1RC。其典型應(yīng)用參數(shù)為:R=1

7、0K,C=150PF,fCLK640KHZ,轉(zhuǎn)換速度為100。若采用外部時(shí)鐘,則外部fCLK 可從CLKI 端送入,此時(shí)不接R、C。允許的時(shí)鐘頻率范圍為100KHZ1460KHZ。INTR (引腳5): INTR 是轉(zhuǎn)換結(jié)束信號(hào)輸出端,輸出跳轉(zhuǎn)為低電平表示本次轉(zhuǎn)換已經(jīng)完成,可作為微處理器的中斷或查詢信號(hào)。如果將CS 和WR 端與INTR 端相連,則ADC0804 就處于自動(dòng)循環(huán)轉(zhuǎn)換狀態(tài)。CS 0 時(shí),允許進(jìn)行A/D 轉(zhuǎn)換。WR 由低跳高時(shí)A/D 轉(zhuǎn)換開始,8 位逐次比較需88=64 個(gè)時(shí)鐘周期,再加上控制邏輯操作,一次轉(zhuǎn)換需要6673 個(gè)時(shí)鐘周期。在典型應(yīng)用fCLK640KHZ 時(shí),轉(zhuǎn)換時(shí)間約

8、為103114。當(dāng)fCLK 超過(guò)640KHZ,轉(zhuǎn)換精度下降,超過(guò)極限值1460KHZ 時(shí)便不能正常工作。Vin()(引腳 6)和Vin()(引腳7):被轉(zhuǎn)換的電壓信號(hào)從Vin()和Vin()輸入,允許此信號(hào)是差動(dòng)的或不共地的電壓信號(hào)。如果輸入電壓V的變化范圍從0V到Vmax,則芯片的Vin()端接地,輸入電壓加到Vin()引腳。由于該芯片允許差動(dòng)輸入,在共模輸入電壓允許的情況下,輸入電壓范圍可以從非零伏開始,即Vmin 至Vmas。此時(shí)芯片的Vin()端應(yīng)該接入等于Vmin 的恒值電碼墳上,而輸入電壓V仍然加到Vin()引腳上。AGND(引腳8)和DGND(引腳10):A/D 轉(zhuǎn)換器一般都有這

9、兩個(gè)引腳。模擬地AGND 和數(shù)字地DGND 分別設(shè)置引入端,使數(shù)字電路的地電流不影響模擬信號(hào)回路,以防止寄生耦合造成的干擾。Vref2(引腳9):參考電壓Vref/2 可以由外部電路供給從“Vref/2”端直接送入,Vref/2 端電壓值應(yīng)是輸入電壓范圍的二分之一所以輸入電壓的范圍可以通過(guò)調(diào)整Vref/2 引腳處的電壓加以改變,轉(zhuǎn)換器的零點(diǎn)無(wú)調(diào)整。圖4 ADC0804 轉(zhuǎn)換器的工作時(shí)序圖5.AD轉(zhuǎn)換器的設(shè)計(jì)接口電路圖:圖中,ADC0804 數(shù)據(jù)輸出線與AT89C51 的數(shù)據(jù)總線直接相連,AT89C51 的RD 、WR 和INT1直接連到ADC0804,由于用P1.0 線來(lái)產(chǎn)生片選信號(hào),故無(wú)需外

10、加地址譯碼器。當(dāng)AT89C51 向ADC0804 發(fā)WR (啟動(dòng)轉(zhuǎn)換)、RD (讀取結(jié)果)信號(hào)時(shí),只要虛擬一個(gè)系統(tǒng)不占用的數(shù)據(jù)存儲(chǔ)器地址即可。圖5ADC0804接法2. 源代碼#include#include#define uchar unsigned char#define uint unsigned intsbit wela=P27;sbit dula=P26;sbit adrd=P37;sbit adwr=P36;uchar adval;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c

11、,0x39,0x5e,0x79,0x71;void delayms(uint xms)uint i,j;for(i=xms;i0;i-)for(j=110;j0;j-);void display(uchar bai,uchar shi,uchar ge) wela=1;P0=0x7e;wela=0;P0=0xff;dula=1;P0=tablebai;dula=0;P0=0xff;delayms(5);wela=1;P0=0x7d;wela=0;P0=0xff;dula=1;P0=tableshi;dula=0;P0=0xff;delayms(5);wela=1;P0=0x7b;wela=0;P0=0xff;dula=1;P0=tablege;dula=0;P0=0xff;delayms(5);void main()uchar a,A1,A2,A3;EA=1; /開總中斷EX0=1;/開外部中斷0IT0=1; /設(shè)置電平觸發(fā)方式為下降沿while(1)adwr=1;_nop_();adwr=0;_nop_();adwr=1;for(a=10;a0;a-)display(A1,A2,A3);A1=adv

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論