汽車單片機教案3_第1頁
汽車單片機教案3_第2頁
汽車單片機教案3_第3頁
汽車單片機教案3_第4頁
汽車單片機教案3_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 課 堂 教 案 教師:劉楊 科目:汽車單片機技術 題目第一章 汽車單片機原理 第四節(jié) 第五節(jié)班級汽檢課型專業(yè)基礎課教法面授教具板書課時2教學目的目標熟悉微型計算機和單片機的概念,了解MCS-51單片機的組成和引腳,熟悉指令系統(tǒng),熟悉單片機的中斷、定時器/計數(shù)器和串行通信。教學重點熟悉單片機的中斷、定時器/計數(shù)器教學難點串行通信教學內(nèi)容與程序一、 課前提問二、 引題,新課引入三、 課后小結(jié)四、 作業(yè)布置作業(yè)教材 P538、9教 案 附 頁第一章 汽車單片機原理第四節(jié) 單片機指令系統(tǒng)一、單片機語言單片機的指令描述形式有兩種:機器語言形式和匯編語言形式。1.機器語言由于計算機只能識別二進制數(shù),所以

2、計算機中所有的指令和數(shù)據(jù)都是用二進制代碼來表示。2.匯編語言由于機器語言不便被人們識別、記憶、理解和使用,因此給每條機器語言指令賦予助記符號來表示,這就形成了匯編語言。助記符號多用英文字母和數(shù)字組成。3.高級語言除了匯編語言,還有高級語言,如BASIC、PASCAL、C語言等,可以用來對單片機編程。高級語言接近自然語言(英語)和數(shù)學語言的算法語言,具有直觀、通用等特點。二、MCS-51單片機指令系統(tǒng)1.匯編語言指令格式:指令系統(tǒng)中的指令描述了不同的操作,不同操作對應不同的指令。但結(jié)構(gòu)上,每條指令通常由操作碼和操作數(shù)兩部分組成。匯編語言指令格式如下:格式:標號: 操作碼助記符 第一操作數(shù) ,第二

3、操作數(shù) ;注釋2.指令常用符號(1) Rn(n=07):表示八個通用寄存器R0R7。(2) Ri(i=0,1):表示兩個寄存器R0、R1,它們常在間接尋址中作為8位地址指針。(3) #data:表示8位立即數(shù),即包含在指令中的8位常數(shù),如#30H。(4) #data16:表示16位立即數(shù),即包含在指令中的16位常數(shù),如#2010H。(5) direct:表示片內(nèi)RAM(含特殊功能寄存器)的直接地址。(6) addr11:表示11位目的地址。(7) addr16:表示16位目的地址。(8) rel:表示帶符號的8位地址偏移量 (9) bit:表示位地址。(10) :作為寄存器的前綴,表示間接尋址

4、。(11) ():表示存儲器單元的內(nèi)容。(12) ():表示以X單元的內(nèi)容為地址的存儲器單元內(nèi)容。(13) :表示將箭頭左邊內(nèi)容送入箭頭右邊。(14) /:表示對該位操作數(shù)取反,但不影響該位的原值。 3. 尋址方式(1)立即尋址操作數(shù)直接出現(xiàn)在指令中,緊跟在操作碼的后面,作為指令的一部分與操作碼一起存放在程序存儲器中,可以立即得到并執(zhí)行,故稱為立即尋址。匯編指令中,在一個數(shù)的前面冠以#符號作前綴,就表示該數(shù)為立即尋址。例如指令:MOVA,#30H指令中30H就是立即數(shù)。指令的功能是將立即數(shù)30H傳送到累加器A中。 (2)直接尋址直接尋址是指在指令中直接給出操作數(shù)所在存儲單元的地址。該指令的功能

