第七章 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是嵌入式應用軟體的基礎和開發平台。正由於嵌入式微處理器能執行實時多工作業系統,所以能夠處理複雜的系統管理任務和處理工作。因此,廣泛地應用在移動計算平台 手機 工...