微機原理與接口技術C8051F_第1頁
微機原理與接口技術C8051F_第2頁
微機原理與接口技術C8051F_第3頁
微機原理與接口技術C8051F_第4頁
微機原理與接口技術C8051F_第5頁
已閱讀5頁,還剩200頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

微機原理與接口技術葉選沈陽建筑大學信息與控制工程學院P3口的第二功能端口的負載能力及接口要求

1.P0口的輸出級的每一位可驅動8個LSTTL門。2.P1口~P3口的輸出級的每一位可驅動4個LSTTL門電路輸入。3.CHMOS端口只能提供幾個mA的輸出電流。4.P0~P3口都是準雙向I/O口,作輸入時,必須先在相應端口鎖存器上寫“1”,使驅動FET截止。系統復位時,端口鎖存器為全“1”。I/O端口應用舉例I/O端口應用舉例功能:上電復位所有燈滅。K7閉合,即P3.0為低電平時,將P2.0~P2.3口內容送P1.0~P1.3口輸出;將P3.4~P3.6口內容送P1.4~P1.6口輸出;P1.7口輸出高電平,即LED7滅。K7斷開,即P3.0為高電平,P1.7口輸出低電平,即LED7亮;P1.0~P1.6全部輸出高電平,即LED0~LED6滅。

開始復

位P3.0=1?屏蔽P2口的高4位→(R1)屏蔽P3口的低4位→(A)(A)∨(R1)→(A)將(A)的最高位置1(A)→(P1)#7FH→(P1)所有燈滅PI0PI1YNI/O端口應用舉例并行接口設計性實驗

實驗第一部分并行接口設計性實驗并行接口設計性實驗并行接口設計性實驗并行接口設計性實驗實驗第一部分(1)當P1.7為1時,發光二級管由LED1→LED6依次循環閃亮(燈亮時間通過調用監控程序中的延時子程序LO36設定)。并行接口設計性實驗

實驗第一部分并行接口設計性實驗實驗第一部分延時子程序已編制好,存放在Dais目錄的Test文件夾內,可復制在實驗程序后面使用,調用前先將延時時間常數送入R6工作寄存器。延時子程序LO36LO36:MOVR7,#00HLO35:DJNZR7,LO35DJNZR6,LO36RET并行接口設計性實驗實驗第一部分(2)當P1.7為0時,發光二級管LED1~LED6顯示開關K1~K6的設置情況(開關閉合,發光二極管亮;開關斷開,發光二極管滅)。并行接口設計性實驗實驗第一部分并行接口設計性實驗實驗第二部分①利用實驗系統的并行接口電路、開關和發光二級管等,設計出彩燈控制器的實驗電路,接好線路。要經過實驗指導教師檢查過線路連線后,再開始進行實驗。并行接口設計性實驗實驗第二部分②設計要求:自行設計各種彩燈閃亮方式,彩燈閃亮方式應不少于兩種,并可控制。要求新穎、變化多樣、有創意。③編制彩燈控制器程序。④調試程序達到控制彩燈閃爍的目的。一、定時/計數器0和1的模式0二、定時/計數器0和1的模式1三、定時/計數器0和1的模式2四、定時/計數器0的模式3定時/計數器0、1的模式控制寄存器TMOD

注:復位時各位為零。

定時/計數器0、1的狀態控制寄存器TCON

注:復位時各位為零。

例1:在單片機的P1.7端接有一個發光二極管LED,要求利用定時控制LED亮一秒,滅一秒,周而復始。LED100ms100ms例2:利用定時器產生1ms定時,并使P1.0引腳輸出周期為2ms的方波,設單片機晶振頻率為6MHz。

定時1ms的初值:機器周期=12÷6MHz=2μs計算T0的初值X:(213-X)×2μs=1msX=7692=1E0CH=11110000

01100B8位5位例3:利用定時/計數器T1門控信號GATE功能,測量引腳上正脈沖信號的寬度(單位為機器周期)。

并行通信串行通信通信方式

1.單工方式

通信方式2.半雙工方式

通信方式3.全雙工方式

同步方式

1.異步傳送方式

同步傳送方式2.同步傳送方式

