單片機原理與應用:MCS-51單片機內(nèi)部接口電路_第1頁
單片機原理與應用:MCS-51單片機內(nèi)部接口電路_第2頁
單片機原理與應用:MCS-51單片機內(nèi)部接口電路_第3頁
單片機原理與應用:MCS-51單片機內(nèi)部接口電路_第4頁
單片機原理與應用:MCS-51單片機內(nèi)部接口電路_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、MCS-51單片機內(nèi)部接口電路MCS-51單片機內(nèi)部接口電路接口基本概念1中斷與中斷系統(tǒng)2定時/計數(shù)器3并行輸入輸出接口4UART串行輸入輸出接口5串行通信6第二章 匯編語言和匯編程序4.1 接口基本概念接口電路的功能接口控制原理串行接口并行接口第二章 匯編語言和匯編程序4.1.1 接口電路的功能 接口電路是一組電路,是中央處理器與存儲器、輸入輸出設備之間協(xié)調(diào)動作的控制電路。 簡單的說,接口電路是在兩個電路或設備之間,使兩者動作相配合的連接電路。 接口電路的作用就是將來自外部設備的數(shù)據(jù)信號傳送給微處理器,微處理器對數(shù)據(jù)進行適當加工,再通過接口電路傳回外部設備。 地址譯碼 數(shù)據(jù)緩存 信息轉(zhuǎn)換 提

2、供命令譯碼和狀態(tài)信息 定時和控制第二章 匯編語言和匯編程序4.1.2 接口控制原理1.數(shù)據(jù)傳送方式 并行數(shù)據(jù)傳送 并行數(shù)據(jù)的每一位都對應獨立的傳輸線路 速度快 線路多 只適用于較短距離的數(shù)據(jù)傳送 串行數(shù)據(jù)傳送 串行數(shù)據(jù)是將構成字符的每個二進制數(shù)據(jù)位,按一定的順序逐位進行傳送的方式 遠距離傳輸比并行經(jīng)濟,但控制較為復雜第二章 匯編語言和匯編程序4.1.2 接口控制原理2.傳送控制方式 查詢方式 中央處理器隨時詢問接口,數(shù)據(jù)傳送完否或數(shù)據(jù)準備好否。 中斷方式 中斷方式下,接口在數(shù)據(jù)發(fā)送數(shù)據(jù)完畢或接收數(shù)據(jù)準備好時再通知中央處理器,中央處理器再發(fā)送或接收數(shù)據(jù)。 DMA方式 即數(shù)據(jù)不經(jīng)過中央處理器在存儲

3、器和外設之間直接傳送的操作方式。適合大量數(shù)據(jù)傳送,控制復雜。第二章 匯編語言和匯編程序4.1.3 串行接口1. 通用異步接收器和發(fā)送器UARTUART是一個能異步傳輸?shù)臄?shù)據(jù)總線。TXD:發(fā)送數(shù)據(jù)線RXD:接收數(shù)據(jù)線 接收和發(fā)送可以單獨進行,也可以同時進行。 格式嚴格:每個數(shù)據(jù)以相同的位串形式傳輸。 每個串行數(shù)據(jù)由起始位、數(shù)據(jù)位、奇偶校驗位組成。 從起始到停止位結束時間稱為一幀(frame)。第二章 匯編語言和匯編程序4.1.3 串行接口UART格式 起始位:在通信線上沒有數(shù)據(jù)被傳送時處于邏輯1狀態(tài),當要發(fā)送數(shù)據(jù)時,首先發(fā)出一個邏輯0信號,這個邏輯0信號就是起始位。 數(shù)據(jù)位:起始位后位。數(shù)據(jù)位的

4、個數(shù)可以是59位,MSC-51中常采用8位或9位數(shù)據(jù)傳送,從最低有效位開始發(fā)送。 奇偶校驗位:檢測有限差錯。 偶校驗:組成數(shù)據(jù)位和奇偶位的邏輯1個數(shù)必須是偶數(shù)。 奇校驗:邏輯1的個數(shù)必須是奇數(shù)。 停止位:停止位是一個字符數(shù)據(jù)的結束標志,可以是1位、1.5位或2位的邏輯1。停止位后,通信線又恢復邏輯1狀態(tài)。第二章 匯編語言和匯編程序4.1.3 串行接口UART格式波特率 異步通信傳輸?shù)乃形恍盘柋仨毐3忠恢碌男盘柍掷m(xù)時間。每一位的寬度由數(shù)據(jù)的傳輸速度決定。 波特率:每秒傳輸多少個符號。 比特率:每秒傳輸多少個二進制位。 波特率 = 1/信號持續(xù)時間 接收設備和發(fā)射設備需要保持相同的傳送波特率。第