5、是從該地址中直接獲取操作數(shù)。例如指令:MOV A,40H該指令中40H為操作數(shù)的直接地址。指令的功能是把片內(nèi)RAM地址為40H單元的內(nèi)容送到A中。(3)寄存器尋址寄存器尋址是指把寄存器的內(nèi)容作為操作數(shù)。寄存器可以是通用寄存器R0R7,也可以是ACC、B、DPTR等寄存器。例如指令:MOVA,R0該指令是寄存器尋址。指令的功能是把工作寄存器R0中的內(nèi)容傳送到累加器A中,如R0中的內(nèi)容為30H,則執(zhí)行該指令后A的內(nèi)容也為30H。(4)寄存器間接尋址在寄存器間接尋址中,指令中的一個操作數(shù)是加了前綴“”的寄存器,“”表示該寄存器中的內(nèi)容是操作數(shù)的地址??捎糜陂g接尋址的寄存器是R0、R1、DPTR。其中

6、,R0和R1用于8位地址尋址,DPTR用于16位地址尋址。例如:指令:MOV A,R0(5)變址尋址(基址寄存器+變址寄存器)變址尋址是指以寄存器的內(nèi)容作為基地址,然后在這個基地址的基礎上加上地址偏移量形成操作數(shù)的地址,并在這個地址中取出操作數(shù)。在變址尋址中只能用DPTR和PC作為基址寄存器,累加器A作為偏移量寄存器。變址尋址用于讀取程序存儲器的數(shù)據(jù),常用于查表操作。 例如:指令:MOV A,R0(6)相對尋址相對尋址是將程序計數(shù)器PC中的當前值與指令第二字節(jié)給出的偏移量rel相加,其結(jié)果作為跳轉(zhuǎn)指令的轉(zhuǎn)移地址。相對尋址主要用于轉(zhuǎn)移類指令,尋址范圍是程序存儲器。偏移量rel是有符號的單字節(jié)數(shù)。

7、以補碼表示,其偏移范圍是-128+127。負數(shù)表示從當前地址向前轉(zhuǎn)移,正數(shù)表示從當前地址向后轉(zhuǎn)移。所以,相對轉(zhuǎn)移指令滿足條件后,轉(zhuǎn)移的地址(目的地址)為: 目的地址 = 指令存儲地址 + 指令字節(jié)數(shù) + rel(7)位尋址 位尋址是指指令的操作數(shù)為8位二進制數(shù)的某一位,指令中給出的是操作數(shù)的位地址。可用于位尋址的區(qū)域是片內(nèi)RAM 20H2FH單元和部分特殊功能寄存器。二、指令系統(tǒng)1.數(shù)據(jù)傳送類指令數(shù)據(jù)傳送指令把“源操作數(shù)”中的數(shù)據(jù)傳送到“目的操作數(shù)”中去,而源操作數(shù)的內(nèi)容保持不變。(1)片內(nèi)RAM數(shù)據(jù)傳送指令(2)片外RAM數(shù)據(jù)傳送指令(3)查表指令(4)交換指令(5)堆棧指令2算術運算指令算

8、術指令包括加、減、乘、除法指令,數(shù)據(jù)運算功能較強。如表1-5所示。算術運算結(jié)果存放在目的操作數(shù)所代表的單元內(nèi)。(1)不帶進位加法指令(2)帶進位的加法指令(3)帶借位減法指令(4)加1指令(5)減1指令(6)乘法指令(7)除法指令(8)十進制調(diào)整指令3.邏輯運算指令(1)邏輯與指令(2)邏輯或指令(3)邏輯異或指令(4)清零指令(5)循環(huán)移位指令4.控制轉(zhuǎn)移指令(1)無條件轉(zhuǎn)移指令(2)判零條件轉(zhuǎn)移指令(3)減1條件轉(zhuǎn)移指令(4)比較轉(zhuǎn)移指令(5)地址偏移量rel的計算5.位操作指令(1)位修正指令位修正指令包括:位清零指令CLR、位置1指令SETB、位取反指令CPL。(2)位邏輯運算指令位邏

