(精品論文)單片機原理及接口技術(李朝青)課后習題答案——第六章_第1頁
(精品論文)單片機原理及接口技術(李朝青)課后習題答案——第六章_第2頁
(精品論文)單片機原理及接口技術(李朝青)課后習題答案——第六章_第3頁
(精品論文)單片機原理及接口技術(李朝青)課后習題答案——第六章_第4頁
(精品論文)單片機原理及接口技術(李朝青)課后習題答案——第六章_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、定時器模式2有什么特點?適用于什么場合?答:(1) 模式2把TL0(或TL1)配置成一個可以自動重裝載的8位定時器/計數(shù)器。TL0計數(shù)溢出時不僅使溢出中斷標志位TF0置1,而且還自動把TH0中的內容重新裝載到TL0中。TL0用作8位計數(shù)器,TH0用以保存初值。(2) 用于定時工作方式時間(TF0溢出周期)為 ,用于計數(shù)工作方式時,最大計數(shù)長度(TH0初值=0)為28=256個外部脈沖。這種工作方式可省去用戶軟件重裝初值的語句,并可產生相當精確定時時間,特別適于作串行波特率發(fā)生器。2、單片機內部定時方式產生頻率為100KHZ等寬矩形波,假定單片機的晶振頻率為12MHZ,請編程實現(xiàn)。答: T0低5位:1BHT0高8位:FFHMOV TMOD,#00H ;設置定時器T0工作于模式0MOV TL0,#1BH ;設置5ms定時初值MOV TH0,#0FFHSETB TR0 ;啟動T0LOOP:JBC TF0,L1 ;查詢到定時時間到?時間到轉L1SJMP LOOP ;時間未到轉LOOP,繼續(xù)查詢L1:MOV TL0,#1BH ;重新置入定時初值MOV TH0,#0FFHCPL P1.0 ;輸出取反,形成等寬矩形波SJMP LOOP ;重復循環(huán)3、89C51定時器有哪幾種工作模式?有何區(qū)別?答:有四種工作模式:模式0,模式1,模式2,模式3(1) 模式0:選擇定時器的高8位和低5位組成一個13位定時器/計數(shù)器。TL低5位溢出時向TH進位,TH溢出時向中斷標志位TF進位,并申請中斷。定時時間t=(213-初值)振蕩周期12;計數(shù)長度位213=8192個外部脈沖(2) 模式1:與模式0的唯一差別是寄存器TH和TL以全部16位參與操作。定時時間t=(216-初值)振蕩周期12;計數(shù)長度位216=65536個外部脈沖(3) 模式2:把TL0和TL1配置成一個自動重裝載的8位定時器/計數(shù)器。TL用作8位計數(shù)器,TH用以保存初值。TL計數(shù)溢出時不僅使TF0置1,而且還自動將TH中的內容重新裝載到TL中。定時時間t=(28-初值)振蕩周期12;計數(shù)長度位28=256個外部脈沖(4) 模式3:對T0和T1不大相同若設T0位模式3,TL0和TH0被分為兩個相互獨立的8位計數(shù)器。TL0為8位計數(shù)器,功能與模式0和模式1相同,可定時可計數(shù)。TH0僅用作簡單的內部定時功能,它占用了定時器T1的控制位TR1和中斷標志位TF1,啟動和關閉僅受TR1控制。定時器T1無工作模式3,但T0在工作模式3時T1仍可設置為02。4、89C51內部設有幾個定時器/計數(shù)器?它們是由哪些特殊功能寄存器組成?答:89C51單片機內有兩個16位定時器/計數(shù)器,即T0和T1。T0由兩個8位特殊功能寄存器TH0和TL0組成;T1由TH1和TL1組成。5、定時器用作定時器時,其定時時間與哪些因素有關?作計數(shù)器時,對外界計數(shù)頻率有何限制?答:定時時間與定時器的工作模式,初值及振蕩周期有關。作計數(shù)器時對外界計數(shù)頻率要求最高為機器振蕩頻率的1/24。6、簡述定時器4種工作模式的特點,如何選擇設定?答:(1) 模式0:選擇定時器的高8位和低5位組成一個13位定時器/計數(shù)器。TL低5位溢出時向TH進位,TH溢出時向中斷標志位TF進位,并申請中斷。定時時間t=(213-初值)振蕩周期12;計數(shù)長度位213=8192個外部脈沖置TMOD中的M1M0為00(2) 模式1:與模式0的唯一差別是寄存器TH和TL以全部16位參與操作。定時時間t=(216-初值)振蕩周期12;計數(shù)長度位216=65536個外部脈沖置TMOD中的M1M0為01(3) 模式2:把TL0和TL1配置成一個自動重裝載的8位定時器/計數(shù)器。TL用作8位計數(shù)器,TH用以保存初值。TL計數(shù)溢出時不僅使TF0置1,而且還自動將TH中的內容重新裝載到TL中。定時時間t=(28-初值)振蕩周期12;計數(shù)長度位28=256個外部脈沖置TMOD中的M1M0為10(4) 模式3:對T0和T1不大相同若設T0位模式3,TL0和TH0被分為兩個相互獨立的8位計數(shù)器。TL0為8位計數(shù)器,功能與模式0和模式1相同,可定時可計數(shù)。TH0僅用作簡單的內部定時功能,它占用了定時器T1的控制位TR1和中斷標志位TF1,啟動和關閉僅受TR1控制。定時器T1無工作模式3,但T0在工作模式3時T1仍可設置為02。置TMOD中的M1M0為117、當T0用作模式3時,由于TR1已被T0占用,如何控制T1的開啟和關閉?答:用T1控制位C/T切換定時器或計數(shù)器工作方式就可以使T1運行。定時器T1無工作模式3,將T1設置為工作模式3,就會使T1立即停止計數(shù),關閉。8、以定時器/計數(shù)器1進行外部時間計數(shù),每計數(shù)1000個脈沖后,定時器/計數(shù)器1轉為定時工作方式,定時10ms后又轉為計數(shù)方式,如此循環(huán)不止。假定 為6WHZ,用模式1編程。解:T1為定時器時初值:T1為計數(shù)器時初值:所以:L1:MOV TMOD,#50H ;設置T1為計數(shù)方式且工作模式為1MOV TH1,#0FCH ;置入計數(shù)初值MOV TL1,#18HSETB TR1 ;啟動T1計數(shù)器LOOP1:JBC TF1,L2 ;查詢計數(shù)溢出?有溢出(計數(shù)滿1000個)轉L2SJMP LOOP1 ;無溢出轉LOOP1,繼續(xù)查詢L2:CLR TR1 ;關閉T1MOV TMOD,#10H ;設置T1為定時方式且工作與模式1MOV TH1,#0ECH ;置入定時10ms初值MOV TL1,#78HSETB TR1 ;啟動T1定時LOOP2:JBC TF1,L1 ;查詢10ms時間到?時間到,轉L1 SJMP LOOP2 ;時間未到,轉LOOP2,繼續(xù)查詢9、一個定時器定時時間有限,如何實現(xiàn)兩個定時器的串行定時以滿足較長定時時間的要求?答:當一個定時器溢出時,設置另一個定時器的初值為0開始定時。10、使用一個定時器,如何通過軟硬件結合方法實現(xiàn)較長時間的定時?答:設定好定時器的定時時間,采用中斷方式用軟件設置計數(shù)次數(shù),進行溢出次數(shù)累計,從而得到較長的時間。11、89C51定時器作定時和計數(shù)時其計數(shù)脈沖分別由誰提供?答:作定時器時計數(shù)脈沖由89C51片內振蕩器輸出經(jīng)12分頻后的脈沖提供,作計數(shù)時計數(shù)脈沖由外部信號通過引腳P3.4和P3.5提供。12、89C51定時器的門控信號GATE設置為1時定時器如何啟動?答:只有 (或 )引腳為高電平且由軟件使TR0(或TR1)置1時,才能啟動定時器工作。13、已知89C51單片機的fosc=6MHz, 請利用T0和P1.0輸出矩形波。矩形波高電平寬50s,低電平寬300s。解:T0采用模式2作為50s定時時的初值:所以 作300s定時時的初值:所以MOV TMOD,#02H ;設置定時器T0工作于模式2L2:CLR P1.0 ;P1.0輸出低電平MOV TH0,#6AH ;置入定時300s初值MOV TL0,#6AHSETB TR0 ;啟動T0LOOP1:JBC TF0,L1 ;查詢300s時間到?時間到,轉L1SJMP LOOP1 ;時間未到,轉LOOP1,繼續(xù)查詢L1:SETB P1.0 ;P1.0輸出高電平CLR TR0 ;關閉T0MOV TH0,#0E7H ;置入定時300s初值MOV TL0,# 0E7HSETB TR0 ; 啟動T0LOOP2:JBC TF0,L2 ;查詢50s時間到?時間到,轉L2SJMP LOOP2 ;時間未到,轉LOOP2,繼續(xù)查詢14、已知89C51單片機的fosc=12MHz, 用T1定時。試編程由P1.0和P1.1引腳分別輸出周期為 2ms和500s的方波。解:采用模式0作 定時初值:所以 MOV R2,#04H ;R2為“250s”計數(shù)器,置入初值4CLR P1.0 ;P1.0輸出低電平CLR P1.1 ;P1.1輸出低電平MOV TMOD,#00HL2:MOV TH1,#0F8H ;置入定時250s初值MOV TL1,#06HSETB TR1 ;啟動T1LOOP:JBC TF1,L1 ;查詢250s時間到?時間到,轉L1SJMP LOOP ;時間未到,轉LOOP,繼續(xù)查詢L1:CPL P1.1 ;P1.1輸出取反,形成周期為500sCLR TR1 ;關閉T1DJNZ R2,L2 ;“250s”計數(shù)器減1,到1ms嗎?未到轉L2CPL P1.0 ;P1.0輸出取反,形成周期為2ms方波MOV R2,#04H ;重置“250s”計數(shù)器初值4LJMP L2 ;重復循環(huán)15、單片機8031的時鐘頻率為6MHz,若要求定時值分別為0.1ms,1ms,10ms,定時器0工作在模式0、模式1和模式2時,其定時器初值各應是多少?解:(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: 在此情況下最長定時為512s,無法一次實現(xiàn)定時1ms,可用0.1ms循環(huán)10次(3) 10ms模式0: T0低5位11000B=18HT0高8位:01100011B=63H模式1: 模式2:在此情況下最長定時為512s,無法一次實現(xiàn)定時10ms,可用0.1ms循環(huán)100次16、89C51單片機的定時器在何種設置下可提供三個8位計數(shù)器定時器?這時,定時器1可作為串行口波特率發(fā)生器。若波特率按9600b/s,4800b/s,2400b/s,1200b/s,600b/s,100b/s來考慮,則此時可選用的波特率是多少(允許存在一定誤差)?設fosc=12MHz。解:當T0為模式3,T1為模式2時,可提供3個8位定時器。可選100b/s17、試編制一段程序,功能為:當P1.2引腳的電平上跳時,對P1.1的輸入脈沖進行計數(shù);當P1.2引腳的電平下跳時,停止計數(shù),并將計數(shù)值寫入R6,R7。解:MOV TMOD,#05H ;T0為計數(shù)方式且工作于模式1JNB P1.2,$ ;等待P1.2引腳電平上跳MOV TH0,#00H ; P1.2電平上跳,置入計數(shù)初值MOV TL0,#00HSETB TR0 ;啟動T0JB P1.2,$ ;等待P1.2引腳電平下跳CLR TR0 ;電平下跳,關閉T0MOV R7,TH0 ;計數(shù)初值寫入R7,R6MOV R6,TL018、 設fosc=12MHz。試編制一段程序,功能為:對定時器T0初始化,使之工作在模式2,產生200s定時,并用查詢T0溢出標志的方法,控制 P1.0輸出周期為2ms的方波。解:T0作定時器時初值: 所以 程序1:CLR P1.0 ;P1.0輸出低電平MOV R2,#05H ;R2為“200s”計數(shù)器,置入初值5,計1msMOV TMOD,#02H ;設定時器T0工作于模式2L2:MOV TH0,#38H ;置入定時初值MOV TL0,#38HSETB TR0 ;啟動T0LOOP:JBC TF0,L1 ;查詢200s時間到?時間到,轉L1SJMP LOOP ;時間未到,轉LOOP,繼續(xù)查詢L1:CLR TR0 ;關閉T0DJNZ R2,L2 ;“200s”計數(shù)器減1,到1ms嗎?未到,轉L2CPL P1.0 ;到1ms,P1.0取反,形成周期為2ms的方波MOV R2,#05H ;重置“200s”計數(shù)器初值LJMP L2 ;重復循環(huán)程序2:MAIN:MOV TMOD,#02H ;設定時器T0工作于模式2CLR P1.0 ;P1.0輸出低電平LOOP1:MOV R2,#05H ;R2為“200s”計數(shù)器,置入初值5,計1msLOOP:MOV TH0,#38H ;置入定時初值MOV TL0,#38HSETB TR0 ;啟動T0JNB TF0,$ ;查詢200s時間到?時間到,繼續(xù)查詢CLR TR0 ;關閉T0DJNZ R2,LOOP ;“200s”計數(shù)器減1,到1ms嗎?未到,轉LOOPCPL P1.0 ;到1ms,P1.0取反,形成周期為2ms的方波SJMP LOOP1 ;重復循環(huán)19、以中斷方法設計單片機秒、分脈沖發(fā)生器。假定P1.0每秒產生1個機器周期的正脈沖,P1.1每分產生1個周期的正脈沖。參考書上例題6-6第七章第7章 習題1、什么是串行異步通信,它有哪些作用?答:在異步串行通信中,數(shù)據(jù)是一幀一幀(包括一個字符代碼或一字節(jié)數(shù)據(jù))傳送的,每一幀的數(shù)據(jù)格式參考書。通信采用幀格式,無需同步字符。存在空閑位也是異步通信的特征之一。2、89C51單片機的串行口由哪些功能部件組成?各有什么作用?答:89C51單片機的串行接口由發(fā)送緩沖期SBUF,接收緩沖期SBUF、輸入移位寄存器、串行接口控制器SCON、定時器T1構成的波特率發(fā)生器等部件組成。由發(fā)送緩沖期SBUF發(fā)送數(shù)據(jù),接收緩沖期SBUF接收數(shù)據(jù)。串行接口通信的工作方式選擇、接收和發(fā)送控制及狀態(tài)等均由串行接口控制寄存器SCON控制和指示。定時器T1產生串行通信所需的波特率。3、簡述串行口接收和發(fā)送數(shù)據(jù)的過程。答:串行接口的接收和發(fā)送是對同一地址(99H)兩個物理空間的特殊功能寄存器SBUF進行讀和寫的。當向SBUF發(fā)“寫”命令時(執(zhí)行“MOV SBUF,A”),即向緩沖期SBUF裝載并開始TXD引腳向外發(fā)送一幀數(shù)據(jù),發(fā)送完便使發(fā)送中斷標志位TI=1。在滿足串行接口接收中斷標志位RI(SCON.0)=0的條件下,置允許接收位REN(SCON.4)=1,就會接收一幀數(shù)據(jù)進入移位寄存器,并裝載到接收SBUF中,同時使RI=1。當發(fā)讀SBUF命令時(執(zhí)行“MOV A, SBUF”),便由接收緩沖期SBUF取出信息通過89C51內部總線送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波特率2SMOD/64fosc方式1和方式3:方式1和方式3波特率2SMOD/32(T1溢出速率)如果T1采用模式2則:5、若異步通信接口按方式3傳送,已知其每分鐘傳送3600個字符,其波特率是多少?答:已知每分鐘傳送3600個字符,方式3每個字符11位,則:波特率=(11b/字符)(3600字符/60s)=660b/s6、89C51中SCON的SM2,TB8,RB8有何作用?答:89c51SCON的SM2是多機通信控制位,主要用于方式2和方式3.若置SM2=1,則允許多機通信。TB8是發(fā)送數(shù)據(jù)的第9位,在方式2或方式3中,根據(jù)發(fā)送數(shù)據(jù)的需要由軟件置位或復位。它在許多通信協(xié)議中可用作奇偶校驗位;在多機通信中作為發(fā)送地址幀或數(shù)據(jù)幀的標志位。RB8是接收數(shù)據(jù)的第9位,在方式2或方式3中接收到的第9位數(shù)據(jù)放在RB8位。它或是約定的奇偶校驗位,或是約定的地址/數(shù)據(jù)標示位。7、設fosc11.059MHz,試編寫一段程序,其功能為對串行口初始化,使之工作與方式1,波特率為1200b/s;并用查詢串行口狀態(tài)的方法,讀出接收緩沖器的數(shù)據(jù)并回送到發(fā)送緩沖器。解:START:MOV SCON,#40H ;串行接口工作于方式1MOV TMOD,#20H ;定時器T1工作于模式2MOV TH1,#0E8H ;賦定時器計數(shù)初值MOV TL1,#0E8HSETB TR1 ;啟動定時器T1MOV A,SBUF ;讀出接收緩沖器數(shù)據(jù)MOV SBUF,A ;啟動發(fā)送過程JNB TI,$ ;等待發(fā)送完CLR TI ;清TI標志SJMP $ ;結束8、若晶振為11.0592MHz,串行口工作與方式1,波特率為4800b/s。寫出用T1作為波特率發(fā)生器的方式字和計數(shù)初值。解:MOV TMOD,#20H ;定時器T1工作于模式2MOV TH1,#0FAH ;賦定時器計數(shù)初值MOV TL1,#0FAH9、為什么定時器T1用作串行口波特率發(fā)生器時,常選用工作模式2?若已知系統(tǒng)時鐘頻率和通信用的波特率,如何計算其初值?答:因為工作模式2是自動重裝初值定時器,編程時無需重裝時間參數(shù)(計數(shù)初值),比較使用。若選用工作模式0或工作模式1,當定時器T1溢出時,需在中斷服務程序中重裝初值。已知系統(tǒng)時鐘頻率fosc和通信用的波特率fbaud,可得出定時器T1模式2的初值10、若定時器T1設置成模式2作波特率發(fā)生器,已知fosc6MHz。求可能產生的最高和最低的波特率。解:最高波特率為T1定時最小值時,此時初值為255,并且SMOD=1,有:最高波特率為T1定時最大值時,此時初值為0,并且SMOD=0,有:11、串行通信的總線標準是什么?有哪些內容?答:美國電子工業(yè)協(xié)會(EIA)正式公布的串行總線接口標準有RS-232C,RS-422,RS-423和RS-485等。在異步串行通信中應用最廣的標準總線是RD-232C。它包括了按位串行傳輸?shù)碾姎夂蜋C械方面的規(guī)定,如適用范圍、信號特性、接口信號及引腳說明等,適用于短距離(15m)或帶調制解調的通信場合。采用RS-422, RS-485標準時,通信距離可達1000m。12、簡述單片幾多機通信的原理。答:當一片89C51(主機)與多片89C51(從機)通信時,所有從機的SM2位都置1.主機首先發(fā)送的一幀數(shù)據(jù)為地址,即某從機機號,其中第9位為1,所有的從機接收到數(shù)據(jù)后,將其中第9位裝入RB8中。各從機根據(jù)收到的第9位數(shù)據(jù)(RB8中)的值來決定從機可否再接收主機的信息。若(RB8)=0,說明是數(shù)據(jù)幀,則使接收中斷標志位RI=0,信息丟失;若(RB8)=1說明是地址幀,數(shù)據(jù)裝入SBUF并置RI=1,中斷所有從機,只有被尋址的目標從機清除SM2(SM2=0),以接收主機發(fā)來的一幀數(shù)據(jù)(點對點通信)。其他從機仍然保持SM2=1.13、當89C51串行口按工作方式1進行串行數(shù)據(jù)通信時。假定波特率為1200b/s,以中斷方式傳送數(shù)據(jù)。請編寫全雙工通信程序。解:設系統(tǒng)時鐘頻率fosc=6.0MHZ。查教材表9-2可知,可取SMOD=0,T1的計數(shù)初值為F3H。程序如下: ORG 0000H AJMP MAIN ;上電,轉向主程序 ORG 0023H ;串行口的中斷入口地址 AJMP SERVE ;轉向中斷服務程序 ORG 0040H ;主程序MAIN: MOV SP,#60H ;設置堆棧指針 MOV SCON ,#50H MOV PCON ,#00HMOV TMOD,#20HMOV TH1,#0F3HMOV TL1,#0F3H SETB TR1 MOV R0 ,#20H ;置發(fā)送數(shù)據(jù)區(qū)首地址MOV R1 ,#40H ;置接收數(shù)據(jù)區(qū)首地址 MOV R7 ,#10H ;置發(fā)送字節(jié)長度MOV R6 ,#10H ;置接收字節(jié)長度 SETB ES ;允許串行口中斷 SETB EA ;CPU允許中斷 MOV A ,R0 ;取第一個數(shù)據(jù)發(fā)送 MOV SBUF ,A ;發(fā)送第一個數(shù)據(jù) SJMP $ ;等待中斷SERVE: JNB RI ,SEND ;TI=1,為發(fā)送中斷CLR RI MOV A ,SBUF ;讀出接收緩沖區(qū)內容 MOV R1 ,A ;讀入接收緩沖區(qū)DJNZ R6 ,L1 ;判斷數(shù)據(jù)塊發(fā)送完否SJMP L2 ;數(shù)據(jù)塊接收完,轉L2L1:INC R1 ;修改數(shù)據(jù)區(qū)指針L2:RETI ;中斷返回SEND: CLR TI ;清除發(fā)送中斷標志DJNZ R7 ,L3 ;判斷數(shù)據(jù)塊發(fā)送完否SJMP L4 ;數(shù)據(jù)塊接收完,轉L4L3: MOV A ,R0 ;取數(shù)據(jù)發(fā)送MOV SBUF ,A ;發(fā)送數(shù)據(jù) INC R0 ;修改數(shù)據(jù)地址L4: RETI ;中斷返回 END14、以89C51串行口按工作方式3進行串行數(shù)據(jù)通信。假定波特率為1200b/s,第9數(shù)據(jù)位作奇偶校驗位,以中斷方式傳送數(shù)據(jù)。請編寫通信程序。解:ORG 0000H AJMP MAIN ;上電,轉向主程序 ORG 0023H ;串行口的中斷入口地址 AJMP STOP ;轉向中斷服務程序 ORG 0040H ;主程序MAIN: MOV SP,#60HMOV TMOD,#20HMOV TH1,#0E8HMOV TL1,#0E8H SETB T

溫馨提示

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

最新文檔

評論

0/150

提交評論