單片機(jī)課后部分答案_第1頁
單片機(jī)課后部分答案_第2頁
單片機(jī)課后部分答案_第3頁
單片機(jī)課后部分答案_第4頁
單片機(jī)課后部分答案_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1.12寫出下列各十進(jìn)制數(shù)在八位微型計(jì)算機(jī)中的原碼、反碼和補(bǔ)碼形式。 X=+38 X=+76 X=-54 X=-115 X=-42解: X原=X反=X補(bǔ)=00100110 B; X原=X反=X補(bǔ)=01001100 B X原=10110110B,X反=11001001B,X補(bǔ)=11001010B X原=11110011B,X反=10001100B,X補(bǔ)=10001101B X原=10101010B,X反=11010101B,X補(bǔ)=11010110B1.13已知原碼如下,寫出其反碼和補(bǔ)碼。 X原=01011001B X原=11011001B X原=00101110B X原=1111100B解: X

2、原=X反=X補(bǔ)=01011001 B; X原=11011001B, X反=10100110B,X補(bǔ)=10100111B1.14先把下列各數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),然后按補(bǔ)碼運(yùn)算規(guī)則求出X+Y補(bǔ)及其真值。 X=+46,Y=+55 X=+78, Y=+15 X=-51,Y=+97 X=+112, Y=-83解: X 補(bǔ)=00101110B,Y補(bǔ)=00110111B;X+Y補(bǔ)=01100101B=+101D X 補(bǔ)=01001110B,Y補(bǔ)=00001111B;X+Y補(bǔ)=01011101B=+93D X 補(bǔ)=11001101B,Y補(bǔ)=01100001B;X+Y補(bǔ)=00101110B=+46D X 補(bǔ)=011

3、10000B,Y補(bǔ)=10101101B;X+Y補(bǔ)=00011101B=+29D1.15已知X和Y的補(bǔ)碼,計(jì)算X+Y補(bǔ)和X-Y補(bǔ),并判斷運(yùn)算結(jié)果是否有溢出。 X補(bǔ)=10011011B X補(bǔ)=00100110B X補(bǔ)=10110001B Y補(bǔ)=11100011B Y補(bǔ)=00010111B Y補(bǔ)=10001110B解: X+Y補(bǔ)=1 01111110B,C7C6=10=1,結(jié)果溢出; -Y補(bǔ)= 00011101B,X-Y補(bǔ)=0 10111000B,C7C6=00=0,結(jié)果無溢出; X+Y補(bǔ)=0 00111101B,C7C6=00=0,結(jié)果無溢出; -Y補(bǔ)=11101001B,X-Y補(bǔ)=1 00001

4、111B,C7C6=11=0,結(jié)果無溢出; X+Y補(bǔ)=1 00111111B,C7C6=10=1,結(jié)果溢出; -Y補(bǔ)= 01110010B,X-Y補(bǔ)=1 00100011B,C7C6=11=0,結(jié)果無溢出;第2章 2.1, 8051單片機(jī)內(nèi)部結(jié)構(gòu)主要有哪些部件組成?它們的主要功能各是什么? 答:8051單片機(jī)內(nèi)部結(jié)構(gòu)主要有:(1)中央處理器CPU,是單片機(jī)的核心,完成運(yùn)算和控制功能;(2)內(nèi)部數(shù)據(jù)存儲(chǔ)器(256字節(jié)),前面128個(gè)單元00H7FH存儲(chǔ)內(nèi)部數(shù)據(jù),后面128個(gè)單元80HFFH被專用寄存器占用,用來實(shí)現(xiàn)對片內(nèi)各部件進(jìn)行管理、控制、監(jiān)視;(3)程序計(jì)數(shù)器PC,是一個(gè)16位專用寄存器,其

