單片機(jī)原理及接口技術(shù)(李朝青)課后習(xí)題答案——第六章_第1頁(yè)
單片機(jī)原理及接口技術(shù)(李朝青)課后習(xí)題答案——第六章_第2頁(yè)
單片機(jī)原理及接口技術(shù)(李朝青)課后習(xí)題答案——第六章_第3頁(yè)
單片機(jī)原理及接口技術(shù)(李朝青)課后習(xí)題答案——第六章_第4頁(yè)
單片機(jī)原理及接口技術(shù)(李朝青)課后習(xí)題答案——第六章_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1、定時(shí)器模式 2 有什么特點(diǎn)?適用于什么場(chǎng)合?答:(1)模式 2 把 tl0(或 tl1)配置成一個(gè)可以自動(dòng)重裝載的 8 位定時(shí)器/計(jì)數(shù)器。tl0 計(jì)數(shù)溢出時(shí)不僅使溢出中斷標(biāo)志位 tf0 置 1,而且還自動(dòng)把 th0 中的內(nèi)容重新裝載到 tl0 中。tl0 用作 8 位計(jì)數(shù)器,th0 用以保存初值。(2)用于定時(shí)工作方式時(shí)間(tf0 溢出周期)為 ,用于計(jì)數(shù)工作方式時(shí),最大計(jì)數(shù)長(zhǎng)度(th0 初值=0)為 28=256 個(gè)外部脈沖。這種工作方式可省去用戶軟件重裝初值的語(yǔ)句, 并可產(chǎn)生相當(dāng)精確定時(shí)時(shí)間, 特別適于作串行波特率發(fā)生器。2、 單片機(jī)內(nèi)部定時(shí)方式產(chǎn)生頻率為 100khz 等寬矩形波,

2、假定單片機(jī)的晶振頻率為 12mhz,請(qǐng)編程實(shí)現(xiàn)。答:t0 低 5 位:1bht0 高 8 位:ffhmovtmod,#00h;設(shè)置定時(shí)器 t0 工作于模式 0movtl0,#1bh;設(shè)置 5ms 定時(shí)初值movth0,#0ffhsetbtr0;啟動(dòng) t0loop:jbctf0,l1;查詢到定時(shí)時(shí)間到?時(shí)間到轉(zhuǎn) l1sjmploop;時(shí)間未到轉(zhuǎn) loop,繼續(xù)查詢l1:movtl0,#1bh;重新置入定時(shí)初值movth0,#0ffhcplp1.0;輸出取反,形成等寬矩形波sjmploop;重復(fù)循環(huán)3、89c51 定時(shí)器有哪幾種工作模式?有何區(qū)別?答:有四種工作模式:模式 0,模式 1,模式 2,

3、模式 3(1)模式 0:選擇定時(shí)器的高 8 位和低 5 位組成一個(gè) 13 位定時(shí)器/計(jì)數(shù)器。tl 低 5 位溢出時(shí)向 th 進(jìn)位,th 溢出時(shí)向中斷標(biāo)志位 tf 進(jìn)位,并申請(qǐng)中斷。定時(shí)時(shí)間 t=(213-初值)振蕩周期12;計(jì)數(shù)長(zhǎng)度位 213=8192 個(gè)外部脈沖(2)模式 1:與模式 0 的唯一差別是寄存器 th 和 tl 以全部 16 位參與操作。定時(shí)時(shí)間t=(216-初值)振蕩周期12;計(jì)數(shù)長(zhǎng)度位 216=65536 個(gè)外部脈沖(3)模式 2:把 tl0 和 tl1 配置成一個(gè)自動(dòng)重裝載的 8 位定時(shí)器/計(jì)數(shù)器。tl 用作 8 位計(jì)數(shù)器,th 用以保存初值。tl 計(jì)數(shù)溢出時(shí)不僅使 tf0