計算機通信是一種數字信號的通信

采用基帶數據傳輸

采用調制解調器傳送

采用調制解調器傳送采用電流環傳送

串行口控制寄存器SCON

D7D6D5D4D3D2D1D0

SM0SM1SM2RENTB8RB8TIRI注:復位時各位為零。

串行口控制寄存器SCON1.SM0、SM1:串行口工作方式選擇位SM0SM1方式功能波特率000110110123同步移位寄存器8位異步接收發送器9位異步接收發送器9位異步接收發送器fOSC/12可變(T1溢出率)fOSC/64或fOSC/32可變(T1溢出率)串行口控制寄存器SCON

D7D6D5D4D3D2D1D0

SM0SM1SM2RENTB8RB8TIRI注:復位時各位為零。

串行口控制寄存器SCON2.REN:允許串行接收控制位

若REN=0,則禁止接收;若REN=1,則允許接收

串行口控制寄存器SCON

D7D6D5D4D3D2D1D0

SM0SM1SM2RENTB8RB8TIRI注:復位時各位為零。

串行口控制寄存器SCON3.TB8:要發送的第9位數據位

4.RB8:接收到的第9位數據位

串行口控制寄存器SCON

D7D6D5D4D3D2D1D0

SM0SM1SM2RENTB8RB8TIRI注:復位時各位為零。

串行口控制寄存器SCON

5.TI:發送中斷標志位方式0:當發送第8位結束后置位TI其它方式:發送到停止位的中間便置位TI

6.RI:接收中斷標志位方式0:當接收到的第8位結束后,置位RI其它方式:接收到停止位的中間便置位RI

串行口控制寄存器SCON

D7D6D5D4D3D2D1D0

SM0SM1SM2RENTB8RB8TIRI注:復位時各位為零。

串行口控制寄存器SCON

7.SM2:多機通信控制位在方式0時,SM2必須為0。

在方式2和方式3中當SM2=1時,接收到的數據中若:0,不接收數據,RI=0,不產生中斷請求RB8位=1,接收數據,使RI=1,產生中斷請求當SM2=0時,接收到的數據中0RB8位=都接收數據,使RI=1,產生中斷請求1電源控制寄存器PCON

D7D6D5D4D3D2D1D0SMOD87H注:復位時各位狀態為0XXXXXXXB。串行口數據緩沖器SBUF

串行口工作方式0發送串行口工作方式0接收串行口工作方式1發送串行口工作方式1接收例:編制發送方發送一個數據字節及其奇偶校驗位的程序。

串行口方式設置:SM0SM1SM2RENTB8RB8TIRI10000000例:編制接收方設法取出奇偶校驗位進行核對,相應的接收程序。

串行口方式設置:SM0SM1SM2RENTB8RB8TIRI10010000一、方式0的波特率

串行口方式0的波特率=fosc/12

二、方式2的波特率

串行口方式2的波特率=fosc×2SMOD/64

三、方式1、方式3的波特率

式中:X——T1的初值

增強型MCS-51系列單片機的波特率

波特率(方式1、方式3)

式中:(RCAP2H,RCAP2L)——16位無符號整數。

例1:串行口的方式0用于鍵盤和顯示器的控制。

例1:串行口的方式0用于鍵盤和顯示器的控制。顯示器段碼字形abcdefgDP代碼(H)000000011031100111119F200100101253000011010D410011001995010010014960100000141例1:串行口的方式0用于鍵盤和顯示器的控制。串行口實驗

串行口實驗

編程要求:開機運行,數碼管LED全部暗。用開發機的數字鍵盤輸入數字,數碼管由左向右依次顯示輸入的數字。當輸入的數字位數超出4個時,顯示最后輸入的4個數字。程序由顯示子程序、鍵盤掃描子程序KEY(延時子程序已編制好,存放在Dais目錄的Test文件夾內,可復制在實驗程序后面使用)和主程序組成。串行口實驗主程序的任務:設置堆棧,將串行口編程為方式0,處于發送狀態,并使4個數碼管全暗;調用鍵盤掃描子程序KEY,等待鍵盤輸入數字;調用顯示子程序,將從鍵盤輸入的數字顯示出來;等待輸入新的數字和進行顯示。例2:用串行口方式1建立點對點的異步通信模型