5、內(nèi)容為下一條執(zhí)行指令的地址;(4)內(nèi)部程序存儲(chǔ)器ROM(4K),用于存儲(chǔ)程序、原始數(shù)據(jù)、表格等;(5)4個(gè)并行I/O口(8位),實(shí)現(xiàn)數(shù)據(jù)的并行輸入輸出;(6)串行通信口,實(shí)現(xiàn)單片機(jī)和其他數(shù)據(jù)設(shè)備之間的串行數(shù)據(jù)傳送;(7)2個(gè)定時(shí)器/計(jì)數(shù)器(16位),實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能;(8)中斷控制系統(tǒng),共5個(gè)中斷源,分高低兩個(gè)優(yōu)先級;(9)一個(gè)片內(nèi)振蕩器和時(shí)鐘電路,為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列;(10)總線,用于連接各個(gè)部件和單片機(jī)系統(tǒng)的擴(kuò)展。3. 8051單片機(jī)的引腳/VPP、RST/VPD、ALE/和的功能分別是什么? 答:片內(nèi)外ROM選擇端,ROM的尋址范圍為64KB,而AT89C51內(nèi)部只有4KB RO

6、M,當(dāng)不夠用時(shí)可在外擴(kuò)展ROM。當(dāng)/EA信號為低電平時(shí),指訪問外部ROM;當(dāng)/EA為高電平時(shí),則先訪問內(nèi)部ROM,當(dāng)PC值超過4KB時(shí)自動(dòng)轉(zhuǎn)向外部ROM中執(zhí)行。RST:復(fù)位信號,當(dāng)此引腳上的信號出現(xiàn)至少兩個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。ALE:地址鎖存控制信號,當(dāng)系統(tǒng)擴(kuò)展時(shí),ALE用于控制把P0口輸出的低8位地址送入鎖存器存起來,以實(shí)現(xiàn)低位地址和數(shù)據(jù)的分時(shí)傳送。:外部ROM的讀選通信號,在訪問外部ROM時(shí),每個(gè)機(jī)器周期兩次PSEN有效(低電平),但在此期間內(nèi),每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN將不出現(xiàn)。第5章5.9 已知單片機(jī)晶振頻率為6MHz,要求使用T1定時(shí)50ms,工作在方

7、式1,允許中斷,試計(jì)算初值并編寫初始化程序。答: 計(jì)算定時(shí)器T1的初值已知晶振頻率為6MHz,則機(jī)器周期為12/fosc2s使用T1定時(shí)功能,工作在方式1,定時(shí)時(shí)間為50ms,則T1的初值為: 所以T1的初值為:TH1=9EH,TL1=58H。 定時(shí)/計(jì)數(shù)器方式寄存器TMOD的設(shè)置 要求用T1定時(shí)、工作在方式1、軟啟動(dòng),所以TMOD寄存器應(yīng)按如下設(shè)置:T1T0GATE M1 M0 GATE M1 M0 0001所以TMOD=10H。 允許T1中斷,中斷允許寄存器IE設(shè)置如下: T1的初始化程序如下:MOVTMOD, #10H;置定時(shí)器1工作方式1MOVTH1,#9EH;送初值MOVTL1,#5

8、8HMOVIE,#88H;開中斷SETBTR1;啟動(dòng)定時(shí)器5.12 設(shè)MCS-51單片機(jī)時(shí)鐘為12MHz,請利用內(nèi)部定時(shí)器T1編寫從P1.1引腳輸出3ms矩形波的程序,要求占空比為2:1(高電平2ms,低電平1ms)。答:要求矩形波周期3ms,占空比2:1,就是在一個(gè)周期中,高電平2ms,低電平1ms 定時(shí)器T1工作在方式1,其方式寄存器TMOD為: 計(jì)算初值:機(jī)器周期12/fosc1s對1ms定時(shí),初值X1為:X1655361000/164536FC18H對2ms定時(shí),初值X2為:X2655362000/163536F830H 中斷允許寄存器IE為: 程序如下:ORG0000HLJMPSTA

9、RTORG001BHLJMPBRT1ORG0030HSTART:MOVTMOD,#10HMOVTH1,#0F8HMOVTL1,#30HMOVIE,#88HSETBTR1SETBP1.1LOOP:SJMPLOOPORG0100HBRT0:MOVC,P1.1JCNEXTMOVTH1,#0F8HMOVTL1,#30HSJMPCOMNEXT:MOVTH1,#0FCHMOVTL1,#18HCOM:CPLP1.1RETIEND5.13 已知晶振頻率為6MHz,設(shè)計(jì)程序使P1.4和P1.5外接燈自動(dòng)輪流點(diǎn)亮,間隔時(shí)間為0.5s。答:要求間隔0.5s輪流點(diǎn)亮兩個(gè)燈,則定時(shí)器需要定時(shí)0.5s,這個(gè)值已經(jīng)超過了定

