




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
9常用外圍設(shè)備接口
1單片機典型應(yīng)用系統(tǒng)的結(jié)構(gòu)
2單片機應(yīng)用系統(tǒng)所需要的一般配置:
單片機。人機交流設(shè)備。輸入設(shè)備有鍵盤和按鍵,輸出設(shè)備有數(shù)碼管、液晶顯示模塊和指示燈等。信號采集的輸入通道。如出租車的測距、測速裝置,溫控系統(tǒng),溫度計的溫度傳感器、洗衣機的水位測量設(shè)備。向操作對象發(fā)出各種控制信號的輸出通道。如空調(diào)啟動壓縮機的開關(guān)電路,控制彩電的頻道切換、顏色、音量等的接口電路。如果需與其他計算機系統(tǒng)或智能設(shè)備實現(xiàn)信息交換,還需配置通信接口電路。有時還需擴展外部RAM、EEPROM用于存放數(shù)據(jù)。如彩電遙控系統(tǒng)中存放系統(tǒng)數(shù)據(jù)的存儲器。39.1顯示器接口
顯示器是單片機應(yīng)用系統(tǒng)常用的輸出設(shè)備,用來顯示單片機的鍵入值、中間信息及運算結(jié)果等。 單片機應(yīng)用系統(tǒng)中,常用的顯示器主要有LED(發(fā)光二極管顯示器、數(shù)碼管顯示器)和LCD(液晶顯示器)。49.1.1數(shù)碼管顯示器的結(jié)構(gòu)與工作原理一、數(shù)碼管顯示器的結(jié)構(gòu)5二、字段碼 在實際應(yīng)用中,常用一個8位并行I/O口的輸出D0~D7對應(yīng)控制數(shù)碼管的a~dp以顯示不同字形。從I/O口輸出的驅(qū)動數(shù)碼管以顯示不同字形的數(shù)據(jù)稱為字段碼(字形碼、顯示代碼)。例如,共陰極結(jié)構(gòu)的數(shù)碼管顯示“0”的字段碼為: 其他一些字形的字段碼如下表:D7D6D5D4D3D2D1D0字形碼dpgfedcba001111113FH6
7三、顯示字符轉(zhuǎn)換為字段碼(查表法)3FH“0”的字段碼06H“1”的字段碼5BH“2”的字段碼4FH“3”的字段碼66H“4”的字段碼……71H“F”的字段碼73H“P”的字段碼TABTAB+01HTAB+02HTAB+03HTAB+04H…TAB+0FHTAB+10H89.1.2顯示方式及其接口一、靜態(tài)顯示方式
1、原理共陰極或共陽極點連接在一起接地或+5V。每位的段選線與一個8位并行口連接。92、應(yīng)用舉例 例:利用串行口工作于方式0擴展8片74HC164作為LED顯示器的驅(qū)動控制接口,并編寫對應(yīng)的顯示驅(qū)動程序,將片內(nèi)RAM30H~37H單元(顯示緩沖單元)的內(nèi)容(十六進制數(shù)碼)依次顯示在顯示器上。電路和程序如下:10
11
LED:MOVSCON,#00H;設(shè)置串行口工作于方式0
MOVR0,#30H;指向顯示緩沖單元首地址
MOVR5,#8;顯示器有8位LED0:MOVA,@R0;取顯示內(nèi)容
MOVDPTR,#DTAB;指向字形碼表首地址
MOVCA,@A+DPTR;查表求得對應(yīng)的字形碼
MOVSBUF,A;啟動發(fā)送LED1:JNBTI,LED1;等待一幀發(fā)送完
CLRTI;清發(fā)送中斷請求標(biāo)志
INCR0;指向下一個顯示內(nèi)容
DJNZR5,LED0;若8位未輸出完則繼續(xù)
RET12DTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H DB82H,0F8H,80H,90H,88H,83H DB0C6H,0A1H,86H,8EH;0~F的字形碼13二、動態(tài)顯示方式1、原理所有字段控制共用一個I/O口每個字位的控制占用一根I/O口線顯示時,在某一時刻,字段口輸出第i位的字段碼,同時字位口驅(qū)動第i位的COM端使其點亮,如此逐位輪流點亮形成穩(wěn)定的n位數(shù)碼顯示效果。142、應(yīng)用舉例 實驗儀的6位數(shù)碼管顯示器就是采用動態(tài)顯示方式,其電路如下:15同相驅(qū)動16假設(shè)用8255的A口的PA0~PA5作為字位控制口,B口作為字段控制口。顯示驅(qū)動程序:(8255A口、B口、C口、控制寄存器地址為PORTA、PORTB、PORTC、CON;假設(shè)顯示緩沖單元用30H~35H)在主程序中對8255初始化
MOVA,#80H;8255的A口、B口為輸出
MOVDPTR,#CON;指向8255控制口
MOVX@DPTR,A;將控制字寫入控制寄存器17
DISP:MOVR0,#30H;顯示緩沖單元首地址
MOVR3,#0FEH;字位碼初值
MOVA,R3DISP1:MOVDPTR,#PORTA;8255A口(字位碼輸出口)
MOVX@DPTR,A;輸出字位碼
INCDPTR;8255B口(字段碼輸出口)
MOVA,@R0;取顯示數(shù)據(jù)碼
ADDA,#TAB-NPC;加TAB與NPC差值
MOVCA,@A+PC;查表得相應(yīng)字段碼
NPC:MOVX@DPTR,A;輸出字段碼
LCALLD1MS;保持顯示1毫秒顯示子程序完成動態(tài)顯示的控制18
INCR0;指向下一顯示緩沖單元
MOVA,R3;取出字位碼
JBACC.5,DISP2;判已顯示到最左位否
RLA;未完,字位碼左移1位
MOVR3,A;回存新字位碼
SJMPDISP1;轉(zhuǎn)下一位顯示DISP2:RETTAB:DB3FH,06H,5BH,...;字段碼表
D1MS:MOVR7,#250;延時1毫秒子程序
DJNZR7,$ RET19
例:電子鐘程序。 利用定時器T0定時,模擬24小時走時的電子鐘,時、分、秒以BCD碼形式依次存放在3CH、3BH、3AH;38H、39H作為軟件計數(shù)器。
選擇T0工作于定時、方式2、定時時間為500s。TMOD=00000010B=02H 計算初值
fosc=6MHz機器周期TM=2s
要定時500s即要計數(shù)250個機器周期脈沖 初值=28-250=6=06H20
ORG0000H;主程序入口
LJMPCLOCK;轉(zhuǎn)主程序初始化
ORG000BH;T0中斷入口
LJMPT0;轉(zhuǎn)T0中斷服務(wù)程序
ORG0030H
;主程序初始化程序
CLOCK:MOVSP,#6FH
;設(shè)棧底指針
MOVTMOD,#02H
;T0定時方式2
MOVTL0,#06H;定時(256—6)*2=500微秒
MOVTH0,#06H
MOV30H,#200
MOV39H,#10;軟件計數(shù)單元清零
SETBEA;中斷總允許
SETBET0;允許T0中斷
SETBTR0;啟動T0工作
MOV3AH,#0
MOV3BH,#0MOV3CH,#021
MOVA,#80H;8255的A口、B口為輸出
MOVDPTR,#CON;指向8255控制口
MOVX@DPTR,A;將控制字寫入控制寄存器LOOP:LCALLCZ;調(diào)用拆字子程序
LCALLDISP;調(diào)用顯示子程序
SJMPLOOP;反復(fù)循環(huán)主流程
ORG0100H;T0500微秒中斷服務(wù)程序
T0:PUSHACC PUSHPSW;保護現(xiàn)場
DJNZ 38H,DONE;滿0.1秒?
MOV38H,#200DJNZ39H,DONE;滿1SMOV39H,#10
22
MOVA,3AH;秒單元(按BCD碼)加1
ADDA,#1 DAA MOV3AH,A CJNEA,#60H,DONE;滿1分鐘?
MOV3AH,#0;秒單元清零
MOVA,3BH;分鐘單元(按BCD碼)加1
ADDA,#1 DAA MOV3BH,A CJNEA,#60H,DONE;滿1小時?
MOV3BH,#0;分鐘單元清零
23
MOVA,3CH;小時單元(按BCD碼)加1
ADDA,#1 DAA MOV3CH,A CJNEA,#24H,DONE;滿24小時?
MOV3CH,#0;小時單元清零DONE:POPPSW POPACC;恢復(fù)現(xiàn)場
RETI;中斷返回24CZ:……….;拆字子程序DISP:………… ;顯示子程序259.2鍵盤接口 鍵盤是單片機應(yīng)用系統(tǒng)的一個重要輸入設(shè)備,用于輸入數(shù)據(jù)、干預(yù)系統(tǒng)的工作狀態(tài); 按鍵盤編碼產(chǎn)生方法,鍵盤可分為編碼鍵盤和非編碼鍵盤兩種; 按鍵盤的連接方式,可分為獨立式按鍵和行列式(矩陣式)鍵盤。269.2.1鍵盤工作原理一、按鍵狀態(tài)的輸入與消抖動 1、鍵輸入
K按下時,A=0; K斷開時,A=1。 2、消抖動 方法: 硬件消抖動 軟件消抖動:軟件延時+5VRAKA點輸出K按下K放開抖動27二、鍵盤管理程序
1.檢測是否有按鍵閉合;
2.若有鍵閉合,延時消抖動;
3.確認是否有按鍵閉合;
4.確定閉合按鍵鍵號;
5.等待按鍵釋放;
6.執(zhí)行相應(yīng)鍵功能。開始有鍵閉合嗎?延時消抖動確有鍵閉合嗎?判斷閉合鍵鍵號閉合鍵釋放否?執(zhí)行鍵功能返回NNNYYY28一、結(jié)構(gòu)各個按鍵相互獨立,互不影響。每個按鍵需占用一根I/O口線9.2.2獨立式按鍵29二、鍵盤管理程序 假設(shè)用單片機的
P1口作為獨立式 按鍵K0~K7的 接口,(由于P1口 內(nèi)部有上拉電阻, 故不需外接。) 鍵盤管理程序如下:30
KEY:MOVP1,#0FFH;置P1口為輸入
MOVA,P1;輸入按鍵狀態(tài)
CPLA;取反
JZKD;若無鍵閉合則返回
LCALLDELAY;延時12ms消抖動
MOVA,P1 CPLA JZKD;確認是否有鍵閉合
MOVB,P1;輸入鍵狀態(tài)
KW:MOVA,P1 CPLA JNZKW;等待鍵釋放31
MOVA,B;取鍵值
JNBACC.0,K0;若是K0閉合則轉(zhuǎn)K0鍵功能程序
JNBACC.1,K1;若是K1閉合則轉(zhuǎn)K1鍵功能程序 ...
JNBACC.7,K7;若是K7閉合則轉(zhuǎn)K7鍵功能程序
KD:RET;返回
K0:...;K0鍵功能程序
RET ......K7:...;K7鍵功能程序
RET329.2.3行列式鍵盤一、結(jié)構(gòu)按鍵設(shè)置在行、列線交點上行線通過上拉電阻接+5V,處于輸入狀態(tài)。列線為輸出狀態(tài)339.2.3行列式鍵盤二、工作原理
1.判斷是否有鍵閉合0000111.1101.134
2.消抖動 采用軟件延時消抖動。
3.確定哪個鍵閉合 (1)通過列線逐列輸出低電平后檢查行輸入狀態(tài)來確定,即對鍵盤逐列逐行掃描。(2)行反轉(zhuǎn)法35
011.1111..1101.1101..1012…7012.7(1)36(2)行反轉(zhuǎn)法*將行線設(shè)置為輸出,列線設(shè)置為輸入,行線全部輸出0,輸入列線的值;將行線設(shè)置為輸入,列線設(shè)置為輸出,將輸入的列線值輸出,讀行線的值;將所讀得的行、列值組成一個鍵碼,該鍵碼是唯一的。37三、實例 假設(shè)用8255擴展I/O口組成行列式鍵盤,其中A口接列線,C口的PC0~PC3接行線,組成一個4行8列共有32個按鍵的行列式鍵盤。38
001234567列123行行首鍵號鍵值=行首鍵號+列值825539
KB:LCALLKS;調(diào)用KS判斷是否有鍵閉合
JNZK1;有鍵閉合轉(zhuǎn)K1 SJMPKN;無鍵閉合則返回
K1:LCALLDELAY;延時消抖動
LCALLKS;調(diào)用KS確認是否有鍵閉合
JNZK2;有鍵閉合轉(zhuǎn)K2開始列掃描
SJMPKN;無鍵閉合則返回
K2:MOVR2,#0FEH;首列掃描字送R2 MOVR4,#0;首列號送R4K3:MOVDPTR,#PA;8255的A口地址送DPTR MOVA,R2 MOVX@DPTR,A;列掃描字送8255
A口鍵盤掃描程序:(返回參數(shù):無鍵閉合時A=0FFH,有鍵閉和時A=鍵值)40
INCDPTRINCDPTR;指向8255
C口
MOVXA,@DPTR;讀取行線狀態(tài)
JBACC.0,L1;若第0行無鍵閉合,轉(zhuǎn)查第1行
MOVA,#00H;第0行有鍵閉合,該行行首鍵號00H送A SJMPLK;轉(zhuǎn)去求鍵值L1:JBACC.1,L2;若第1行無鍵閉合,轉(zhuǎn)查第2行
MOVA,#08H;第1行有鍵閉合,該行行首鍵號08H送A SJMPLK;轉(zhuǎn)去求鍵值L2:JBACC.2,L3;若第2行無鍵閉合,轉(zhuǎn)查第3行
MOVA,#10H;第2行有鍵閉合,該行行首鍵號10H送A SJMPLK;轉(zhuǎn)去求鍵值41L3:JBACC.3,NX;若第3行無鍵閉合,轉(zhuǎn)查下一列
MOVA,#18H;第3行有鍵閉合,行首鍵號18H送ALK:ADDA,R4;鍵值=行首鍵號+列值
MOVB,A;鍵值暫存入BK4:LCALLKS JNZK4;等待鍵釋放
MOVA,B;取鍵值
SJMPKDKN:MOVA,#0FFH;無鍵閉合時,返回值A(chǔ)=0FFHKD:RETNX:INCR4;列值加1
MOVA,R2;取列掃描字
JNBACC.7,KN;判斷是否全部掃描完42
RLA;未掃描完,列掃描字左移一位,變?yōu)橄乱涣袙呙枳?/p>
MOVR2,A;列掃描字暫存R2 SJMPK3;繼續(xù)掃描KS:MOVDPTR,#PA;8255A口地址送DPTR MOVA,#00H;
MOVX@DPTR,A;列線全輸出“0”--低電平
INCDPTR INCDPTR;指向C口
MOVXA,@DPTR;讀入行線狀態(tài)
CPLA;變正邏輯,以高電平表示有鍵按下
ANLA,#0FH;屏蔽高4位
RET;出口狀態(tài)A0時表示有鍵閉合439.2.4鍵盤、顯示接口電路
在單片機應(yīng)用系統(tǒng)中,需要同時使用鍵盤與顯示器接口時,為了節(jié)省I/O口線,常把鍵盤和顯示電路做在一起,構(gòu)成鍵盤、顯示電路。 鍵盤、顯示電路可用并行擴展的I/O口或串行擴展的I/O口實現(xiàn)。 典型的鍵盤、顯示器接口電路44
8255擴展I/O口的鍵盤、顯示接口電路
A口既作為顯示器字位控制口,又作為鍵盤列線輸出口。行輸入OC驅(qū)動器825545某實驗儀鍵盤、顯示接口電路
46EL-MUT-III型單片機實驗箱鍵盤電路479.2.5鍵盤的工作方式 一、在單片機應(yīng)用系統(tǒng)中,掃描鍵盤只是CPU的工作任務(wù)之一,在實際應(yīng)用中,要想做到既能及時響應(yīng)鍵操作,又不過多地占用CPU的工作時間,如鍵盤與顯示做成一個接口電路,則在軟件中要綜合考慮鍵盤查詢與動態(tài)顯示,就要根據(jù)應(yīng)用系統(tǒng)的實際情況,選擇適當(dāng)?shù)逆I盤工作方式。
二、鍵盤的工作方式
1、編程掃描方式 編程掃描方式是利用CPU完成其他工作的空余,調(diào)用鍵盤掃描子程序來響應(yīng)鍵輸入要求。在執(zhí)行鍵功能程序時,不再響應(yīng)鍵輸入的要求。48
2、中斷工作方式開始初始化顯示掃描鍵盤執(zhí)行其他操作編程掃描方式49例:編一程序?qū)崿F(xiàn):當(dāng)按下獨立式鍵盤的K0~K5時,分別將實驗儀上的6位數(shù)碼管顯示器的顯示內(nèi)容按BCD碼加1。開始初始化顯示掃描鍵盤流程圖50
ORG1000HMAIN:MOVA,#03H;8155的A口、B口為輸出
MOVDPTR,#0FF20H;指向8155控制口
MOVX@DPTR,A;將控制字寫入控制寄存器
MOV30H,#00H MOV31H,#00H MOV32H,#00H MOV33H,#00H MOV34H,#00H MOV35H,#00H;顯示初值為“000000”
LP:LCALLDISP;調(diào)用顯示子程序
LCALLKEY;調(diào)用鍵盤管理子程序
SJMPLP51
DISP:MOVR0,#30H;顯示緩沖單元首地址
MOVR3,#01H;字位碼初值(從最右位起)
MOVA,R3DISP1:MOVDPTR,#0FF21H;8155A口(字位碼輸出口)
MOVX@DPTR,A;輸出字位碼
INCDPTR;8155B口(字段碼輸出口)
MOVA,@R0;取顯示數(shù)據(jù)碼
ADDA,#TAB-NPC;加TAB與NPC差值
MOVCA,@A+PC;查表得相應(yīng)字段碼
NPC:MOVX@DPTR,A;輸出字段碼
LCALLD1MS;保持顯示1毫秒52
INCR0;指向下一顯示緩沖單元
MOVA,R3;取出字位碼
JBACC.5,DISP2;判已顯示到最左位否
RLA;未完,字位碼左移1位
MOVR3,A;回存新字位碼
SJMPDISP1;轉(zhuǎn)下一位顯示
DISP2:RET
TAB:DB0C0H,0F9H,...;0~9字段碼表
D1MS:MOVR7,#250;延時1毫秒子程序
DJNZR7,$ RET53
KEY:MOVP1,#0FFH;置P1口為輸入
MOVA,P1;讀按鍵狀態(tài)
CPLA;取反
JZKD;若無鍵閉合則返回
LCALLDELAY;延時12ms消抖動
MOVA,P1 CPLA JZKD;確認是否有鍵閉合
MOVB,P1;讀鍵值
KW:MOVA,P1 CPLA JNZKW;等待鍵釋放54
MOVA,B;取鍵值
JNBACC.0,K0;若是K0閉合則轉(zhuǎn)K0鍵功能程序
JNBACC.1,K1;若是K1閉合則轉(zhuǎn)K1鍵功能程序
...
JNBACC.7,K7;若是K7閉合則轉(zhuǎn)K7鍵功能程序
KD:RET;返回
K0:MOVA,30H;K0鍵功能程序
ADDA,#1 DAA ANLA,#0FH MOV30H,A RET
55
K1:MOVA,31H;K1鍵功能程序
ADDA,#1 DAA ANLA,#0FH MOV31H,A RET
K5:MOVA,35H;K5鍵功能程序
ADDA,#1 DAA ANLA,#0FH MOV35H,A RET569.3數(shù)/模轉(zhuǎn)換接口9.3.1D/A轉(zhuǎn)換器的基本原理
D/A轉(zhuǎn)換器用來將數(shù)字量轉(zhuǎn)換成模擬量。它的基本要求是輸出電壓Vo和輸入數(shù)字量D成正比,即:
Vo=D·VR(其中VR為參考電壓)
D=dn-12n-1+dn-2
2n-2+
+d1
21+d0
20579.3.2D/A轉(zhuǎn)換器的主要技術(shù)指標(biāo)分辨率
分辨率表示對輸入的最小數(shù)字量的分辨能力??杀硎緸樽钚≥敵鲭妷海▽?yīng)的輸入數(shù)字量只有最低有效位為“1”)與最大輸出電壓(對應(yīng)的數(shù)字輸入信號所有有效位全為“1”)之比。 例如10位D/A轉(zhuǎn)換器,其分辨率為:
1/(210-1)=1/10230.001
分辨率越高,轉(zhuǎn)換時,對應(yīng)數(shù)字輸入信號最低位的模擬信號電壓數(shù)值越小,也就越靈敏。
分辨率也可用數(shù)字輸入信號的有效位數(shù)來表示。 如:DAC0832的分辨率為8位58轉(zhuǎn)換精度
轉(zhuǎn)換精度用于表明D/A轉(zhuǎn)換的精確程度,通常以滿量程電壓VFS的百分數(shù)形式表示。例如精度為0.1%指的是最大誤差為VFS的0.1%,如果VFS為5V,則最大誤差為
5mV。
精度和分辨率是兩個不同的概念
精度是指轉(zhuǎn)換后所得到的實際值對于理想值的接近程度,而分辨率是指能夠?qū)D(zhuǎn)換結(jié)果產(chǎn)生影響的最小輸入量,對于分辨率很高的D/A轉(zhuǎn)換器并不一定具有很高的精度。59建立時間
建立時間是描述轉(zhuǎn)換速率的一個重要參數(shù)。是指D/A轉(zhuǎn)換器輸入數(shù)字量為滿刻度值(二進制各位全為“1”)時,從輸入加上到模擬信號電壓(模擬信號電流)輸出達到滿刻度值或滿刻度值的某一百分比所需的時間。一般為幾納秒到幾百微秒。
輸出是電流形式的,建立時間很短;輸出形式是電壓的,建立時間是其輸出運算放大器所需的響應(yīng)時間。60溫度系數(shù) 在滿刻度輸出的條件下,溫度每升高1度,輸出變化的百分數(shù)。619.3.3
DAC0832及其接口電路結(jié)構(gòu)62引腳8位數(shù)據(jù)輸入端輸入數(shù)據(jù)允許鎖存信號片選輸入寄存器寫選通信號DAC寄存器寫選通信號數(shù)據(jù)傳送信號基準(zhǔn)電壓輸入端電流輸出端IOUT1+IOUT2=C反饋電流輸入端63引腳64DAC0832工作方式(1)直通工作方式+5V65【例】直通方式產(chǎn)生鋸齒波電壓信號(波形如下圖所示)。解:電路如下圖所示。集成運放在電路中的作用是把DAC0832輸出電流轉(zhuǎn)換為電壓。即實現(xiàn)電流電壓轉(zhuǎn)換。鋸齒波電壓信號隨時間變化而上升,達到最大值后,又從0開始上升,再到最大值如此循環(huán)下去。因此,只要讓DAC0832輸入的數(shù)字量也如此變化就可使輸出端輸出鋸齒波。66單片機和DAC0832直通方式輸出連接圖
67對鋸齒波的產(chǎn)生作如下說明:①程序每循環(huán)一次,(R0)加1,因此實際上鋸齒波的上升沿是由256個小階梯構(gòu)成的。但由于階梯很小,所以看上去就如上圖所表示的線性增長鋸齒波。②延遲時間不同,波形周期不同,鋸齒波的斜率就不同。參考程序如下:
ORG0000H MOVR0,#0;置轉(zhuǎn)換初值
DAC:MOVP0,R0;送數(shù)據(jù)到P0口,DAC0832同時進行轉(zhuǎn)換
INCR0;轉(zhuǎn)換數(shù)字量加1
LCALLDELAY;延時量決定鋸齒波周期
SJMPDACDELAY:……(略)
END68DAC0832工作方式(2)單緩沖工作方式69單緩沖方式接口電路70【例】
單緩沖方式產(chǎn)生鋸齒波。解:電路連接如上圖所示。
WR2=0和XFER=0,因此DAC寄存器處于直通方式。而輸入寄存器處于受控鎖存方式,WR1接8051的WR,ILE接高電平,CS接P2.7故輸入寄存器地址為07FFFH。
軟件設(shè)計思路與例11相同,只是改為用“MOVX@DPTR,A”來發(fā)送數(shù)據(jù)和啟動轉(zhuǎn)換。
71
單緩沖方式產(chǎn)生鋸齒波的源程序如下:
MOV
DPTR,#7FFFH;指向0832地址
MOVR0,#00H;置轉(zhuǎn)換數(shù)字初值
DA1:MOVA,R0 MOVX@DPTR,A;啟動轉(zhuǎn)換
INCR0;轉(zhuǎn)換數(shù)字量加1
LCALLDELAY;延時
SJMPDA1DELAY:MOVR7,#7DH;延時子程序
DL1:NOPNOPDJNZR7,DL1RET72【例】
利用0832輸出一個從-5V開始逐漸上升到0V再升至5V,再從5V逐漸降至0V,再降至-5V的三角波電壓。解:硬件電路如下圖所示。同圖中集成運放U4接成一加法電路。輸出電壓UO=-(5+2Ui)。當(dāng)0832輸出-5V時(最大值),UO=-(5-10)=+5V;輸出-2.5V時,UO=0V;輸出0V時,UO=-5V。
軟件設(shè)計時,當(dāng)數(shù)字量達到最大(0FFH)時要進行減1運算。而不是變?yōu)?。當(dāng)數(shù)字量減至0時,又開始加1運算。
73三角波形成電路Ui74
ORG0000HHA6S:MOVR6,#00H;數(shù)字量初值HA6S2:MOVDPTR,#7FFFH;地址
MOV
A,R6;數(shù)字量送A MOVX
@DPTR,A;進行D/A轉(zhuǎn)換
MOV
R2,#0BH LCALL
DELAY ;延時
INC
R6;數(shù)字量加1
CJNE
R6,#0FFH,HA6S2;數(shù)字量增加到0FFH?HA6S3:MOVDPTR,#7FFFH
;0832地址
DECR6;數(shù)字量減1
MOVA,R6 MOVX@DPTR,A
;數(shù)字量送0832啟動D/A轉(zhuǎn)換
MOVR2,#0BH LCALLDELAY
;延時
CJNER6,#00H,HA6S3;數(shù)字量是否減到0,
SJMPHA6S75DAC0832工作方式(3)雙緩沖工作方式76雙緩沖方式的接口電路
77【例】
DAC0832同步波形輸出正弦波、三角波。解:DAC0832與單片機的接口電路如上圖所示。電路圖中
DAC0832(1)輸入寄存器地址為0BFFFH,DAC0832(2)輸入寄存器地址為0DFFFH,0832(1)和0832(2)的DAC寄存器地址均為7FFFH。
正弦波的產(chǎn)生由各采樣點數(shù)據(jù)依次進行D/A轉(zhuǎn)換得到。78
ORG1000HST:MOVR1,#0;256個取樣點
MOVR2,#0;鋸齒波初值L1:MOVDPTR,#0DFFFH;DAC0832(2)輸入寄存器地址
MOVA,R2MOVX@DPTR,A;三角波送DAC0832(2)MOVDPTR,#DTAB;取信號數(shù)據(jù)表首地址
MOVCA,@A+DPTR;查表取正弦波信號數(shù)據(jù)
MOVDPTR,#0BFFFH;DAC0832(1)輸入寄存器地址
MOVX@DPTR,A ;輸出正弦波信號到DAC0832(1)MOVDPTR,#7FFFH;DAC0832(1)(2)DAC寄存器地址
MOVX@DPTR,A;同時啟動兩個0832轉(zhuǎn)換
INCR2DJNZR1,L1SJMPST79
DTAB: DB80H,83H,86H,8DH,90H,96H,99H,9CH ;正弦數(shù)據(jù)表
DB9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB0C7H,0CAH,0CFH,0D1H,0D4H,0D6H,0D8H DB0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H DB0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H DB0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH DB0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH DB0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H DB0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EBH DB0EAH,0E9H,0E7H,0E5H,0E3H,0E1H,0DFH,0DDH DB0DAH,0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH DB0C7H,0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H DB0B1H,0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH DB99H,96H,93H,90H,8DH,89H,86H,83H DB80H,80H,7CH,79H,76H,72H,6FH,6CH DB69H,66H,63H,60H,5DH,5AH,57H,55H DB51H,4EH,4CH,48H,45H,43H,40H,3DH DB3AH,38H,35H,33H,30H,2EH,2BH,29H DB27H,25H,22H,20H,1EH,1CH,1AH,18H DB16H,15H,13H,11H,10H,0EH,0DH,0BH DB0AH,09H,08H,07H,06H,04H,03H,02H DB02H,01H,00,00,00,00,00,00 DB00,00,00,00,00,00,01H,02H DB02H,03H,04H,05H,06H,07H,08H,09H DB0AH,0BH,0DH,0EH,10H,11H,13H,15H DB16H,18H,1AH,1CH,1EH,20H,22H,25H DB27H,29H,2BH,2EH,30H,33H,35H,38H DB3AH,3DH,40H,43H,45H,48H,4CH,4EH DB51H,55H,57H,5AH,5DH,60H,63H,66H DB69H,6CH,6FH,72H,76H,79H,7CH,80H END80實驗儀D/A電路819.4
A/D轉(zhuǎn)換接口電路 在單片機應(yīng)用系統(tǒng)中,常需要將檢測到的連續(xù)變化的模擬量如溫度、壓力、流量、速度等轉(zhuǎn)換成數(shù)字信號,才能輸入到單片微機中進行處理。 將模擬量轉(zhuǎn)換成數(shù)字量的過程稱為A/D轉(zhuǎn)換。82一、A/D轉(zhuǎn)換的基本知識1.A/D轉(zhuǎn)換器的主要性能指標(biāo)分辨率。以輸出二進制的位數(shù)表示分辨率,位數(shù)越多,誤差越小,轉(zhuǎn)換精度越高。相對精度。相對精度是指實際的各個轉(zhuǎn)換點偏離理想特性的誤差。在理想的情況下,所有的轉(zhuǎn)換點應(yīng)當(dāng)在一條直線上。轉(zhuǎn)換速度。它是指完成一次轉(zhuǎn)換所需的時間。轉(zhuǎn)換時間是指由啟動轉(zhuǎn)換命令到轉(zhuǎn)換結(jié)束信號開始有效的時間間隔。832.A/D轉(zhuǎn)換器的分類按轉(zhuǎn)換原理可分為四種:計數(shù)式A/D轉(zhuǎn)換器、雙積分式A/D轉(zhuǎn)換器、逐次逼近式A/D轉(zhuǎn)換器和并行式A/D轉(zhuǎn)換器。目前最常用的是雙積分式A/D轉(zhuǎn)換器和逐次逼近式A/D轉(zhuǎn)換器。雙積分式A/D轉(zhuǎn)換器的主要優(yōu)點是轉(zhuǎn)換精度高,抗干擾性能好,價格便宜,但轉(zhuǎn)換速度較慢。因此這種轉(zhuǎn)換器主要用于轉(zhuǎn)換速度要求不高的場合。逐次逼近式A/D轉(zhuǎn)換器是一種轉(zhuǎn)換速度較快、精度較高的轉(zhuǎn)換器。其轉(zhuǎn)換時間大約在幾微秒到幾百微秒之間。
84二、ADC0808/0809及其接口電路1.內(nèi)部結(jié)構(gòu)852.主要性能指標(biāo)(1)分辨率為8位;(2)最大不可調(diào)誤差:0808,1/2LSB;0809,1LSB(3)工作電源+5V,基準(zhǔn)電壓由外部提供,典型值為+5V,此時允許輸入模擬電壓為0~5V;(4)具有鎖存控制的8路模擬選通開關(guān);(5)可鎖存三態(tài)輸出,輸出電平與TTL電平兼容;(6)功耗15mW;(7)時鐘頻率范圍10~1280KHz,當(dāng)CLK=500KHz時,轉(zhuǎn)換時間為128μs。863.引腳874.典型連接電路88通道地址P2.7..P2.1P2.0A15~A9A8A7~A3A2A1A0
通道地址
X~X0X~X0000FEF8HX~X0X~X0011FEF9H
X~X0X~X0102FEFAHX~X0
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冷庫建造 工程合同范例
- 公寓承包轉(zhuǎn)讓合同范例
- 保險度合同范例
- 光纜銷售回收合同范例
- 個人茅臺購買合同范例
- 內(nèi)江醫(yī)院保潔合同范例
- 企業(yè)與個人 合同范例
- 臨時卸貨合同范例
- 產(chǎn)品內(nèi)包合同范例
- 個人轉(zhuǎn)租店鋪合同范例
- 2024年北京九年級中考英語聽力常見話題高頻詞匯和表達梳理
- 足療店禁止涉黃協(xié)議書模板
- 醫(yī)師定期考核題庫-公衛(wèi)
- 小學(xué)數(shù)學(xué)教學(xué)中數(shù)學(xué)邏輯思維的啟蒙與培養(yǎng)
- 港口大數(shù)據(jù)安全與隱私保護
- 校外培訓(xùn)機構(gòu)規(guī)范辦學(xué)承諾書
- 傳統(tǒng)經(jīng)典車要求 編制說明
- 工程項目管理智慧樹知到期末考試答案章節(jié)答案2024年武昌工學(xué)院
- 奔馳訂車合同范本
- 對直播帶貨稅收征管問題研究與探索
- (高清版)JTGT 3650-01-2022 公路橋梁施工監(jiān)控技術(shù)規(guī)程
評論
0/150
提交評論