單片機原理與應用技術5_第1頁
單片機原理與應用技術5_第2頁
單片機原理與應用技術5_第3頁
單片機原理與應用技術5_第4頁
單片機原理與應用技術5_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第五講:

接口與系統(tǒng)擴展(2)本講重點:鍵盤接口(鍵盤種類,矩陣鍵盤的行掃描與線反轉法的電路、原理與編程);D/A轉換接口(DAC0832產生各種波形);A/D轉換接口(ADC0809三種讀取方式,電路及單路采集與多路采集編程應用).單片機原理與應用技術》教學課件擴展鍵盤接口單片機原理與應用技術》教學課件四、鍵盤接口

P.194

鍵盤

單片機系統(tǒng)中完成控制參數(shù)輸入及修改的基本輸入設備,是人工干預系統(tǒng)的重要手段。單片機與計算機在鍵盤規(guī)模/鍵符設置等方面差別很大。鍵盤分類@

按鍵值編碼方式分

(硬件)編碼鍵盤與非(硬件)編碼鍵盤。@

按鍵組連接方式分

獨立連接鍵盤與矩陣連接鍵盤。單片機原理與應用技術》教學課件編碼鍵盤:

采用專用的編碼/譯碼器件,被按下的鍵由該器件譯碼輸出相應的鍵碼/鍵值。特點:增加了硬件開銷,編碼因選用器件而異,編碼固定,但編程簡單。適用于規(guī)模大的鍵盤。非編碼鍵盤:

單片機系統(tǒng)多采用此類鍵盤

采用軟件編/譯碼的方式,通過掃描,對每個被按下的鍵判別輸出相應的鍵碼/鍵值。特點:不增加硬件開銷,編碼靈活,適用于小規(guī)模的鍵盤,特別是單片機系統(tǒng)。但編程較復雜,占CPU時間,還須軟件“消顫”。按鍵值編碼方式:編碼鍵盤與非編碼鍵盤單片機原理與應用技術》教學課件按鍵組連接方式:獨立連接鍵盤與矩陣連接鍵盤獨立連接鍵盤:

每鍵相互獨立,各自與一條I/O線相連,CPU可直接讀取該I/O線的高/低電平狀態(tài)。特點:占I/O口線多,但判鍵速度快,多用于設置控制鍵、功能鍵。適用于鍵數(shù)少的場合。矩陣連接鍵盤:鍵按矩陣排列,各鍵處于矩陣行/列的結點處,CPU通過對連在行(列)的I/O線送已知電平的信號,然后讀取列(行)線的狀態(tài)信息。逐線掃描,得出鍵碼。特點:鍵多時占用I/O口線少,但判鍵速度慢,多用于設置數(shù)字鍵。適用于鍵數(shù)多的場合。單片機原理與應用技術》教學課件獨立連接式鍵盤例1:特點:此子程序需不斷(或定時)調用,否則可能漏判。4個鍵的優(yōu)先級由指令順序決定。P1.0P1.1P1.2P1.3KEY:JNBP1.0,FUNC1;逐鍵判別

JNBP1.1,FUNC2JNBP1.2,FUNC3

JNBP1.3,FUNC4RET;無任何鍵按下由此返回FUNC1:……;做P1.0要求的“功能1”RETFUNC2:……;做P1.1要求的“功能2”RETFUNC3:……;做P1.2要求的“功能3”RETFUNC4:……;做P1.3要求的“功能4”RETAT89C51單片機原理與應用技術》教學課件獨立連接式鍵盤例2特點:@此子程序采用中斷查詢不會漏判,省時。@鍵的優(yōu)先級由指令順序決定。@為防止一次按鍵多次中斷,在功能子程序里應安排“關/開中斷指令”并“延時”。P1.0P1.1P1.2P1.3

ORG0003HLJMPKEY…………KEY:JNBP1.0,FUNC1;逐鍵判別

JNBP1.1,FUNC2JNBP1.2,FUNC3

JNBP1.3,FUNC4RETI;無任何鍵按下由此返回FUNC1:……;做P1.0要求的“功能1”RETIFUNC2:……;做P1.1要求的“功能2”RETIFUNC3:……;做P1.2要求的“功能3”RETIFUNC4:……;做P1.3要求的“功能4”RETIINT0&(上拉)AT89C51單片機原理與應用技術》教學課件矩陣式鍵盤P.198例AT89C518155P0ALECERESETAD0-7EARESETRDWRWRRDPA7PA6PA5PA4PA3PA2PA1PA0PC0PC1PC2PC3P2.7ALE+5v+5v行線列線0行7行0列3列

