汽車電腦與總線技術(張華)第三章-2_第1頁
汽車電腦與總線技術(張華)第三章-2_第2頁
汽車電腦與總線技術(張華)第三章-2_第3頁
汽車電腦與總線技術(張華)第三章-2_第4頁
汽車電腦與總線技術(張華)第三章-2_第5頁
已閱讀5頁,還剩38頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

汽車單片機與車載網絡技術MCS-51單片機內部結構和原理(二)一.MCS-51單片機內部結構與封裝(一).MCS-51單片機根本結構及功能(二)MCS-51單片機引腳分布及功能89C51的引腳結構圖,有雙列直插封裝〔DIP〕方式和方形封裝方式。下面分別表達這些引腳的功能。89C51的引腳結構1.電源引腳VCC和VSSVCC〔40腳〕:電源端,接+5V。VSS〔20腳〕:接地端,有時標為GND。2.時鐘信號引腳XTAL1和XTAL2XTAL1〔19腳〕:接外部晶振和微調電容的一端,也是外部時鐘源的輸入端。XTAL2〔18腳〕:接外部晶振和微調電容的另一端,采用外部時鐘源時該腳懸空。判斷單片機的振蕩電路是否正常工作,可用示波器查看XTAL2端是否有脈沖信號輸出。3.控制信號引腳RST、ALE、和RST〔9腳〕:復位信號輸入端,高電平有效。ALE〔30腳〕:地址鎖存允許信號端。CPU訪問片外存儲器時該引腳輸出信號作為鎖存低8位地址的控制信號。單片機正常工作時該引腳不斷向外輸出正脈沖信號,頻率為振蕩頻率的1/6。〔29腳〕:片外程序存儲允許輸出信號端。單片模式時該引腳不接。〔31腳〕:外部程序存儲器地址允許輸入端。當引腳接高電平時,CPU從片內ROM訪問并從內部程序存儲器中的指令執行;當引腳接低電平時,CPU只訪問片外ROM并執行片外程序存儲器中的指令。4.輸入/輸出端口P0、P1、P2和P3P0口〔32~39腳〕:8位漏極開路型雙向并行I/O口。P1口〔1~8腳〕:8位具有內部上拉電阻的準雙向I/O口。P2口〔21~28腳〕:8位具有內部上拉電阻的準雙向I/O口。P3口〔10~17腳〕:8位具有內部上拉電阻的準雙向I/O口,每一位又具有特殊功能〔第二功能〕,如表2-1所示。表2-1P3口引腳與特殊功能表端口引腳

特殊功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2

(外部中斷0)P3.3

(外部中斷1)P3.4T0(定時器0的外部輸入)P3.5T1(定時器1的外部輸入)P3.6

(外部數據存儲器寫選通)P3.7

(外部數據存儲器讀選通)(三)MCS-51單片機內部存儲器CPU訪問存儲器時,一個地址對應唯一的存儲器單元,可以是ROM,也可以是RAM,并用同類訪問指令,此種存儲器結構稱為普林斯頓結構。MCS-51單片機的存儲器在物理上是分開的,共有4個存儲空間:片內程序存儲器、片外程序存儲器、片內數據存儲器和片外數據存儲器,這種程序存儲器和數據存儲器分開的結構形式稱為哈佛結構。MCS-51單片機的存儲器從邏輯上劃分為3個存儲地址空間:片內外統一編址的64KB程序存儲器地址空間〔0000H~FFFFH〕,64KB片外數據存儲器地址空間〔0000H~FFFFH〕,256字節片內數據存儲器地址空間。CPU訪問片內、片外ROM指令用MOVC,訪問片外RAM指令用MOVX,訪問片內RAM指令用MOV。圖2-3為MCS-51單片機的存儲器配置。1、

程序存儲器

程序存儲器用來存放調試好的應用程序和表格常數。內部有ROM的單片機,在正常運行時應把引腳接高電平,使程序從內部ROM開始執行,當PC值超過內部ROM地址空間時,自動轉向外部ROM去執行程序。對內部無ROM的單片機,應始終接低電平,迫使CPU從外部ROM取指令。圖2-3MCS-51單片機的存儲器配置64KB程序存儲器中的7個入口地址具有特殊功能。0000H單元:程序的起始地址,系統復位后PC的值為0000H,0000H~0002H單元用于初始化,一般在起始地址單元中設置一條絕對轉移指令使之轉向主程序處執行。其他6個特殊功能的入口地址分別對應6種中斷源的中斷效勞程序入口地址,如表2-2所示。通常在中斷入口地址處寫一條跳轉指令,跳轉到中斷效勞程序處執行。