10、時(shí)器的最大定時(shí)時(shí)間。為此,可采用定時(shí)器定時(shí)與軟件計(jì)數(shù)相結(jié)合的方法來解決問題。本題用定時(shí)器T0,每隔0.1s中斷1次,向CPU申請中斷,用R0計(jì)中斷的次數(shù)。當(dāng)R0計(jì)到5次中斷時(shí),則0.5秒時(shí)間到,輪流點(diǎn)亮兩個(gè)只發(fā)光二極管。 定時(shí)/計(jì)數(shù)器方式寄存器TMOD的設(shè)置 要求用T0定時(shí)、工作在方式1、軟啟動(dòng),所以TMOD寄存器應(yīng)按如下設(shè)置:T1T0GATE M1 M0 GATE M1 M0 0001所以TMOD=01H。 計(jì)算定時(shí)器T0的初值已知晶振頻率為6MHz,則機(jī)器周期為12/fosc2s采用定時(shí)功能工作方式1,定時(shí)時(shí)間為100ms,則T0的初值為: 所以T0的初值為:TH0=3CH,TL0=B0H

11、。 當(dāng)T0定時(shí)到向CPU申請中斷,所以T0應(yīng)開中斷,中斷允許寄存器IE設(shè)置如下: 程序如下:ORG0000HLJMPSTARTORG000BH ;T0中斷入口LJMPBKT0ORG0100HSTART: SETBP1.4;點(diǎn)亮1個(gè)LED燈CLRP1.5MOVR0,#05H ;設(shè)置中斷次數(shù)5次MOVTMOD, #01H;置定時(shí)器0工作方式1MOVTH0,#3CH;送初值MOVTL0,#0B0HMOVIE,#82H;開中斷SETBTR0;啟動(dòng)定時(shí)器LOOP: CJNER0,#00H, NEXT;R00則轉(zhuǎn)NEXTMOVR0,#05H ;否則1s延時(shí)到,重置R0CPLP1.4CPLP1.5NEXT:

12、 SJMPLOOPORG0300HBKT0:DECR0MOVTH0,#3CH;重置初值MOVTL0,#0B0HRETIEND 第6章6.5 試用線選法畫出8031對二片2764的連線圖,并詳細(xì)列出基本地址范圍和重疊地址范圍。答:8031通過P2.7和P2.6兩根口線分別選通二片2764的接線圖如圖所示:上圖程序存儲(chǔ)器擴(kuò)展系統(tǒng)中各片2764的地址范圍見下表,其中P2.5腳懸空,取不同值時(shí)可得重疊地址范圍如表所列。2764編號A15A14A13A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0重疊地址范圍1#2764(P2.7=0)0 1 0 0 0 0 0 0 0

13、0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 14000H5FFFH6000H7FFFH2#2764(P2.6=0)1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 18000H9FFFHA000HBFFFH 當(dāng)懸空腳P2.5取0時(shí)的地址范圍即為基本地址范圍,即1#2764的基本地址范圍為4000H5FFFH,2#2764的基本地址范圍為8000H9FFFH。6.9 MCS-51單片機(jī)P1口的P1.0P1.7分別通過反相器接8個(gè)發(fā)光二極管。要求編寫程序,每當(dāng)外中斷1有中斷請求信號輸入時(shí),點(diǎn)亮的發(fā)

14、光二極管向右移一位,試編寫程序。答:依題意,51單片機(jī)I/O接口電路如下圖所示:程序如下:ORG0000HLJMP MAINORG0013H ;INT1中斷入口LJMPBREAK1ORG0030HMAIN:SETBIT1 ;置下降沿觸發(fā)方式SETB EA SETB EX1MOVP1, #80H;先點(diǎn)亮VL7 WAIT:NOPSJMPWAITORG0100H ;中斷服務(wù)程序 BREAK1: RR A ;每中斷1次,燈右移1位 MOV P1, ARETI END6.12 用8255A擴(kuò)展MCS-51單片機(jī)的I/O接口,若8255A的A口用作輸入,每一位外接一個(gè)開關(guān);C口用作輸出,每一位通過反相器接

