單片機原理及應用(趙曉安)課后習題_第1頁
單片機原理及應用(趙曉安)課后習題_第2頁
單片機原理及應用(趙曉安)課后習題_第3頁
單片機原理及應用(趙曉安)課后習題_第4頁
單片機原理及應用(趙曉安)課后習題_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

單片機原理及應用第二章課后題2-38051單片機的存儲器分哪幾個空間?通過什么信號來區(qū)別不同空間的尋址?答:有四個物理上相互獨立的存儲空間:片內ROM地址為0000H-0FFFH此時/EA=1;片外ROM地址為0000H-0FFFFH此時/EA=0。片內數(shù)據存儲器地址為00H-0FFH;片外數(shù)據存儲器地址為0000H-0FFFFH;區(qū)分片內片外數(shù)據存儲器通過指令MOV與MOVX。2-5在程序存儲器中,0000H,0003H,000BH,0013H,001BH,0023H這六個單元有什么特定的含義?答:0000H復位后,PC=0000H,開始執(zhí)行程序的地址0003H外部中斷0(INT0)入口地址000BH定時器0中斷(TF0)入口地址0013H外部中斷1(INT1)入口地址001BH定時器1中斷(TF1)入口地址0023H串行口中斷TI/RI入口地址2-6內部RAM低128單元劃分為哪三個主要部分?各部分主要功能是什么?答:分為三部分:工作寄存器去,位尋址區(qū),用戶RAM區(qū)(堆棧、數(shù)據緩沖)。(1)工作寄存器區(qū)(00H-1FH):32個RAM單元共分四組,每組8個寄存單元(R0-R7)。寄存器常用于存放操作數(shù)及中間結果等。(2)位尋址區(qū)(20H-2FH):此部分16個單元的每一位都有一個8位表示的位地址,位尋址取得每一個單元既可作為一般RAM單元使用,進行字節(jié)操作,也可以對單元中的每一位進行位操作。(3)用戶RAM區(qū):也是數(shù)據緩沖區(qū),一般用于存放用戶數(shù)據及作堆棧區(qū)使用。2-7MCS-51單片機EA信號有何功能?在使用8031時EA信號引腳如何處理?答:EA是訪問外部程序存儲器的控制信號,當EA=0時,8051片內ROM不起作用,CPU只能從片外ROM取指令,地址可以從0000H開始編址,當EA=1時,PC在0000H~0FFFH范圍內,CPU從片內ROM取指令;而當PC>0FFFH后,則自動轉向片外ROM去取指令。在使用8031時EA常接地,因為它無內部程序存儲器。2-10開機復位后,CPU使用哪一組工作寄存器?他們的地址是什么?如何改變當前工作寄存器組?答:使用第0組工作寄存器,它們的地址是00H-07H,想改變當前工作寄存器組可以通過對RS0,RS1進行相關復位、置位,如:SETBRS0,CLRRS1。2-11SP表示什么?有幾位?作用是什么?復位后sp的內容是什么?答:Sp表示堆棧指針,為8位專用寄存器,作用是為了指示棧頂?shù)刂?,它的內容是堆棧棧頂?shù)拇鎯卧刂?。復位后sp在RAM低128位字節(jié)中開辟棧區(qū),并初始化為07H,當實際進棧出棧時,存儲數(shù)據前會自動加1,所以堆棧實在08H單元開始。2-18試說明8051的振蕩周期、機器周期、指令周期是如何分配的。當振蕩脈沖頻率為6MHz時,機器周期是多少?答:8051單片機每條指令的執(zhí)行時間(即指令周期)為1~4個機器周期,有單字節(jié)單周期指令、兩字節(jié)單周期指令、單字節(jié)兩周期指令、兩字節(jié)兩周期指令、三字節(jié)兩周期指令以及單字節(jié)四周期指令。一個機器周期有6個狀態(tài):S1~S6每個狀態(tài)又包含兩個振蕩周期,分為兩拍:P1和P2。因此,一個機器周期包含12個振蕩周期,表示為:S1P1、S1P2、S2P1、??S6P1、S6P2。當FOSC=6MHz時,機器周期為:(1/6)×12=2(μs)第三章3-1簡述MCS-51有哪幾種尋址方式?各有什么特點?答:MCS-51有以下七種尋址方式:直接尋址:指令中直接給出操作數(shù)所在的單元地址或位地址;立即尋址:在指令中緊跟在操作碼之后的字節(jié)是操作數(shù);寄存器尋址:操作數(shù)在指令中給出的寄存器中;寄存器間接尋址:寄存器中存放的是操作數(shù)所在的單元地址;變址尋址:基址加變址形成的16位地址是操作數(shù)地址;相對尋址:指令中給出相對偏移量,轉移指令都為相對尋址;位尋址:指令中給出的位地址或位寄存器中存放的是位操作數(shù)。3-2MCS-51指令按功能分為哪幾類?每類指令的作用是什么?答:MCS-51指令按功能分為五類,分別為:數(shù)據傳送類指令:主要用于數(shù)據的傳送、交換與堆棧操作;算術運算類指令:主要用來完成加減乘除運算及二十進制調整;邏輯運算類指令:主要完成與、或、異或及移位運算;位操作指令:主要用來做與、或、清除、置位、求反等布爾運算;控制轉移指令:控制程序執(zhí)行的走向,有轉移、調用及返回操作。3-3變址尋址和相對尋址中的偏移量有何異同?答:變址尋址:@A+DPTR、@A+PC,其中DPTR、PC為基址寄存器,A為變址寄存器,其中A為8位無符號的二進制數(shù),其范圍為0到255;相對尋址中偏移量為8位帶符號的二進制數(shù),范圍為-128-12723-4指出下列每條指令的尋址方式,30H在不同的指令中代表什么含義?(1)MOVA,#30H;寄存器尋址,立即尋址,30H為立即數(shù)(2)MOV30H,@R1;直接尋址,寄存器間接尋址,30H為字節(jié)地址(3)MOVC,30H;寄存器尋址,直接尋址,30H為位地址 (4)MOV30H,R5;直接尋址,寄存器尋址,30H為字節(jié)地址(5)MOVXA,@DPTR;寄存器尋址,寄存器間接尋址(6)MOVCA,@A+PC;寄存器尋址,基址加變址的寄存器間接尋址,(7)JCLAB1;相對尋址(8)SJMPLAB2;相對尋址3-5寫出下列指令的機器碼,并指出執(zhí)行下列程序段后各單元內容變?yōu)槭裁矗坷奂悠鰽及PSW中的內容變?yōu)槭裁矗?1)MOVA,#2;(A)=02HMOVR1,#30H ;(R1)=30HMOV@R1,A ;(30H)=02HMOV35H,R1 ;(35H)=30HXCHA,R1;(A)=30H,(R1)=02HSJMPSTOPSTART:MOVR0,#20HMOVR7,1FHMOVONE,#00MOVTWO,#00 MOVTHREE,#0LOOP:MOVA,@R0JZZEROJBACC.7,NEQINCONESJMPNEXTNEQ:INCTWOSJMPNETXZERO:INCTHREENEXT:INCR0DJNZR7,LOOPSTOP:SJMP$END X X≥50Y= 5X 50>X≥20 2X X<20 X X≥50Y= 5X 50>X≥20 2X X<20編程思路:答案不唯一,參考程序如下:ORG0000HVAXDATA30HFUNCDATA31HMAIN:MOVA,VAXCJNEA,#50,NO50SJMPNEXTNO50:JNCNEXTTCJNEA,#20,NO20SJMPYEQU5XNO20:JCYEQU2XYEQU5X:MOVB,#05 MULABSJMPNEXTYEQU2X:RLANEXT:MOVFUNC,ASTOP:SJMP$END4-3外部RAM從2000H到2100H有一數(shù)據塊,請編出將它們傳送到外部RAM3000H到3100H區(qū)域的程序。編程思路:2000H到2100H共有101H即257個數(shù),將循環(huán)次數(shù)設成0,可以進行256次循環(huán),2100H到3100H單獨做一次即可。答案不唯一,參考程序如下:ORG0000HMAIN:MOVDPTR,#2000H MOVP2,#30H MOVR0,#00H MOVR7,#00HLOOP:MOVXA,@DPTR MOVX@R0,A INCR0 INCDPTRDJNZR7,LOOPINCP2MOVXA,@DPTRMOVX@R0,ASJMP$END4-4在內部RAM中,有一個以BLOCK為始址的數(shù)據塊,塊長在LEN單元。請用查表指令編一程序,先檢查它們若是16進制中的A~F,則把它們變?yōu)锳SCII;若不是,則把它們變?yōu)?0H。編程思路:首先判斷一下LEN單元的內容是否為0,如果塊長為0,一次都不做,如果不做判斷而塊長為0的話,則多做256次循環(huán)。既然用查表程序,我覺得可以把表做的巧妙一些,省的復雜的判斷,提高程序的運行效率??梢韵扰袛嘁幌?,內容是否大于F,如果大于F也變0,所以可以把數(shù)取出來,做個與運算,與上0F0H,如果結果不為零,就說明高四位上有數(shù),則應該變零,如果高四位上沒數(shù),只是低4位有數(shù),則數(shù)的范圍為0-F,所以做表的時候可以將0-9對應的表都設置成0,A-F對應其ASCII。答案不唯一,參考程序如下:ORG0000HBLOCKDATA30HLENDATA2FHMOVR0,#BLOCKMOVA,LENJZSTOPSTART:MOVR7,AMOVDPTR,#TABLOOP:MOVA,@R0PUSHACCANLA,#0F0HJZNEXTMOVA,#0SJMPNETX1NEXT:POPACCNEXT1:MOVCA,@A+DPTRMOV@R0,AINCR0DJNZR7,LOOPSTOP:SJMP$TAB:DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,’A’,’B’,’C’,’D’,’E’,’F’END第六章6-1

