應(yīng)用系統(tǒng)配置及接口技術(shù)_第1頁
應(yīng)用系統(tǒng)配置及接口技術(shù)_第2頁
應(yīng)用系統(tǒng)配置及接口技術(shù)_第3頁
應(yīng)用系統(tǒng)配置及接口技術(shù)_第4頁
應(yīng)用系統(tǒng)配置及接口技術(shù)_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第8 8章章應(yīng)用系統(tǒng)配置及接口技術(shù)應(yīng)用系統(tǒng)配置及接口技術(shù)前向、后向、人機通道系統(tǒng)框圖前向、后向、人機通道系統(tǒng)框圖8.18.1人人- -機通道配置與接口技術(shù)機通道配置與接口技術(shù) 8.1.1鍵盤接口及處理程序鍵盤接口及處理程序編碼鍵盤編碼鍵盤: 鍵盤上閉合鍵的識別由專用的硬件譯碼器實現(xiàn)鍵盤上閉合鍵的識別由專用的硬件譯碼器實現(xiàn),并產(chǎn)生鍵編并產(chǎn)生鍵編號或鍵值號或鍵值非編碼鍵盤非編碼鍵盤: 靠軟件識別的鍵盤靠軟件識別的鍵盤* 用得多的是非編碼鍵盤用得多的是非編碼鍵盤按鍵特性按鍵特性硬件去抖動和軟件去抖動硬件去抖動和軟件去抖動軟件方法:軟件方法: (用于鍵較多的場合。)(用于鍵較多的場合。) 檢測有鍵閉

2、合,延時檢測有鍵閉合,延時10ms20ms左右,再檢測,仍保持閉左右,再檢測,仍保持閉合,則確認為有鍵按下。合,則確認為有鍵按下。硬件方法:利用硬件方法:利用RS觸發(fā)器,用于鍵較少的場合。觸發(fā)器,用于鍵較少的場合。一、鍵盤結(jié)構(gòu)一、鍵盤結(jié)構(gòu)1 1、獨立式非編碼鍵盤接口及處理程序、獨立式非編碼鍵盤接口及處理程序程序:程序:MOVA,#0FFHMOVP1,AMOVA,P1 ;鍵狀態(tài)輸入;鍵狀態(tài)輸入JNBACC.0,P0F;0號鍵按下轉(zhuǎn)號鍵按下轉(zhuǎn)JNBACC.1,P1FJNBACC.2,P2FJNBACC.3,P3FJNBACC.4,P4FJNBACC.5,P5FJNBACC.6,P6FJNBACC.

3、7,P7FLJMPSTART;無鍵按下返回;無鍵按下返回P0F:LJMP PROG0P1F:LJMPPROG1.PROG0: LJMPSTARTPROG1: 2 2、行列式鍵盤接口及工作原理、行列式鍵盤接口及工作原理識別鍵的兩種方法:識別鍵的兩種方法: 行(或列)掃描法行(或列)掃描法 線反轉(zhuǎn)法線反轉(zhuǎn)法例:右圖(列掃法)例:右圖(列掃法)向列線輸出全向列線輸出全0 ,讀入行線電平,讀入行線電平,若有鍵按下,若有鍵按下,再逐列掃描,再逐列掃描,獲得相應(yīng)鍵鍵值獲得相應(yīng)鍵鍵值二、單片機對非編碼鍵盤掃描的控制方式二、單片機對非編碼鍵盤掃描的控制方式 常用行列矩陣式非編碼鍵盤的控制有三種方式:常用行列矩

