單片機原理課后答案_第1頁
單片機原理課后答案_第2頁
單片機原理課后答案_第3頁
單片機原理課后答案_第4頁
單片機原理課后答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機原理課后答案單片機原理課后答案單片機原理課后答案習(xí)題什么是MCS-51單片機的最小系統(tǒng)?答:所謂最小系統(tǒng),是指一個真實可用的單片機的最小配置系統(tǒng)。關(guān)于單片機內(nèi)部資源已能夠知足系統(tǒng)需要的,可直接采納最小系統(tǒng)。簡述儲蓄器擴展的一般方法。答:儲蓄器芯片與單片機擴展連結(jié)擁有共同的規(guī)律。即不論何種儲蓄器芯片,其引腳都呈三總線構(gòu)造,與單片機連結(jié)都是三總線對接。其他,電源線接電源線,地線接地線。什么是部分譯碼法?什么是全譯碼法?它們各有什么特色?用于形成什么信號?答:部分譯碼就是儲蓄器芯片的地點線與單片機系統(tǒng)的地點線挨次相接后,節(jié)余的高位地點線僅用一部分參加譯碼。部分譯碼使儲蓄器芯片的地點空間有重疊,造成系統(tǒng)儲蓄器空間的浪費。全譯碼就是儲蓄器芯片的地點線與單片機系統(tǒng)的地點線挨次相接后,節(jié)余的高位地點線所有參加譯碼。這類譯碼方法中儲蓄器芯片的地點空間是獨一確立的,但譯碼電路要相對復(fù)雜。譯碼形成儲蓄器芯片的片選信號線CE。采納部分譯碼為何會出現(xiàn)地點重疊狀況,它對儲蓄器容量有何影響?答:部分譯碼就是儲蓄器芯片的地點線與單片機系統(tǒng)的地點線挨次相接后,節(jié)余的高位地點線僅用一部分參加譯碼。參加譯碼的地點線關(guān)于選中某一儲蓄器芯片有一個確立的狀態(tài),而與不參加譯碼的地點線沒關(guān)。也能夠說,只需參加譯碼的地點線處于對某一儲蓄器芯片的選中狀態(tài),不參加譯碼的地點線的隨意狀態(tài)都能夠選中該芯片。正因為這樣,部分譯碼使儲蓄器芯片的地點空間有重疊,造成系統(tǒng)儲蓄器空間減少。儲蓄器芯片的地點引腳與容量有什么關(guān)系?答:容量(Q)與地點線數(shù)量(N)知足關(guān)系式:Q=2N。MCS-51單片機的外面設(shè)施是經(jīng)過什么方式接見的?答:MCS-51單片機擴展的外面設(shè)施與片外數(shù)據(jù)儲蓄器一致編址,即外面設(shè)施占用片外數(shù)據(jù)儲蓄器的地點空間。按片外數(shù)據(jù)儲蓄器的接見方式接見。何為鍵顫動?鍵顫動對鍵位鑒別有什么影響?如何除去鍵顫動?答:按鍵時,不論按下鍵位仍是松開鍵位都會產(chǎn)生顫動,假如對顫動不作辦理,必然會出現(xiàn)按一次鍵而輸入多次,為保證按一次鍵只確認一次,必然除去按鍵顫動。除去按鍵顫動平常有硬件消抖和軟件消抖兩種方法。矩陣鍵盤有幾種編碼方式?如何編碼?答:平常有以下兩種方法進行編碼;碼。(2)次序擺列編碼。9.簡述對矩陣鍵盤的掃描過程。

(1)用連結(jié)鍵盤的

I/O