8051單片機內部有四個8位并行I/O口,命名為P0、P1、P2、P3。這4個并行I/O口都可以作準雙向通用I/O口,即先執(zhí)行一條指令MOV

P1,#0FFH。P0、P2和P3口還有復用的第二功能。每個口都包含一個(8位)鎖存器(即特殊功能寄存器P0~P3),一個輸出驅動器,和兩個三態(tài)緩沖器。

P0口功能:

可作通用I/O口,是漏級開路的。因此必須外接上拉電阻,以保證―1‖信號正常輸出。

也可作為分時作為地址/數(shù)據總線使用。

P1口功能:可作通用I/O口,也是一個―準雙向‖口,作輸入口時要先將輸出驅動管截止。

p2口功能:可用作通用I/O口,與P1口類似,也

可用作高8位地址總線。

P3口功能:可用作通用I/O口,另外,還有其第二功能。

6-2

―讀鎖存器‖指令是P0~P3作目的操作數(shù)的指令,能實現(xiàn)―讀—修改—寫‖口鎖存器的操作。

―讀引腳‖指令的特點是:P0~P3

作為源操作數(shù)出現(xiàn)在指令中,但在讀引腳數(shù)據之前,必須對所讀的口或口位的D鎖存器寫入―1‖。要正確讀引腳數(shù)據,必須先寫一條MOV

