第一作者:
由於作者知識有限,如有錯誤,請多多包涵!
一、填空題
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...