中斷向量入口地址表中斷源入口地址外部中斷00003H定時計數器T0溢出000BH外部中斷10013H定時計數器T1溢出001BH串行口中斷0023H定時計數器T2溢出或T2EX輸入負跳變002BH2、數據存儲器數據存儲器RAM用于存放運算的中間結果、數據暫存和緩沖等。數據存儲器地址空間由內部和外部數據存儲器空間組成,當訪問片內RAM時,用MOV類指令;當訪問片外RAM時,那么用MOVX類指令。片內數據存儲器在物理上又分為三局部:低128BRAM、高128BRAM〔僅52系列〕和特殊功能存放器〔SFR〕。(1).片外RAM片外RAM與片內RAM的低地址局部〔0000H~00FFH〕是重疊的。片內RAM使用MOV指令,片外64KBRAM空間專門為MOVX指令所用,采用R0、R1或DPTR存放器間接尋址方式訪問。如MOVXA,@DPTR。(2).片內RAM〔1〕低128BRAM〔00H~7FH〕片內RAM的低128BRAM由工作存放器區、位尋址區和數據緩沖區組成,如下圖。圖2-4低128BRAM區00H~1FH地址安排為4組工作存放器區,每組有8個工作存放器〔R0~R7〕,共占32個單元,見表2-3。通過對程序狀態字PSW中RS1、RS0的設置,每組存放器均可選作CPU的當前工作存放器組。表2-3工作存放器地址表RS1RS0寄存器組R0R1R2R3R4R5R6R700工作寄存器組000H01H02H03H04H05H06H07H01工作寄存器組108H09H0AH0BH0CH0DH0EH0FH10工作寄存器組210H11H12H13H14H15H16H17H11工作寄存器組38H19H1AH1BH1CH1DH1EH1FH內部RAM中的20H~2FH是16個單元的位尋址區,這16個單元共有128位,其位地址為00H~7FH。所謂位尋址是指CPU能直接對這些位進行置“1〞、清“0〞、求反、傳送等邏輯操作。

數據緩沖區是片內RAM中30H~7FH的80個單元,只能以存儲單元的形式使用,一般常把堆棧開辟于此區中。〔2〕高128BRAM〔80H~0FFH〕

該存儲區僅52子系列有,只可用間接尋址方式訪問。〔3〕特殊功能存放器〔SFR〕〔80H~0FFH〕該區存放相應功能部件的控制命令的狀態或數據,MCS-51系列單片機的特殊功能存放器共有22個,可直接尋址的有21個。①程序計數器PC〔ProgramCounter〕。PC是16位計數器,內容為將要執行的指令地址,有自動加1功能,以實現程序順序執行。PC沒有地址,不可以尋址。但在執行轉移、調用、返回等指令時自動改變其內容實現程序執行順序的改變。②累加器A〔ACC,Accumulator〕。ACC為8位存放器,用于寄放操作數,也是ALU運算結果的暫存單元,也是數據的中轉站,在變址尋址方式中把累加器作為變址存放器使用。因此累加器A使用非常頻繁。③存放器B。8位存放器,主要用于乘、除運算。④程序狀態字PSW〔ProgramStatusWord〕。8位存放器,存放指令執行的狀態信息。PSW的各位定義如下:位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標志CYACF0RS1RS0OV—PPSW各位的功能如下:CY〔PSW.7〕進位標志。加減法運算時如果結果的最高位〔D7位〕向上有進位或借位,CY置1,否那么清0。在位操作時CY又作為位累加器使用。AC〔PSW.6〕半進位標志。加減運算時如果運算結果低半字節〔D3位〕向高半字節有進位或借位,AC置1,否那么清0。F0〔PSW.5〕用戶標志位。RS1、RS0〔PSW.4、PSW.3〕工作存放器組選擇控制位。用軟件對RS1、RS0作不同組合,以確定工作存放器的組號。OV〔PSW.2〕溢出標志。帶符號數補碼運算時,如果有溢出,即當運算結果超出-128~+127的范圍時,OV置1;無溢出時OV清0。—〔PSW.1〕為保存位。P〔PSW.0〕奇/偶標志。每個指令周期均由硬件來置位或清0,以指出累加器A中1的個數的奇偶性。假設1的個數為奇數,那么P置位,否那么清0。⑤堆棧指針SP。堆棧是一個特殊的存儲區,暫存數據和地址,它是按“先進后出〞的原那么存放數據的。第一個進棧的數據所在的存儲單元稱為棧底,最后進棧數據的存儲單元叫做棧頂,SP是8位特殊功能存放器,始終指向棧頂在片內RAM中的位置,每存或取一字節數據SP就自動加或減1,系統復位后SP的初始值為07H,即堆棧實際從08H單元開始工作。⑥數據指針DPTR。DPTR是16位的特殊功能存放器,由高8位字節DPH和低8位字節DPL組成。用于存放16位地址,作間址存放器和基址存放器使用,以便訪問片外RAM和ROM。DPTR可以作為2個獨立的8位存放器DPH和DPL使用。⑦并行I/O接口P0、P1、P2和P3。均為8位,可以實現數據的輸入或輸出。〔四〕MCS-51單片機I/O端口電路、時鐘電路與工作方式1MCS-51單片機I/O端口的結構及使用方法MCS-51單片機內有4個8位并行I/O口,稱為P0、P1、P2和P3。每個端口都是8位準雙向I/O口,共占32個引腳。每個端口都包含一個鎖存器,一個輸出驅動器和一個輸入緩沖器。在具有片外擴展存儲器的系統中,P2口送出高8位地址,P0口為雙向總線,分時送出低8位地址和數據的輸入/輸出。〔1〕P0口P0口的字節地址為80H,位地址為80H~87H。圖2-5所示為P0口某一位的結構圖。它由一個輸出鎖存器、2個三態輸入緩沖器和輸出驅動電路及控制電路組成。圖中控制信號C的狀態決定轉換開關的位置。當C=0時,開關處于圖示位置;當C=1時,開關撥向反相器輸出端位置。圖2-5P0口某位結構圖〔2〕P1口P1口的字節地址為90H,位地址為90H~97H。圖2-6所示為P1口某一位的結構圖。它由一個輸出鎖存器、2個三態輸入緩沖器和輸出驅動電路組成。輸出驅動電路只有一個場效應管VT1,同時內部帶上拉電阻。圖2-6P1口某位結構圖〔3〕P2口P2口的字節地址為0A0H,位地址為0A0H~0A7H。圖2-7所示為P2口某一位的結構圖。它由一個輸出鎖存器、2個三態輸入緩沖器和輸出驅動電路及控制電路組成。輸出驅動電路只有一個場效應管VT1,同時內部帶上拉電阻。圖2-7P2口某位結構圖〔4〕P3口P3口的字節地址為0B0H,位地址為0B0H~0B7H。圖2-8所示為P3口某一位的結構圖。它由一個輸出鎖存器、3個三態輸入緩沖器和輸出驅動電路組成。輸出驅動電路只有一個場效應管VT1,同時內部帶上拉電阻。比P1口多了一個第二功能控制局部的邏輯電路。圖2-8P3口某位結構圖2、MCS-51單片機時鐘電路時鐘電路用于產生單片機工作所需的時鐘信號。單片機是一個復雜的同步時序電路,因此必須受控于唯一的時鐘信號,而時序所研究的那么是指令執行時各信號之間的相互時間關系。〔1〕單片機時鐘電路

