微控制器答案

2023-01-25 04:06:05 字數 4859 閱讀 4036

第七章 mcs-51的序列口

1.序列資料傳送的主要優點和用途是什麼?

答:序列資料傳送的主要優點是硬體介面簡單,介面埠少(2個)。主要用於多個微控制器系統之間的資料通訊。

2.簡述序列口接收和傳送資料的過程。

答:以方式一為例。傳送:

資料位由txt端輸出,傳送1幀資訊為10為,當cpu執行1條資料寫傳送緩衝器sbuf的指令,就啟動傳送。傳送開始時,內部傳送控制訊號/send變為有效,將起始位想txd輸出,此後,每經過1個tx時鐘週期,便產生1個移位脈衝,並由txd輸出1個資料位。8位資料位全部完畢後,置1中斷標誌位ti,然後/send訊號失效。

接收:當檢測到起始位的負跳變時,則開始接收。接受時,定時控制訊號有2種,一種是位檢測器取樣脈衝,它的頻率是rx時鐘的16倍。

也就是在1位資料期間,有16個取樣脈衝,以波特率的16倍的速率取樣rxd引腳狀態,當取樣到rxd端從1到0的跳變時就啟動檢測器,接收的值是3次連續取樣,取其中2次相同的值,以確認是否是真正的起始位的開始,這樣能較好地消除干擾引起的影響,以保證可靠無誤的開始接受資料。

3.幀格式為1個起始位,8個資料位和1個停止位的非同步序列通訊方式是方式( 1 )。

1. 序列口有幾種工作方式?有幾種幀格式?各種工作方式的波特率如何確定?

答:序列口有3種工作方式:方式0、方式1、方式2、方式3;有3種幀格式,方式2和3具有相同的幀格式;方式0的傳送和接收都以fosc/12為固定波特率,

方式1的波特率=2smod/32×定時器t1的溢位率

方式2的波特率=2smod/64×fosc

方式3的波特率=2smod/32×定時器t1的溢位率

2. 假定序列口序列傳送的字元格式為1個起始位,8個資料位,1個奇校驗位,1個停止位,請畫出發送字元「a」的幀格式。

起始位0 1 0 0 0 0 0 0 校驗位停止位

6.判斷下列說法是否正確:

(1) 序列口通訊的第9資料位的功能可由使用者定義。(對)

(2) 傳送資料的第9資料位的內容在scon暫存器的tb8位預先準備好的。(對)

(3) 序列通訊傳送時,指令把tb8位的狀態送入傳送sbuf。(錯)

(4) 序列通訊接收到的第9位資料送scon暫存器的rb8中儲存。(對)

(5) 序列口方式1的波特率是可變的,通過定時器/計數器t1的溢位設定。(對)

7.通過序列口傳送或接收資料時,在程式中應使用:(選(3))

(1)movc指令 (2)movx指令 (3)mov指令 (4)xchd指令

8.為什麼定時器/計數器t1用做序列口波特率發生器時,採用方式2?若已知時鐘頻率、通訊波特率,如何計算其初值?

解答:因為定時器/計數器在方式2下,初值可以自動重灌,這樣在做串列埠波特率發生器設定時,就避免了重灌引數的操作。

已知時鐘頻率、通訊波特率,根據公式:,計算出初值。

9.序列口工作方式1的波特率是:( 3 )

(1) 固定的,為。

(2) 固定的,為。

(3) 可變的,通過定時器/計數器t1的溢位率設定。

(4) 固定的,為。

10.在序列通訊中,收發雙方對波特率的設定應該是( 相等 )的。

11.若晶體振盪器為11.0592mhz,序列口工作於方式1,波特率為4800b/s,寫出用t1作為波特率發生器的方式控制字和計數初值。

解答:初值計算:查閱p148表7-2可得,fah

控制字:anl tmod,#0f0h

orl tmod,#20h

mov th1,#0fah

mov tl1,#0fah

mov scon,#40h

12.簡述利用序列口進行多機通訊的原理。

解答:參考p146頁。

13.使用8031的序列口按工作方式1進行序列資料通訊,假定波特率為2400b/s,以中斷方式傳送資料,請編寫全雙工通訊程式。

解答:略

14.使用8031的序列口按工作方式3進行序列資料通訊,假定波特率為1200b/s,第9資料位作奇偶校驗位,以中斷方式傳送資料,請編寫通訊程式。

解答:略

15.某8031序列口,傳送資料的幀格式為1個起始位(0),7個資料位,1個偶校驗位和1個停止位(1)組成。當該序列口每分鐘傳送1800個字元時,試計算出波特率。

解答:串列埠每秒鐘傳送的字元為:1800/60=30個字元/秒

所以波特率為:30個字元/秒×10位/個字元=300b/s

16.為什麼mcs-51序列口的方式0幀格式沒有起始位(0)和停止位(1)?

解答:序列口的方式0為同步移位暫存器輸入輸出方式,常用於外接移位暫存器,以擴充套件並行i/o口,一般不用於兩個mcs-51之間的序列通訊。該方式以fosc/12的固定波特率從低為位到高位傳送或接受資料。

1.微控制器儲存器的主要功能是儲存(程式)和(資料)。

2.試編寫乙個程式(例如將05h和06h拼為56h),設原始資料放在片外資料區2001h單元和2002h單元中,按順序拼裝後的單位元組數放入2002h。

解:本題主要考察了對外部儲存器的讀、寫操作,同學們只要記住正確使用movx指令就可以了。程式設計思路:

首先讀取2001h的值,儲存在暫存器a中,將暫存器a的高四位和低四位互換,再遮蔽掉低四位然後將暫存器a的值儲存到30h中,然後再讀取2002h的值,儲存在暫存器a中,遮蔽掉高四位,然後將暫存器a的值與30h進行或運算,將運算後的結果儲存在2002h中。