4、 置 1,而且還自動(dòng)將 th 中的內(nèi)容重新裝載到 tl 中。定時(shí)時(shí)間 t=(28-初值)振蕩周期12;計(jì)數(shù)長(zhǎng)度位 28=256 個(gè)外部脈沖(4)模式 3:對(duì) t0 和 t1 不大相同若設(shè) t0 位模式 3,tl0 和 th0 被分為兩個(gè)相互獨(dú)立的 8 位計(jì)數(shù)器。tl0 為 8 位計(jì)數(shù)器,功能與模式 0 和模式 1 相同,可定時(shí)可計(jì)數(shù)。th0 僅用作簡(jiǎn)單的內(nèi)部定時(shí)功能,它占用了定時(shí)器 t1 的控制位 tr1 和中斷標(biāo)志位 tf1,啟動(dòng)和關(guān)閉僅受 tr1 控制。定時(shí)器 t1 無(wú)工作模式 3,但 t0 在工作模式 3 時(shí) t1 仍可設(shè)置為 02。4、89c51 內(nèi)部設(shè)有幾個(gè)定時(shí)器/計(jì)數(shù)器?它們是由哪

5、些特殊功能寄存器組成?答:89c51 單片機(jī)內(nèi)有兩個(gè) 16 位定時(shí)器/計(jì)數(shù)器,即 t0 和 t1。t0 由兩個(gè) 8 位特殊功能寄存器 th0 和 tl0 組成;t1 由 th1 和 tl1 組成。5、定時(shí)器用作定時(shí)器時(shí),其定時(shí)時(shí)間與哪些因素有關(guān)?作計(jì)數(shù)器時(shí),對(duì)外界計(jì)數(shù)頻率有何限制?答:定時(shí)時(shí)間與定時(shí)器的工作模式,初值及振蕩周期有關(guān)。作計(jì)數(shù)器時(shí)對(duì)外界計(jì)數(shù)頻率要求最高為機(jī)器振蕩頻率的 1/24。6、簡(jiǎn)述定時(shí)器 4 種工作模式的特點(diǎn),如何選擇設(shè)定?答:(1)模式 0:選擇定時(shí)器的高 8 位和低 5 位組成一個(gè) 13 位定時(shí)器/計(jì)數(shù)器。tl 低 5 位溢出時(shí)向 th 進(jìn)位,th 溢出時(shí)向中斷標(biāo)志位 t

6、f 進(jìn)位,并申請(qǐng)中斷。定時(shí)時(shí)間 t=(213-初值)振蕩周期12;計(jì)數(shù)長(zhǎng)度位 213=8192 個(gè)外部脈沖置 tmod 中的 m1m0 為 00(2)模式 1:與模式 0 的唯一差別是寄存器 th 和 tl 以全部 16 位參與操作。定時(shí)時(shí)間t=(216-初值)振蕩周期12;計(jì)數(shù)長(zhǎng)度位 216=65536 個(gè)外部脈沖置 tmod 中的 m1m0 為 01(3)模式 2:把 tl0 和 tl1 配置成一個(gè)自動(dòng)重裝載的 8 位定時(shí)器/計(jì)數(shù)器。tl 用作 8 位計(jì)數(shù)器,th 用以保存初值。tl 計(jì)數(shù)溢出時(shí)不僅使 tf0 置 1,而且還自動(dòng)將 th 中的內(nèi)容重新裝載到 tl 中。定時(shí)時(shí)間 t=(28-

7、初值)振蕩周期12;計(jì)數(shù)長(zhǎng)度位 28=256 個(gè)外部脈沖置 tmod 中的 m1m0 為 10(4)模式 3:對(duì) t0 和 t1 不大相同若設(shè) t0 位模式 3,tl0 和 th0 被分為兩個(gè)相互獨(dú)立的 8 位計(jì)數(shù)器。tl0 為 8 位計(jì)數(shù)器,功能與模式 0 和模式 1 相同,可定時(shí)可計(jì)數(shù)。th0 僅用作簡(jiǎn)單的內(nèi)部定時(shí)功能,它占用了定時(shí)器 t1 的控制位 tr1 和中斷標(biāo)志位 tf1,啟動(dòng)和關(guān)閉僅受 tr1 控制。定時(shí)器 t1 無(wú)工作模式 3,但 t0 在工作模式 3 時(shí) t1 仍可設(shè)置為 02。置 tmod 中的 m1m0 為 117、當(dāng) t0 用作模式 3 時(shí),由于 tr1 已被 t0 占