4、陣式非編碼鍵盤的控制有三種方式:1、程序控制掃描方式,即查詢方式。、程序控制掃描方式,即查詢方式。2、定時掃描方式。、定時掃描方式。3、中斷掃描方式。、中斷掃描方式。參見參見 P P148 148 圖圖8-108-10應(yīng)用舉例:應(yīng)用舉例:程序控制掃描方式及處理程序,硬件連接程序控制掃描方式及處理程序,硬件連接圖如下。圖如下。3232個鍵對應(yīng)鍵值如下:個鍵對應(yīng)鍵值如下: (按(按PA,PCPA,PC口二進制碼,口二進制碼, 為任意值)為任意值)FE E FD E FB E E7 E EF E DF E BF E 7F EFE D FD D FB D E7 D EF D DF D BF D 7F

5、DFE B FD B FB B E7 B EF B DF B BF B 7F BFE 7 FD 7 FB 7 E7 7 EF 7 DF 7 BF 7 7F 7鍵值到鍵號的轉(zhuǎn)換:鍵值到鍵號的轉(zhuǎn)換:閉合的鍵號閉合的鍵號=行首鍵號行首鍵號+列號列號鍵盤掃描子程出口:鍵盤掃描子程出口: (A)=鍵號鍵號對對8155的初始化在主程序中完成,設(shè)的初始化在主程序中完成,設(shè)PA為基本輸出,為基本輸出,PC為基本輸入。為基本輸入。KEY1: ACALL IfPressKey ;判斷有無鍵按下;判斷有無鍵按下JNZKeyDebouce;有;有,(A) 0AJMPKEY1KeyDebouce:ACALL T12MS

6、 ;delay 12msACALL IfPressKey ; 再判斷再判斷JNZScanKeypad ; 有,逐列掃描鍵盤有,逐列掃描鍵盤AJMPKEY1Scankeypad:MOVR2,#0FEH;首列掃描字;首列掃描字MOVR4,#00H;首列號;首列號LK4:MOVDPTR,#7F01H ;PA口地址口地址MOVA,R2MOVX DPTR,A;列掃;列掃INCDPTRINCDPTR;PC口地址口地址MOVX A,DPTR;讀入行;讀入行JBACC.0,LONE; 第第0行無鍵按下轉(zhuǎn)行無鍵按下轉(zhuǎn)MOVA,#00H;行首鍵號;行首鍵號AJMPLKP; 轉(zhuǎn)求鍵號轉(zhuǎn)求鍵號LONE:JBACC.1

7、,LTWOMOVA,#08HAJMPLKPLTWO: JBACC.2,LTHRMOVA,#10HAJMPLKPLTHR:JBACC.3,NEXTMOVA,#18HLKP:ADDA,R4 ;行首鍵號列號;行首鍵號列號PUSHACCLK3:ACALL IfPressKey ;等待鍵釋放;等待鍵釋放JNZLK3POPACC ; 鍵號送鍵號送ARETNEXT:INCR4 ; 指向下一列指向下一列MOVA,R2 ; 判斷判斷8列掃描完否?列掃描完否?JNBACC.7,KND ;完,返回完,返回RLA;否則變?yōu)橄铝袙呙枳?;否則變?yōu)橄铝袙呙枳諱OVR2,AAJMPLK4;轉(zhuǎn)下列掃描;轉(zhuǎn)下列掃描KND:AJM

8、PKEY1IfPressKey :MOVDPTR,#7F01H ;PA口地址口地址MOVA,#00H;送全掃描字;送全掃描字MOVX DPTR,AINCDPTRINCDPTRMOVX A,DPTRCPLAANLA,#0FHRETT12MS:MOVR7,#18H;12ms延時子程延時子程TM:MOVR6,#0FFHTM6:DJNZR6,TM6DJNZR7,TMRET三、鍵操作及功能處理三、鍵操作及功能處理MOVDPTR,#JMPTABCLRCRLCAJMPDPTR+A JMPTAB:AJMPAAAAJMPBBBAJMPCCC .8.1.2 LED8.1.2 LED顯示器接口及顯示程序顯示器接口及