org0000h

main: movdptr,#2001h ;設定資料指標的初值

movxa,@dptr讀取2001h的值

swapa

anla,#0f0h遮蔽掉低四位

mov30h,a儲存a

incdptr指標指向下乙個

movxa,@dptr讀取2002h的值

anla,#0fh遮蔽掉高四位

orla,30h進行拼裝

movxdptr,a儲存到2002h

end3.假設外部資料儲存器2000h單元的內容為80h,執行下列指令後:

movp2,#20h

movr0,#00h

movxa,@r0

累加器a中的內容為(80h)。

4.編寫程式,將外部資料儲存器中的4000h—40ffh單元全部清零。

解:本題主要考察了對外部資料塊的寫操作;程式設計時只要注意迴圈次數和movx指令的使用就可以了。

org0000h

main: mova,#0送預置數給a

movr0,#0ffh設定迴圈次數

movdptr,#4000h ;設定資料指標的初值

loop: movxdptr,a當前單元清零

incdptr指向下乙個單元

djnzr0,loop是否結束

end5.在mcs-51微控制器系統中,外接程式儲存器和資料儲存器共16位位址線和8位資料線,為何不會發生衝突?

解:因為控制訊號線的不同:

外擴的ram晶元既能讀出又能寫入,所以通常都有讀寫控制引腳,記為oe和we。外擴ram的讀、寫控制引腳分別與mcs-51的rd和wr引腳相連。

外擴的eprom在正常使用中只能讀出,不能寫入,故eprom晶元沒有寫入控制引腳,只有讀出引腳,記為oe,該引腳與mcs-51微控制器的psen相連。

6.區分mcs-51微控制器片外程式儲存器和片外資料儲存器的最可靠的方法是:

(1)看其位於位址範圍的低端還是高段

(2)看其離mcs-51晶元的遠近

(3)看其晶元的型號是rom還是ram

(4)看其是與rd訊號連線還是與psen訊號連線

解:本題的答案是3,4。

7.在儲存器擴充套件中,無論是線選法還是解碼法,最終都是為了擴充套件晶元的(片選)端提供訊號。

8.請寫出圖8-18中4片程式儲存器27128各自所佔的位址空間。

解:圖中採用了解碼法。4片位址分別為0000h-3fffh、4000h-7fffh、8000h-bfffh、c000h-ffffh。

9.起止範圍為0000h-3fffh的儲存器的容量是(16)kb。

解:本題屬於常識題,在第十一題時將有解答。

10.在mcs-51中,pc和dptr都用於提供位址,但pc是為了訪問(程式)儲存器提供位址,而dptr是為訪問(資料)儲存器提供位址。

11.11根位址線可選(2kb)個儲存單元,16kb儲存單元需要(14)根位址線。

解:通過總結所學知識,我們得到以下幾個資訊:2kb的儲存器需要11根位址線,位址為0000h-07ffh;4kb的儲存器需要12根位址線,位址為0000h-0fffh;

8kb的儲存器需要13根位址線,位址為0000h-1fffh;16kb的儲存器需要14根位址線,位址為0000h-3fffh;32kb的儲存器需要15根位址線,位址為0000h-7fffh;64kb的儲存器需要16根位址線,位址為0000h-ffffh(以上儲存器的首位址均預設為0000h)。

12.32kb ram儲存器的首位址若為2000h,則末位址為(9fff)h。

解:由上題總結得出,32kb ram儲存器的大小為0000h-7fffh,所以只要在後面加上2000h即得到正確答案。

13.現有8031微控制器、74ls373鎖存器、1片2764eprom和2片6116ram,請使用他們組成乙個微控制器系統,要求:

(1)畫出硬體電路連線圖,並標註主要引腳;

(2)指出該應用系統程式儲存器空間和資料儲存器空間各自的位址範圍。

解:(1)電路圖如下所示:

(2)2764的位址為c000h-dfffh;

第乙個6116的位址為a000h-a7ffh;

第二個6116的位址為6000h-67ffh;

事實上,由於採用的是線選法,導致了位址不連續,位址空間利用不充分。建議在實際工作中要具體情況具體分析。在兩種位址分配中選一種較好的來應用。

(1)確定2864晶元的末位址;

(2)畫出2864片選端的位址解碼電路;

(3)畫出該應用系統的硬體連線圖。

微控制器試卷B答案

一 選擇題 20 x 1 1 10 acbdb cbacd 11 25 bdacd dddba bcaab 二 填空題 20 x 1 1 軟體硬體 2 01010010 52 3 中斷請求中斷響應中斷服務 4 脈衝定時是對週期已知的脈衝計數 計數是對週期未知的脈衝計數 5 16 外部中斷0 ie1 ...

51微控制器試卷附答案

16kb 16 1024 16384 2的14次方 另一種問法 位址的最大值 1 2的n次方,n就是位址線的根數。如位址範圍為 0 ffh,則位址的最大值 1 100h 2的8次方,則位址線根數為8。8 movx a,dptr指令中源運算元的定址方式是 b a 暫存器定址 b 暫存器間接定址 c 直...

微控制器原理及應用答案

嵌入式微處理器的基礎是通用計算機中的cpu,它的位址匯流排數目較多能擴充套件較大的儲存器空間,所以可配置實時多工作業系統 rtos rtos是嵌入式應用軟體的基礎和開發平台。正由於嵌入式微處理器能執行實時多工作業系統,所以能夠處理複雜的系統管理任務和處理工作。因此,廣泛地應用在移動計算平台 手機 工...