9、輯運算指令與字節(jié)邏輯運算指令相似。其中“/bit”表示取反后在進行邏輯運算。(3)位數(shù)據(jù)傳送指令 位數(shù)據(jù)傳送指令與字節(jié)數(shù)據(jù)傳送指令相似。(4)位條件轉(zhuǎn)移類指令位條件轉(zhuǎn)移類指令與字節(jié)條件轉(zhuǎn)移類指令相似,地址偏移量rel的計算方法相同。6.子程序調(diào)用、返回和空操作指令(1)短調(diào)用指令 短調(diào)用指令ACALL指令的目標地址是11位。在調(diào)用子程序時,該指令與AJMP指令類似,要求調(diào)用子程序的入口地址與ACALL指令后面指令的第一個字節(jié)在同一個2 K頁面的程序存儲器區(qū)域中。 (2)長調(diào)用指令 長調(diào)用指令LCALL指令的目標地址是16位。可在64 K程序存儲器區(qū)域范圍內(nèi)調(diào)用任何一個子程序。 (3)子程序返回

10、指令 子程序返回指令RET,功能是使CPU從子程序返回到主程序的斷點處,使主程序繼續(xù)執(zhí)行。 118(4)中斷返回RETI中斷返回指令RETI,功能是使CPU從中斷服務子程序返回主程序的斷點處,同時清除相應的中斷狀態(tài)寄存器,開發(fā)中斷。(5)空操作指令執(zhí)行空操作指令NOP,除PC內(nèi)容加1外,不影響任何標志位和其他寄存器。NOP指令常用來產(chǎn)生一個機器周期的延遲。第五節(jié) 單片機中斷、定時器/計數(shù)器、串行通信一、中斷1中斷的概念所謂中斷,就是中斷正在進行的工作,轉(zhuǎn)而去處理另一項較為緊急的事情,處理完畢后再轉(zhuǎn)回來繼續(xù)處理原來的工作。2.中斷源引起中斷原因的的設備部件,或引起程序中斷的事件稱為中斷源。單片機

11、的中斷源分為內(nèi)部中斷源和外部中斷源。外部中斷源一般是外部設備中斷源、控制對象中斷源和傳感器中斷源。3. 中斷源優(yōu)先級及中斷嵌套一個單片機系統(tǒng)可能有多個中斷源,而單片機CPU在某一時刻只能響應一個中斷源的中斷請求,當多個中斷源同時向CPU發(fā)出中斷請求時,CPU 通過內(nèi)部硬件查詢,按照“優(yōu)先級別”順序確定先響應哪個中斷請求。8051單片機的優(yōu)先級次序為:中斷源 同級自然優(yōu)先級別外部中斷0 最高級 定時器T0中斷 外部中斷1 定時器T1中斷 串行通信口中斷 最低級 4. 中斷控制定時器/計數(shù)器(T0、T1)中斷請求和外部中斷(引腳 和)請求由定時/計數(shù)器控制寄存器(TCON)控制。串行通信口(TX、

12、RX)中斷請求由串行口控制寄存器(SCON)控制。中斷允許(源允許、總允許)由中斷允許控制寄存器(IE)控制。中斷優(yōu)先級控制由中斷優(yōu)先級控制寄存器(IP)控制。上述控制寄存器可以用數(shù)據(jù)傳送指令進行字節(jié)或位設置控制。5.中斷請求的響應單片機響應某一中斷請求后要進行如下操作:(1) 完成當前指令的操作。(2) 保護斷點地址,將PC內(nèi)容壓入堆棧。(3) 屏蔽同級的中斷請求。(4) 將中斷源入口地址(固定的)送入PC寄存器,自動轉(zhuǎn)入相應中斷程序入口地址。(5) 執(zhí)行中斷服務程序。(6) 當執(zhí)行到RETI指令時即結(jié)束中斷,從堆棧中自動彈出斷點地址到PC寄存器,返回到先前斷點處繼續(xù)執(zhí)行原程序。 二、定時器