5、二章 匯編語言和匯編程序4.1.3 串行接口2. 串行外設接口SPI 4線全雙工串行總線,可以有多個主器件,支持在同一總線上將多個從器件連接到一個主器件。 MOSI:主從輸入線,當SPI作為主器件時,該信號是輸出,當SPI作為從器件時,該信號是輸入。傳輸時,高位在前,低位在后。 MISO:主從輸出線,當SPI作為主器件時,該信號是輸入,當SPI作為從器件時,該信號是輸出。當SPI未被選中時,MISO為高阻態(tài)。 SCK:串行時鐘線。主器件產(chǎn)生并輸出,作為從器件的輸入,用于同步主器件和從器件之間的在MOSI和MISO線上的串行數(shù)據(jù)傳輸。 NSS:從選擇線。主器件用它來選擇處于從方式的SPI器件。第

6、二章 匯編語言和匯編程序4.1.3 串行接口3. I2C總線 2線半雙工串行總線,可以有多個主器件,支持在同一總線上將多個從器件連接到一個主器件。 I2C是一個雙線的雙向串行總線。 I2C上可以有多個主器件,并允許一個主器件同時訪問多個從器件。 I2C傳輸一次數(shù)據(jù)包括一個起始命令START、一個地址字節(jié)、一個或多個數(shù)據(jù)和一個停止命令STOP。 每個地址字節(jié)和每個數(shù)據(jù)字節(jié)后面都跟隨一個來自接收器的確認位ACKNOWLEDGE。第二章 匯編語言和匯編程序4.1.4 并行接口第二章 匯編語言和匯編程序4.2 中斷與中斷系統(tǒng)中斷和中斷處理過程MCS-51中斷系統(tǒng)中斷擴展第二章 匯編語言和匯編程序4.2

7、.1 中斷和中斷處理過程1. 中斷的概念 CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理(中斷發(fā)生); CPU暫時中斷當前的工作,轉(zhuǎn)去處理事件B(中斷響應和中斷服務); 待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷 。第二章 匯編語言和匯編程序4.2.1 中斷和中斷處理過程執(zhí)行主程序繼續(xù)執(zhí)行主程序斷點中斷請求中斷響應執(zhí)行中斷處理程序中斷返回主程序第二章 匯編語言和匯編程序4.2.1 中斷和中斷處理過程2. 中斷系統(tǒng)的功能 1. 能實現(xiàn)中斷并返回中斷; 判斷響應保護現(xiàn)場中斷服務恢復現(xiàn)場返回 2. 能實現(xiàn)中斷優(yōu)先級; 3. 能

8、實現(xiàn)中斷嵌套(高中斷低);第二章 匯編語言和匯編程序4.2.1 中斷和中斷處理過程3. 中斷的處理過程關閉中斷保存斷點響應中斷恢復現(xiàn)場中斷服務保護現(xiàn)場打開中斷中斷返回第二章 匯編語言和匯編程序4.2.2 MCS-51單片機中斷系統(tǒng)第二章 匯編語言和匯編程序4.2.2 MCS-51單片機中斷系統(tǒng)1. 特點 5個中斷源,3個在片內(nèi),2個在片外; 固定的中斷入口地址; 兩級中斷優(yōu)先級,可以形成嵌套; 通過SFR進行中斷控制和設置編程。第二章 匯編語言和匯編程序4.2.2 MCS-51單片機中斷系統(tǒng)2. 中斷源 外部中斷(2個) 外部中斷0和外部中斷1 定時/計數(shù)器中斷(2個) 定時/計數(shù)器中斷0和定

9、時/計數(shù)器中斷1 串行口中斷(1個)第二章 匯編語言和匯編程序4.2.2 MCS-51單片機中斷系統(tǒng)3. 中斷控制(寄存器) 定時器控制寄存器-TCON 串行口控制寄存器-SCON 中斷允許寄存器-IE 中斷優(yōu)先級寄存器-IP第二章 匯編語言和匯編程序4.2.2 MCS-51單片機中斷系統(tǒng)定時器控制寄存器-TCONTF1TR1TF0TR0IE1IT1IE0IT0定時器中斷請求標志1:有請求0:無請求外部中斷請求標志1:有請求0:無請求外部中斷1類型控制位1:邊沿觸發(fā)0:電平觸發(fā)第二章 匯編語言和匯編程序4.2.2 MCS-51單片機中斷系統(tǒng)串行口控制寄存器-SCONSM0SM1SM2RENTB