8、用,如何控制 t1 的開(kāi)啟和關(guān)閉?答:用 t1 控制位 c/t 切換定時(shí)器或計(jì)數(shù)器工作方式就可以使 t1 運(yùn)行。定時(shí)器 t1 無(wú)工作模式 3,將 t1 設(shè)置為工作模式 3,就會(huì)使 t1 立即停止計(jì)數(shù),關(guān)閉。8、以定時(shí)器/計(jì)數(shù)器 1 進(jìn)行外部時(shí)間計(jì)數(shù),每計(jì)數(shù) 1000 個(gè)脈沖后,定時(shí)器/計(jì)數(shù)器 1 轉(zhuǎn)為定時(shí)工作方式,定時(shí) 10ms 后又轉(zhuǎn)為計(jì)數(shù)方式,如此循環(huán)不止。假定 為 6whz,用模式 1 編程。解:t1 為定時(shí)器時(shí)初值:t1 為計(jì)數(shù)器時(shí)初值:所以:l1:movtmod,#50h;設(shè)置 t1 為計(jì)數(shù)方式且工作模式為 1movth1,#0fch;置入計(jì)數(shù)初值movtl1,#18hsetbtr1

9、;啟動(dòng) t1 計(jì)數(shù)器loop1:jbctf1,l2;查詢計(jì)數(shù)溢出?有溢出(計(jì)數(shù)滿 1000 個(gè))轉(zhuǎn) l2sjmploop1;無(wú)溢出轉(zhuǎn) loop1,繼續(xù)查詢l2:clrtr1;關(guān)閉 t1movtmod,#10h;設(shè)置 t1 為定時(shí)方式且工作與模式 1movth1,#0ech;置入定時(shí) 10ms 初值movtl1,#78hsetbtr1;啟動(dòng) t1 定時(shí)loop2:jbctf1,l1;查詢 10ms 時(shí)間到?時(shí)間到,轉(zhuǎn) l1sjmploop2;時(shí)間未到,轉(zhuǎn) loop2,繼續(xù)查詢9、 一個(gè)定時(shí)器定時(shí)時(shí)間有限, 如何實(shí)現(xiàn)兩個(gè)定時(shí)器的串行定時(shí)以滿足較長(zhǎng)定時(shí)時(shí)間的要求?答:當(dāng)一個(gè)定時(shí)器溢出時(shí),設(shè)置另一個(gè)定

10、時(shí)器的初值為 0 開(kāi)始定時(shí)。10、使用一個(gè)定時(shí)器,如何通過(guò)軟硬件結(jié)合方法實(shí)現(xiàn)較長(zhǎng)時(shí)間的定時(shí)?答:設(shè)定好定時(shí)器的定時(shí)時(shí)間,采用中斷方式用軟件設(shè)置計(jì)數(shù)次數(shù),進(jìn)行溢出次數(shù)累計(jì),從而得到較長(zhǎng)的時(shí)間。11、89c51 定時(shí)器作定時(shí)和計(jì)數(shù)時(shí)其計(jì)數(shù)脈沖分別由誰(shuí)提供?答:作定時(shí)器時(shí)計(jì)數(shù)脈沖由 89c51 片內(nèi)振蕩器輸出經(jīng) 12 分頻后的脈沖提供,作計(jì)數(shù)時(shí)計(jì)數(shù)脈沖由外部信號(hào)通過(guò)引腳 p3.4 和 p3.5 提供。12、89c51 定時(shí)器的門(mén)控信號(hào) gate 設(shè)置為 1 時(shí)定時(shí)器如何啟動(dòng)?答:只有 (或 )引腳為高電平且由軟件使 tr0(或 tr1)置 1 時(shí),才能啟動(dòng)定時(shí)器工作。13、已知 89c51 單片機(jī)的