9、顯示程序一、一、LED顯示器結(jié)構(gòu)原理顯示器結(jié)構(gòu)原理二、二、LEDLED顯示器接口及顯示方式顯示器接口及顯示方式LEDLED有靜態(tài)(占較多有靜態(tài)(占較多I/OI/O口線)和動態(tài)(需不斷掃描)兩口線)和動態(tài)(需不斷掃描)兩種顯示方式。種顯示方式。三、三、LEDLED顯示器與顯示器與81558155接口及顯示子程序接口及顯示子程序動態(tài)顯示:掃描每位動態(tài)顯示:掃描每位LED的間隔不能超過的間隔不能超過20ms,并注意保持延并注意保持延時一段時間。時一段時間。DIS:MOVR0,#7EH ;顯示緩沖區(qū);顯示緩沖區(qū)MOVR2,#01H ;位碼;位碼MOVA,R2LP0:MOVDPTR,#7F01HMOVX

10、 DPTR,AINCDPTRMOVA,R0ADDA,#0DHMOVC A,A+PC ;段碼;段碼 MOVX DPTR,AACALL D1MSDECR0MOVA,R2JBACC.5,LP1RLAMOVR2,AAJMPLP0LP1:RETDB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH,6FH,77H,7CHDB39H,5EH,79H,71H,40H,00HD1MS: MOVR7,#02HDL:DJNZR6,DL1DL1:DJNZR7,DLRET8.1.3 8.1.3 鍵盤鍵盤/LED/LED顯示器與顯示器與81558155接口及鍵盤掃描子程序接口及鍵盤掃描子程序KD1

11、:MOVA,#00000011B;PA,PB為輸出方式,為輸出方式,PC為輸入方式為輸入方式MOVDPTR,#7F00HMOVXDPTR,AKEY1:ACALLIfPressKey JNZLK1ACALLDIS; 調(diào)用顯示子程調(diào)用顯示子程AJMPKEY1LK1: ACALL DIS ;調(diào)用顯示子程并;調(diào)用顯示子程并delay 12msACALL DIS ACALLIfPressKey ; 逐行掃描鍵盤逐行掃描鍵盤JNZScanKeypad JNZDISAJMPKEY1Scankeypad:MOVR2,#0FEHMOVR4,#00HLK4:MOVDPTR,#7F01HMOVA,R2MOVXDPT

12、R,AINCDPTRINCDPTRMOVXA,DPTRJBACC.0,LONEMOVA,#00HAJMPLKPLONE:JBACC.1,LTWOMOVA,#08HAJMPLKPLKP:ADDA,R4 ;行首鍵號列號;行首鍵號列號PUSHACCLK3:ACALLIfPressKey ;等待鍵釋放;等待鍵釋放JNZLK3POPACCRETNEXT:INCR4MOVA,R2JNBACC.7,KNDRLAMOVR2,AAJMPLK4KND:AJMPKEY1IfPressKey:MOVDPTR,#7F01HMOVA,#00HMOVXDPTR,AINCDPTRINCDPTRMOVXA,DPTRCPLAAN

13、LA,#0FHRETLTWO:JBACC.2,LTHRMOVA,#10HAJMPLKPLTHR:JBACC.3,NEXTMOVA,#18H8.1.4 8.1.4 串行口控制的鍵盤串行口控制的鍵盤/LED/LED顯示器接口電路顯示器接口電路KEY:MOVA,#00HMOVSBUF,AKL0:JNZTI,KL0CLRTIKL1:JNBP1.0,PK1JBP1.1,KL1PK1:ACALLD10MSJNBP1.0,PK2JBP1.1,KL1PK2:MOVR7,#08HMOVR6,#FEHMOVR3,#00HPL5:MOVA,R6MOVSBUF,AKL2:JNBTI,KL2CLRTIJNBP1.0,P

