智能儀表第2章+主機電路(2.2+主機電路)課件_第1頁
智能儀表第2章+主機電路(2.2+主機電路)課件_第2頁
智能儀表第2章+主機電路(2.2+主機電路)課件_第3頁
智能儀表第2章+主機電路(2.2+主機電路)課件_第4頁
智能儀表第2章+主機電路(2.2+主機電路)課件_第5頁
已閱讀5頁,還剩38頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、主機電路022.1 MCS-51單片機51 系列單片機內部的串行接口有兩個緩沖器: 發送緩沖器SBUF 接收緩沖器SBUF兩個緩沖器共用一個地址 2.1.5 串行口串行口SIO 也有03四種工作方式,應對SCON 和 PCON設置初值,以確定工作方式和波特率系數,并按要求計算波特率。T1為波特率發生器。2.1 MCS-51單片機a. 控制寄存器SCON1、串行口寄存器RITIRB8TB8RENSM2SM1SM0D7 D6 D5 D4 D3 D2 D1 D0SM0、SM1:串行口的方式選擇位。SM0SM1 工作方式00移位寄存器方式(用于I/O擴展)018位UART,波特率可變109位UART,

2、波特率有fosc/64, fosc/32119位UART,波特率可變2.1 MCS-51單片機RITIRB8TB8RENSM2SM1SM0D7 D6 D5 D4 D3 D2 D1 D0SM2:方式2、方式3 時的多機通信控制位。方式2、方式3 時,SM2=1, 接收到的第9位數據=0時,不激活RI。方式1時, SM2=1, 僅在接收到有效的停止位時激活RI。方式0時, SM2=0。REN:允許串行接收位。由軟件置位或清零。REN=1允許接收,REN=0禁止接收。2.1 MCS-51單片機RITIRB8TB8RENSM2SM1SM0D7 D6 D5 D4 D3 D2 D1 D0TB8:發送數據位

3、。該位是方式2、3中要發送的第9位數據。在多機通信中用來表示是地址幀還是數據幀,1為地址幀,0為數據幀。RB8:接收數據位。是方式2、3中接收到的第9位數據,在多機通信中為地址、數據標識位。方式0中,未用。方式1中,SM2=0,RB8是已接收的停止位。2.1 MCS-51單片機RITIRB8TB8RENSM2SM1SM0D7 D6 D5 D4 D3 D2 D1 D0TI:發送中斷標志。方式0時,發送完第8 位數據時硬件自動置位;在其他方式時,在發送停止位之初由硬件置位。TI=1時申請中斷,CPU響應中斷后發送下一幀數據。TI必須由軟件清零。RI:接收中斷標志。方式0時,在接收完第8 位數據時硬

4、件自動置位;在其他方式時,在接收停止位的中間點由硬件置位。RI=1時申請中斷,要求取走數據。但在方式1中,未收到有效的停止位時不會對RI置位。RI也必須由軟件清零。 2.1 MCS-51單片機b. 波特率控制寄存器PCONSmodD7 D6 D5 D4 D3 D2 D1 D0SMOD:串行接口波特率系數控制位。SMOD=1時波特率加倍。2.1 MCS-51單片機串行接口的4種工作方式中,串行通信只使用方式1、2、3。方式0主要用于擴展并行輸入輸出口。2、串行口的工作方式a. 方式1( 8位異步通信接口)一幀數據有10位 ,1位起始位,8位數據位,1位停止位。一般設T1為工作方式2, 波特率則為

5、2.1 MCS-51單片機a. 方式1( 8位異步通信接口)發送時:數據由TXD端輸出。當數據寫入發送緩沖器SBUF后,啟動串行口發送器發送,待一幀數據發送完畢TI置1。接收時:數據由RXD端輸入。在REN置1后,接收器開始以所選波特率16倍的速率采樣RXD端的電平,檢測到起始位有效時,開始接收數據一幀的其余信息。當RI=0,并且接收到的停止位為1(或SM2=0)時,停止位進入RB8,接收到的數據進入接收緩沖器,且置RI=1,若兩個條件不滿足,信息將丟失。2.1 MCS-51單片機b. 方式2、方式3(9位異步通信接口)一幀數據有11位 ,1位起始位,8位數據位,1位可程控為1或0 的第9位數

