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

下載本文檔

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

文檔簡介

第五講:

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

P.194

鍵盤

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

按鍵值編碼方式分

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

按鍵組連接方式分

獨(dú)立連接鍵盤與矩陣連接鍵盤。單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件編碼鍵盤:

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

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

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

每鍵相互獨(dú)立,各自與一條I/O線相連,CPU可直接讀取該I/O線的高/低電平狀態(tài)。特點(diǎn):占I/O口線多,但判鍵速度快,多用于設(shè)置控制鍵、功能鍵。適用于鍵數(shù)少的場合。矩陣連接鍵盤:鍵按矩陣排列,各鍵處于矩陣行/列的結(jié)點(diǎn)處,CPU通過對連在行(列)的I/O線送已知電平的信號,然后讀取列(行)線的狀態(tài)信息。逐線掃描,得出鍵碼。特點(diǎn):鍵多時占用I/O口線少,但判鍵速度慢,多用于設(shè)置數(shù)字鍵。適用于鍵數(shù)多的場合。單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件獨(dú)立連接式鍵盤例1:特點(diǎn):此子程序需不斷(或定時)調(diào)用,否則可能漏判。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單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件獨(dú)立連接式鍵盤例2特點(diǎn):@此子程序采用中斷查詢不會漏判,省時。@鍵的優(yōu)先級由指令順序決定。@為防止一次按鍵多次中斷,在功能子程序里應(yīng)安排“關(guān)/開中斷指令”并“延時”。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單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件矩陣式鍵盤P.198例AT89C518155P0ALECERESETAD0-7EARESETRDWRWRRDPA7PA6PA5PA4PA3PA2PA1PA0PC0PC1PC2PC3P2.7ALE+5v+5v行線列線0行7行0列3列

0481216202428

1591317212529

26101418222630

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

0481216202428

1591317212529

26101418222630

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

0481216202428

1591317212529

26101418222630

37111519232631矩陣式鍵盤工作原理:先由行線送出數(shù)據(jù),送全“0”或每次只送一位“0”;然后讀進(jìn)列線,判有無鍵按下或按鍵的位置并算出鍵值。順序掃描。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位讀進(jìn)值→R4(0F,0E,0D,0B,07)

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

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

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

;查有無鍵閉合

JNZLK1;有鍵閉合轉(zhuǎn)消顫

LJMPLK8

;無鍵閉合則退出LK1:LCALLDL6ms

;消顫12ms

LCALLDL6msLCALLKS1

;再查有無鍵閉合

JNZLK2

;的確有,轉(zhuǎn)處理

LJMPLK8

;確實(shí)無,退出去查有無鍵閉合的子程序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檢查的結(jié)果(出口):若(A)≠0,則有鍵按下;若(A)=0,則無鍵按下。行線列線0列3列1列2列0行1行2行3行4行5行6行7行

0481216202428

1591317212529

26101418222630

37111519232631單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件KEY1:LCALLKS1

;查有無鍵閉合

JNZLK1;有鍵閉合轉(zhuǎn)消顫

LJMPLK8

;無鍵閉合則退出LK1:LCALLDL6ms

;消顫12ms

LCALLDL6msLCALLKS1

;再查有無鍵閉合

JNZLK2

;的確有,轉(zhuǎn)處理

LJMPLK8

;確實(shí)無,退出去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

;列值暫存進(jìn)R4

CJNEA,#0FH,LK4;列值≠全“1”表明此次送0的行有鍵按下,轉(zhuǎn)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位讀進(jìn)

→(R4)

0F:表示此行無鍵按下。0E—07:此行的0—3列有鍵按下。單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件KEY1:LCALLKS1

;查有無鍵閉合

JNZLK1;有鍵閉合轉(zhuǎn)消顫

LJMPLK8

;無鍵閉合則退出LK1:LCALLDL6ms

;消顫12ms

LCALLDL6msLCALLKS1

;再查有無鍵閉合

JNZLK2

;的確有,轉(zhuǎn)處理

LJMPLK8

;確實(shí)無,退出去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

;列值暫存進(jìn)R4

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

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

JNBACC.7,LK8

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

RLA

;Acc中的“0”左移一位

MOVR2,A;新掃描值仍存進(jìn)R2

INCR3

;行號加1指向下一行

SJMPLK3

;轉(zhuǎn)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單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件KEY1:LCALLKS1

;查有無鍵閉合

JNZLK1;有鍵閉合轉(zhuǎn)消顫

LJMPLK8

;無鍵閉合則退出LK1:LCALLDL6ms

;消顫12ms

LCALLDL6msLCALLKS1

;再查有無鍵閉合

JNZLK2

;的確有,轉(zhuǎn)處理

LJMPLK8

;確實(shí)無,退出去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

;列值暫存進(jìn)R4

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

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

JNBACC.7,LK8

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

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

MOVR2,A

;新掃描值仍存進(jìn)R2

INCR3

;行號加1指向下一行

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

ADDA,R3;行號乘4

MOVR5,A;得行首值

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

MOVR5,A;暫存進(jìn)

R5

單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件KEY1:LCALLKS1

;查有無鍵閉合

JNZLK1;有鍵閉合轉(zhuǎn)消顫

LJMPLK8

;無鍵閉合則退出LK1:LCALLDL6ms

;消顫12ms

LCALLDL6msLCALLKS1

;再查有無鍵閉合

JNZLK2

;的確有,轉(zhuǎn)處理

LJMPLK8