線的二進制組合進行編答:矩陣式鍵盤的工作過程可分為兩步:第一步是CPU第一檢測鍵盤上能否有鍵按下;第二步是鑒別哪一個鍵按下。檢測鍵盤上能否有鍵按下的辦理方法是:將列線送入全掃描字,讀入行線的狀態(tài)來鑒別。鑒別鍵盤中哪一個鍵按下的辦理方法是:將列線逐列置成低電平,檢查行輸入狀態(tài),稱為逐列掃描。共陰極數(shù)碼管與共陽極數(shù)碼管有何差別?答:共陰極構(gòu)造,8段發(fā)光二極管的陰極端連結(jié)在一同,陽極端分開控制,使用時公共端接地,要使哪根發(fā)光二極管亮,則對應(yīng)的陽極端接高電平;共陽極構(gòu)造,8段發(fā)光二極管的陽極端連結(jié)在一同,陰極端分開控制,使用時公共端接電源,要使哪根發(fā)光二極管亮,則對應(yīng)的陰極端接地。11.簡述LED數(shù)碼管顯示的譯碼方式。答:所謂譯碼方式是指由顯示字符變換獲得對應(yīng)的字段碼的方式。關(guān)于LED數(shù)碼管顯示器,平常的譯碼方式有硬件譯碼方式和軟件譯碼方式兩種。12.簡述LED動向顯示過程。答:LED動向顯示是將所有的數(shù)碼管的段選線并接在一同,用一個I/O接口控制,公共端不是直接接地(共陰極)或電源(共陽極),而是經(jīng)過相應(yīng)的I/O接口線控制,工作過程為:第一步使右側(cè)第一個數(shù)碼管的公共端D0為1,其他的數(shù)碼管的公共端為0,同時在I/O(1)上發(fā)送右側(cè)第一個數(shù)碼管的字段碼,這時,只有右側(cè)第一個數(shù)碼管顯示,其他不顯示;第二步使右側(cè)第二個數(shù)碼管的公共端D1為1,其他的數(shù)碼管的公共端為0,同時在I/O(1)上發(fā)送右側(cè)第二個數(shù)碼管的字段碼,這時,只有右側(cè)第二個數(shù)碼管顯示,其他不顯示,依此類推,直到最后一個,這樣4個數(shù)碼管輪番顯示相應(yīng)的信息,一次循環(huán)完成后,下一次循環(huán)又這樣輪番顯示,從計算機的角度看是一個一個地顯示,但因為人的視覺暫留效應(yīng),只需循環(huán)的周期足夠快,則看起來所有的數(shù)碼管就都是一同顯示的了,這就是動向顯示的原理。13.使用2764(8KB?8)芯片經(jīng)過部分譯碼法擴展24KB程序儲蓄器,畫出硬件連結(jié)圖,指明各芯片的地點空間范圍。答:使用2764(8K?8)芯片經(jīng)過部分譯碼法擴展24KB程序儲蓄器,須要3塊。采納線譯碼,與第一片2764的CE相連,與第二片2764的CE相連,與第三片2764的CE相連,硬件連結(jié)以下:P2.7P2.6P2.5P2.4~P2.05G74LSALE8885855373A0~A7A0~A7CECECE8031OEA0~A7A8~A12A8~A12A8~A122764(1)2764(2)OE2764(3)D0~D7OED0~D7D0~D7OEP08888EAPSEN地點空間以下:第一片:1100000000000000~1101111111111111

;即

C000H~DFFFH;第二片:1010000000000000~1011111111111111

;即

A000H~BFFFH;第三片:0110000000000000~0111111111111111

;即

6000H~7FFFH;14.使用

6264(8KB?8)芯片經(jīng)過全譯碼法擴展

24KB數(shù)據(jù)儲蓄器,畫出硬件連結(jié)圖,指明各芯片的地點空間范圍。答:使用6264(8K?8)芯片經(jīng)過全譯碼法擴展

24KB程序儲蓄器,須要

3塊。采納

138譯碼器譯碼,硬件連結(jié)以下:74LS138VccG1GG2Y3G2CY2P2.7Y1BP2.6AY0P2.5P2.4~P2.05ALEG74LS5585888373A0~A7CEA0~A7CEA0~A7CE8031OEA8~A12A8~A12A8~A126264(1)6264(2)6264(3)D0~D7OED0~D7OED0~D7OEP08888EAPSEN地點空間以下:第一片:0000000000000000~0001111111111111

;即

0000H~1FFFH;第二片:0010000000000000~0011111111111111

;即