①兩片8051的串行口直接相連

例2:用串行口方式1建立點對點的異步通信模型②采用RS-232—C標準接口連接

通信協議通信協議例3:利用串行通訊方式2、方式3的第9個數據位,進行數據通訊。

單片機系統多機通信是利用SM2的多機通信機制來實現的,主要包括以下幾個步驟:從機設置本機的SM2=1,使各從機處于接收地址(第9位為1)的狀態,各從機有不同的地址號;主機以第9位為1的地址形式發送某從機地址號;單片機系統多機通信是利用SM2的多機通信機制來實現的,主要包括以下幾個步驟:3.各從機收到地址號時與本機設定的地址號進行比較,地址號相同的從機使SM2=0(接收數據狀態),其它從機SM2=1保持不變;單片機系統多機通信是利用SM2的多機通信機制來實現的,主要包括以下幾個步驟:被尋址從機向主機發送本機地址號及狀態,以示從機可否進行通信。主機確認后可以以數據方式(第9位改為0)與被尋址從機進行數據交換。

單片機系統多機通信是利用SM2的多機通信機制來實現的,主要包括以下幾個步驟:若主機收到錯誤信息,發復位信號(可發任意數據,但第9位為1應保持不變)。從機收到復位信號(第9位為1)后,重置SM2=1。中斷入口地址

中斷源中斷入口地址外部中斷INT00003H定時器中斷T0000BH外部中斷INT10013H定時器中斷T1001BH串行口中斷0023H

復位時程序入口地址0000H

TCON定時/計數器控制寄存器

(與中斷有關的位)

注:復位時各位為零。

SCON串行口控制寄存器

(與中斷有關位)

注:復位時各位為零。

IE中斷允許寄存器

注:復位時各位狀態0XX00000B(禁止一切中斷)

IP中斷優先級寄存器

注:復位時各位狀態為:XXX00000B。采用邊沿觸發的外部中斷實驗響應中斷期間單片機自動完成的動作:

1.將相應的優先級有效觸發器置位(禁止同級和低級中斷)。2.清除中斷請求標志(此處,令IE0=0)。3.執行一個硬件子程序

中斷硬件子程序把PC的內容(斷點處的地址)壓入堆棧把中斷入口地址(此處為0003H)裝入PC由中斷入口地址跳到中斷服務程序——響應中斷。

響應中斷期間單片機自動完成的動作:4.完成中斷服務程序執行RETI指令將優先級有效觸發器復位(允許同級和低級中斷)把保存在堆棧的斷點地址重新裝入PC

退出中斷,繼續執行主程序。采用電平觸發方式的外部中斷多級中斷的優先級管理

多級中斷的執行過程設有低優先級的中斷服務程序正在執行中,現有高優先級的中斷申請產生,CPU會自動把低優先級服務程序的下一條指令的地址(PC指針的當前值)入棧保護,把高優先級中斷服務程序的入口地址送入PC,使CPU轉而進入高優先級服務程序執行。待執行完高優先級服務程序后,執行RETI中斷返回指令,被中斷的低優先級服務程序的地址出棧送入PC,使得CPU繼續為低優先級服務程序服務,直到執行RETI返回到主程序繼續執行。

中斷優先級的排隊鏈路

中斷舉例:單步操作

MCS—51單片機的擴展總線

D觸發器74LS273

鎖存器74LS373和8282EPROM程序存儲器EPROM程序存儲器腳方式VPPD0~D7讀VLVLVHVCC數據輸出維持VHXXVCC高阻編程VLVHVLVPP數據輸入編程校驗VLVLVHVPP數據輸出編程禁止VHXXVPP高阻2764方式選擇2864方式選擇腳方式D0~D7讀VLVLVH數據輸出維持VHXX高阻編程VLVHVL數據輸入編程校驗VLVLVH數據輸出編程禁止VHXX高阻WE程序存儲器的操作時序

擴展2KB程序存儲器擴展一片4KB程序存儲器擴展一片8KB程序存儲器RAM數據存儲器6116的工作方式