6、據位和1位停止位。方式2,波特率固定,為方式3,波特率可變,為2.1 MCS-51單片機b. 方式2、方式3(9位異步通信接口)發送:TI=0時,數據由TXD端輸出,必須在啟動發送前將附加的第9 位數據裝入SCON中的TB8, 由用戶決定其作用。準備好TB8以后,就可以啟動發送,用一條以SBUF為目的地址的指令啟動發送。串行口能自動把TB8取出,并裝入到第9 位數據,再逐一發送出去。發送完后TI=1。接收:方式2的接收與方式1基本相似,不同之處就是要接收9位有效數據。在方式1 時是把停止位當作第9位來處理的,在方式2(或方式3)中存在著真正的第9 位數據。因此,有效接收數據的條件為:RI=0;

7、SM2=0或接收到的第9位數據為1。若這兩個條件成立,接收到的第9 位數據進入RB8,前8位數進入SBUF以便CPU讀取,并使RI=1。若條件不滿足,則不置位。2.1 MCS-51單片機舉例 要求從SIO輸出40H4FH的數據。SIO工作于方式2,TB8作奇偶校驗位。TRT:MOVSCON,#80H;串行口初始化 MOV PCON,#80H;波特率設置 MOV R0,#40H;置數據指針 MOV R7,#10H;置字節長度 LOOP:MOV A,R0;數據A MOV C,P;PTB8 MOV TB8,C MOV SBUF,A;數據SBUF,啟動發送 JBC TI,CONT;判斷發送中斷標志 S

8、JMP WAIT CONT:INC R0 DJNZ R7,LOOP;判斷發送是否結束 RET 2.1 MCS-51單片機要求從SIO輸入數據并放入40H4FH。SIO工作于方式2。MOVSCON,#90H;串行口初始化 MOV PCON,#80H MOV R0,#40H;置數據指針 MOV R7,#10H;置字節長度 WAIT:JBC RI,CON;判斷接收中斷標志SJMP WAIT CON:MOV A,SBUF;接收數據 JNB PSW.0,CON1;判斷P=RB8? JNB RB8,ERR SJMP RGT CON1:JB RB8,ERRRGT:MOVR0, A;存數據 INC R0 DJ

9、NZ R7, WAIT;判斷接收是否結束 CLR PSW.5 ;置正確接收完標志 RET ERR:SETB PSW.5;置出錯標志 RET2.1 MCS-51單片機單片機與外部事件信息的交換方式:查詢方式和中斷方式。中斷方式CPU效率高。 2.1.6 中斷系統當CPU正在處理某事件時外界發生了更為緊急的請求,要求CPU暫停當前的工作,去處理這個緊急事件。處理完畢后,再回到原來被中斷的地方,繼續原來的工作,這樣的過程稱為中斷。實現這一功能的部件稱為中斷系統,請求CPU中斷的請求源稱為中斷源。1、中斷的概念2.1 MCS-51單片機 屏蔽中斷:是通過指令使中斷系統與外界隔開,使外界發來的中斷請求不

10、起作用。常見2、常見的中斷類型 非屏蔽中斷:這是計算機要處理的中斷方式,不能用軟件屏蔽。一般用于掉電等緊急情況。軟件中斷:這是一種用指令系統中專門的中斷指令來實現的一種中斷。用于程序中斷點的設置,便于程序調試。2.1 MCS-51單片機 開中斷或關中斷:這是CPU能否接收中斷申請的關鍵。只有在開中斷的情況下,才有可能接收中斷源的申請。中斷的開放或關閉通過指令實現。3、中斷系統的任務 中斷的排隊:對于多中斷源系統,在開中斷的條件下,如果有若干個中斷申請同時發生,就需要決定先對哪一個中斷申請進行響應。也就是說要對中斷源作一個優先級的排隊。2.1 MCS-51單片機 中斷的響應:單片機在響應中斷源的

11、申請時,(1)應使CPU從主程序轉去執行中斷服務子程序,(2)同時要把斷點地址送入堆棧進行保護,以便在執行完中斷服務子程序后能返回到原來的斷點,繼續執行主程序。(3)中斷系統還要能確定各個被響應中斷源的中斷服務子程序的入口。3、中斷系統的任務 中斷響應原則:根據中斷源的輕重緩急排隊,優先處理最緊急事件的中斷請求源(每一個中斷源有一個優先級別)。中斷源有高、低兩個優先級,可實現兩級中斷嵌套。2.1 MCS-51單片機 中斷嵌套:當CPU正在處理一個中斷源請求時,發生了另一個優先級比它高的中斷源請求。CPU暫停對原來中斷源的處理程序,轉而去處理優先級更高的中斷源請求,處理完以后,再回到原來的低級中