13、/計數(shù)器MCS-51單片機內(nèi)帶有兩個16位定時器/計數(shù)器T0和T1,用于定時和計數(shù)控制。1. 定時器/計數(shù)器的結(jié)構(gòu)圖1-20是MCS-51單片機定時器/計數(shù)器邏輯結(jié)構(gòu)圖,內(nèi)帶有兩個16位定時器/計數(shù)器T0和T1;定時器方式寄存器(TMOD)和定時器控制寄存器(TCON)。(1)16位加法器定時器/計數(shù)器的核心是16位加法計數(shù)器,圖中用特殊功能寄存器TH0、TL0及TH1、TL1表示。TH0、TL0是定時器/計數(shù)器T0加法計數(shù)器的高8位和低8位,TH1、TL1是定時器/計數(shù)器T1加法計數(shù)器的高8位和低8位。加法計數(shù)器的初值可以由程序設定,設置的初值不同,計數(shù)值或定時時間就不同。在定時器/計數(shù)器的

14、工作過程中,加法計數(shù)器的內(nèi)容可用程序讀回CPU。(2)定時器方式寄存器(TMOD)定時器/計數(shù)器T0、T1都有四種工作方式,可通過程序?qū)MOD設置來選擇。TMOD的低4位用于定時器/計數(shù)器T0,高4位用于定時器/計數(shù)器T1。C/:定時或計數(shù)功能選擇位,當C/=0時為定時方式;當C/ =1時為計數(shù)方式。GATE:門控位,用于控制定時器/計數(shù)器的啟動是否受外部中斷請求信號的影響。2定時器控制寄存器TCONTCON是一個8位寄存器,用于控制定時器的啟動/停止以及標志定時器溢出中斷申請。TCON的地址為88H,既可進行字節(jié)尋址又可進行位尋址。復位時所有位被清零。各位功能如圖1-22所示。圖中TR0和

15、TR1分別用于控制T0和T1的啟動與停止,TF0和TF1用于標志T0和T1是否產(chǎn)生了溢出中斷請求。低4位用于中斷系統(tǒng)的控制。3. 定時器/計數(shù)器的工作原理定時器/計數(shù)器T0和T1是在定時器方式寄存器TMOD和定時器控制寄存器TCON聯(lián)合控制下進行定時或計數(shù)工作的。 三、串行通信80C51單片機的串行接口是一個全雙工串行通信接口,具有同時發(fā)送和接受的功能。它可以作為UART(通用異步接受和發(fā)送器)使用,也可以作為同步移位寄存器使用。單片機的串行通信功能是車載電控單元網(wǎng)絡通信的基礎。1.串行通信基礎知識通信分為并行通信和串行通信。并行通信是指構(gòu)成信息的二進制字符的各位數(shù)據(jù)同時傳送的通信方法, 串行

16、通信又分為兩種基本通信方式,即異步通信和同步通信。(1)串行異步通信在串行異步通信中,被傳送的信息通常是一個字符代碼或一個字節(jié)數(shù)據(jù),它們都以規(guī)定的相同傳送格式(字符幀格式)一幀一幀地發(fā)送或接收。 字符幀格式由四部分組成:起始位,數(shù)據(jù)位,奇偶校驗位和停止位。起始位:在沒有數(shù)據(jù)傳送時,通信線上處于邏輯“1”狀態(tài)。起始位是邏輯“0”。數(shù)據(jù)位:在起始位之后,發(fā)送端發(fā)出(接收端接收)的是數(shù)據(jù)位,數(shù)據(jù)的位數(shù)沒有嚴格限制,如5位、6位、7位或8位(D0D7)等。由低位到高位逐位傳送。奇偶校驗位:數(shù)據(jù)位發(fā)送完(接收完)之后,可發(fā)送奇偶校驗位,它只占幀格式的一位,用于傳送數(shù)據(jù)的有限差錯檢測或表示數(shù)據(jù)的一種性質(zhì),