14、K4JNBP1.1,PK5MOVA,R6RLAMOVR6,AINCR3DJNZR7,PL5RETPK5:MOVR4,#08HAJMPPK3PK4:MOVA,#00HMOVSBUF,AKL3:JNBTI,KL3CLRTIKL4:JNBP1.0,KL4JNBP1.1,KL4MOVA,R4ADDA,R3SUBBA,#0AHJNCKL6MOVDPTR,#TABLADDA,#0AHMOVCA,A+DPTRMOVR0,60HMOVR0,AINCR0CJNER0#60H,KDMOV60H,#58HSJMPKD1KD:MOV60H,R0KD1:ACALLLEDRETKL6:MOVB,#03HMULABMOVD

15、PTR,KTABJMPA+DPTRKTAB:LJMPK1LJMPK2.TABL:DBC0H,F9H,A4H,B0HDB99H,92H,82H,F8HDB80H,90HLED:SETBP1.2MOVR7,#08HMOVR0,#58HLED1:MOVA,R0MOVSBUF,ALED2:JNBTI,LED2CLRTIINCR0DJNZR7,LED1CLRP1.2RETA/D、D/A轉(zhuǎn)換在單片機系統(tǒng)中的應(yīng)用示意圖MCS-51D/A轉(zhuǎn)換器控制執(zhí)行機構(gòu)A/D轉(zhuǎn)換器多路開關(guān)傳感器1 傳感器2 傳感器n 控制執(zhí)行機構(gòu)溫度、壓力、流量等信號溫度、壓力、流量等信號模擬信號模擬信號數(shù)字信號被控實體8.2 8.2 單

16、片機測控系統(tǒng)前向通道配置單片機測控系統(tǒng)前向通道配置傳感器及小信號放大電路傳感器及小信號放大電路傳感器傳感器模擬小信號放大模擬小信號放大8.3 8.3 前向通道中的前向通道中的A/DA/D轉(zhuǎn)換器及接口技術(shù)轉(zhuǎn)換器及接口技術(shù)8.3.1 8.3.1 逐次逼近型逐次逼近型A/DA/D轉(zhuǎn)換器及接口技術(shù)轉(zhuǎn)換器及接口技術(shù)一、一、ADC0809 A/D串換器芯片串換器芯片ADC0809芯片的引腳lIN0IN7: 八路模擬電壓輸入端;lALE: 地址鎖存控制信號,上升沿送入、下降沿鎖存;laddA addC: 地址輸入線;lSTART: 啟動輸入端,高電平有效。lEOC:轉(zhuǎn)換結(jié)束標志輸出. 高電平表明轉(zhuǎn)換完成。再

17、次啟動ADC時該引腳變低電平,直到轉(zhuǎn)換完成后再次變高電平。lD7D0:數(shù)字量輸出線。lOE:輸出三態(tài)控制線.置高電平時數(shù)據(jù)經(jīng)D7D0向外輸出。lCLOCK:時鐘輸入端。 提供640KH逐次比較脈沖時序。lVref(+)、 Vref(-):參考電壓輸入,為電阻網(wǎng)絡(luò)提供電壓。 Vref(+)、 Vref(-)可以與Vcc和GND 連接。lVcc、GND:電源和地。二、二、ADC0809ADC0809與與80318031接口接口連接方案一:連接方案一:例:某糧庫某冷凍廠需對例:某糧庫某冷凍廠需對8 8點進行溫度巡回檢測,被測溫點進行溫度巡回檢測,被測溫度范圍度范圍303050c.50c.MAIN:M

18、OVR0,#0A0HMOVR2,#08HSETBIT1SETBEASETBEX1MOVDPTR,#7FF8HMOVX DPTR,A ;啟動啟動A/D轉(zhuǎn)換轉(zhuǎn)換HERE:SJMPHERE;InterruptMOVX A,DPTRMOVX R0,AINCDPTRINCR0DJNZR2,DONERETIDONE:MOVX DPTR,ARETI連接方案二:連接方案二:/RD/WRP0口口 MCS-51 ALE/INT1OESTARTALEADC0809 addCaddBaddCD7D0CLOCKEOC地址鎖存器地址譯碼器+P0.2P0.1P0.0分頻器F0H該連接方案該連接方案IN0-IN7IN0-IN