0481216202428

1591317212529

26101418222630

37111519232631此圖參照P198圖6-26畫的,但按照書上給的程序,鍵值標錯了。P2.0IO/M8155控制寄存器:0100H8155A口地址:0101H8155C口地址:0103HA口為輸出C口為輸入口單片機原理與應用技術》教學課件P.198圖的標注0行1行2行3行4行5行6行7行行線(PA0-PA7)列線PC0-30列3列

0481216202428

1591317212529

26101418222630

371115192326311列2列0行1行2行3行4行5行6行7行行線(PA0-PA7)列線PC0-30列3列

01234567

89101112131415161718192021222324252627282930311列2列P.198圖的正確標注單片機原理與應用技術》教學課件0行1行2行3行4行5行6行7行行線(PA0-PA7)列線PC0-30列3列

0481216202428

1591317212529

26101418222630

371115192326311列2列P.198圖的正確標注0行1行2行3行4行5行6行7行0列1列2列3列012345678910111213141516171819202122232425262728293031列線PC0-3行線PA0|PA7左右兩圖是一樣的習慣說“橫行豎列”單片機原理與應用技術》教學課件矩陣式鍵盤名詞注釋0行1行2行3行4行5行6行7行行線(PA0-PA7)列線PC0-30列3列

0481216202428

1591317212529

26101418222630

37111519232631矩陣式鍵盤工作原理:先由行線送出數(shù)據,送全“0”或每次只送一位“0”;然后讀進列線,判有無鍵按下或按鍵的位置并算出鍵值。順序掃描。1列2列@行號:第0行—第7行→R3(0,1,2,3,4,5,6,7)@行首值:(R3)X4→R5(0,4,8,12,16,20,24,28)@列值:C口低4位讀進值→R4(0F,0E,0D,0B,07)

0F:表示此行無鍵按下。

0E—07:表示此行的0—3列有鍵按下。@鍵值:查得最后結果→R5

等于已知按鍵所在的行首值,再加上所在列的序號。同一行中,鍵值等于行首值連續(xù)依次加1。單片機原理與應用技術》教學課件KEY1:LCALLKS1

;查有無鍵閉合

JNZLK1;有鍵閉合轉消顫

LJMPLK8

;無鍵閉合則退出LK1:LCALLDL6ms

;消顫12ms

LCALLDL6msLCALLKS1

;再查有無鍵閉合

JNZLK2

;的確有,轉處理

LJMPLK8

;確實無,退出去查有無鍵閉合的子程序KS1:KS1:MOVDPTR,#0101H

;指向A口

MOVA,#00H;8條行線都送0

MOVX,@DPTR,A;送到行線上去

INCDPTR

INCDPTR

;指向C口

MOVXA,@DPTR

;讀列線的電平

ANLA,#0FH;保留C口低4位若確有鍵按下,則Acc中必有“0”O(jiān)RLA,#0F0H;將Acc高4位賦1CPLA;Acc取反后,高4位=0;

若有鍵按下,則低4位中必有“1”

RET檢查的結果(出口):若(A)≠0,則有鍵按下;若(A)=0,則無鍵按下。行線列線0列3列1列2列0行1行2行3行4行5行6行7行

0481216202428

1591317212529

26101418222630

37111519232631單片機原理與應用技術》教學課件KEY1:LCALLKS1

;查有無鍵閉合

JNZLK1;有鍵閉合轉消顫

LJMPLK8

;無鍵閉合則退出LK1:LCALLDL6ms

;消顫12ms

LCALLDL6msLCALLKS1

;再查有無鍵閉合

JNZLK2

;的確有,轉處理

LJMPLK8

;確實無,退出去LK2:MOVR3,#00H

;(R3)←行號初值

MOVR2,#0FEH;(R2)←行掃描初值LK3:MOVDPTR#0101H;指向8155A口

MOVA,R2;取行掃描值

MOVX,@DPTR,A

;送到行線上去

INCDPTR

INCDPTR

;指向8155C口

MOVXA,@DPTR

;讀列線的電平

ANLA,#0FH

;保留C口低4位

MOVR4,A

;列值暫存進R4