10、8RB8TIRI串行口的發(fā)送中斷標志 串行口接收中斷標志第二章 匯編語言和匯編程序4.2.2 MCS-51單片機中斷系統(tǒng)EANANAESET1EX1ET0EX0串行口中斷控制位定時器1中斷控制位外中斷1中斷控制位定時器0中斷控制位外中斷0中斷控制位全局中斷控制位中斷允許寄存器-IE第二章 匯編語言和匯編程序4.2.2 MCS-51單片機中斷系統(tǒng)中斷優(yōu)先級寄存器-IPNANANAPSPT1PX1PT0PX0串行口中斷優(yōu)先級控制位定時器1中斷優(yōu)先級控制位外中斷1中斷優(yōu)先級控制位定時器0中斷優(yōu)先級控制位外中斷0中斷優(yōu)先級控制位1:對應的中斷聲明為高優(yōu)先級,0:對應的中斷定義為低優(yōu)先級中斷第二章 匯編

11、語言和匯編程序4.2.2 MCS-51單片機中斷系統(tǒng)4. 中斷響應 同級或高優(yōu)先級的中斷已在進行中; 當前的機器周期還不是正在執(zhí)行指令的最后一個機器周期(換言之, 正在執(zhí)行的指令完成前, 任何中斷請求都得不到響應); 正在執(zhí)行的是一條RETI或者訪問特殊功能寄存器 IE或 IP的指令(換言之, 在RETI或讀寫IE或IP之后, 不會馬上響應中斷請求, 而至少執(zhí)行一條其它指令之后才會響應)。(1) 中斷響應的條件第二章 匯編語言和匯編程序4.2.2 MCS-51單片機中斷系統(tǒng)單片機一旦響應中斷請求, 就由硬件完成以下功能: 根據(jù)響應的中斷源的中斷優(yōu)先級,使相應的優(yōu)先級狀態(tài)觸發(fā)器置1; 執(zhí)行硬件中

12、斷服務子程序調(diào)用,并把當前程序計數(shù)器PC的內(nèi)容壓入堆棧; 清除相應的中斷請求標志位(串行口中斷請求標志RI和TI除外); 把被響應的中斷源所對應的中斷服務程序的入口地址(中斷矢量)送入PC, 從而轉(zhuǎn)入相應的中斷服務程序。(2) 中斷響應過程第二章 匯編語言和匯編程序4.2.2 MCS-51單片機中斷系統(tǒng)(3) 中斷服務程序入口地址表中斷源入口地址外部中斷00003H定時器0000BH外部中斷10013H定時器1001BH串行口0023H第二章 匯編語言和匯編程序4.2.3 中斷擴展1. 中斷與查詢結合 MCS-51單片機有兩個外部中斷輸入端,當有2個以上中斷源時,它的中斷輸入端就不夠了。此時,

13、可以采用中斷與查詢相結合的方法來實現(xiàn)。可以使每個中斷源都接在同一個外部中斷輸入端上,同時利用輸入口線作為多中斷源情況下各中斷源的識別線。第二章 匯編語言和匯編程序4.2.3 中斷擴展INT0INT1P1.3P1.2P1.1P1.0+5VINT2INT3INT4INT5OC門第二章 匯編語言和匯編程序4.2.3 中斷擴展ORG 0013H LJMP INT1.INT1:PUSH PSWPUSH ACCJB P1.0, INT2JB P1.1, INT3JB P1.2, INT4JB P1.3, INT5GOBACK:POP ACCPOP PSWRETIINT2: ; INT2中斷服務程序. AJ

14、MP GOBACKINT3: ; INT3中斷服務程序.AJMP GOBACKINT4: ; INT4中斷服務程序. AJMP GOBACKINT5: ; INT5中斷服務程序. AJMP GOBACK 第二章 匯編語言和匯編程序4.3 定時/計數(shù)器定時器的結構定時器的工作方式定時器應用舉例第二章 匯編語言和匯編程序4.3.1 定時器的結構1. 定時/計數(shù)器的概念 主要作用包括產(chǎn)生各種時標間隔,記錄外部事件的數(shù)量等等。 8051有兩個16位的定時器/計數(shù)器。 作定時器時,每個機器周期定時寄存器自動加1,因此定時器也可以看作是計量機器周期的計數(shù)器。 作計數(shù)器時,計量單片機外部引腳從1到0的負跳變

15、,每個跳變計數(shù)器自動加1。第二章 匯編語言和匯編程序4.3.1 定時器的結構2. 定時/計數(shù)器的結構 處理器TH1TL1TH0TL0TCONTMOD第二章 匯編語言和匯編程序4.3.2 定時器的工作方式T0和T1無論是用作定時器或者計數(shù)器都有4種工作方式: 方式0 方式1 方式2 方式3除了方式3,T0和T1有完全相同的工作方式。第二章 匯編語言和匯編程序4.3.2 定時器的工作方式方式0(13位工作方式)第二章 匯編語言和匯編程序4.3.2 定時器的工作方式方式1(16位工作方式)第二章 匯編語言和匯編程序4.3.2 定時器的工作方式方式2(8位自動重裝工作方式)第二章 匯編語言和匯編程序4