;確實(shí)無,退出去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

;列值暫存進(jìn)R4

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

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

JNBACC.7,LK8

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

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

MOVR2,A

;新掃描值仍存進(jìn)R2

INCR3

;行號加1指向下一行

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

ADDA,R3;行號乘4

MOVR5,A;得行首值

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

MOVR5,A;暫存進(jìn)

R5

MOVA,R4

;列值只可能=

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

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

INCR5

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

SJMPLK5;再轉(zhuǎn)LK5判C鍵值LK6:PUSH05H

;將找到的鍵值壓棧保存起來。單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件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;再轉(zhuǎn)LK5判C鍵值LK6:PUSH05H

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

JNZLK7;未釋放,等

LCALLDL6ms

;消顫

LCALLDL6ms

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

;無鍵閉合標(biāo)志→ARET

單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件矩陣式鍵盤線反轉(zhuǎn)法

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

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

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

ANLA,#0F0H;保留高4位

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

若無鍵按下則退出鍵掃描。0行1行2行3行0列1列2列3列設(shè):第3行/第1列結(jié)點(diǎn)有鍵按下首先:“11110000”

→P1然后讀P1:P1←

“1101xxxx”

只留高4位:A

=“1101

0000”因?yàn)橛墟I按下,A

≠11110000P202圖6-28單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件AT89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5v①M(fèi)OVP1,#0F0H;低位送全“0”MOVA,P1;讀進(jìn)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;再讀進(jìn)P1口電平

ANLA,#0FH;只留低4位

ADDA,R2

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

T型解碼網(wǎng)絡(luò)電阻數(shù)量大一倍。但電阻值歸一化程度高,容易集成,精度高。應(yīng)用最為普遍。單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件權(quán)電阻解碼網(wǎng)絡(luò)

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

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

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

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

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

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

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

CSVCCWR1

ILEAGNDWR2D3XFERD2D4D1D5D0D6VrefD7Rfb

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

單電源供電√電流輸出型器件(需外接運(yùn)放)√具有雙緩沖控制輸出√采用T型電阻解碼網(wǎng)絡(luò)結(jié)構(gòu)√參考電壓源,-10~+10V單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件DAC0832

引腳定義

(P.211)CSVCCWR1

ILEAGNDWR2D3XFERD2D4D1D5D0D6VrefD7Rfb

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

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

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

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

電流輸出端1Iout2:

電流輸出端2Rfb:

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

內(nèi)部結(jié)構(gòu)框圖

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

片選端,低有效ILE:

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

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

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

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

+uA741-12V+12VGNDAGNDDGNDIout1Iout2Rfb接示波器單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件DAC0832

常見的幾種用法單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件DAC0832

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

常見的幾種用法

(P.213)&≥1≥111000011LE2ILECEWR1WR2XFERD7D0LE1輸入寄存器寄存器DAC轉(zhuǎn)換器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”單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件DAC0832的編程應(yīng)用舉例P215例1產(chǎn)生矩形波P215例2產(chǎn)生鋸齒波LL:MOVA,#00H;低電平

MOVDPTR,#0FEFFHMOVX@DPTR,A;送轉(zhuǎn)換

LCALLDMS1;低寬度

MOVA,#0FFH;高電平

MOVX@DPTR,A;送轉(zhuǎn)換

LCALLDMS2;高寬度

SJMPLLMOVA,#00H;起始值

MOVDPTR,#0FEFFHMM:MOVX@DPTR,A;送轉(zhuǎn)換

INCANOPNOPNOP;決定坡度

SJMPMM單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件DAC0832編程應(yīng)用舉例:P216例3產(chǎn)生三角波

MOVA,#00HMOVDPTR,#0FEFFHSS1:MOVX@DPTR,A;送轉(zhuǎn)換

NOPNOPNOPSS2:INCA;等速上升

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

JNZSS3

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

MOVR0,#79H;顯緩最低位

LCALLPTDS;拆字

MOVR2,#10H

XS1:LCALLDIS;顯示

DJNZR2,XS1

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

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

MOVR0,#79H;顯緩最低位

LCALLPTDS;拆字

MOVR2,#10H

XS1:LCALLDIS;顯示

DJNZR2,XS1

INCR6;加1

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

MOVR0,#79H

LCALLPTDS

MOVR2,#10HXS2:LCALLDIS;顯示

DJNZR2,XS2

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

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

逐次逼近式雙積分式

并行式

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

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

S至幾百

S數(shù)量級。

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

被轉(zhuǎn)換的模擬量若幅度過小(信號微弱)則需要加信號調(diào)理電路。逐次逼近式A/D轉(zhuǎn)換器特點(diǎn)單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件雙積分式A/D轉(zhuǎn)換器結(jié)構(gòu)與工作原理比較器積分器+-+--標(biāo)準(zhǔn)電壓時鐘控制邏輯計數(shù)器+VinTT

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

(正比于輸入電壓)例如:ICL7107單片機(jī)原理與應(yīng)用技術(shù)》教學(xué)課件雙積分式A/D轉(zhuǎn)換器特點(diǎn)

轉(zhuǎn)換速度較慢(因?yàn)锳/D轉(zhuǎn)換的過程要兩次積分)通常在幾十mS至幾百mS數(shù)量級。

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

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

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

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

Vin范圍:單極性0—+5V√逐次逼近結(jié)構(gòu)√每次轉(zhuǎn)換時間:

100

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

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

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

溫馨提示

  • 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

提交評論