CJNEA,#0FH,LK4;列值≠全“1”表明此次送0的行有鍵按下,轉LK4處理,若=全1,表明此次送0的行無鍵按下。@行號:第0行—第7行→(R3)(0,1,2,3,4,5,6,7)@行掃描值:0FEH→(R2)(FE,FD,FB,F7,EF,DF,BF,7F)

FEH=11111110B(首次掃描)

FDH=11111101B(2次掃描)

FBH=11111011B(3次掃描)

F7H=11110111B(4次掃描)

EFH=11101111B(5次掃描)DFH=11011111B(6次掃描)BFH=10111111B(7次掃描)7FH=01111111B(8次掃描)@列值:(0F,0E,0D,0B,07)

從C口低4位讀進

→(R4)

0F:表示此行無鍵按下。0E—07:此行的0—3列有鍵按下。單片機原理與應用技術》教學課件KEY1:LCALLKS1

;查有無鍵閉合

JNZLK1;有鍵閉合轉消顫

LJMPLK8

;無鍵閉合則退出LK1:LCALLDL6ms

;消顫12ms

LCALLDL6msLCALLKS1

;再查有無鍵閉合

JNZLK2

;的確有,轉處理

LJMPLK8

;確實無,退出去LK2:MOVR3,#00H

;(R3)←行號初值

MOVR2,#0FEH;(R2)←行掃描初值LK3:MOVDPTR#0101H;指向8155A口

MOVA,R2

;取行掃描值

MOVX,@DPTR,A

;送到行線上去

INCDPTR

INCDPTR

;指向8155C口

MOVXA,@DPTR

;讀列線的電平

ANLA,#0FH

;保留C口低4位

MOVR4,A

;列值暫存進R4

CJNEA,#0FH,LK4;列值≠全“1”表明此次送0的行有鍵按下,轉LK4處理,若=全1,表明此次送0的行無鍵按下。

MOVA,R2;取出此次行掃描值

JNBACC.7,LK8

;若已掃過最后一行就退出掃描,否則掃下一行。

RLA

;Acc中的“0”左移一位

MOVR2,A;新掃描值仍存進R2

INCR3

;行號加1指向下一行

SJMPLK3

;轉LK3去掃描下一行@行號:第0行—第7行→(R3)(0,1,2,3,4,5,6,7)@行掃描值:0FEH→(R2)(FE,FD,FB,F7,EF,DF,BF,7F)

FEH=11111110B(首次掃描)

……………BFH=10111111B(7次掃描)

7FH=01111111

B

(8次掃描)注意:

只有第8次掃描值最高位=0單片機原理與應用技術》教學課件KEY1:LCALLKS1

;查有無鍵閉合

JNZLK1;有鍵閉合轉消顫

LJMPLK8

;無鍵閉合則退出LK1:LCALLDL6ms

;消顫12ms

LCALLDL6msLCALLKS1

;再查有無鍵閉合

JNZLK2

;的確有,轉處理

LJMPLK8

;確實無,退出去LK2:MOVR3,#00H

;(R3)←行號初值

MOVR2,#0FEH;(R2)←行掃描初值LK3:MOVDPTR#0101H;指向8155A口

MOVA,R2

;取行掃描值

MOVX,@DPTR,A

;送到行線上去

INCDPTR

INCDPTR

;指向8155C口

MOVXA,@DPTR

;讀列線的電平

ANLA,#0FH

;保留C口低4位

MOVR4,A

;列值暫存進R4

CJNEA,#0FH,LK4;列值≠全“1”表明此次送0的行有鍵按下,轉LK4處理,若=全1,表明此次送0的行無鍵按下。

MOVA,R2;取出此次行掃描值

JNBACC.7,LK8

;若已掃過最后一行就退出掃描,否則掃下一行。

RLA;Acc中的“0”左移一位

MOVR2,A

;新掃描值仍存進R2

INCR3

;行號加1指向下一行

SJMPLK3;轉LK3去掃描下一行LK4:MOVA,R3;此行有按鍵,取行號

ADDA,R3;行號乘4

MOVR5,A;得行首值

ADDA,R5;即:0,4,8,12…

MOVR5,A;暫存進

R5

單片機原理與應用技術》教學課件KEY1:LCALLKS1

;查有無鍵閉合

JNZLK1;有鍵閉合轉消顫

LJMPLK8