16、.3.2 定時器的工作方式方式3(2個8位工作方式)第二章 匯編語言和匯編程序4.3.2 定時器的工作方式 定時器/計數(shù)器T0和T1有2個控制寄存器: TMOD和TCON 作用: 設置各個定時器/計數(shù)器的工作方式,選擇定時或者計數(shù)功能,控制啟動運行,以及作為運行狀態(tài)的標志等。TCON還有4位用于中斷系統(tǒng)??刂萍拇嫫鞯诙?匯編語言和匯編程序4.3.2 定時器的工作方式定時器方式控制寄存器-TMODGATEC/TM1M0GATEC/TM1M0T1T0門控位1:打開0:關閉工作狀態(tài)選擇位1:計數(shù)狀態(tài)0:定時狀態(tài)工作方式設置位00:方式0 01:方式110:方式2 11:方式3第二章 匯編語言和匯編

17、程序4.3.2 定時器的工作方式定時器控制寄存器-TCONTF1TR1TF0TR0IE1IT1IE0IT0中斷請求標志1:有請求0:無請求運行控制位1:打開0:關斷外部中斷控制第二章 匯編語言和匯編程序4.3.3 定時器的初值計算51內(nèi)部定時器/計數(shù)器是可編程序的,通過程序設置寄存器對它進行設定和控制。因此需要進行初始化操作,初始化步驟為:設定TMOD寄存器,確定工作方式。根據(jù)需要設定時/計數(shù)器初值或計數(shù)器初值。根據(jù)需要開放中斷,設定中斷優(yōu)先級。設置TCON寄存器,以啟動或禁止定時/計數(shù)器。第二章 匯編語言和匯編程序4.3.3 定時器的初值計算計數(shù)器方式 D=M-C 定時器方式 D=M-TC*

18、(fosc/12)D:計數(shù)設定的初值;C:所需要的計數(shù)值,即所需要計 量的負跳變次數(shù);M:為計數(shù)器模值,與方式有關。方式0: 213;方式1: 216; 方式2,3: 28。 D: 計數(shù)設定的初值;TC:所需要的定時時間;M: 為計數(shù)器模值,與方式有關。方式0: 213;方式1: 216; 方式2,3: 28。fosc:振蕩頻率實際上就是計算所需要計數(shù)的機器周期個數(shù)C第二章 匯編語言和匯編程序4.3.4 定時器的應用舉例例4-2:P1.0輸出周期為1ms的連續(xù)方波,要求用T0定時器,設振蕩頻率fosc=6MHz。解:周期為1ms,則定時時間為500us,定時時間到調(diào)用CPL,將P1.0取反。

19、定時器初值計算: D=M-TC*(fosc/12) 需要計數(shù) TC*(fosc/12) = 500*10-6*(6*106/12)=250 可以采用方式2,初值可以設為6(28-250)。第二章 匯編語言和匯編程序4.3.4 定時器的應用舉例例4-2:如果要求P1.0輸出周期為4ms的連續(xù)方波,仍用T0定時器,設振蕩頻率fosc=6MHz。解:周期為4ms,則定時時間為2ms。 定時器初值計算: D=M-TC*(fosc/12) 需要計數(shù) TC*(fosc/12) = 2000*10-6*(6*106/12)=1000 可以采用方式0,初值可以設為1C18H(213-1000)。 TH0 =

20、E0H, TL0=18H第二章 匯編語言和匯編程序4.3.4 定時器的應用舉例例4-4:應用T0定時器的方式3產(chǎn)生200us和400us的定時,并使P1.0和P1.1分別輸出400us和800us的連續(xù)方波,設振蕩頻率fosc=6MHz。解:定時時間為200us和400us。 定時器初值計算: D=M-TC*(fosc/12) 28-TC*(fosc/12) = 256-200*10-6*(6*106/12)=156 28-TC*(fosc/12) = 256-400*10-6*(6*106/12)=56 TH0 = 156, TL0=56第二章 匯編語言和匯編程序4.4 并行輸入輸出接口第二章 匯編語言和匯編程序4.5 串行輸入輸出接口一個串行I/O端口,通過引腳RXD(P3.0)和TXD(P3.1)與外設進行全雙工的串行異步通信。 4種工作方式 兩個控制寄存器,用來設置工作方式、發(fā)送接收狀態(tài)、特征位、波特率等等。 一個數(shù)據(jù)寄存器SBUF作為接收發(fā)送的數(shù)據(jù)緩沖。第二章 匯編語言和

溫馨提示

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

評論

0/150

提交評論