19、7的通道地址怎么給出?的通道地址怎么給出? 正確理解正確理解 MOVX Ri,A指令,是設(shè)計指令,是設(shè)計ADC與單片機接口的與單片機接口的關(guān)鍵。指令執(zhí)行周期:關(guān)鍵。指令執(zhí)行周期:P0先輸出先輸出Ri中的地址中的地址F0H(地址信號鎖存(地址信號鎖存在在373中),后輸出中),后輸出A中通道代碼(數(shù)據(jù)信號鎖存到中通道代碼(數(shù)據(jù)信號鎖存到ADC中)中)。S1S2S6S5S4S3S1S2S6S5S4S3ALE/PsenA7-A0指令指令Ri=F0HA中中數(shù)據(jù)數(shù)據(jù)/WRP0口口選中外部單元選中外部單元MOVX Ri ,A 指令的時序START、ALE=/ WR/ F0H/ F0HOE=/ RD/ F0

20、H/ F0H鎖存鎖存A中通道地址中通道地址于于ADC,啟動,啟動ADC鎖存低鎖存低8位地址位地址于于373中中對對IN0-IN7IN0-IN7上的模擬電壓采集并送上的模擬電壓采集并送到內(nèi)部到內(nèi)部RAM30HRAM30H開始的單元開始的單元(采用中斷方式)(采用中斷方式) ORG 0000H LJMP START ORG 0013H LJMP CINT1 ORG 0A00H START:MOV R1,#30H ;數(shù)據(jù)區(qū)指針R1賦初值30H MOV R4,#08H ;計數(shù)器R4賦初值08H MOV R2,#00H ;通道代碼送通道代碼送R2 SETB EA SETB EX1 ;開/INT1中斷 S

21、ETB IT1 ;設(shè)/INT1為邊沿觸發(fā) MOV R0,#0F0H ;ADC地址送間址寄存器R0 MOV A,R2 ;通道代碼送累加器A MOVX R0,A ;送通道代碼并啟動ADC SJMP $ ;等待中斷ORG 0100HCINT1:MOV R0,#0F0H;中斷服務(wù)程序MOVX A,R0;讀入ADC數(shù)據(jù)MOV R1,A;存入轉(zhuǎn)換的數(shù)據(jù)INC R1;修改數(shù)據(jù)區(qū)指針R1INC R2;修改通道代碼寄存器R2MOV A,R2;通道代碼送累加器AMOVX R0,A;送下一個通道代碼并啟動ADCDJNZ R4,LOOP;若未采集完轉(zhuǎn)LOOPCLR EX1;采集完時,關(guān)中斷LOOP:RETI;中斷返回

22、END 初始化:R0:ADC口地址=F0HR1: 數(shù)據(jù)塊指針=30HR2:ADC通道代碼=00HR4:循環(huán)計數(shù)器=08H開INT1中斷送通道代碼并啟動ADCMOVX R0 ,A等待INT1中斷從ADC中讀數(shù)據(jù)MOVX A,R0修改數(shù)據(jù)指針修改同道代碼數(shù)據(jù)送內(nèi)存MOV R1,A送下一個通道代碼并啟動ADC 8個通道完成?返回YN主程序流程圖關(guān)閉INT1中斷服務(wù)程序采用查詢方式的ADC采集程序ORG 0000HLJMP 0100HORG 0100HSTART:MOV R1,#30H ;數(shù)據(jù)區(qū)指針R1賦初值30H MOV R4,#08H ;計數(shù)器R4賦初值08H MOV R2,#00H ;通道代碼送