12、斷處理程序。這就是中斷嵌套。3、中斷系統的任務2.1 MCS-51單片機a. 運行控制寄存器TCON4、與中斷有關的寄存器IT0IE0IT1IE1D7 D6 D5 D4 D3 D2 D1 D0IT0:選擇外中斷INT0的中斷觸發方式。IT0=1電平輸入方式;IT0=0負邊沿輸入方式。IT0的狀態由指令置位或復位。IE0:外中斷INT0的中斷申請標志。當檢測到INT0上存在有效中斷申請時,由硬件使IE0置位。當CPU 轉向中斷服務程序時,由硬件清0。IT1:選擇外中斷INT1的中斷觸發方式。IE1:外中斷INT1的中斷申請標志。2.1 MCS-51單片機b. 中斷允許寄存器IE(位地址A8HAF

13、H)EX0ET0EX1ET1ESEAD7 D6 D5 D4 D3 D2 D1 D0EA:CPU中斷允許的總控制位。ES:串行口中斷允許位。ES=1串行口開中斷,ES=0關中斷。ET1:T1的溢出中斷允許位。ET1=1允許T1溢出中斷,ET1=0不允許T1溢出中斷。EX1:外部中斷1(INT1)的中斷允許位。EX1=1允許外部中斷1的中斷申請,EX1=0不允許中斷。ET0:T0的溢出中斷允許位。EX0 :外部中斷0(INT0)的中斷允許位。2.1 MCS-51單片機c. 中斷優先級寄存器IP(位地址B8HBCH)PX0PT0PX1PT1PSD7 D6 D5 D4 D3 D2 D1 D0PS:串行

14、口中斷優先級控制位。PT1:T1中斷優先級控制位。PX1:外部中斷INT1中斷優先級控制位。PT0:T0中斷優先級控制位。PX0:外部中斷INT0中斷優先級控制位。2.1 MCS-51單片機c. 中斷優先級寄存器IP(位地址B8HBCH)當兩個同優先級級別的中斷申請同時來到時,按固有的次序來處理中斷響應。中斷源入口地址優先權說明INT00003H最高來自P3.2的外部中斷請求T0000BHT0溢出使中斷請求標志TF0有效INT10013H來自P3.3的外部中斷請求T1001BHT1溢出使中斷請求標志TF1有效SIO0023H最低發送/接收一幀數據后使TI/RI有效2.1 MCS-51單片機a.

15、 中斷響應條件:5、中斷響應 必須沒有同級或更高級的中斷正在得到響應。如果有則必須等CPU為它們服務完之后才能響應新的中斷申請。 必須要等當前正在執行的指令執行完畢之后,CPU才能響應新的中斷申請。若正在執行的指令是RETI或是任何訪問IE或IP寄存器的指令,則必須要在執行完另外一條指令之后才可以響應新的中斷申請。2.1 MCS-51單片機b. 中斷響應任務(CPU在下一個及其周期響應)5、中斷響應 把中斷點的地址送入堆棧保護。 根據中斷的不同來源把程序的執行轉到相應的中斷服務子程序的入口。c. 中斷標志位清除可自動撤除中斷請求的中斷源:定時器中斷和外部中斷不可自動撤除中斷請求的中斷源:串行中

16、斷中的TI和RI,需軟件指令撤銷。2.1 MCS-51單片機6、中斷初始化51系列單片機在響應中斷之前,必須對中斷系統進行初始化。中斷系統的初始化需要完成以下操作:a. 開中斷;b. 確定各中斷源的優先級;c. 若為外部中斷,應規定觸發方式。(電平或負邊沿)定時器中斷應用舉例要求T0產生1ms的定時,并使P1.0輸出周期為2ms的方波。工作方式1,fosc=12MHz。EX0ET0EX1ET1ESEAD7 D6 D5 D4 D3 D2 D1 D02.1 MCS-51單片機計算T0的初值:x=64536或x=0FC18H中斷服務程序:STA:MOVTMOD,#01H ;定時器初始化 MOVTL0

17、,#18H MOV TH0,#0FCH MOVIE,#82H ;允許T0中斷 SETB TR0;啟動T0 LOOP:SJMP LOOP ;等待中斷 000BH:LJMPINT INT:MOVTL0,#18H;重置定時器初值 MOVTH0,#0FCH CPLP1.0 RETI 2.2 主機電路設計1、擴展存儲器的必要性 2.2.1 外接存儲器滿足需要較大存儲容量的智能儀表的需要2、外接存儲器的類別程序存儲器數據存儲器3、半導體存儲器的分類2.2 主機電路設計RAM:6116、6264、62128、62256等EPROM:2732、2764、27256、27512等EEPROM:2816、2864