11、 fosc=6mhz, 請(qǐng)利用 t0 和 p1.0 輸出矩形波。矩形波高電平寬 50s,低電平寬 300s。解:t0 采用模式 2 作為 50s 定時(shí)時(shí)的初值:所以作 300s 定時(shí)時(shí)的初值:所以movtmod,#02h;設(shè)置定時(shí)器 t0 工作于模式 2l2:clrp1.0;p1.0 輸出低電平movth0,#6ah;置入定時(shí) 300s 初值movtl0,#6ahsetbtr0;啟動(dòng) t0loop1:jbctf0,l1;查詢 300s 時(shí)間到?時(shí)間到,轉(zhuǎn) l1sjmploop1;時(shí)間未到,轉(zhuǎn) loop1,繼續(xù)查詢l1:setbp1.0;p1.0 輸出高電平clrtr0;關(guān)閉 t0movth0,

12、#0e7h;置入定時(shí) 300s 初值movtl0,# 0e7hsetbtr0; 啟動(dòng) t0loop2:jbctf0,l2;查詢 50s 時(shí)間到?時(shí)間到,轉(zhuǎn) l2sjmploop2;時(shí)間未到,轉(zhuǎn) loop2,繼續(xù)查詢14、已知 89c51 單片機(jī)的 fosc=12mhz, 用 t1 定時(shí)。試編程由 p1.0 和 p1.1 引腳分別輸出周期為 2ms 和 500s 的方波。解:采用模式 0 作 定時(shí)初值:所以movr2,#04h;r2 為“250s”計(jì)數(shù)器,置入初值 4clrp1.0;p1.0 輸出低電平clrp1.1;p1.1 輸出低電平movtmod,#00hl2:movth1,#0f8h;置

13、入定時(shí) 250s 初值movtl1,#06hsetbtr1;啟動(dòng) t1loop:jbctf1,l1;查詢 250s 時(shí)間到?時(shí)間到,轉(zhuǎn) l1sjmploop;時(shí)間未到,轉(zhuǎn) loop,繼續(xù)查詢l1:cplp1.1;p1.1 輸出取反,形成周期為 500sclrtr1;關(guān)閉 t1djnzr2,l2;“250s”計(jì)數(shù)器減 1,到 1ms 嗎?未到轉(zhuǎn) l2cplp1.0;p1.0 輸出取反,形成周期為 2ms 方波movr2,#04h;重置“250s”計(jì)數(shù)器初值 4ljmpl2;重復(fù)循環(huán)15、 單片機(jī) 8031 的時(shí)鐘頻率為 6mhz,若要求定時(shí)值分別為 0.1ms,1ms,10ms,定時(shí)器 0 工作

14、在模式 0、模式 1 和模式 2 時(shí),其定時(shí)器初值各應(yīng)是多少?解:(1)0.1ms模式 0:t0 低 5 位 01110b=0eht0 高 8 位:11111110b=feh模式 1:模式 2:(2)1ms模式 0:t0 低 5 位 01100b=0cht0 高 8 位:11110000b=f0h模式 1:模式 2:在此情況下最長(zhǎng)定時(shí)為 512s,無(wú)法一次實(shí)現(xiàn)定時(shí) 1ms,可用 0.1ms 循環(huán) 10 次(3)10ms模式 0:t0 低 5 位 11000b=18ht0 高 8 位:01100011b=63h模式 1:模式 2:在此情況下最長(zhǎng)定時(shí)為 512s,無(wú)法一次實(shí)現(xiàn)定時(shí) 10ms,可用