15、一個(gè)發(fā)光二極管。要求當(dāng)A口開關(guān)閉合(低電平)時(shí)C口對應(yīng)位發(fā)光二極管點(diǎn)亮,畫出接口電路,列出8255A各I/O口地址并編寫程序。答: 51單片機(jī)與8255A接口電路如下圖所示: 依題意,8255A的A口和C口都工作于方式0,且A口用作輸入,C口用作輸出,則方式控制字設(shè)置如下: 根據(jù)硬件連接,8255A各I/O口地址如下表所列,其中A15(P2.7)必須取0,才能選中8255A,而A14A8可任意取,此處均取“1”。8255A端口A15A14A13A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0十六進(jìn)制地址A口0 1 1 1 1 1 1 1 0 0 0 0 0 0

16、0 07F00HB口0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 17F01HC口0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 07F02H控制口0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 17F03H 由于某開關(guān)閉合時(shí)對應(yīng)的引腳是邏輯“0”,而要點(diǎn)亮發(fā)光管應(yīng)該輸出邏輯“1”,因此從A口輸入的開關(guān)狀態(tài)需要取反后再從C口輸出,才能對應(yīng)點(diǎn)亮外接發(fā)光二極管,程序如下:ORG0500HMAIN:MOV DPTR, #7F03H ;DPTR控制口地址MOV A, #90H;方式控制字MOVX DPTR, A ;8255A控制字INPA:MOVDPTR, #7F

17、00H ;指向8255的A口MOVX A, DPTR; A 8255的A口CPLA;取反MOV DPTR, #7F02H;指向8255的C口MOVX DPTR, A;8255的C口 AMOV R7, #20;延時(shí)DEL0:MOV R6, #0FFHDEL1:DJNZ R6, DEL1DJNZ R7, DEL0SJMP INPAEND7.4 說明靜態(tài)顯示和動(dòng)態(tài)顯示的特點(diǎn)?答:靜態(tài)顯示是指LED顯示器顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo)通或恒定截止。這種顯示方式要求各位顯示塊的公共端恒定接地(共陰極)或接正電源(共陽極)。每個(gè)顯示塊的8個(gè)段選線分別與一個(gè)8位并行I/O口的8位口線相接,I/O口只

18、要有段碼輸出,相應(yīng)字符就被顯示出來,并保持不變。直到I/O口輸出新的段碼。動(dòng)態(tài)顯示是一位一位地輪流點(diǎn)亮各位顯示器,這種逐位點(diǎn)亮顯示器的方式稱為位掃描。這種顯示方式要求各位顯示器的段選線應(yīng)并聯(lián)在一起,由一個(gè)8位的IO口控制;各位的位選線(公共陰極或陽極)由另外的口線控制。該方式顯示時(shí),各位顯示器輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時(shí)刻只選通一位顯示器,并送出相應(yīng)的段碼,進(jìn)行適當(dāng)延時(shí)(延時(shí)時(shí)間約為15ms),接著選通另一位顯示器,并送出相應(yīng)的段碼,如此循環(huán)往復(fù),即可使各位顯示器顯示相應(yīng)的字符。只要循環(huán)時(shí)間足夠短,利用人眼的視覺暫留效應(yīng),就可以給人同時(shí)顯示的感覺。7.11 請用AT89

19、C51單片機(jī)的P1口設(shè)計(jì)一個(gè)33的鍵盤電路,并編寫相應(yīng)的鍵盤程序。答:ORG 0030HKEYSCAN:ACALLKSCAN;查有沒有鍵按下JZGORET;A=0表示沒有鍵按下,返回LCALLDELAY10ms;有鍵按下,延時(shí)10ms(DELAY10ms略)。ACALLKSCAN;再查有沒有鍵按下JZGORET;A=0表示沒有鍵按下,返回ACALLKEYSUM;有鍵按下,掃描確定鍵值RL ARL A;鍵值4;主要考慮FTAB 以下指令LCALL(3字節(jié))和RET(1字節(jié))的總字節(jié)數(shù)為4MOVDPTR, #FTABJMPA+DPTR;散轉(zhuǎn),執(zhí)行所按鍵相應(yīng)功能子程序GORET:RETFTAB:LC