23、R2MOV A,#00H ;通道代碼送AMOV R0,#0F0HLOOP: MOVX R0,A ;送通道代碼,啟動ADCJB IE1,$ ;ADC轉(zhuǎn)換是否結(jié)束MOVX A,R0 MOV R1,A;取ADC的轉(zhuǎn)換數(shù)據(jù)INC R1INC ADJNZ R4,LOOP SJMP $ END 初始化:R0:ADC口地址=F0HR1: 數(shù)據(jù)塊指針=30HR2:ADC通道代碼=00HR4:循環(huán)計數(shù)器=08H送通道代碼并啟動ADCMOVX R0 ,A停機 IE1=1?從ADC中讀數(shù)據(jù)MOVX A,R0數(shù)據(jù)送內(nèi)存MOV R1,ACC修改數(shù)據(jù)指針修改同道代碼 8個通道完成?NY查尋法流程圖8.3.2 8.3.2

24、雙積分雙積分A/DA/D轉(zhuǎn)換器機及接口技術(shù)轉(zhuǎn)換器機及接口技術(shù)8.4 8.4 系統(tǒng)后向通道配置及接口技術(shù)系統(tǒng)后向通道配置及接口技術(shù)8.4.1 后向通道中的功率開關(guān)器件及接口后向通道中的功率開關(guān)器件及接口一、繼電器及接口一、繼電器及接口二、光電耦合器(隔離器)件及驅(qū)動接口二、光電耦合器(隔離器)件及驅(qū)動接口8.4.2 8.4.2 后向通道中的后向通道中的D/AD/A轉(zhuǎn)換及接口技術(shù)轉(zhuǎn)換及接口技術(shù)D7 :D0tVout數(shù)字量輸入NVout模擬量 輸出 將數(shù)字量N(D7D0)轉(zhuǎn)換為模擬量Vout的器件稱之為D/A轉(zhuǎn)換器。D/A 轉(zhuǎn)換器一、一、D/A轉(zhuǎn)換芯片轉(zhuǎn)換芯片DAC0832DAC0832芯片引腳介紹

25、數(shù)字量輸入線數(shù)字量輸入線DI7DI0;第第1級緩沖控制線:級緩沖控制線:lILE:允許數(shù)字量輸入線,高電平有效。允許數(shù)字量輸入線,高電平有效。l/CS:片選線,低電平有效。片選線,低電平有效。l/WR1:寫命令控制線,低電平有效。寫命令控制線,低電平有效。l【鎖存原理】【鎖存原理】lILE= 1, /CS= /WR1=0時:數(shù)據(jù)進入輸入寄存器;時:數(shù)據(jù)進入輸入寄存器;1. 反之,條件不滿足反之,條件不滿足時:鎖存器鎖存數(shù)據(jù)。時:鎖存器鎖存數(shù)據(jù)。第第2級緩沖控制線(控制級緩沖控制線(控制DAC新的轉(zhuǎn)換時刻):新的轉(zhuǎn)換時刻):l/WR2:寫命令控制線,低電平有效。寫命令控制線,低電平有效。l/XF

26、ER:輸入傳送控制線,低電平有效。輸入傳送控制線,低電平有效。l l【鎖存原理】【鎖存原理】l/WR2=0,/XFER=0時:時:數(shù)據(jù)進入數(shù)據(jù)進入DAC寄存器寄存器,通過通過l T型電阻網(wǎng)絡(luò)實現(xiàn)型電阻網(wǎng)絡(luò)實現(xiàn)DAC轉(zhuǎn)換;轉(zhuǎn)換;l 反之,條件不滿足時:反之,條件不滿足時:鎖存器鎖存數(shù)據(jù)。鎖存器鎖存數(shù)據(jù)。DAC寄寄1. 存器不接收輸入寄存器的數(shù)據(jù)。存器不接收輸入寄存器的數(shù)據(jù)。輸出線:輸出線:lRfb:與外接運算放大器的輸出端相連。與外接運算放大器的輸出端相連。lIout1、Iout2:模擬電流輸出線,分別與運算放大器的反模擬電流輸出線,分別與運算放大器的反相端、同相端連接。相端、同相端連接。電源線