17、是發(fā)送和接收雙方預先約定好的一種檢驗(檢錯)方式。 停止位:字符幀格式的最后部分為停止位,邏輯“1”電平有效,位數(shù)可以是1位、1/2位或2位。表示一個字符幀信息的結(jié)束,也為發(fā)送下一個字符幀信息做好準備。在串行異步通信中,字符信息可以一幀一幀連續(xù)傳送,也可以出現(xiàn)間隙,即空閑狀態(tài),此時通信線上處于邏輯“1”狀態(tài)。串行異步通信的發(fā)送設備和接收設備是相互獨立、互不同步的,雙方各用自己的時鐘源來控制發(fā)送和接收。(2)串行同步通信串行同步通信傳送數(shù)據(jù)塊的格式如圖1-27所示。在發(fā)送數(shù)據(jù)塊時,首先發(fā)送12個同步字符,接收端接收同步字符后,用同步字符脈沖調(diào)整自身的時鐘脈沖,使自身時鐘脈沖與同步字符脈沖同步后,

18、開始接收數(shù)據(jù)塊。串行同步通信的特點發(fā)、收雙方的時鐘脈沖是同步的,所傳送的數(shù)據(jù)可以是任意位的,所以傳輸效率高。缺點是實現(xiàn)同步的硬件設備復雜。 在串行通信中,無論是異步通信還是同步通信,發(fā)送和接收雙方使用的字符幀格式或同步字符必須相同,可由用戶自己確定,也可以采用統(tǒng)一的標準格式。(3)波特率和傳輸速率 在串行通信中,通信設備發(fā)送數(shù)據(jù)的速度和接收數(shù)據(jù)的速度必須相同,才能保證被傳送數(shù)據(jù)的成功傳送。 波特率(Baud rate)又稱調(diào)制速率,指單位時間內(nèi)通信設備發(fā)送或接收的數(shù)據(jù)量,在二進制數(shù)據(jù)通信中,單位常用位/秒或比特/秒(bit/s)。傳輸速率又稱傳輸速度,指單位時間內(nèi)通信線路(含中間設備)傳送的數(shù)

19、據(jù)量,在二進制數(shù)據(jù)通信中,單位與波特率的單位相同。通信線路(雙絞線、同軸電纜、光纖等)的物理特性和長度等因素直接影響傳輸速率。通信系統(tǒng)的波特率和傳輸速率要相匹配。波特率和傳輸速率的單位還有K bit/s和M bit/s等,1M bit/s103K bit/s106bit/s。 串行異步通信傳輸速度較低,一般為509600bit/s;串行同步通信傳輸速度較高,一般可達80 000 bit/s。2.串行通信制式在串行通信中,將串行通信分為單工制式、半雙工制式和全雙工制式。 (1)單工制式(2)半雙工制式(3)全雙工制式3.串行通信數(shù)據(jù)的校驗 串行通信適用較長距離的通信,往往易受環(huán)境電磁干擾,為了保

20、證數(shù)據(jù)準確無誤傳送,需要對傳送的數(shù)據(jù)進行校驗。(1)奇偶校驗奇偶校驗的特點是按字符校驗,即在數(shù)據(jù)發(fā)送時,在每一個字符的最高位之后都附加一個奇偶校驗位“1”或“0”,使被傳送字符(包括奇偶校驗位)中含“1”的位數(shù)都為偶數(shù)(偶校驗)或都為奇數(shù)(奇校驗)。 接收端按照發(fā)送端所確定的奇偶性,對接收的每一個字符進行校驗。奇偶性一致則傳輸正確;不一致則為傳輸錯誤。147(2)和校驗和校驗是針對數(shù)據(jù)塊的校驗。發(fā)送端在發(fā)送數(shù)據(jù)塊時,對塊中的數(shù)據(jù)(字節(jié)數(shù))算術求和,然后將產(chǎn)生的單字節(jié)的算術和作為校驗字符(和校驗)附加到數(shù)據(jù)塊的結(jié)尾傳給接收端。接收端對收到數(shù)據(jù)塊按與發(fā)送端相同的方法求算術和,其結(jié)果與接收到的校驗字

