單片機控制原理七八章_第1頁
單片機控制原理七八章_第2頁
單片機控制原理七八章_第3頁
單片機控制原理七八章_第4頁
單片機控制原理七八章_第5頁
已閱讀5頁,還剩52頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、單片機控制原理第一章 單片機的基礎知識第二章 MCS-51單片機結構及工作原理第三章 指令系統和匯編語言第四章 定時計數器第五章 串行通訊第六章 中斷處理第七章 單片機的存儲器擴展第八章 單片機IO擴展第七章 單片機的存儲器擴展在本章中,主要講以下幾個部分:總線擴展程序存儲器的擴展;數據存儲器的擴展; 單片微機系統總線擴展的方法有并行擴展法和串行擴展法兩種。 并行擴展法是指利用單片機本身具備的三組總線(AB、DB、CB)進行的系統擴展,并行擴展法應用較為廣泛。 串行擴展法利用SPI三線總線和I2C雙線總線進行系統擴展。甚至有的單片機應用系統可能同時采用并行擴展方法和串行擴展方法。5.2 系統總

2、線擴展一、總線擴展 圖1為單片機擴展成三總線的結構圖。擴展芯片與主機相連的方法同一般三總線結構的微處理機就完全一樣了。圖1 單片機擴展成三總線的結構圖(P164)ROM 的擴展容量為:2KB結論:1) 一片2716的容量為2 KB;2) 若將懸空的A11A15看作“0”,則 2716 的地址范圍為: 0000H07FFH;3) 若將懸空的A11A15看作“1” ,則 2716(B)的地址范圍為: F800HFFFFH;= 0 為片外ROM= 1 如果PC0FFFH(4KB)時,則CPU訪問片內ROM ,否則自動轉向外部ROM。擴展一片EPROM其結構如圖2所示,做一下說明:(1) 數據線:P0

3、口,實現D0D7 8位數據傳送。D0D7A0A7【例5.1】 給8051單片機的外圍擴展一片16K8位片外程序存儲器,畫出與單片機相連的地址線、數據線和控制線,并注明信號名稱。解:如圖5.6所示,選擇一片27C128的EPROM作為擴展存儲器即可達到16K8位的要求。在電路中接低電平,表示當前單片機訪問的是片外程序存儲器。27C128是16KB容量的EPROM,即214個存儲單元,占用14根地址線A0A13;硬件電路采用了典型常見的74LS373作為地址鎖存器。由于系統中只擴展了一片程序存儲器,所以27C128的片選端始終接地,一直有效。圖5.6 EPROM的擴展電路圖 對于上述要求,也可采用

4、兩片8K8位的EPROM進行擴展。兩片EPROM的地址線、數據線和上述連接方法一致,區別在于EPROM的選通信號(低有效)需要調整,即可利用單片機的高位空余地址線和程序存儲選擇信號線來共同控制和區分EPROM1、EPROM2。ABABDBDB1. 線選法擴展RAM注:M8282為8位寄存器緩存器2. 譯碼法擴展RAM譯碼法:采用譯碼電路來選擇所需要的芯片。常用的譯碼器有3-8譯碼器74LS138和2-4譯碼器74LS139,它們的引腳和功能如下:圖5 3-8譯碼器引腳及真值表圖5 用與非門組成的3線-8線譯碼器74LS138例:下面以2-4譯碼器為例,完成EPROM、RAM的擴展:EPROM

5、EPROM RAM RAM P2.7 P2.6P2.5P2.4P2. 3 P2.0P0.7 P0.027641#0000000000000000001111111111112#00100000000000000111111111111162641#0000000000000000001111111111112#010000000000000010111111111111RAM擴展電路P2.7 P2.6P2.5P2.4P2. 3 P2.0P0.7 P0.062641#0110000000000000111111111111112#1010000000000001011111111111113 #

6、110000000000000110111111111111本章重點: 掌握三總線(AB、DB、CB)擴展法 ,實現ROM和RAM擴展;掌握ROM擴展,特別時“27”系列芯片的擴展容量、地址范圍及控制信號的接線;掌握RAM擴展,特別時“6”開頭系列芯片的擴展容量、地址范圍及控制信號的接線。第八章 單片機I/O的擴展 8255可編程并行輸入/輸出接口芯片是Intel公司 MCS-80/85微處理器擴展系統所用的標準外圍接口電路。它采用的NMOS工藝制造。一、 可編程的并行I/O接口8255 (P116)8255A8255A 引腳說明:具有40個引腳,DIP 封裝(雙列直插是封裝) 單一 +5V電