18、等2.2 主機電路設計4、單片機與外部存儲器I/O的連接當PSEN有效時,CPU通過P0口讀取外擴ROM中的指令字節。對外部RAM的讀寫由RD和WR控制。2.2 主機電路設計它們之間的數據交換是通過累加器A來實現的,具體的可通過以下指令完成。第一類指令第二類指令讀:MOV DPTR, #addr16 MOVX A, DPTR寫:MOV A, #data MOVX DPTR, A讀: MOV P2, #addr.H8 MOV Ri, #addr.L8 MOVX A, Ri寫:MOV A, #data MOVX Ri, A2.2 主機電路設計1、接口連接線 2.2.2 外接I/O(8155)256

19、字節的RAM、兩個8位并行口、一個6位并行口和一個14位的減法計數器。AD(07):地址數據線。用于CPU和8155之間的信息交換(地址、數據、命令、狀態)RD:讀選通信號線WR:寫選通信號線CE:選片信號線IO/M:RAM/IO選擇線。CE=0、IO/M=0時,對RAM讀寫; CE=0、IO/M=1時,對I/O口讀寫,I/O編址見下頁。2.2 主機電路設計A7A6A5A4A3A2A1A0I/O口000命令狀態口001PA口010PB口011PC口100定時器低8位寄存器101定時器高6位寄存器,方式寄存器2位8155I/O口編址2.2 主機電路設計1、接口連接線 2.2.2 外接I/O(81

20、55)ALE:地址鎖存信號輸入線。ALE的下降沿將CPU輸出到AD上的地址信息及CE、IO/M狀態鎖存到8155的內部寄存器。TIMERIN、TIMEROUT:定時/計數器的輸入線和輸出線。2.2 主機電路設計2、I/O口的工作方式a. 命令寄存器(只能寫入)PAPBPC1PC2IEAIEBTM1TM2D7 D6 D5 D4 D3 D2 D1 D0命令寄存器對8155的I/O工作方式進行選擇,該命令寄存器只能寫入,不能讀出。其中低4位定義I/O的工作方式,D4、D5為A、B口的中斷控制位,D6、D7為定時器的運行控制位。2.2 主機電路設計PAPBPC1PC2IEAIEBTM1TM2D7 D6

21、 D5 D4 D3 D2 D1 D0PA:0-A口為輸入方式;1-A口為輸出方式PB:0-B口為輸入方式;1-B口為輸出方式PC2、PC1:I/O工作方式選擇,如下表所示00ALT1: A口和B口為基本輸入輸出,C口為輸入方式01ALT2: A口和B口為基本輸入輸出,C口為輸出方式10ALT3: A口選通輸入輸出,B口為基本輸入輸出方式11ALT4: A口和B口均為選通輸入輸出2.2 主機電路設計PAPBPC1PC2IEAIEBTM1TM2D7 D6 D5 D4 D3 D2 D1 D0IEA:A口中斷控制位 0-禁止A口中斷 1-允許A口中斷IEB:B口中斷控制位 0-禁止B口中斷 1-允許B

22、口中斷TM2、TM1:定時器運行控制,如下表所示00空操作,不影響計數器操作01停止定時器操作10若定時器正常計數,長度減為0時停止計數11啟動,置定時器方式和長度后立即啟動計數; 若正在計數,溢出后按新的方式和長度計數2.2 主機電路設計b. 狀態寄存器(只能讀出)用于鎖存8155的I/O口和定時器的當前狀態,供CPU查詢。狀態寄存器口只能讀出,不能寫入,且它與命令寄存器共享一個口地址0,CPU寫入命令字,讀出8155的狀態。D7 D6 D5 D4 D3 D2 D1 D0INTRAABFINTEAINTRBBBFINTEBTIMERINTRA:A口中斷請求標志ABF:A口緩沖器滿空標志INTEA:A口中斷允許標志INTRB:B口中斷請求標志BBF:B口緩沖器滿空標志INTEB:B口中斷允許標志TIMER:定時器中斷標志,定時器計數到指定長度置12.2 主機電路設計3、8155的定時器8155有一個14位的減法計數器,對輸入脈沖進行減法計數,計數器包含高位字節(05H)和低位字節(04H

溫馨提示

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

評論

0/150

提交評論