PX,#0FFH指令或能對所讀的口或口位的D鎖存器寫入―1‖的指令,而后緊接著寫指令。

6-3

在單片機實時應用系統(tǒng)中,定時器/計數(shù)器有定時和對外部事件計數(shù)的功能,可用于定時控制、延時、對外部事件檢測和計數(shù)等場合.定時是對周期已知的脈沖信號計數(shù)。計數(shù)是對外部發(fā)生事件進行計數(shù),對周期未知的外來脈沖信號計數(shù)。采用可編程的定時器/計數(shù)器

可以方便靈活地修改定時或計數(shù)的參數(shù)或方式,與CPU并行工作,大大提高了CPU的工作效

率。

6-4

MCS-51單片機內部有2個16位的可編程的定時器/計數(shù)器:定時器/計數(shù)器0(T/C0),定時器/計數(shù)器1(T/C1)。定時方式下,T/C計數(shù)8051內部機器周期信號的個數(shù)

,由計數(shù)個數(shù)可以計算出定時時間。

每個機器周期使T/C的計數(shù)器增加1,直至計滿回零后自動產生溢出中斷請求,表示定時時間到。

計數(shù)方式下,T/C計數(shù)來自引腳T0(P3.4)和T1(P3.5)的外部脈沖信號的個數(shù)。輸入脈沖由1變0的下降沿時,計數(shù)器的值增加1直到回零產生溢出中斷,表示計數(shù)已達預期個數(shù)。6-5

MCS-51單片機的定時器/計數(shù)器共有四種工作方式:方式0、1、2、3。

方式0是高8位和低5位的一個13位計數(shù)器的運行方式。當TL1的低5

位溢出時,向TH1進位,而TH1溢出(回零)時向TF1標志進位(硬件置位TF1),并申請中斷。還可以通過查詢TF1是否置位來判斷TH1是否回零溢出。

方式1是一個16為定時器/計數(shù)器,結構幾乎與方式0完全一樣,唯一的差別是方式1中的TH1(TH0)和TL1(TL0)均是8位的,構成16位計數(shù)器。

方式2中,T/C被拆成一個8位的寄存器TH1(TH0)和一個8位計數(shù)器TL1(TL0),兩者構成可以自動重裝載的8位T/C。每當它計滿回零時,一方面向CPU發(fā)出溢出中斷請求,

另一方面從TH1(或TH0)中重新獲得初值并啟動計數(shù);也就是CPU

自動將TH1(或TH0)中存放的初值重新裝回到TL1(或TL0),并在此初值的基礎上對TL1(或TL0)開始新一輪計數(shù),周而復始,直到下停止計數(shù)或更改工作方式命令為止。

方式3下T/C0和T/C1功能就不同了。此時,TH0和TL0按兩個獨立的8位計數(shù)器工作,

T/C1只能按不中斷的方式工作,常常利用它的定時功能作串行口波特率發(fā)生器。T/C0方式3時,TL0占用了T/C0的C/T、GATE、TR0、TF0、T0(P3.4)和INT0控制引腳

。TH0只有簡單的內部定時功能,它占用了T/C1的TR1控制位和TF1中斷標志位,其啟動/關閉僅受TR1控制。6-6

定時器/計數(shù)器用做定時時,定時時間與時鐘的振蕩頻率和定時器/計數(shù)器的設定初值有關。用做計數(shù)時,最高輸入信號頻率為振蕩頻率的1/24。即計數(shù)周期=2機器周期。

6-7

在T/C0工作在方式3時,T/C1仍可設置為方式0~2。由于TR1和TF1已被T/C0(T

溫馨提示

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

評論

0/150

提交評論