7、源,全部輸入輸出均與TTL電平兼容。有A、B、C三個端口,24條I/O線。 三個輸入輸出端口(端口A、端口B、端口C)。每個端口都可通過編程設定為輸入端口或輸出端口; 8. 1 8255A的內部結構及功能(P116)1. 主要引腳D0D7:數據線,雙向,連CPU數據總線;RESET:復位輸入,接系統總線的RESET; :片選控制輸入,接譯碼器; :讀命令輸入,接CPU的RD或IOR; :寫命令輸入,接CPU的WR或IOW;A0,A1:片內端口地址輸入,可選4個片內端口。接地址線AB的任2位。8255圖8.1 8255A 內部結構框圖與引腳排列I/O控制信號數據信號工作方式8255A內部結構框圖

8、如圖8. 1所示,它由以下四部分組成:(1)三個并行輸入/輸出端口(端口A、端口B、端口C) 8255A有A、B、C三個并行輸入/輸出端口(簡稱為A口、B口、C口),其功能全部由程序設定,但每個端口都有自己的功能特點。 A口:獨立的8位I/O口,它的內部有對數據輸入/輸出的鎖存功能。 B口:獨立的8位I/O口,僅對輸出數據的鎖存功能 。 C口:獨立的8位I/O口; C口即可作為 8位I/O端口使用, 也可以看作是兩個獨立的4位I/O口。僅對輸出數據進行鎖存。表8.1 8255A 端口功能(P117) A口、B口通常作為獨立的I/O端口使用, 但當A口、B口作為應答式的I/O口使用時,C口分別用

9、來為A口、B口提供應答控制線。此時C口分為A組C口(或稱上C口)、B組C口(或稱下C口),規定分別用來作為A口和B口的應答控制線使用。 各端口的功能如表8.1所示。A1A0(2)讀/寫控制邏輯讀/寫控制邏輯的功能用于管理數據、控制字或狀態字的傳送。它接收來自CPU的地址信息及一些控制信號,然后向A組、B組控制電路發送命令,控制端口數據的傳送方向。其控制信號有:片選,輸入信號,低電平有效。當 ,允許 8255A與 CPU 交換信息。信號通常由端口地址線(16位地址號取自A15A2,8位地址號取自A7A2)譯碼產生。讀信號,低電平有效。當=0時,允許CPU從8255A端口中讀取數據或外設狀態信息。

10、寫信號,低電平有效。當=0時,允許CPU將數據、控制字寫入到8255A中。RESET復位信號,高電平有效。它清除8255A所有控制寄存器內容,并將各端口都置成輸入方式。這樣做的目的是防止損壞連接在端口線上的電路。因為如果端口被初始化為輸出狀態,則端口有可能向設備的輸入端發送數據,造成沖突,從而損壞設備或端口。A1、A08255A片內端口尋址地址線。它們與、 及信號相配合用作選擇端口及內部控制寄存器的地址信息,并控制信息傳送的方向。 CPU A0地址線一般為低電平,保證端口都是偶地址,數據在D0D7總線上傳輸。 8255A 端口、控制寄存器的尋址及控制的操作功能如表8.2所示。A1 A0操 作0

11、010010A口、B口、C口數據總線(讀操作)0010100數據總線A口、B口、C口(寫操作)11100數據總線控制寄存器(寫操作)表8.2 8255A端口選擇及操作功能表(P118)轉至應用3A組和B組控制電路作用:接收來自CPU的讀/寫控制部分的信號和CPU送入的控制字,然后分別決定各端口的功能。 A組控制電路控制端口A和C的高4位(PC7PC4); B組控制電路控制端口B和C的低4位(PC3PC0)。 根據控制字對端口C的某位實現“置0”或“置1”的操作。4數據總線緩沖器作用:與系統的數據總線直接相連,作為一個雙向三態的8位緩沖器,實現在CPU和8255A間傳送信息。28255A的控制字