21、符比較,相同表示傳輸正確,不同則傳輸出錯。(3)循環(huán)冗余碼校驗(CRC)CRC檢驗是對一個數(shù)據(jù)塊校驗一次,它被廣泛地應用于同步串行通信方式中,例如對磁盤信息的讀/寫,對ROM或RAM存儲區(qū)的完整性的校驗等。除此之外,還有其它的校驗方法。4.串行通信接口控制MCS-51單片機內(nèi)置一個全雙工的串行通信接口,可以作通用異步發(fā)送/接收器(UART),用于網(wǎng)絡通信。其幀格式可有8位、10位和11位,能設置多種波特率。 (1)串行接口的結(jié)構(gòu)及功能 MCS-51單片機串行口的結(jié)構(gòu)框圖如圖1-29所示,主要由發(fā)送器、接收器和串行控制寄存器、通信脈沖電路組成。發(fā)送器主要由發(fā)送緩沖寄存器SBUF(字節(jié)地址99H)

22、、發(fā)送移位寄存器和發(fā)送控制器組成。發(fā)送串行數(shù)據(jù)從TXD引腳(P3.1)輸出。接收器主要由接收緩沖寄存器SBUF(字節(jié)地址99H)、接收移位寄存器和接收控制器組成。接收串行數(shù)據(jù)從RXD引腳(P3.0)輸入。發(fā)送緩沖寄存器SBUF和接收緩沖寄存器SBUF占用同一字節(jié)地址99H,可以同時發(fā)送和接收數(shù)據(jù)。發(fā)送SBUF只能寫入數(shù)據(jù),接收SBUF只能讀出數(shù)據(jù),二者用讀、寫指令區(qū)別。(2)串行口控制寄存器5. 串行口通信方式與原理(1)發(fā)送數(shù)據(jù)串行口有四種工作方式,方式0的功能是同步移位寄存器;方式1、2、3的功能均為串行異步通信,基本原理相同。方式1為10位異步通信。一幀10位信息中,8位數(shù)據(jù)位,1位起始

23、位,1位停止位;其波特率是可變的。發(fā)送數(shù)據(jù)時,發(fā)送控制器自動將起始位0和停止位1分別加到8位數(shù)據(jù)的前后。當發(fā)送中斷標志位TI = 0時,CPU執(zhí)行一條寫SBUF的指令,如 MOV SBUF, A; 就起動了發(fā)送過程。8位數(shù)據(jù)(一幀)發(fā)送完畢后,發(fā)送控制器停止發(fā)送脈沖,且由硬件將發(fā)送中斷標志位TI置1,向CPU申請中斷。如要再次發(fā)送數(shù)據(jù),必須用軟件將TI清零,并再次執(zhí)行寫SBUF指令。 串行數(shù)據(jù)脈沖被發(fā)送到輸出引腳TXD上。 (2)接收數(shù)據(jù)允許接收位REN被置1時,接收器就開始采樣串行數(shù)據(jù)輸入端RXD引腳上的電平。由于RXD引腳線在無信號時是高電平1,當采樣到從1到0的負跳變時,就確定是輸入數(shù)據(jù)的起始位0,開始接收數(shù)據(jù)。接收控制器發(fā)出內(nèi)部移位脈沖將RXD上的數(shù)據(jù)逐位移入接收移位寄存器,當8位數(shù)據(jù)及停止位全部移入后,根據(jù)以下狀態(tài),確定接收是否有效: 如果RI=0 SM2=0或停止位為1在滿足以上兩個條件后,8位數(shù)據(jù)裝入接收緩沖器SBUF,停止位1裝入RB8,并置接收中斷標志位RI=1,向CPU申請中斷。如果不能滿足以上兩個條件,所接收的數(shù)據(jù)不裝入SBUF,數(shù)據(jù)將會丟失。無論出現(xiàn)哪一種情況,接受器將繼續(xù)采樣RXD引腳的負跳變,以便接收下一幀信息。(3)波特率設置串行

溫馨提示

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

評論

0/150

提交評論