;無鍵閉合則退出LK1:LCALLDL6ms

;消顫12ms

LCALLDL6msLCALLKS1

;再查有無鍵閉合

JNZLK2

;的確有,轉處理

LJMPLK8

;確實無,退出去LK2:MOVR3,#00H

;(R3)←行號初值

MOVR2,#0FEH;(R2)←行掃描初值LK3:MOVDPTR#0101H;指向8155A口

MOVA,R2

;取行掃描值

MOVX,@DPTR,A

;送到行線上去

INCDPTR

INCDPTR

;指向8155C口

MOVXA,@DPTR

;讀列線的電平

ANLA,#0FH

;保留C口低4位

MOVR4,A

;列值暫存進R4

CJNEA,#0FH,LK4;列值≠全“1”表明此次送0的行有鍵按下,轉LK4處理,若=全1,表明此次送0的行無鍵按下。

MOVA,R2;取出此次行掃描值

JNBACC.7,LK8

;若已掃過最后一行就退出掃描,否則掃下一行。

RLA;Acc中的“0”左移一位

MOVR2,A

;新掃描值仍存進R2

INCR3

;行號加1指向下一行

SJMPLK3;轉LK3去掃描下一行LK4:MOVA,R3;此行有按鍵,取行號

ADDA,R3;行號乘4

MOVR5,A;得行首值

ADDA,R5;即:0,4,8,12…

MOVR5,A;暫存進

R5

MOVA,R4

;列值只可能=

#0F,#0E,#0D,#0B,#07HLK5:RRCA;取列值的最低位到Cy

JNCLK6;Cy=0就找到了,即R5

INCR5

;否則行值增1,即同行中的下一個鍵值

SJMPLK5;再轉LK5判C鍵值LK6:PUSH05H

;將找到的鍵值壓棧保存起來。單片機原理與應用技術》教學課件KEY1:LCALLKS1

JNZLK1LJMPLK8

LK1:LCALLDL6ms

LCALLDL6msLCALLKS1

JNZLK2

LJMPLK8

LK2:MOVR3,#00H

MOVR2,#0FEHLK3:MOVDPTR#0101H

MOVA,R2

MOVX,@DPTR,A

INCDPTR

INCDPTR

MOVXA,@DPTR

ANLA,#0FH

MOVR4,A

CJNEA,#0FH,LK4

MOVA,R2JNBACC.7,LK8

RLA

MOVR2,A

INCR3

SJMPLK3LK4:MOVA,R3

ADDA,R3

MOVR5,AADDA,R5

MOVR5,A

MOVA,R4LK5:RRCA;取列值的最低位到Cy

JNCLK6;Cy=0就找到了,即R5

INCR5

;否則行值增1,即同行中的下一個鍵值

SJMPLK5;再轉LK5判C鍵值LK6:PUSH05H

;將找到的鍵值壓棧保存起來。LK7:LCALLDL6ms;延6msLCALLKS1;鍵釋放?

JNZLK7;未釋放,等

LCALLDL6ms

;消顫

LCALLDL6ms

POPACC;鍵值→ARND:RETLK8:MOVA,#0FFH

;無鍵閉合標志→ARET

單片機原理與應用技術》教學課件矩陣式鍵盤線反轉法

(P.202)AT89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5vP202圖6-280行1行2行3行0列1列2列3列原理:@由行線輸出全“0”,讀入列線,判有無鍵按下。@若有鍵按下,再將讀入的列

線值由列線輸出,讀進行線的值。@第一步讀進的列線值與第二步讀進的行線值相加,從而得到代表此鍵的唯一的特征值。@線反轉法因輸入與輸出線

反過來用而得名。@優(yōu)點是判鍵速度快,兩次即可。單片機原理與應用技術》教學課件矩陣式鍵盤線反轉法圖例AT89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5v①MOVP1,#0F0H;低位送全“0”MOVA,P1;讀進P1口電平

ANLA,#0F0H;保留高4位

CJNEA,#0F0H,MK3(②);若有鍵按下則P1.4—P1.7必有“0”位,跳轉到MK3去處理;

若無鍵按下則退出鍵掃描。0行1行2行3行0列1列2列3列設:第3行/第1列結點有鍵按下首先:“11110000”

→P1然后讀P1:P1←

“1101xxxx”

只留高4位:A

=“1101

0000”因為有鍵按下,A

