微控制器期末複習

2022-09-25 01:00:05 字數 6520 閱讀 8167

第一作者:

由於作者知識有限,如有錯誤,請多多包涵!

一、填空題

1、微控制器由那些部件構成?

答:**處理器(cpu)、儲存器、i/o埠、定時/計數器、中斷系統以及系統匯流排構成,通過系統匯流排把各個部分連線起來。

2、微控制器讀內、外部指令指令使用的指令?

答:內:mov ,movc 外部:movx ,movc

3、movx,movc訪問內/外的ram/rom?

答:movx訪問內部資料儲存器ram;movc訪問內部和外部的程式儲存器rom。

4、mul ab高8位積存放**?

答:乘積高8位存放在b暫存器,低8位存放在a暫存器。

5、機器週期有多少個時鐘週期?

答:1個機器週期=6個時鐘週期=12個振盪週期

6、微控制器外部中斷0,1在那個口?

答:都在p3口,外部中斷0為p3.2口,外部中斷1為p3.3口。

7、微控制器那個口即作輸入又作輸出?

答:p0~p3口。

8、微控制器有幾個中斷源?

答:5個。

9、clr a 是什麼定址方式?

答:暫存器定址。

10、訪問程式儲存器指令的操作碼助記符是什麼?

答:movc。

11、sjmp rel 的功能?

答:(pc)<-(pc)+rel , 範圍:-128~127短轉移

12、8051有幾個計時器,對內部、外部分別是那個?

答:有兩個,對內部的是t1,對外部的是t2.

13、微控制器復位後pc,sp是什麼?

答:pc是0000h,sp是07h。

14、8051堆疊區位址向什麼方向生成?

答:向上生成,即向位址號大的方向生成,入棧前,sp先+1.

15、mcs-51中斷優先順序有幾個?

答:2個

16、要確定工作暫存器1區為當前工作暫存器,rs1、rs0是多少?

答:rs1=0,rs0=1.

二、問答題

1、8051包含那些邏輯功能部件,及其功能。

答:**處理器(cpu):控制、指揮和排程整個微控制器系統協調工作,完成運算功能並控

制輸入輸出等操作。

程式儲存器rom:存放使用者程式、原始資料或**等

資料儲存器ram:存放運算中間結果,進行資料暫存及資料緩衝等

兩個定時/計數器:用來對外部事件進行計數,也可用作定時器

4個可程式設計i/o口:微控制器對外部電路進行控制或交換資訊

乙個序列口:用於資料序列通訊。

2、什麼是指令週期、機器週期、時鐘週期。

答:指令週期:執行一條指令所占用的時間,包含1~4個機器週期

機器週期:完成乙個規定操作所需的時間,是微控制器執行一種基本操作的時間單位

時鐘週期:又稱狀態週期s,由內部時鐘電路產生,等於2個振盪週期。

3、psw各位的意義和作用?

答:psw.7——cy 進製標誌位,判斷加減法操作是否有進製或借位

psw.6——ac 輔助進製標誌位,判斷加減法操作低4位是否有進製或借位

psw.5——f0 使用者標誌位,由使用者自己根據需要設定

psw.4 psw.3——rs1 rs2 暫存器組選擇位,選擇當前要使用的暫存器組

psw.2——ov 溢位標誌位,判斷運算是否出錯

psw.1——空閒位,無定義

psw.0——p 奇偶標誌位,用於資料傳輸時判斷資料傳輸是否出錯。

4、mcs-51的ea有什麼功能?如果使用8031,ea應怎麼處理?

答:ea為片外程式儲存器選用端,低電平時定址外部程式儲存器,高電平是定址內部程式儲存器,pc值超過4kb/8kb時自動轉到外存。

如果使用8031,因為8031無片內程式儲存器,所以ea引腳應接地。

5、pc作為程式計數器,有哪些特點?

答:程式計數器是用於存放下一條指令所在單元的位址的地方。在程式開始執行前,必須將它的起始位址,即程式的一條指令所在的記憶體單元位址送入pc,因此程式計數器(pc)的

