第7部分 指導(dǎo)應(yīng)用系統(tǒng)配置及接口技術(shù)
《第7部分 指導(dǎo)應(yīng)用系統(tǒng)配置及接口技術(shù)》由會員分享,可在線閱讀,更多相關(guān)《第7部分 指導(dǎo)應(yīng)用系統(tǒng)配置及接口技術(shù)(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、word 第7局部 應(yīng)用系統(tǒng)配置與接口技術(shù) 1. 為什么要消除鍵盤的機(jī)械抖動?有哪些方法? 答: 通常按鍵所用的開關(guān)為機(jī)械彈性開關(guān),由于機(jī)械觸點的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而在閉合與斷開的瞬間均伴隨有一連串的抖動,鍵抖動會引起一次按鍵被誤讀屢次。為了確保CPU對鍵的一次閉合僅做一次處理,必須去除鍵抖動。 在鍵閉合穩(wěn)定時,讀取鍵的狀態(tài),并且必須判別;在鍵釋放穩(wěn)定后,再作處理。按鍵的抖動,可用硬件或軟件兩種方法消除。 如果按鍵較多,常用軟件方法去抖動,即檢測出鍵閉合后執(zhí)行一個延時程序,產(chǎn)生5~10 ms的延時;讓前沿抖動消失
2、后,再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,如此確認(rèn)為真正有鍵按下。當(dāng)檢測到按鍵釋放后,也要給5~10 ms的延時,待后沿抖動消失后,才能轉(zhuǎn)入該鍵的處理程序。 硬件方法常用RS觸發(fā)器。 2. 試述A/D轉(zhuǎn)換器的種類與特點。 答:A/D轉(zhuǎn)換器的種類很多,主要有計數(shù)比擬型、逐次逼近型、雙積分型等。 逐次逼近型A/D轉(zhuǎn)換器的特點是精度、速度和價格都適中,是比擬常用的A/D轉(zhuǎn)化器。雙積分型A/D轉(zhuǎn)換器的特點是精度高,抗干擾性好,價格低廉,但轉(zhuǎn)換速度慢。 3. 設(shè)計一個2×2行列式鍵盤電路并編寫鍵掃描子程序。 解:〔1〕邏輯電路如下: 〔2〕判斷是否有鍵按下
3、:有列線P1.0、P1.1送全0,查P0.0、P0.1是否為0。 判斷哪一個鍵按下:逐列送0電平信號,再逐行掃描是否為0。 鍵號=行首號+列號 KEY: LCALL KS JZ KEY LCALL T10ms LCALL KS JZ KEY MOV R2,#0FEH MOV R4,#00H LK1: MOV P1,R2 P0.0,ONE MOV A,#00H LJMP KP
4、 ONE: P0.1, NEXT MOV A,#02H KP: ADD A,R4 PUSH ACC LK: LCALL KS JNZ LK POP ACC RET NEXT: INC R4 MOV A,R2 JNB ACC.1,KND RL A MOV R2,A AJMP LK1 KND: AJMP KEY KS:
5、 MOV P1,#0FCH MOV A,P0 CPL A ANL A,#03H RET T10ms: MOV R7,#10H TS1: MOV R6,#0FFH TS2: DJNZ R6,TS2 DJNZ R7,TS1 RET 4. 試設(shè)計一個LED顯示器/鍵盤電路。 解: 5. 在一個89C51應(yīng)用系統(tǒng)中,89C51以中斷方式通過并行接口74LS244讀取A/D器件5G14433的轉(zhuǎn)換結(jié)果。試畫出有關(guān)邏輯電路,并編寫讀?。粒慕Y(jié)果的中斷服務(wù)程序。
6、解:硬件電路設(shè)計如圖: 讀取A/D結(jié)果的中斷服務(wù)程序: MOV DPTR,#0FE00H MOVX A,DPTR MOV 30H,A RETI 6. 在一個fOSC為12 MHz的89C51系統(tǒng)中接有一片D/A器件DAC0832,它的地址為7FFFH,輸出電壓為0~5 V。請畫出有關(guān)邏輯框圖,并編寫一個程序,使其運(yùn)行后能在示波器上顯示出鋸齒波(設(shè)示波器X方向掃描頻率為50 μs/格,Y方向掃描頻率為1 V/格)。 解:硬件電路設(shè)計如圖:根據(jù)DAC0832的地址為7FFFH,如此89C51的P2.7接DAV0832的片選。 程序設(shè)計:因為示波器X方向
7、掃描頻率為50μs/格,Y方向掃描頻率為1V/格,所以選擇DAC0832的輸出電壓為0V~2V,對應(yīng)的數(shù)字量為00H~66H〔0~102〕;每次數(shù)據(jù)量增值為3,共34次循環(huán),34×5μs=170μs。 ORG 0050H MAIN: MOV DPTR,#7FFFH LOOP1: MOV A,#00H LOOP2: MOVX DPTR,A ADD A,#03H CJNE
8、 A,#66H,LOOP2 SJMP LOOP1 7. 在一個fOSC為12 MHz的89C51系統(tǒng)中接有一片A/D器件ADC0809,它的地址為7FF8H~7FFFH。試畫出有關(guān)邏輯框圖,并編寫ADC0809初始化程序和定時采樣通道2的程序(假設(shè)采樣頻率為1 ms/次,每次采樣4個數(shù)據(jù),存于89C51部RAM 70H~73H中)。 解:硬件電路設(shè)計如圖: 程序清單: ORG 0000H LJMP MAIN ORG 0013H LJMP IEX1 ORG 0030H MAIN:
9、 MOV SP,#60H MOV DPTR,#7FFAH SETB IT1 SETB EX1 SETB EA LOOP1: MOV R0,#70H MOV R7,#04H LOOP2: MOVX DPTR,A HEAR: SJMP HEAR DJMP R7,LOOP2
10、 LCALL DIMS SJMP LOOP1 DIMS: MOV R5,#32H DIMS1: MOV R6,#64H DIMS2: MOV R6,DIMS2 MOV R5,DIMS1 RET ORG 0200H IEX1: MOVX A,DPTR MOV R0,A
11、 INC R0 RETI 8. 在一個89C51系統(tǒng)中擴(kuò)展一片74LS245,通過光電隔離器件外接8路TTL開關(guān)量輸入信號。試畫出其有關(guān)的硬件電路。 解:硬件電路設(shè)計如圖: 9.用89C51的P1口作8個按鍵的獨(dú)立式鍵盤接口。試畫出其中斷方式的接口電路與相應(yīng)的鍵盤處理程序。 解:硬件電路設(shè)計如圖: 鍵盤處理程序: ORG 0000H LJMP MAIN ORG 0013H LJMP IEX1 ORG 0030H MAIN: MOV
12、 SP,#60H SETB IT1 SETB EX1 SETB EA SJMP $ IEX1: MOV A,#FFH MOV P1,A MOV A,P1 JNB ACC.7,P7F JNB ACC.6,P6F
13、 JNB ACC.5,P5F JNB ACC.4,P4F JNB ACC.3,P3F JNB ACC.2,P2F JNB ACC.1,P1F JNB ACC.0,P0F RETI P7F: LJMP PROM7 P6F: LJMP PROM6 P5F:
14、 LJMP PROM5 P4F: LJMP PROM4 P3F: LJMP PROM3 P2F: LJMP PROM2 P1F: LJMP PROM1 P0F: LJMP PROM0 …… 10. 試說明非編碼鍵盤的工作原理。如何去鍵抖動?如何判斷鍵是否釋放? 答:〔1〕非編碼鍵盤是靠軟件識別的鍵盤。根據(jù)系統(tǒng)中按鍵數(shù)目的多少來選擇不同的鍵盤結(jié)構(gòu)。鍵數(shù)少時,可采用獨(dú)立式按鍵結(jié)構(gòu);當(dāng)鍵數(shù)多時可采用行列式按鍵結(jié)構(gòu)。無論采用什么結(jié)構(gòu)
15、,都是通過單片機(jī)對它控制,因此可有三種控制方式:程序控制掃描方式、定時掃描方式和中斷掃描方式。以行列式非編碼鍵盤,采用程序控制掃描方式為例,其工作原理為:首先判斷鍵盤上有無鍵按下,假如有鍵按下如此去鍵的機(jī)械抖動影響,然后逐列〔行〕掃描,判別閉合鍵的鍵號,再判別鍵是否釋放,如果鍵釋放如此按鍵號處理相應(yīng)程序。 〔2〕當(dāng)判斷有鍵按下時,執(zhí)行5ms~10ms的延時程序后再判斷鍵盤的狀態(tài)。如果仍為鍵按下狀態(tài),如此認(rèn)為確定有一個鍵按下;否如此按照鍵抖動處理。 〔3〕判斷鍵是否釋放時,先判斷鍵是否仍為閉合狀態(tài),如果為時,如此執(zhí)行5ms~10ms延時程序后再判斷直到鍵釋放,以便達(dá)到對鍵的一次閉合僅
16、作一次處理。 11. DAC0832與89C51單片機(jī)連接時有哪些控制信號?其作用是什么? AC0832與89S51單片機(jī)連接時的控制信號有: ILE——數(shù)據(jù)鎖存允許信號,高電平有效; /CS——輸入存放器選擇信號,低電平有效; /WR1——輸入存放器的“寫〞選通信號,低電平有效。 /XFER——數(shù)據(jù)轉(zhuǎn)移控制信號線,低電平有效; /WR2——DAC存放器的“寫〞選通信號。 〔2〕作用: 當(dāng)/CS=0,/WR1=0,ILE=1時,==1,輸入鎖存器狀態(tài)隨輸入線狀態(tài)變化;當(dāng)/CS=1,/WR1變高,ILE=1時,== 0時,鎖存輸入數(shù)據(jù)。 當(dāng)/WR2=0,/XFER=0時,
17、DAC存放器的鎖存信號==1時,DAC存放器的輸隨輸入狀態(tài)變化;當(dāng)/WR2變高,/XFER=0時,=0時,鎖存輸入狀態(tài)。 12. 在一個89C51單片機(jī)與一片DAC0832組成的應(yīng)用系統(tǒng)中,DAC0832的地址為7FFFH,輸出電壓為0~5 V。試畫出有關(guān)邏輯框圖,并編寫產(chǎn)生矩形波,其波形占空比為1∶4,高電平時電壓為2.5 V,低電平時電壓為1.25 V的轉(zhuǎn)換程序。 解:硬件電路設(shè)計如圖: VOUT=2.5V ,D=2.5V×256/5=128=80H VOUT=1.25V ,D=1.25V×256/5=64=40H 程序清單:
18、MOV DPTR,#7FFFH NEXT: MOV A,#80H MOVX DPTR,A ACALL DELY MOV R4,#04H MOV A,#40H MOVX DPTR,A LOOP: ACALL DELAY DJNZ R4,LOOP AJMP NEXT DELAY:
19、MOV R7,#10H TS1: MOV R6,#0FFH TS2: DJNZ R6,TS2 DJNZ R7,TS1 RET 13. 在一個由89C51單片機(jī)與一片ADC0809組成的數(shù)據(jù)采集系統(tǒng)中,ADC0809的地址為7FF8H~7FFFH。試畫出有關(guān)邏輯框圖,并編寫出每隔1 min輪流采集一次8個通道數(shù)據(jù)的程序。共采樣100次,其采樣值存入片外RAM 3000H開始的存儲單元中。 解:硬件電路設(shè)計如圖: 設(shè)fOSC=6MHz,用定時器定時100ms,用軟件計數(shù)10×60實現(xiàn)定時1min。A/D轉(zhuǎn)換采用查
20、詢〔p1.0〕方式。 程序設(shè)計如下: ORG 0000H AJMP MAIN ORG 001BH AJMP SEAVE ORG 0030H MAIN: MOV SP,#60H MOV R7,#100 ;置采集次數(shù) MOV R1,#30H ;片外RAM地址高位 MOV R0,#00H ; 片外RAM地址低位
21、 MOV R2,#10 ;R2為100ms計數(shù)器,置入初值10 MOV R3,#60 ;R3為秒計數(shù)器,置入初值60 MOV TMOD,#10H MOV TH1,#3CH MOV TL1,#0B0H SETB ET1 SETB EA SETB TR1 LOOP: SJMP LOOP DJMP R7,LOOP
22、 SJMP $ SEAVE: MOV TH1,#3CH MOV TL1,#0B0H DJNZ R2,RETURN MOV R2,#10 DJNZ R3,RETURN MOV R6,#08 ;8個通道計數(shù)器初值 MOV DPTR,#7FF8H ;IN0的地址 NEXT: MOVX DPTR,A ;啟動A/D轉(zhuǎn)換
23、P1.0.$ MOVX A,DPTR PUSH DPH ;將通道地址壓入堆棧 PUSH DPL MOV DPH,R1 MOV DPL,R0 MOVX DPTR, A INC DPTR MOV R1, DPH ;保存片外RAM地址 MOV R0, DPL POP DPL P
24、OP DPH DJNZ R6,NEXT RETURN: RETI ; END 14. 以DAC0832為例,說明D/A的單緩沖與雙緩沖有何不同。 答:所謂雙緩沖方式,就是把DAC0832的兩個鎖存器都接成受控鎖存方式。雙緩沖DAC0832的連接如如下圖所示。 雙緩沖方式用于多路數(shù)/模轉(zhuǎn)換系統(tǒng),以實現(xiàn)多路模擬信號同步輸出的目的。為此就要使用兩片DAC0832,并采用雙緩沖方式連接,如如下圖所示 。 電路中以譯碼法產(chǎn)生地址,兩片DAC0832共占據(jù)三個單元地址,其中兩個輸入存放器各占一個地址,而兩個DA
25、C存放器如此合用一個地址。 15. 以DAC0832為例,說明D/A的單極性輸出與雙極性輸出有何不同。 答:在DAC0832的輸出端連接一級運(yùn)放組成的反向求和電路,可以得到單極性模擬電壓〔正電壓或負(fù)電壓〕,輸出電壓圍由參考電壓VREF值決定。例如,當(dāng)VREF=+5V〔或-5V〕時,輸出電壓VOUT圍是0V~-5V〔或0V~+5V〕;當(dāng)VREF=±10V時,VOUT圍是0V~±10V。 在VREF確定以后,假如要增加輸出電壓圍,可以通過增加運(yùn)放反應(yīng)電阻的方法來實現(xiàn)。連接方法是外加電阻R1同芯片中反應(yīng)電阻RF串聯(lián),并在輸入數(shù)據(jù)為全1的條件下,調(diào)節(jié)R1阻值,使VOUT達(dá)到所需的滿量
26、程電壓即可。 有時,需要轉(zhuǎn)換器輸出雙極性模擬電壓。當(dāng)輸入數(shù)字量從全0到全1時,需求輸出模擬量由負(fù)電壓到正電壓。 單極性輸出電壓表達(dá)式為: VOUT1= 雙極性輸出電壓表達(dá)式為: VOUT2= 比擬兩式可知,只要將單極性輸出模擬電壓放大2倍,再與參考電壓求和就可以獲得雙極性輸出的模擬電壓。 16. A/D和D/A的主要技術(shù)指標(biāo)中,“分辨率〞與“轉(zhuǎn)換精度〞〔即“量化誤差〞或“轉(zhuǎn)換誤差〞〕有何不同。 答:〔1〕分辨率 “分辨率〞通常用位數(shù)表示,如8位、10位、12位等。對于n位轉(zhuǎn)換器,其實際分辨率為模擬量滿量程的1/2n。例如,一個10位的A/D轉(zhuǎn)換器去轉(zhuǎn)換一個滿量程為5V的電壓,
27、如此它能分辨的最小電壓為5000 mV /1024≈5 mV,我們稱該A/D轉(zhuǎn)換器的分辨率為10位或5 mV。再例如,某D/A轉(zhuǎn)換器能夠轉(zhuǎn)換8位二進(jìn)制數(shù),轉(zhuǎn)換后的電壓滿量程是5V,如此它能分辨的最小電壓是5V/256≈20 mV,我們稱該D/A轉(zhuǎn)換器的分辨率為8位或20 mV。 〔2〕轉(zhuǎn)換精度 “轉(zhuǎn)換精度〞是反映轉(zhuǎn)換器轉(zhuǎn)換值與理想值之間的誤差。 例如,具有8位分辨率的A/D轉(zhuǎn)換器,當(dāng)輸入0V~5V電壓時,對應(yīng)的餓數(shù)字量為00H~FFH,即輸入每變化0.0196V時,數(shù)據(jù)就變化1。由于輸入模擬量是連續(xù)變化的,只有當(dāng)它的值為0.0196V的整數(shù)倍時,模擬量值才能準(zhǔn)確轉(zhuǎn)換成對應(yīng)的數(shù)字量,否如此
28、模擬量將被“四舍五入〞為相近的數(shù)字量。例如,0.025V被轉(zhuǎn)換成02H,最大誤差為1/2個最低有效位〔常用±1/2LSB表示〕,這就是量化誤差。該A/D轉(zhuǎn)換器的具體量化誤差〔或精度〕值可以計算出來為 ±〔1/2〕×5V/256=±〔1/2〕×0.0196V=±9.8 mV 在例如,假如某D/A轉(zhuǎn)換器的分辨率為8位時,如此它的精度為:±〔1/2〕×1/256=±1/512。 〔3〕分辨率的計算 在計算分辨率時,為什么有人用滿量程除以2 n,有人卻用滿量程除以2 n -1呢? 這是因為存在兩種“滿量程〞的定義。讓我們以D/A轉(zhuǎn)換的分辨率計算舉例來說吧,對應(yīng)線性D/A轉(zhuǎn)換器來說,其分辨率計算公式為:分辨率=模擬輸出的滿量程/2 n。 但是,這個“滿量程〞又分為標(biāo)稱滿量程和實際滿量程。標(biāo)稱滿量程是指數(shù)字量2 n所對應(yīng)的模擬量,可實際數(shù)字量的變化圍是從0~2 n–1,永遠(yuǎn)到不了2 n。所以實際最大值2 n–1所對應(yīng)的模擬輸出量,就稱為實際滿量程。 15 / 15
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。