2000H~3FFFH;第三片:0100000000000000~0101111111111111

;即

3000H~5FFFH;15.試用一片74LS373擴展一個并行輸進口,畫出硬件連結(jié)圖,指出相應(yīng)的控制命令。答:硬件電路圖以下:74LS373的輸入端為擴展的輸進口,輸出端接8051的數(shù)據(jù)總路線P0口,控制端接高電平,輸出贊成由片外數(shù)據(jù)儲蓄器讀信號RD和控制。當(dāng)片外數(shù)據(jù)儲蓄器讀信號RD和同為低平常從74LS373中讀入輸入的數(shù)據(jù)。P0.0Q074LSD0P0.1Q1D1P0.2Q2373D2P0.3Q3D3P0.4Q4D4P0.5Q5D5P0.6Q6D6P0.7Q7D78051OEG+5V+RDP2.0輸入數(shù)據(jù)的命令以下:MOVDPTR,#0FE00HMOVXA,@DPTR16.用8255A擴展并行

I/O,實現(xiàn)把

8個開關(guān)的狀態(tài)經(jīng)過

8個二極管顯示出來,畫出硬件連結(jié)圖,用匯編語言和C語言分別編寫相應(yīng)的程序。答:硬件電路圖以下:8051與8255的連結(jié)略,設(shè)8255

的A,B,C和控制控口的地點7F00H,7F01H,7F02H,7F03H。8255的A口接8個開關(guān),B口接8個發(fā)光二極管。+5VK0PA0PA1PA2PA3系統(tǒng)總線PA4PA5PA680518255APA7K7L0PB0PB1PB2PB3PB4PB5PB6PB7+5VL7程序以下:匯編程序ORG0000HLJMPMAINORG0100HMAIN:MOVDPTR,#7F03HMOVA,#90HMOVX@DPTR,ALOOP:MOVDPTR,#7F00HMOVXA,@DPTRMOVDPTR,#7F01HMOVX@DPTR,ASJMPLOOPSJMP$ENDC語言程序:#include<>#include<>main( ){unsignedchari;XBYTE[0x7f03]=0x90;while(1){i=XBYTE[0x7f00];XBYTE[0x7f01]=i;}}}用匯編語言編寫出準(zhǔn)時掃描方式下矩陣鍵盤的辦理程序。答:該程序放于準(zhǔn)時器的中止服務(wù)程序中。準(zhǔn)時器每10ms中止一次,履行一次中止服務(wù)程序。F1F2標(biāo)記位用片內(nèi)RAM的50H和51H單元。ACALLKS1JNZLK1MOV50H,#0;無鍵按下,F(xiàn)1的F0標(biāo)記清0結(jié)束MOV51H,#0SJMPOUTLK1:CJNE50H,#1,OUT1;有鍵按下檢查F1標(biāo)記能否為1,不為1置1結(jié)束。CJNE51H,#01,OUT;再檢查F2標(biāo)記能否為1,為1說明已辦理按鍵則結(jié)束。LK2:MOVR2,#0FEH;掃描查問鍵碼MOVR4,#00HLK4:MOVDPTR,#7F00HMOVA,R2MOVX@DPTR,AINCDPTRINCDPTRMOVXA,@DPTRJB,LONEMOVA,#00HAJMPLKPLONE:JB,LTWOMOVA,#08HAJMPLKPLTWO:JB,LTHRMOVA,#10HAJMPLKPLTHR:JB,NEXTMOVA,#18HLKP:ADDA,R4MOV51H,#1SJMPOUTNEXT:INCR4MOVA,R2JNB,KENDRLAMOVR2,ASJMPLK4KEND:SJMPOUT;KS1:MOVDPTR,#7F00HMOVA,#00HMOVX@DPTR,AINCDPTR

;求鍵碼放累加大器A,;F2標(biāo)記置1,結(jié)束掃描結(jié)束束;檢查有無按鍵INCDPTRMOVXA,@DPTRCPLAANLA,#0FHRETOUT1:MOV50H,#1OUT:用C語言編寫出準(zhǔn)時掃描方式下矩陣鍵盤的辦理程序。答:該程序放于準(zhǔn)時器的中止服務(wù)程序中。準(zhǔn)時器每