20、ALLFUNC0;調(diào)用0號鍵功能子程序RETLCALLFUNC1;調(diào)用1鍵功能子程序RETLCALLFUNC8;調(diào)用8鍵功能子程序RETLCALLERRSUB;鍵值為9,異常處理RET;KSCAN為判斷有無鍵按下子程序,表示有鍵按下KSCAN:MOVP1, #0F8H;行線置低電平,列線置輸入態(tài)MOVA, P1;讀列線數(shù)據(jù)CPLA;A取反ANLA, #0F8H;屏蔽行線RET;返回,表示有鍵按下;KEYSUM為求鍵值子程序,鍵值在A中KEYSUM:MOVR6, #00H;R6存放每行最左鍵的鍵值,初始清零MOVR7, #0FEH;準(zhǔn)備掃描第0行LOOP:MOVP1,R7;逐行輸出0掃描MOVA

21、, P1;讀列線數(shù)據(jù)JBACC.3, L1;第0列無鍵按下,轉(zhuǎn)查第1列MOVA, #0;第0列有鍵按下,SJMPKSOLVE;轉(zhuǎn)求鍵值L1:JBACC.4, L2;第1列無鍵按下,轉(zhuǎn)查第2列MOVA, #1;第1列有鍵按下,SJMPKSOLVE;轉(zhuǎn)求鍵值L2:JBACC.5, NEXT;4列均無鍵按下,本行掃描結(jié)束MOVA, #2;第3列有鍵按下,SJMPKSOLVE;轉(zhuǎn)求鍵值NEXT:MOVA, R7;準(zhǔn)備掃描下一行JNBACC.2,ERR;掃描完未讀到鍵值,異常處理RLA;R7循環(huán)左移一位MOVR7,A;得到下一行行掃描字ADDR6, #3;得到下一行首鍵鍵值SJMPLOOP;轉(zhuǎn)LOOP,

22、掃描下一行ERR:MOVA, #9;鍵值賦9,表示出錯(cuò)!RETKSOLVE:ADDA,R6;得鍵值PUSHACC;鍵值進(jìn)棧暫存WAIT:ACALLKSCAN;查按鍵釋放否?防止重復(fù)執(zhí)行鍵功能JNZWAIT;沒有釋放,等待POPACC;鍵值出棧RET8.3 什么是D/A轉(zhuǎn)換器,它有哪些主要指標(biāo)?簡述其含義?答:1) D/A轉(zhuǎn)換器的基本原理實(shí)際上是把輸入數(shù)字量中的每位都按其權(quán)值分別轉(zhuǎn)換成模擬量,并通過運(yùn)算放大器求和相加,即“按權(quán)展開,然后相加”,實(shí)現(xiàn)數(shù)模轉(zhuǎn)換。 2) 它有以下主要指標(biāo):分辨率,其含義是D/A轉(zhuǎn)換器能分辨的最小輸出電壓增量,常為滿量程的倍。轉(zhuǎn)換精度,其含義是D/A轉(zhuǎn)換器實(shí)際輸出值和理論值的接近程度。偏移誤差,其含義是輸入數(shù)字量為0時(shí),輸出模擬量對0的偏移值。線性度,其含義是D/A轉(zhuǎn)換器實(shí)際轉(zhuǎn)換特性和理想直線間的最大偏差。8.4 什么是A/D轉(zhuǎn)換器,它有哪些主要指標(biāo)?簡述其含義?答:1)A/D轉(zhuǎn)換器是一種能把輸入模擬電壓或電流變成與它成正比的數(shù)字量,即能把被控對象的各種模擬信息變成計(jì)算機(jī)可以識別的數(shù)字信息。 2) 它有以下主要指標(biāo):分辨率,其含

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論