27、:電源線:lVCC:電源輸入線,電源輸入線,+5V+15V之間。之間。lVREF:參考電壓輸入線,參考電壓輸入線,-10V+10V范圍內(nèi),由基準范圍內(nèi),由基準電源提供。電源提供。lDGND:數(shù)字電源地。數(shù)字電源地。1.AGND:模擬電源地。模擬電源地。I RfV out電流 / 電壓變換DAC0832Iout1Iout2V ref根據(jù)DAC0832結(jié)構(gòu)特點,DAC0832的接法有:l無緩沖的直通方式:用于無CPU的普通儀表場合。l單 緩 沖 方 式: 在單片機系統(tǒng)中常用的使用模式。1.雙 緩 沖 方 式: 用于多DAC的應(yīng)用場合。二、二、D/A轉(zhuǎn)換器與轉(zhuǎn)換器與8031接口接口1、單緩沖方式將D

28、AC兩個緩沖器中的后級直通(/XFER,/WR2=0)。前級的/WR1與單片機的/WR連接,/CS與地址譯碼器連接。這樣,執(zhí)行MOVX指令時,DAC就開始進行轉(zhuǎn)換。 MOV R0,#0FEH ;DAC0832的地址送R0 MOVX R0,A ;產(chǎn)生/WR、/CS信號使0832進行轉(zhuǎn)換。/WRP0口口ALE/WR1/WR2/XFER Rfb/CS Iout1ILE Iout2DI7DI0鎖鎖存存器器譯譯碼碼器器+5VV outFEHMOVX R0,AMOVX R0,A指令時序圖指令時序圖S1S2S6S5S4S3S1S2S6S5S4S3ALEPsenA15-A8(PC)A7-A0指令A(yù)7-A0數(shù)據(jù)

29、/RD或 /WRP2口P0口選中DAC0832R0中的地址(FEH)累加器A中的數(shù)據(jù)使用DAC0832作波形發(fā)生器,輸出鋸齒波、三角波和方波。1,鋸齒波發(fā)生器程序:ORG 1000HSTART:MOV R0,#0FEH ;DAC口地址MOVX R0,A ;數(shù)據(jù)送DACINC A ;數(shù)據(jù)加一SJMP START ;返回繼續(xù)END【說明】:單極性輸出Vout2562VrfeBVrfeBn/WR1/WR2/XFER Rfb/CS Iout1ILE Iout2DI7DI0V outVoutt2,三角波發(fā)生器程序: ORG 1000HSTART: CLR A MOV R0,#0FEHDOWN: MOVX

30、 R0,A INC A JNZ DOWNUP: DEC A MOVX R0,A JNZ UP SJMP DOWN END【說明】:單極性輸出Vout2562VrfeBVrfeBn/WR1/WR2/XFER Rfb/CS Iout1ILE Iout2DI7DI0V outVoutt3,方波發(fā)生器程序: ORG 1000HSTART:MOV R0,#0FEH ;DAC口地址LOOP: MOV A,#33H ;數(shù)據(jù)為33HMOVXR0,A ;DAC轉(zhuǎn)換ACALL DELAY ;調(diào)延時MOV A,#0FEH ;數(shù)據(jù)為FEHMOVX R0,A ;DAC轉(zhuǎn)換 ACALL DELAY ;調(diào)延時SJMP LO

31、OP ;返回繼續(xù)DELAY: :END【說明】:單極性輸出【說明】:單極性輸出VoutVout2562VrfeBVrfeBn/WR1/WR2/XFER Rfb/CS Iout1ILE Iout2DI7DI0VoutVoutt2、雙緩沖方式/WRP0口口ALE/WR1/WR2/CS Rfb/XFER Iout1ILE Iout2DI7DI0鎖存器譯碼器+5VV XFDHFEHFFH/WR1/WR2/CS Rfb/XFER Iout1ILE Iout2DI7DI0+5VV Y第一級緩沖:數(shù)據(jù)寄存第一級緩沖:數(shù)據(jù)寄存器存器存:/WR1,/CS第二級緩沖:第二級緩沖:DAC寄存寄存器器:/WR2,/X