內容即是從記憶體提取的第一條指令的位址。當執行指令時,cpu將自動修改pc的內容,即每執行一條指令pc增加乙個量,這個量等於指令所含的位元組數,以便使其保持的總是將要執行的下一條指令的位址。處理器提供的任意乙個通用暫存器都可以拿來使用,甚至某些有專門用途的暫存器也可以拿來使用,你只要注意做好儲存和恢復原先裡面存放的值即可。

6、中斷源相應的中斷向量。

答:外部中斷0 服務程式0003h

定時器0中斷服務程式000bh

外部中斷1服務程式0013h

定時器1中斷服務程式001bh

序列口中斷服務程式0023h

7、內部ram低7fh劃分為3個部分,各部分的功能是什麼?

答:普通ram區(30h-7fh):用作堆疊或資料緩衝

位定址區(20h—2fh):用於存放各種程式的執行標誌,位變數的狀態等

暫存器區(00h-1fh):裡面有4個工作暫存器,用來作暫存器使用。

8、序列口有哪兩種基本方式,簡述其特點?

答:非同步通訊:傳送的資訊是乙個字元**或乙個位元組資料,它們都以規定的相同的傳送格式一幀一幀地傳送或接收,傳送端和接收端彼此獨立、互不同步。傳輸速度慢。

同步通訊:一種連續序列傳送資料的通訊方式,一次通訊只傳一幀資訊,一幀資訊由同步字元、資料字元、校驗字元三部分組成,通常包含若干個資料字元。傳輸速度快。

9、序列口接受和傳送資料的過程?

答:傳送端通過「mov subf , a 」,cpu把累加器a的內容寫入傳送緩衝器sbuf,再由txd引腳一位一位地向外傳送,接收端從rxd一位一位地接收資料,直到收到完整的字元資料後通知cpu,再通過「mov a , sbuf」讀指令,cpu從接受緩衝器sbuf讀出資料,送到累加器a中。

三、程式分析題

1、堆疊進出後暫存器裡面的變化?

提示:堆疊進出主要是在子程式的呼叫或中斷處理中要用到,保護現場(將斷點進棧)和恢復現場(指保護和恢復:psw、工作暫存器、專用暫存器等資料)。

2、4條邏輯指令在累加器裡取反後,a 裡的內容?

提示:邏輯與指令anl a ,direct (a)<-(a)/\(direct)

邏輯或指令orl a ,direct (a)<-(a)\/(direcr)

邏輯異或指令xrl a ,direct (a)<-(a)異或(direct)

3、資料放到a中,左移後a裡面的內容是變大還是變小,變化了多少?

提示:累加器a的清零、取反、迴圈等指令

clr a (a)<-#00h

cpl a a中內容按位取反

rl a 迴圈左移

rlc a 加cy的迴圈左移

rr a 迴圈右移

rrc a 加cy的迴圈右移

4、堆疊進出後指標sp的值和某單元的變化。

提示:微控制器復位後sp=07h,一般在程式的開始會給sp賦初值,如mov sp,#30h

當有資料進棧時,第乙個數的位址為31h,因為資料的入棧操作是(sp)<-(sp)+1,即sp先+1,然後資料進棧。

5、內部單元裡的一些數,經過不斷的轉移後,各單元的資料。

提示:注意一些轉移交換指令,如:xchd , xch , swap

xchd a ,@ri (a)3~0<->((ri))3~0 半位元組交換

xch a , rn (a)<->(rn) 位元組交換

swap a (a)3~0<->(a)4~7 累加器a的低4位與高4位交換

四、程式設計題

1、設晶振頻率為12mhz,用定時器0定時方式,在p1.0口輸出200us,占空比為1/10的矩形波,用定時器方式2程式設計實現。

程式**如下:

org 0000h

ljmp begin

org 000bh

ljmp int_0

org 100h

start: mov r0,#00h

mov p1.0 ,#0

mov tmod ,#00000010b

mov tl0,#236

setb ea

setb et0

setb tr0

circle: sjmp circle

int_0: inc r0

mov a ,r0

cjne a,#9,goon ; cjne 當r0不等於9時,則轉移到begin