≠11110000P202圖6-28單片機原理與應用技術》教學課件AT89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5v①MOVP1,#0F0H;低位送全“0”MOVA,P1;讀進P1口電平

ANLA,#0F0H;保留高4位

CJNEA,#0F0H,MK3(②)0行1行2行3行0列1列2列3列此時:

R2←“11010000”然后:A←“1101

1111”返送P1口:“11011111”→P1再讀P1口:P1←“xxxx0111”只留低4位:A←“00000111”特征值:A+R2=“11010111”②MOVR2,A;暫存回R2ORLA,#0FH;高4位保留;

低4位充“1”MOVP1,A;新值返送P1口

MOVA,P1;再讀進P1口電平

ANLA,#0FH;只留低4位

ADDA,R2

;得到鍵特征值P202圖6-28矩陣式鍵盤線反轉法圖例單片機原理與應用技術》教學課件D/A轉換接口擴展單片機原理與應用技術》教學課件五、D/A轉換器接口(P.209)D/A轉換的一般工作原理:常用電阻分壓/分流來實現(xiàn)D/A轉換。D/A轉換器將數(shù)字信息轉換成與數(shù)值成正比的電壓/電流。有權電阻解碼網絡與T型解碼網絡兩種構建方法,又以T型解碼網絡最為常用。權電阻解碼網絡簡單。但隨著D/A轉換的位數(shù)增加,權電阻值跨度增大,在集成電路中難于實現(xiàn)。

T型解碼網絡電阻數(shù)量大一倍。但電阻值歸一化程度高,容易集成,精度高。應用最為普遍。單片機原理與應用技術》教學課件權電阻解碼網絡

+IIoutR0R1R2R3R4R5R6R7若:R0=RR1=R/2R2=R/4R3=R/8…………R7=R/128從而:I0=Vref/RI1=2Vref/RI2=4Vref/RI3=8Vref/R…………I7=128Vref/R開關控制電路開關控制電路的作用:將“0”值對應的開關打到地,將“1”值對應的開關接通Vref加法器電路簡單,權電阻值跨度大,在集成電路中難于實現(xiàn)D7D6D5D4D3D2D1D0Vref單片機原理與應用技術》教學課件

+Iout2R2R2R2R2R2R2R2R每個2R支路的電流均為上一支路的1/2:

I7=(Vref/2R)I6=(Vref/2R)/2I5=(Vref/2R)/4…………I0=(Vref/2R)/128開關控制電路開關控制電路:“0”值將開關打到地;“1”值將開關接通Vref加法器電路T型解碼網絡2RRRRRRRR深度負反饋條件下,運放的“虛短特性”:Vd

0,(因開環(huán)增益極大,輸入端之間壓差極小)Ii

0,(因輸入阻抗極大,輸入電流極小)從而:

由節(jié)點向下看去阻值均為2R

由節(jié)點向下向右看去阻值均為RVref“1”“0”I7I6I5I4I3I2I0I1電阻數(shù)量增大一倍,但阻值歸一,集成容易,精度高D7D0單片機原理與應用技術》教學課件8位CMOS數(shù)模轉換芯片DAC0832:

CSVCCWR1

ILEAGNDWR2D3XFERD2D4D1D5D0D6VrefD7Rfb

Iout2DGNDIout1DAC083220PINDIP封裝√8位D/A,分辨率=Vref/256√CMOS低功耗器件,+5~+15V

單電源供電√電流輸出型器件(需外接運放)√具有雙緩沖控制輸出√采用T型電阻解碼網絡結構√參考電壓源,-10~+10V單片機原理與應用技術》教學課件DAC0832

引腳定義

(P.211)CSVCCWR1

ILEAGNDWR2D3XFERD2D4D1D5D0D6VrefD7Rfb

Iout2DGNDIout1DAC083220PINDIP封裝D0—D7:8位數(shù)字量輸入端/CS:片選端,低有效ILE:

數(shù)據鎖存允許,高有效/WR1:

寫控制信號1,低有效/WR2:

寫控制信號2,低有效/XFER:數(shù)據傳送控制信號Iout1:

電流輸出端1Iout2:

電流輸出端2Rfb:

內置反饋電阻端Vref:參考電壓源,-10~+10VDGND:數(shù)字量地AGND:模擬量地Vcc:+5~+15V單電源供電端單片機原理與應用技術》教學課件DAC0832

內部結構框圖