32、FER設(shè)內(nèi)部設(shè)內(nèi)部RAMRAM單元有兩個長度為單元有兩個長度為3030的數(shù)據(jù)塊,起始地址分別的數(shù)據(jù)塊,起始地址分別為為DA1DA1和和DA2DA2,試編程將,試編程將DA1,DA2DA1,DA2中的數(shù)據(jù)分別從中的數(shù)據(jù)分別從1#1#和和2#DAC08322#DAC0832輸出的程序。輸出的程序?!窘狻浚骸窘狻浚篎DH:FDH:1#DAC08321#DAC0832數(shù)字量輸入控制口;數(shù)字量輸入控制口; FEH:FEH:2#DAC08322#DAC0832數(shù)字量輸入控制口;數(shù)字量輸入控制口; FFH:FFH:1#,2#DAC08321#,2#DAC0832的的DACDAC轉(zhuǎn)換控制口;轉(zhuǎn)換控制口;R2R

33、2為數(shù)據(jù)塊長度計數(shù)器為數(shù)據(jù)塊長度計數(shù)器0 0區(qū)區(qū)R1R1為為DA1DA1數(shù)據(jù)塊指針,數(shù)據(jù)塊指針,1 1區(qū)區(qū)R1R1為為DA2DA2數(shù)據(jù)塊指針;數(shù)據(jù)塊指針;R0R0用于存放用于存放DACDAC口地址??诘刂?。 ORG 1200HDA1 DATA 20H ;DATA為數(shù)據(jù)、地址賦值偽指令DA2 DATA 40H;為左邊的“字符”名稱賦值DTOUT: MOV R1,#DA1;0區(qū)的R1指向DA1數(shù)據(jù)區(qū) MOV R2,#30;數(shù)據(jù)區(qū)長度30送計數(shù)器R2 SETB RS0;CPU轉(zhuǎn)向1#工作寄存器區(qū) MOV R1,#DA2;1#區(qū)R1指向DA2數(shù)據(jù)區(qū) CLR RS0;返回0#工作寄存器區(qū)程序清單NEXT

34、:MOV R0,#0FDH;指向1#輸入數(shù)據(jù)口MOV A,R1;取DA1數(shù)據(jù)MOVX R0,A;數(shù)據(jù)送1#的數(shù)據(jù)寄存器INC R1;修改DA1數(shù)據(jù)區(qū)指針SETB RS0;CPU轉(zhuǎn)向1#工作寄存器區(qū)MOV R0,#0FEH;指向2#輸入數(shù)據(jù)口MOV A,R1;取DA2數(shù)據(jù)MOVX R0,A; 數(shù)據(jù)送2#的數(shù)據(jù)寄存器INC R1;修改DA2數(shù)據(jù)區(qū)指針I(yè)NC R0;R0=FFH,指向1#、2#后級MOVX R0,A;同時啟動1#、2# DAC進行轉(zhuǎn)換CLR RS0;CPU轉(zhuǎn)回0# 工作寄存器區(qū)DJNE R2,NEXT;30個數(shù)據(jù)是否完成SJMP DTOUT;未完時,轉(zhuǎn)DTOUT繼續(xù)END程序流程圖初始化:0區(qū)的R1做DA1指針1區(qū)的R1做DA2指針計數(shù)器R2賦初值30從DA1中取數(shù)據(jù)送1#修改DA1指針啟動1#、2#DAC從DA2中取數(shù)據(jù)送2#修改DA2指針R2-1R2R2=0?NY外設(shè)接口電路小結(jié):外部數(shù)據(jù)傳送指令外部數(shù)據(jù)傳送指令: MOVX A,R0 (MOVX A, DPTR) 或:或: MOVX R0,A (MOVX DPTR ,

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論