15、0.1ms 循環(huán) 100 次16、89c51 單片機(jī)的定時(shí)器在何種設(shè)置下可提供三個(gè) 8 位計(jì)數(shù)器定時(shí)器?這時(shí),定時(shí)器 1 可作為串行口波特率發(fā)生器。 若波特率按9600b/s,4800b/s,2400b/s,1200b/s,600b/s,100b/s來(lái)考慮,則此時(shí)可選用的波特率是多少(允許存在一定誤差)?設(shè) fosc=12mhz。解:當(dāng) t0 為模式 3,t1 為模式 2 時(shí),可提供 3 個(gè) 8 位定時(shí)器??蛇x 100b/s17、試編制一段程序,功能為:當(dāng) p1.2 引腳的電平上跳時(shí),對(duì) p1.1 的輸入脈沖進(jìn)行計(jì)數(shù);當(dāng) p1.2 引腳的電平下跳時(shí),停止計(jì)數(shù),并將計(jì)數(shù)值寫(xiě)入 r6,r7。解:m

16、ovtmod,#05h;t0 為計(jì)數(shù)方式且工作于模式 1jnbp1.2,$;等待 p1.2 引腳電平上跳movth0,#00h; p1.2 電平上跳,置入計(jì)數(shù)初值movtl0,#00hsetbtr0;啟動(dòng) t0jbp1.2,$;等待 p1.2 引腳電平下跳clrtr0;電平下跳,關(guān)閉 t0movr7,th0;計(jì)數(shù)初值寫(xiě)入 r7,r6movr6,tl018、 設(shè) fosc=12mhz。試編制一段程序,功能為:對(duì)定時(shí)器 t0 初始化,使之工作在模式 2,產(chǎn)生 200s 定時(shí),并用查詢 t0 溢出標(biāo)志的方法,控制 p1.0 輸出周期為 2ms 的方波。解:t0 作定時(shí)器時(shí)初值:所以程序 1:clrp

17、1.0;p1.0 輸出低電平movr2,#05h;r2 為“200s”計(jì)數(shù)器,置入初值 5,計(jì) 1msmovtmod,#02h;設(shè)定時(shí)器 t0 工作于模式 2l2:movth0,#38h;置入定時(shí)初值movtl0,#38hsetbtr0;啟動(dòng) t0loop:jbctf0,l1;查詢 200s 時(shí)間到?時(shí)間到,轉(zhuǎn) l1sjmploop;時(shí)間未到,轉(zhuǎn) loop,繼續(xù)查詢l1:clrtr0;關(guān)閉 t0djnzr2,l2;“200s”計(jì)數(shù)器減 1,到 1ms 嗎?未到,轉(zhuǎn) l2cplp1.0;到 1ms,p1.0 取反,形成周期為 2ms 的方波movr2,#05h;重置“200s”計(jì)數(shù)器初值ljmp

18、l2;重復(fù)循環(huán)程序 2:main:movtmod,#02h;設(shè)定時(shí)器 t0 工作于模式 2clrp1.0;p1.0 輸出低電平loop1:movr2,#05h;r2 為“200s”計(jì)數(shù)器,置入初值 5,計(jì) 1msloop:movth0,#38h;置入定時(shí)初值movtl0,#38hsetbtr0;啟動(dòng) t0jnbtf0,$;查詢 200s 時(shí)間到?時(shí)間到,繼續(xù)查詢clrtr0;關(guān)閉 t0djnzr2,loop;“200s”計(jì)數(shù)器減 1,到 1ms 嗎?未到,轉(zhuǎn) loopcplp1.0;到 1ms,p1.0 取反,形成周期為 2ms 的方波sjmploop1;重復(fù)循環(huán)19、以中斷方法設(shè)計(jì)單片機(jī)秒、