單片機芯片內部有一個高增益反相放大器,用于構成振蕩器,XTAL1為反相放大器的輸入端,XTAL2為輸出端,兩端跨接石英晶體和兩個電容就構成穩定的自激振蕩器。電容器C1和C2通常取30pF左右,可穩定頻率并對振蕩頻率有微調作用。振蕩脈沖頻率范圍為fosc=0~24MHz。

單片機的時鐘電路有兩種方式:內部時鐘方式和外部時鐘方式。如圖2-9所示。圖2-9單片機的時鐘電路〔2〕CPU時序的幾個概念節拍與狀態周期節拍〔用P表示〕是指振蕩脈沖的周期。振蕩脈沖經過兩分頻后就是單片機的時鐘信號,把時鐘信號的周期定義為狀態〔用S表示〕。即一個狀態包含兩個節拍。時鐘周期也稱為狀態周期,它是計算機中最根本的時間單位。MCS-51單片機中一個時鐘周期為振蕩周期的2倍。機器周期和指令周期

一個機器周期是指CPU訪問存儲器一次所需要的時間,一個機器周期包括12個振蕩周期,分為6個狀態:S1~S6,每個狀態又分為兩個節拍。

指令周期是完成一條指令所需要的時間。MCS-51單片機系統中有單周期指令、雙周期指令和四周期指令。四周期指令只有乘、除兩條指令。振蕩周期=1/fosc狀態周期=2/fosc機器周期=12/fosc指令周期=〔1~4〕機器周期3、MCS-51單片機工作方式〔1〕復位操作

復位是單片機的初始化操作,使單片機系統處于初始狀態,并從這個狀態開始工作。即把PC初始化為0000H,使單片機從0000H單元開始執行程序。RST引腳是復位信號的輸入端,復位信號高電平有效,有效時間應持續24個振蕩周期〔即兩個機器周期〕以上。

復位操作有上電自動復位和按鍵手動復位兩種方式,如圖2-10所示。

上電自動復位是在加電瞬間電容通過充電來實現的。通電瞬間,電容C1通過電阻R充電,RST端出現正脈沖,用以復位。

手動復位是指通過接通一按鍵開關,使單片機進入復位狀態。該復位方式可以在不斷電源電的前提下實現復位,需要復位時按下按鍵開關,電阻R1和R

溫馨提示

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

評論

0/150

提交評論