腳功能寫VLVLVHD0~D7上內容寫入A0~A10對應單元讀VLVHVLA0~A10對應單內容輸出到D0~D7非選VHXXD0~D7呈高阻非選XVHVHD0~D7呈高阻方式CEWEOERAM數據存儲器6264的工作方式

腳功能寫VHVLVLVHD0~D7上內容寫入A0~A12對應單元讀VHVLVHVLA0~A12對應單內容輸出到D0~D7非選X/VLVH/XXXD0~D7呈高阻非選XXVHVHD0~D7呈高阻CE1WEOE方式CE2從外部數據存儲器讀數的時序

擴展的基本方法擴展的基本方法

擴展一片8KB數據存儲器1.線選法尋址擴展存儲器2.譯碼法尋址擴展存儲器139的真值表

2.譯碼法尋址擴展存儲器1.用74LS2738D觸發器作擴展輸出

74LS273邏輯功能表輸入輸出CLRCLKDQVLXXVLVHVHVHVHVLVL1.用74LS2738D觸發器作擴展輸出2.用三態門作輸入口

3.用串行口擴展并行輸出口

3.用串行口擴展并行輸入口

用專用芯片擴展接口

一些常用的擴展芯片:8255可編程的并行接口片8251可編程的通信接口8273可編程的HDLC/SDLC控制器8253可編程時間間隔定時器8279/78可編程鍵盤/顯示接口(64/128鍵)8295點陣式打印機控制器8255芯片的邏輯結構

8255口地址選擇

單片機與8255的連接8255方式0——基本輸入/輸出方式PA口PB口可分別設定為輸入/輸出口PC口(高4位)PC口(低4位)8255方式1——選通輸入/輸出方式8255方式1——選通輸入方式PC0——INTRB(B口中斷請求)1:有中斷請求PC1——IBFB(B口輸入緩沖器滿)1:收到外設送來的數據PC2——STBB(B口選通)0:外設將數據送入鎖器8255方式1——選通輸入方式PC3——INTRA(A口中斷請求)1:有中斷請求PC4——STBA(A口選通)0:外設將數據送入鎖器PC5——IBFA(A口輸入緩沖器滿)1:收到外設送來的數據8255方式1——選通輸入方式PC6——I/OPC7——I/O

8255方式1——選通輸出方式PC0——INTRB(B口中斷請求)1:有中斷請求PC1——OBFB(B口輸出緩沖器滿)0:CPU向口寫入數據PC2——ACKB(B口響應輸入)0:數據已由外設取走8255方式1——選通輸出方式PC3——INTRA(A口中斷請求)1:有中斷請求PC6——ACKA(A口響應輸入)0:數據已由外設取走PC7——OBFA(A口輸出緩沖器滿)0:CPU向口寫入數據8255方式1——選通輸出方式PC4——I/OPC5——I/O8255方式2——雙向總線方式A口為8位雙向總線口,C口的PC3~PC7用作為輸入/輸出的控制同步信號B口和C口的PC0~PC2只可為方式0或方式1工作

8255方式2——雙向總線方式PC3——INTRA(A口中斷請求)1:請求中斷PC4——STBA(A口選通)0:外設已將數據送入鎖存器PC5——IBFA(A口輸入緩沖器滿)1:數據還未被CPU讀取8255方式2——雙向總線方式PC6——ACKA(A口響應信號)0:外設數據被外設取走PC7——OBFA(A口輸出緩沖器滿)0:CPU把數據輸出至A口

8255的控制字寄存器

1.方式選擇控制字2.C口置位/復位控制字

用8255構成一個EEPROM2864高速寫入編程器用8255構成一個EEPROM2864高速寫入編程器

2864方式選擇腳方式D0~D7讀VLVLVH數據輸出維持VHXX高阻編程VLVHVL數據輸入編程校驗VLVLVH數據輸出編程禁止VHXX高阻WE8255的控制字

10000000方式置方式0A口C口高4位方式0B口C口低4位標志輸出輸出

輸出輸出└A─組┘└

溫馨提示

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

評論

0/150

提交評論