(P.210)書上P.210圖有誤與非門應改為與門&≥1≥111000011LE2ILECEWR1WR2XFERD7D0LE1輸入寄存器寄存器DAC轉換器D/AVrefIout2Iout1RfbLE=1,Q跟隨DLE=0,Q鎖存DD0—D7:8位數(shù)字量輸入端/CS:

片選端,低有效ILE:

數(shù)據鎖存允許,高有效/WR1:寫控制信號1,低有效/WR2:寫控制信號2,低有效/XFER:數(shù)據傳送控制信號Iout1:電流輸出端1Iout2:電流輸出端2Rfb:

內置反饋電阻端Vref:參考電壓源,-10~+10VDGND:數(shù)字量地AGND:模擬量地Vcc:+5~+15V單電源供電端單片機原理與應用技術》教學課件DAC0832與單片機的連接

P.21389C51單片機DAC0832P0.0—P0.7P2.08位DI0—DI7EAWRXFERCS+5V6MHz30Px2對應P.213圖6-36(C),

是兩個寄存器同時選通及鎖存方式WR1WR2+5VVccVrefILE

+uA741-12V+12VGNDAGNDDGNDIout1Iout2Rfb接示波器單片機原理與應用技術》教學課件DAC0832

常見的幾種用法單片機原理與應用技術》教學課件DAC0832

常見的幾種用法P.213(a):DAC寄存器直通方式P.213(b):輸入寄存器直通方式P.213(c):兩個寄存器同時選通及鎖存方式單片機原理與應用技術》教學課件DAC0832

常見的幾種用法

(P.213)&≥1≥111000011LE2ILECEWR1WR2XFERD7D0LE1輸入寄存器寄存器DAC轉換器D/AVrefIout2Iout1RfbLE=1,Q跟隨DLE=0,Q鎖存DP.213(a):DAC寄存器直通方式P.213(b):輸入寄存器直通方式P.213(c):兩個寄存器同時選通及鎖存方式≥1&或非門非與門輸入任一為“1”輸出皆為“0”輸入全為“0”,輸出才為“1”輸入全為“0”,輸出才為“1”輸入任一為“1”輸出皆為“0”單片機原理與應用技術》教學課件DAC0832的編程應用舉例P215例1產生矩形波P215例2產生鋸齒波LL:MOVA,#00H;低電平

MOVDPTR,#0FEFFHMOVX@DPTR,A;送轉換

LCALLDMS1;低寬度

MOVA,#0FFH;高電平

MOVX@DPTR,A;送轉換

LCALLDMS2;高寬度

SJMPLLMOVA,#00H;起始值

MOVDPTR,#0FEFFHMM:MOVX@DPTR,A;送轉換

INCANOPNOPNOP;決定坡度

SJMPMM單片機原理與應用技術》教學課件DAC0832編程應用舉例:P216例3產生三角波

MOVA,#00HMOVDPTR,#0FEFFHSS1:MOVX@DPTR,A;送轉換

NOPNOPNOPSS2:INCA;等速上升

JNZSS1SS3:DECAMOVX@DPTR,ANOPNOPNOP;等速下降

JNZSS3

SJMPSS2同樣的編程思路,若要產生如下的梯形波也很容易:三角波梯形波單片機原理與應用技術》教學課件DAC0832的編程應用舉例(硬件實驗十)SE13:MOVSP,#60HMOV7EH,#00HMOV7DH,#08HMOV7CH,#03HMOV7BH,#02HREPT:MOVR6,#00HJIA1:MOVDPTR,#0FFE0HMOVA,R6MOVX@DPTR,A;送D/A轉換

MOVR0,#79H;顯緩最低位

LCALLPTDS;拆字

MOVR2,#10H

XS1:LCALLDIS;顯示

DJNZR2,XS1

INCR6;加1顯示緩沖區(qū)初值PTDS——

單字節(jié)拆字子程序:功能:將A中的單字節(jié)16進制數(shù)拆開:出口:低4位放進R0間接尋址指向的單元(79H)高4位放進R0+1后指向的單元(7AH)單片機原理與應用技術》教學課件DAC0832的編程應用舉例(硬件實驗十)SE13:MOVSP,#60HMOV7EH,#00HMOV7DH,#08HMOV7CH,#03HMOV7BH,#02HREPT:MOVR6,#00HJIA1:MOVDPTR,#0FFE0HMOVA,R6MOVX@DPTR,A;送D/A轉換