19、分脈沖發(fā)生器。假定 p1.0 每秒產(chǎn)生 1 個(gè)機(jī)器周期的正脈沖,p1.1 每分產(chǎn)生 1 個(gè)周期的正脈沖。參考書(shū)上例題 6-6第七章第 7 章習(xí)題1、什么是串行異步通信,它有哪些作用?答:在異步串行通信中,數(shù)據(jù)是一幀一幀(包括一個(gè)字符代碼或一字節(jié)數(shù)據(jù))傳送的,每一幀的數(shù)據(jù)格式參考書(shū)。通信采用幀格式,無(wú)需同步字符。存在空閑位也是異步通信的特征之一。2、89c51 單片機(jī)的串行口由哪些功能部件組成?各有什么作用?答:89c51 單片機(jī)的串行接口由發(fā)送緩沖期 sbuf,接收緩沖期 sbuf、輸入移位寄存器、串行接口控制器 scon、定時(shí)器 t1 構(gòu)成的波特率發(fā)生器等部件組成。由發(fā)送緩沖期 sbuf 發(fā)

20、送數(shù)據(jù), 接收緩沖期 sbuf 接收數(shù)據(jù)。 串行接口通信的工作方式選擇、接收和發(fā)送控制及狀態(tài)等均由串行接口控制寄存器 scon 控制和指示。 定時(shí)器 t1 產(chǎn)生串行通信所需的波特率。3、簡(jiǎn)述串行口接收和發(fā)送數(shù)據(jù)的過(guò)程。答:串行接口的接收和發(fā)送是對(duì)同一地址(99h)兩個(gè)物理空間的特殊功能寄存器 sbuf 進(jìn)行讀和寫(xiě)的。當(dāng)向 sbuf 發(fā)“寫(xiě)”命令時(shí)(執(zhí)行“movsbuf,a” ) ,即向緩沖期 sbuf 裝載并開(kāi)始 txd 引腳向外發(fā)送一幀數(shù)據(jù),發(fā)送完便使發(fā)送中斷標(biāo)志位 ti=1。在滿足串行接口接收中斷標(biāo)志位 ri(scon.0)=0 的條件下,置允許接收位 ren(scon.4)=1,就會(huì)接收

21、一幀數(shù)據(jù)進(jìn)入移位寄存器, 并裝載到接收 sbuf 中, 同時(shí)使 ri=1。 當(dāng)發(fā)讀 sbuf命令時(shí)(執(zhí)行“mova, sbuf” ) ,便由接收緩沖期 sbuf 取出信息通過(guò) 89c51 內(nèi)部總線送 cpu。4、89c51 串行口有幾種工作方式?有幾種幀格式?各工作方式的波特率如何確定?答:89c51 串行口有 4 種工作方式:方式 0(8 位同步移位寄存器) ,方式 1(10 位異步收發(fā)) ,方式 2(11 位異步收發(fā)) ,方式 3(11 位異步收發(fā)) 。有 2 種幀格式:10 位,11 位方式 0:方式 0 的波特率fosc/12(波特率固定為振蕩頻率 1/12)方式 2:方式 2 波特率

22、2smod/64fosc方式 1 和方式 3:方式 1 和方式 3 波特率2smod/32(t1 溢出速率)如果 t1 采用模式 2 則:5、若異步通信接口按方式 3 傳送,已知其每分鐘傳送 3600 個(gè)字符,其波特率是多少?答:已知每分鐘傳送 3600 個(gè)字符,方式 3 每個(gè)字符 11 位,則:波特率=(11b/字符)(3600 字符/60s)=660b/s6、89c51 中 scon 的 sm2,tb8,rb8 有何作用?答:89c51scon 的 sm2 是多機(jī)通信控制位,主要用于方式 2 和方式 3.若置 sm2=1,則允許多機(jī)通信。tb8 是發(fā)送數(shù)據(jù)的第 9 位,在方式 2 或方式