12、8255A有兩個控制字,一個是工作方式控制字,另一個是對端口C的置位/復位控制字。1) 工作方式控制字端口A: 可工作在方式0、1、2三種方式; 端口B: 可工作在方式 0和1兩種; 端口C: 只能工作在方式0。8255A工作方式控制字的格式如圖8.14所示。28255A的控制字8255A有兩個控制字,一個是工作方式控制字,另一個是對端口C的置位/復位控制字。1) 工作方式控制字端口A: 可工作在方式0、1、2三種方式; 端口B: 可工作在方式 0和1兩種; 端口C: 只能工作在方式0。8255A工作方式控制字的格式如圖8.14所示。圖8.14 8255A工作方式控制字的格式(P121)D7:

13、 用于區分8255A的兩種控制字。 當D7=1時,為工作方式控制字; 當D7=0時,為對端口C的置位/復位控制字。 只要CPU對8255A送入方式控制字,就可以決定A口、B口、C口的工作方式及相應的操作功能。這種對可編程序接口電路送入控制字,從而設定接口功能的程序,稱為“接口(功能)初始化程序”。3. 以8255為例實現I/O口的擴展 實現: PA口作為控制輸出口、方式0輸出; PB口作為開關狀態輸入口、方式0輸入 。圖8-2 8051與8255間的連接開關輸入控制輸出02根00分析: PA口作為控制輸出口、方式0輸出; PB口作為開關狀態輸入口、方式0輸入輸出:00100結論: 控制字為82

14、H.8255三個通道的端口和片內的控制寄存器的地址為:典型的數據采集與處理 ADC 0809八位逐次逼近式A/D轉換器是一種單片CMOS器件, 有8個模擬輸入通道IN0IN7.1. ADC0809 介紹及應用(p174)OE:讀允許信號,高電平有效, OE=1時轉換結果到數據線上;CLK:時鐘輸入端,由外部提供,其時鐘頻率決定轉換時間的長短,時鐘頻率的范圍為10-1.2MHZ;當時鐘頻率為1.28MHZ時,轉換時間為50S;當時鐘頻率為640KHZ時,轉換時間為100SVREF(+)、VREF(-):參考電壓輸入端,要求為高精度的電源;VCC:+5V電源輸入;GND:地。START:啟動信號輸

15、入端,上升沿清零,下降沿有效;ALE:地址鎖存信號,用來鎖存ADDAADDC的地址輸入,上升沿有效;EOC:轉換結束信號,高電平表示一次變換已結束;該信號可以作為轉換完成后的中斷信號線,給8259的IRN。說明: 1)每個通道選擇線ADDA, ADDB, ADDC來決定。 2) IN0IN7的8個通道的地址分別為7FF8H7FFFH. 3) 下降沿使START及ALE信號變高電平有效來鎖存地址信號。 4) 上升沿,START由高變低來啟動A/D轉換。ADC0809 應用ADC08098051IN0IN774LS373解: (1)分辨率:輸入給DAC的單位數字量變化引起的模擬量的輸出變化。 只有

16、當P2.7=0且 = 0,則START有效,即啟動數據轉換。片選信號只有當為 =0 且 P2.7=0 才有效。即P2.7 為低電平n :轉換器二進制位數(2)P2.7P2.6P2.0P0.7P0.3P0.2P0.00X(懸空)111 1111X(懸空)1111 1000111 所以: IN0IN7 8通道的地址信號分別為: 7FF8H7FFFH (3)若 0809每轉換一次需要用100 ,要求將8個模擬量順序進行A/D轉換,轉換的結果依次放入首地址為50H的片內RAM中。(P174)ADC0809_SUB: MOV R1 , #50H MOV DPTR , #7FF8H MOV R7 , #08HLOOP1: MOVX DPTR, A MOV R0, #25 $: DJNZ R0, $ MOVX A, DPTR MOV R1 , A INC DPTR INC R1 DJNZ R7, LOOP1;寫信號, 啟動START轉換;讀信號,讀信號加到 上轉至本章重點只有當P2.7=0且 = 0,則START有效,即啟動數據轉換。片選信號只有當為 =0 且 P2.7=0 才有效。分析: 說明:P2.7和 -START轉化啟動

溫馨提示

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

評論

0/150

提交評論