MOVR0,#79H;顯緩最低位

LCALLPTDS;拆字

MOVR2,#10H

XS1:LCALLDIS;顯示

DJNZR2,XS1

INCR6;加1

CJNER6,#0FFH,JIA1;不到0FF則繼續(xù)加JIAN:MOVDPTR,#0FFE0HDECR6MOVA,R6MOVX@DPTR,A;送轉換

MOVR0,#79H

LCALLPTDS

MOVR2,#10HXS2:LCALLDIS;顯示

DJNZR2,XS2

CJNER6,#00H,JIAN;不為0繼續(xù)減

SJMPREPT;循環(huán)顯示緩沖區(qū)初值單片機原理與應用技術》教學課件A/D轉換接口擴展單片機原理與應用技術》教學課件六、A/D轉換器接口(P.204)A/D轉換的一般工作模式常用的有:

逐次逼近式雙積分式

并行式

Σ-Δ式尤以前兩種最為普遍。單片機原理與應用技術》教學課件控制邏輯與時序D/A轉換器SARVin比較器輸出鎖存器STARTCLKEOCD0D7+Vref-VrefOEVst逐次逼近式A/D轉換器結構+-單片機原理與應用技術》教學課件D/A轉換器的輸出,從二進制數(shù)據的最高位起,依次逐位置1,與待轉換的模擬量比較,若前者小于后者,該位置1并保留下來,若前者大于后者,該位清0;然后再照此比較下一位,……直至比完最低位。最后得到的結果即A/D轉換的值??刂七壿嬇c時序D/A轉換器SARVin比較器輸出鎖存器STARTCLKEOCD0D7+Vref-VrefOEVst逐次逼近式A/D轉換器工作原理單片機原理與應用技術》教學課件

轉換速度較快(比較次數(shù)等于A/D的位數(shù))通常在幾

S至幾百

S數(shù)量級。

被轉換的模擬量若頻率很高(變化較快)則要加S/H電路。

被轉換的模擬量若幅度過小(信號微弱)則需要加信號調理電路。逐次逼近式A/D轉換器特點單片機原理與應用技術》教學課件雙積分式A/D轉換器結構與工作原理比較器積分器+-+--標準電壓時鐘控制邏輯計數(shù)器+VinTT

時間固定斜率固定Vint輸出電路對未知輸入電壓先進行固定時間T的積分(充電),然后對已知標準電壓進行反向積分(放電),直至放電為0,放電所花時間T

(正比于輸入電壓)例如:ICL7107單片機原理與應用技術》教學課件雙積分式A/D轉換器特點

轉換速度較慢(因為A/D轉換的過程要兩次積分)通常在幾十mS至幾百mS數(shù)量級。

適用于轉換變化較緩慢的模擬量(頻率較低)輸入端一般不需要在加S/H電路。

抗干擾性強(信號波動對精度影響不大)。

性價比高,與逐次比較型相比,同樣價格條件下轉換精度較高,常用于數(shù)字多用表。單片機原理與應用技術》教學課件IN3IN2IN4IN1IN5IN0IN6ADDAIN7ADDBSTARTADDCEOCALED3D7OED6CLKD5VCCD4Vref+D0GNDVref-D1D2ADC08098位CMOS模數(shù)轉換芯片ADC0809P.205

√8位A/D,量化間隔=Vin/(256-1)√CMOS低功耗器件√8通道多路開關輸入切換電路√單電源+5,Vref=+5V

Vin范圍:單極性0—+5V√逐次逼近結構√每次轉換時間:

100

S60個時鐘周期,fmax=640KHz(推薦CLK=500KHz)√轉換結果讀取方式:

①延時讀數(shù)②查詢EOC=1③EOC申請中斷單片機原理與應用技術》教學課件IN3IN2IN4IN1IN5IN0IN6ADDAIN7ADDBSTARTADDCEOCALED3D7OED6CLKD5VCCD4Vref+D0GNDVref-D1D2ADC0809IN0—IN7:8通道模擬量輸入端

D0—D7:8位數(shù)字量輸出端ADDC、ADDB、ADDA:接地址鎖存器的低三位地址ALE:地址鎖存允許控制信號START:清0內寄存器,啟動轉換OE:允許讀A/D結果,高有效CLK:時鐘輸入端,應≤640KHz

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論