23、3 中,根據(jù)發(fā)送數(shù)據(jù)的需要由軟件置位或復(fù)位。它在許多通信協(xié)議中可用作奇偶校驗(yàn)位;在多機(jī)通信中作為發(fā)送地址幀或數(shù)據(jù)幀的標(biāo)志位。rb8 是接收數(shù)據(jù)的第 9 位,在方式 2 或方式 3 中接收到的第 9 位數(shù)據(jù)放在 rb8 位。它或是約定的奇偶校驗(yàn)位,或是約定的地址/數(shù)據(jù)標(biāo)示位。7、設(shè) fosc11.059mhz,試編寫(xiě)一段程序,其功能為對(duì)串行口初始化,使之工作與方式 1,波特率為 1200b/s;并用查詢串行口狀態(tài)的方法,讀出接收緩沖器的數(shù)據(jù)并回送到發(fā)送緩沖器。解:start:movscon,#40h;串行接口工作于方式 1movtmod,#20h;定時(shí)器 t1 工作于模式 2movth1,#0e

24、8h;賦定時(shí)器計(jì)數(shù)初值movtl1,#0e8hsetbtr1;啟動(dòng)定時(shí)器 t1mova,sbuf;讀出接收緩沖器數(shù)據(jù)movsbuf,a;啟動(dòng)發(fā)送過(guò)程jnbti,$;等待發(fā)送完clrti;清 ti 標(biāo)志sjmp$;結(jié)束8、若晶振為 11.0592mhz,串行口工作與方式 1,波特率為 4800b/s。寫(xiě)出用 t1 作為波特率發(fā)生器的方式字和計(jì)數(shù)初值。解:movtmod,#20h;定時(shí)器 t1 工作于模式 2movth1,#0fah;賦定時(shí)器計(jì)數(shù)初值movtl1,#0fah9、為什么定時(shí)器 t1 用作串行口波特率發(fā)生器時(shí),常選用工作模式 2?若已知系統(tǒng)時(shí)鐘頻率和通信用的波特率,如何計(jì)算其初值?答:

25、因?yàn)楣ぷ髂J?2 是自動(dòng)重裝初值定時(shí)器,編程時(shí)無(wú)需重裝時(shí)間參數(shù)(計(jì)數(shù)初值) ,比較使用。若選用工作模式 0 或工作模式 1,當(dāng)定時(shí)器 t1 溢出時(shí),需在中斷服務(wù)程序中重裝初值。已知系統(tǒng)時(shí)鐘頻率 fosc 和通信用的波特率 fbaud,可得出定時(shí)器 t1 模式 2 的初值10、若定時(shí)器 t1 設(shè)置成模式 2 作波特率發(fā)生器,已知 fosc6mhz。求可能產(chǎn)生的最高和最低的波特率。解:最高波特率為 t1 定時(shí)最小值時(shí),此時(shí)初值為 255,并且 smod=1,有:最高波特率為 t1 定時(shí)最大值時(shí),此時(shí)初值為 0,并且 smod=0,有:11、串行通信的總線標(biāo)準(zhǔn)是什么?有哪些內(nèi)容?答:美國(guó)電子工業(yè)協(xié)會(huì)

26、(eia)正式公布的串行總線接口標(biāo)準(zhǔn)有 rs-232c,rs-422,rs-423 和rs-485 等。在異步串行通信中應(yīng)用最廣的標(biāo)準(zhǔn)總線是 rd-232c。它包括了按位串行傳輸?shù)碾姎夂蜋C(jī)械方面的規(guī)定,如適用范圍、信號(hào)特性、接口信號(hào)及引腳說(shuō)明等,適用于短距離(15m)或帶調(diào)制解調(diào)的通信場(chǎng)合。采用 rs-422, rs-485 標(biāo)準(zhǔn)時(shí),通信距離可達(dá) 1000m。12、簡(jiǎn)述單片幾多機(jī)通信的原理。答:當(dāng)一片 89c51(主機(jī))與多片 89c51(從機(jī))通信時(shí),所有從機(jī)的 sm2 位都置 1.主機(jī)首先發(fā)送的一幀數(shù)據(jù)為地址,即某從機(jī)機(jī)號(hào),其中第 9 位為 1,所有的從機(jī)接收到數(shù)據(jù)后,將其中第 9 位裝入