10ms中止一次,履行一次中止服務(wù)程序。

F1和F2標(biāo)記已在主函數(shù)前定義。7f7f0f0f7f7f試編制4?4的鍵盤掃描程序。答:設(shè)P0口低4位接行線,P2口低4位接列線。有鍵按下

,R2

中放鍵代碼

0~F,有無鍵按下,R2中放無鍵代碼FFH。KEYSUB:ACALLKS1JNZLK1AJMPNOKEYLK1:ACALLTM6ACALLKS1JNZLK2NOKEY:MOVR2,#0FFHAJMPKEYOUTLK2:MOVR3,#0FEHMOVR4,#00HLK3:MOVA,R3

;

;調(diào)用判斷有無鍵按下子程序;有鍵按下時,(A)≠0轉(zhuǎn)消抖延時;無鍵按下返回;調(diào)用10ms延時子程序;查有無鍵按下,若真有鍵按下;鍵(A)≠0逐行掃描不是真有鍵按下,R2中放無鍵代碼;返回;初始行掃描字(0行)送入R3;初始行(0行)號送入R4;行掃描字送至P0口

FFHMOVP0,AMOVA,P2JB,LONEMOVA,#00HAJMPLKP

;查第

;從P2口讀入列狀態(tài)0列無鍵按下,轉(zhuǎn)查第1列;第0列有鍵按下,列首鍵碼;轉(zhuǎn)求鍵碼

#00H→ALONE:JB,LTWO;查第1列無鍵按下,轉(zhuǎn)查第2列MOVA,#04H;第1列有鍵按下,列首鍵碼#04H→AAJMPLKP;轉(zhuǎn)求鍵碼LTWO:JB,LTHREE;查第2列無鍵按下,轉(zhuǎn)查第3列MOVA,#08H;第2列有鍵按下,列首鍵碼#08H→AAJMPLKP;轉(zhuǎn)求鍵碼LTHREE:JB,KNEXT;查第3列無鍵按下,轉(zhuǎn)查下一行MOVA,#0CH;第3列有鍵按下,列首鍵碼#0CH→ALKP:ADDA,R4;求鍵碼,鍵碼=列首鍵碼+行號MOVR2,A;鍵碼放入R2中LK4:ACALLKS1;等候鍵開釋JNZLK4;鍵未開釋,等候KEYOUT:RET;鍵掃描結(jié)束,出口狀態(tài)R2:無鍵按下為FFH,有鍵按下為鍵碼KNEXT:INCR4;準(zhǔn)備掃描下一行,行號加1MOVA,R3;取行掃描字送累加器AJNB,NOKEY;判斷4行掃描完否?RLA;掃描字左移一位,變成下一行掃描字MOVR3,A;掃描字送入R3中保存AJMPLK3;轉(zhuǎn)下一行掃描KS1:MOVA,#00H;全掃描字→AMOVP0,A;全掃描字送往P0口MOVA,P2;讀入P2口行狀態(tài)CPLA;變正邏輯,以高電平表示有鍵按下ANLA,#0FH;障蔽高4位,只保存低4位列線值RET;出口狀態(tài):(A)≠0時有鍵按下TM12ms:MOVR7,#14H;延時10ms子程序TM:MOVR6,#0FFHTM6:DJNZR6,TM6DJNZR7,TMRET20.依據(jù)圖,編制一個在兩個數(shù)碼管上顯示1和2的顯示程序。答:圖見書程序:MOVP1,#B;在第一個數(shù)碼管顯示1MOVP1,#B;在第二個數(shù)碼管顯示221.依據(jù)圖,用匯編語言或C語言編制一個在8個數(shù)碼管上轉(zhuǎn)動顯示1~8的程序。答:程序以下:顯示子程序DISPLAY見書,在字段碼表最后放不顯示的編碼00H,顯示緩沖區(qū)50H~57H;顯示見效:在第一個數(shù)碼管上顯示1后,第一

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論