cpl p1.0

mov r0,#00h

goon: mov tl0,#236

reti

end2、內部ram 20h開始存放8個資料,找最大的數存放到abh。

程式**如下:

org 0000h

ljmp begin

org 30h

begin: mov a,20h

mov r0,#7

mov r1,21h

start: cjne a ,r1,next

jc change

ljmp finish

next: inc r1

dec r0

djnz r0,finish

ljmp start

change: xch a ,r1

sjmp next

finish: mov abh , a

endorg 20h

db 23h,34h,0adh,12h,67h,89h,09h,0ach

org abh

ds 4h

3、編寫4位16進製制數轉換成asicii,從乙個位址存放到另乙個位址。程式**如下:

org 0000h

ljmp begin

org 30h

begin: mov r2,#4

start: mov a,source

ljmp change

mov r1,a

inc r0

inc r1

djnz r2,start

change: push psw

anl a,#ofh ;遮蔽a的高4位

push acc

clr c

subb a,#0ah

jc loop

pop acc

add a,#37h

sjmp finish

loop: pop acc

add a,#30h

finish: pop psw

mov destin,a

retend

org 100h

source:db ah,4h,dh,9h

org 200h

destin: ds 10h

1』、用定時器0每隔1ms產生乙個2個機器週期的負脈衝,由p1.0送出,晶振為12mhz。

org 0000h

ljmp begin

org 000bh

ljmp int_0

org 100h

start: mov p1.0 ,#1

mov tmod ,#01h

mov th0 , #fah

mov tl0,#d8h

setb ea

setb et0

setb tr0

circle: sjmp circle

int_0: mov p1.0,#0

mov th0,#fah

mov tl0,#d8h

reti

end2』、把乙個存放在內部ram byte的8位二進位制數的各位用asicii碼表示,變化後的結果存放到外部ram des開始的位址。

org 0000h

ljmp start

org 30h

start: mov r0,#8

mov r1,byte

mov a, r1

clr c

turnr: rrc a

jc asc_0

movx des ,#30h

djnz r0,turnr

jmp finish

asc_0: movc des,#31h

djnz r0,turnr

jmp finish

finish: nop

endorg 40h

byte:db 10101100b

org 1234h

des:ds 100h

3』、兩個四位的二—十進位制數分別存放在內部ram op1,op2,計算兩數的和存放到op3 org 0000h

ljmp start

org 30h

start: mov r0,op1

mov r1,op2

mov r2,op3

mov a ,r0

add a,@r1

mov r2,a

inc r0

inc r1

inc r2

mov a ,r0

addc a,r1

mov r2,a

endorg 50h

op1: db 34,56

op2: db 12,34

op3: ds 4h

程式設計題可能還存在一些小錯誤,因為沒有太多時間去檢查驗證,所以請大家多多包涵咯,但我向大家保證程式設計思想是不會錯的!

微控制器期末複習

一 填空題 每空 1 分,共25分 1 mcs 51微控制器的p0 p3口均是 8位並行i o口,其中的p0口和p2口除了可以進行資料的輸入 輸出外,通常還用來構建系統位址的低8位和高8位 2 mcs 51有5個中斷源,有2個中斷優先順序,優先順序由軟體填寫特殊功能暫存器ip加以選擇。3 外部中斷請...

微控制器複習

一 填空題 1 在mcs 51系列微控制器外擴程式儲存器時,一般有兩種方法完成片選,一種是線選法,另一種是 2 mcs 51系列微控制器振盪頻率為12mhz時,乙個機器週期為 us 3 mcs 51微控制器的中斷系統共有個中斷源 4 6264是資料儲存器晶元,容量為 5.微控制器為中斷設定的中斷子程...

微控制器期末總結

ptxd埠資料暫存器 ptxpe埠上拉使能暫存器 ptxse斜率暫存器 ptxds驅動強度暫存器 2.mc9s08aw60應用工程中關係到gpio應用的函式中,必須包含哪個標頭檔案?書69 mc9s08aw60.h 3.gpio應用程式設計,例如 ptd0 ptd1接兩個撥動開關,ptb口接八個le...