27、 rb8 中。各從機(jī)根據(jù)收到的第 9 位數(shù)據(jù)(rb8 中)的值來(lái)決定從機(jī)可否再接收主機(jī)的信息。若(rb8)=0,說(shuō)明是數(shù)據(jù)幀,則使接收中斷標(biāo)志位 ri=0,信息丟失;若(rb8)=1 說(shuō)明是地址幀,數(shù)據(jù)裝入 sbuf 并置 ri=1,中斷所有從機(jī),只有被尋址的目標(biāo)從機(jī)清除 sm2(sm2=0) ,以接收主機(jī)發(fā)來(lái)的一幀數(shù)據(jù)(點(diǎn)對(duì)點(diǎn)通信) 。其他從機(jī)仍然保持 sm2=1.13、當(dāng) 89c51 串行口按工作方式 1 進(jìn)行串行數(shù)據(jù)通信時(shí)。假定波特率為 1200b/s,以中斷方式傳送數(shù)據(jù)。請(qǐng)編寫(xiě)全雙工通信程序。解: 設(shè)系統(tǒng)時(shí)鐘頻率 fosc=6.0mhz。 查教材表 9-2 可知, 可取 smod=0,

28、t1 的計(jì)數(shù)初值為 f3h。程序如下:org0000hajmpmain;上電,轉(zhuǎn)向主程序org0023h;串行口的中斷入口地址ajmpserve;轉(zhuǎn)向中斷服務(wù)程序org0040h;主程序main: movsp,#60h;設(shè)置堆棧指針movscon ,#50hmovpcon ,#00hmovtmod,#20hmovth1,#0f3hmovtl1,#0f3hsetbtr1movr0 ,#20h;置發(fā)送數(shù)據(jù)區(qū)首地址movr1 ,#40h;置接收數(shù)據(jù)區(qū)首地址movr7 ,#10h;置發(fā)送字節(jié)長(zhǎng)度movr6 ,#10h;置接收字節(jié)長(zhǎng)度setbes;允許串行口中斷setbea;cpu 允許中斷mova,r

29、0;取第一個(gè)數(shù)據(jù)發(fā)送movsbuf ,a;發(fā)送第一個(gè)數(shù)據(jù)sjmp$;等待中斷serve: jnbri ,send;ti=1,為發(fā)送中斷clrrimova ,sbuf;讀出接收緩沖區(qū)內(nèi)容movr1 ,a;讀入接收緩沖區(qū)djnzr6 ,l1;判斷數(shù)據(jù)塊發(fā)送完否sjmpl2;數(shù)據(jù)塊接收完,轉(zhuǎn) l2l1:incr1;修改數(shù)據(jù)區(qū)指針l2:reti;中斷返回send:clrti;清除發(fā)送中斷標(biāo)志djnzr7 ,l3;判斷數(shù)據(jù)塊發(fā)送完否sjmpl4;數(shù)據(jù)塊接收完,轉(zhuǎn) l4l3:mova,r0;取數(shù)據(jù)發(fā)送movsbuf ,a;發(fā)送數(shù)據(jù)incr0;修改數(shù)據(jù)地址l4:reti;中斷返回end14、以 89c51 串行口按工作方式 3 進(jìn)行串行數(shù)據(jù)通信。假定波特率為 1200b/s,第 9 數(shù)據(jù)位作奇偶校驗(yàn)位,以中斷方式傳送數(shù)據(jù)。請(qǐng)編寫(xiě)通信程序。解:org0000hajmpmain;上電,轉(zhuǎn)向主程序org0023h;串行口的中斷入口地址a

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論