單片機(jī)輸入和輸出_第1頁(yè)
單片機(jī)輸入和輸出_第2頁(yè)
單片機(jī)輸入和輸出_第3頁(yè)
單片機(jī)輸入和輸出_第4頁(yè)
單片機(jī)輸入和輸出_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)輸入和輸出第1頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.1.2I/O接口的構(gòu)成

一個(gè)典型的I/O接口如圖所示。其中有數(shù)據(jù)端口、狀態(tài)端口和控制端口。CPU通過(guò)這些端口與外部設(shè)備之間進(jìn)行信息的傳送。通常將信息按各自的作用分成以下三種。第2頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月1.數(shù)據(jù)信息數(shù)據(jù)信息是最基本的一種信息,按其數(shù)據(jù)的表示形式又可以分為以下幾種。(1)數(shù)字量用8位二進(jìn)制數(shù)或是以ASCII碼表示的數(shù)據(jù)或字符。開(kāi)關(guān)量是表示兩個(gè)狀態(tài)的量,實(shí)際上它可表示為一位或多位二進(jìn)制數(shù)字量。脈沖量也是一種數(shù)字量,計(jì)數(shù)脈沖、定時(shí)脈沖等在計(jì)算機(jī)控制系統(tǒng)中也很常見(jiàn)。(2)模擬量當(dāng)微型機(jī)用于控制、檢測(cè)或數(shù)據(jù)采集時(shí).大量的現(xiàn)場(chǎng)信息是連續(xù)變化的物理量(如溫度、壓力、流量.位移等).這些物理量經(jīng)過(guò)傳感器變換成電量,并經(jīng)放大得到模擬電壓或電流.這些模擬量必須再經(jīng)過(guò)A/D轉(zhuǎn)換后.把它們變成數(shù)字量才能輸入計(jì)算機(jī)。計(jì)算機(jī)的輸出也必須先經(jīng)過(guò)D/A轉(zhuǎn)換,把數(shù)字量變成模擬量后再控制執(zhí)行機(jī)構(gòu)。第3頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月2.狀態(tài)信息輸入設(shè)備的“準(zhǔn)備就緒”,輸出設(shè)備的“忙”信號(hào)等。CPU根據(jù)外設(shè)的狀態(tài),決定是否輸入或輸出數(shù)據(jù)。3.控制信息控制信息是在傳選過(guò)程中.CPU發(fā)送給外設(shè)的命令.用于控制外設(shè)的工作。例如,控制設(shè)備的起停第4頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.1.3 I/O端口的地址分配首先清楚I/O接口(Interface)和I/O端口(Port)的概念。一個(gè)I/O接口芯片可以有多個(gè)I/O端口,(1)數(shù)據(jù)口(2)控制口(3)狀態(tài)口I/O端口編址兩種方式:獨(dú)立編址與統(tǒng)一編址。1.獨(dú)立編址方式I/O寄存器地址空間和存儲(chǔ)器地址空間分開(kāi)編址,但需專門讀寫I/O的指令和控制信號(hào)。2.統(tǒng)一編址方式I/O寄存器與數(shù)據(jù)存儲(chǔ)器單元同等對(duì)待,統(tǒng)一編址。不需要專門的I/O指令,直接使用訪問(wèn)數(shù)據(jù)存儲(chǔ)器的指令進(jìn)行I/O操作,簡(jiǎn)單、方便且功能強(qiáng)。MCS-51使用統(tǒng)一編址的方式每一接口芯片中的一個(gè)功能寄存器(端口)的地址就相當(dāng)于一個(gè)RAM單元。第5頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月擴(kuò)展I/O口與外部RAM統(tǒng)一編址使用同樣的指令MOVX訪問(wèn)注意控制總線RD/WR的接法第6頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.2微型機(jī)與外設(shè)之間的數(shù)據(jù)傳送方式微型機(jī)與外設(shè)之間的數(shù)據(jù)傳送方式可歸納為三種:程序傳送、中斷傳送和DMA傳送。7.2.1程序傳送不是傳送程序程序傳送,是指CPU與外設(shè)之間的數(shù)據(jù)傳送在程序控制下進(jìn)行的一種方式,它又分為無(wú)條件傳送和條件傳送兩種。1.同步傳送方式(無(wú)條件傳送)當(dāng)外設(shè)速度和單片機(jī)的速度相比擬時(shí),常采用同步傳送方式,最典型的同步傳送就是單片機(jī)和外部數(shù)據(jù)存儲(chǔ)器之間的數(shù)據(jù)傳送。適用于對(duì)簡(jiǎn)單的I/O設(shè)備(如開(kāi)關(guān)、LED顯示器、繼電器等)的操作,或者I/O設(shè)備的定時(shí)固定或已知的場(chǎng)合。2.查詢傳送方式(條件傳送,異步式傳送)查詢外設(shè)“準(zhǔn)備好”后,再進(jìn)行數(shù)據(jù)傳送。優(yōu)點(diǎn):通用性好,硬件連線和查詢程序十分簡(jiǎn)單,缺點(diǎn):效率不高。為提高效率,通常采用中斷傳送方式。第7頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.2.2中斷傳送外設(shè)準(zhǔn)備好后,發(fā)中斷請(qǐng)求,單片機(jī)進(jìn)入與外設(shè)數(shù)據(jù)傳送的中斷服務(wù)程序,進(jìn)行數(shù)據(jù)的傳送。中斷服務(wù)完成后又返回主程序繼續(xù)執(zhí)行。工作效率高。7.2.3直接存儲(chǔ)器存取傳送(DMA——DirectMemoryAccess)是一種由專門的硬件DMA控制器(DMAC)來(lái)控制的傳送方式。在DMAC的控制下,外設(shè)接口可直接與內(nèi)存進(jìn)行高速的數(shù)據(jù)傳送,而不必經(jīng)過(guò)CPU,于是進(jìn)行傳送時(shí)就不必作保護(hù)現(xiàn)場(chǎng),恢復(fù)現(xiàn)場(chǎng)之類的額外操作。DMA方式主要是通過(guò)硬件來(lái)實(shí)現(xiàn)的,因而傳送速率很高,數(shù)據(jù)傳送的速度基本上取決于外設(shè)和存儲(chǔ)器的速度。DMA方式特別適用于大批量數(shù)據(jù)的高速傳送。第8頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.3MCS—51的并行I/O口單片機(jī)總共有P0、P1、P2、P3四個(gè)8位雙向輸入輸出端口,每個(gè)端口都有鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器。4個(gè)I/O端口都能作輸入輸出口用,其中P0和P2通常用于對(duì)外部存儲(chǔ)器的訪問(wèn),P3口具有雙功能真正用作I/O口線的只有P1口的8位I/O線和P3口的某些位線。P0是真正的雙向I/O口P1、P2、P3是準(zhǔn)雙向I/O口第9頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.4MCS—51并行口的擴(kuò)展真正用作I/O口線的只有P1口的8位I/O線和P3口的某些位線。在多數(shù)應(yīng)用系統(tǒng)中,MCS-51單片機(jī)都需要外擴(kuò)I/O接口電路。7.4.1用TTL芯片擴(kuò)展并行I/O口7.4.1.1總線擴(kuò)展法TTL芯片常用的有:373,273,244,245等,一般擴(kuò)展P0口第10頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月因?yàn)?4LS273和74LS244都是在P2.0為0時(shí)被選通,所以二者地址都可以為FEFFH。兩個(gè)芯片的地址雖然相同,但可以通過(guò)讀寫操作來(lái)區(qū)別編程應(yīng)用如下:微型機(jī)與外設(shè)之間的數(shù)據(jù)傳送方式為程序傳送的同步傳送方式 (無(wú)條件傳送)MOVDPTR,#0FEFFH;指向口地址MOVXA,@DPTR;指向74LS244讀入數(shù)據(jù),檢測(cè)按鍵MOVX@DPTR,A;指向74LS273輸出數(shù)據(jù),驅(qū)動(dòng)LEDSJMP$當(dāng)P2.0=0,WR*=0(RD*=1)選中寫74LS273,8031通過(guò)P0口輸出數(shù)據(jù)到74LS273,當(dāng)P2.0=0,RD*=0(WR*=1)時(shí)選中讀74LS244,

某開(kāi)關(guān)按下時(shí)則對(duì)應(yīng)位輸入為“0”。第11頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.4.1.2串行口擴(kuò)展法7.4.1.2串行口擴(kuò)展法利用74LS164擴(kuò)展二個(gè)8位并行輸出口的接口電路。第12頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月例編寫將內(nèi)部RAM單元30H、31H的內(nèi)容經(jīng)串行口由74LS164并行輸出的子程序。START:MOVR7,#02H ;設(shè)置要發(fā)送的字節(jié)個(gè)數(shù)

MOVR0,#30H ;設(shè)置地址指針

MOVSCON,#00H;設(shè)置串行口為方式0SEND: MOVA,@R0 MOVSBUF,A;啟動(dòng)串行口發(fā)送過(guò)程WAIT: JNBTI,WAIT ;1幀數(shù)據(jù)未發(fā)完,循環(huán)等待

CLRTI INCR0 ;取下一個(gè)數(shù)

DJNZR7,SEND ;未完,發(fā)完從子程序返回

RET第13頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.4.2用8255A可編程器件擴(kuò)展并行接口7.4.2.18255A芯片內(nèi)部結(jié)構(gòu)8255A是Intel公司生產(chǎn)的可編程并行I/O接口芯片,具有3個(gè)8位的并行I/O口,3種工作方式,可通過(guò)編程改變其功能,因而使用靈活方便,通用性強(qiáng)。第14頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.4.2.28255A引腳說(shuō)明40只引腳,雙列直插式封裝,引腳功能如下:1.數(shù)據(jù)線D7~D0:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)數(shù)據(jù)總線連接PA7~PA0:A口輸入/輸出線。PB7~PB0:B口輸入/輸出線。PC7~PC0:C口輸入/輸出線。尋址線CS*:片選信號(hào)線,低電平有效,表示本芯片被選中A1、A0:地址線,用來(lái)選擇8255A內(nèi)部的4個(gè)端口。當(dāng)CS*=0,A1和A0的4種組合

00,01,10,11分別選擇A、B、C口和控制寄存器3.控制線RD*:讀出信號(hào)線,控制8255A中數(shù)據(jù)的讀出高WR*:寫入信號(hào)線,控制向8255A數(shù)據(jù)的寫入。第15頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月A1A0RD*WR*CS*工作狀態(tài)00010讀端口A:A口數(shù)據(jù)→數(shù)據(jù)總線讀端口B:B口數(shù)據(jù)→數(shù)據(jù)總線讀端口C:C口數(shù)據(jù)→數(shù)據(jù)總線010101001000100寫端口A:總線數(shù)據(jù)→A口寫端口B:總線數(shù)據(jù)→B口寫端口C:總線數(shù)據(jù)→C口寫控制字:總線數(shù)據(jù)→控制字寄存器011001010011100××××1數(shù)據(jù)總線為三態(tài)11010非法狀態(tài)××110數(shù)據(jù)總線為三態(tài)第16頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.4.2.38255A的工作方式8255A有三種工作方式:方式0:基本輸入輸出;(2)方式1:選通輸入輸出;(3)方式2:雙向傳送(僅A口有)。1.工作方式選擇控制字三種工作方式由方式控制字來(lái)決定??刂谱指袷饺缦?。例

8255A端口地址為FFF0H—FFF3HMOV DPTR,#0FFF3HMOV A,#10010000B

;置A口方式0輸入,

B口方式0輸出。MOVX @DPTR,A第17頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月例7.4.18255A的接口電路如圖示,A口味輸入端口,接有4個(gè)開(kāi)關(guān),B口輸出端口,通過(guò)緩沖器接有一個(gè)七段LED。要求顯示器顯示開(kāi)關(guān)接通的數(shù)字。第18頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月LJMP 1000HORG 1000HMOV DPTR,#0FFF3HMOV A,#10000010BMOVX @DPTR,Astar:MOV DPTR,#0FF1HMOVX A,@DPTRCPL AANL A,#0FHMOV DPTR,#SEGTABMOVC A,@A+DPTRMOV DPTR,#0FF0HMOVX @DPTR,ASJMP starSEGTAB:DB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,0F8H,80H,90HDB88H,83H,0C6H,0A1H,86HDB8EHEND第19頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.4.3用8155可編程I/O擴(kuò)展芯片1.8155的內(nèi)部結(jié)構(gòu)第20頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月2.8155H的引腳功能(1) AD7~AD0(8條)(2) I/O總線(22條)(3)控制總線(8條)

RESET:復(fù)位輸入線

CE*和IO/M* RD*和WR* ALE:地址鎖存允許

TIMERIN和TIMEROUT*:(4)電源線(2條)

Vcc:+5V電源

Vss:地第21頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月8155各端口地址分配CE*IO/M*A7A6A5A4A3A2A1A0所選的端口01×××××000命令/狀態(tài)寄存器01×××××001A口01×××××010B口01×××××011C口01×××××100計(jì)數(shù)器低8位01×××××101計(jì)數(shù)器高6位00××××××××RAM單元第22頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月7.4.3.28155的工作方式1.存儲(chǔ)器方式對(duì)片內(nèi)RAM單元進(jìn)行讀寫,若IO/M*=0和CE*=0,則通過(guò)AD7~AD0上的地址對(duì)RAM存儲(chǔ)器任一單元讀寫。2.I/O方式8155的I/O方式分為基本I/O和選通I/O兩種工作方式??蓪?duì)片內(nèi)任一寄存器讀寫,端口地址由A2、A1、A0三位決定(見(jiàn)表)第23頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月(1)基本I/O方式(2)選通I/O方式

(見(jiàn)右圖)第24頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月3.內(nèi)部定時(shí)器/計(jì)數(shù)器及使用14位的減1定時(shí)器/計(jì)數(shù)器,計(jì)數(shù)長(zhǎng)度和計(jì)數(shù)方式

由寫入計(jì)數(shù)寄存器的控制字來(lái)確定。計(jì)數(shù)器的兩個(gè)寄存器的格式如圖第25頁(yè),課件共30頁(yè),創(chuàng)作于2023年2月T13~T0:計(jì)數(shù)器長(zhǎng)度M2、M1:設(shè)置定時(shí)器

溫馨提示

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

評(píng)論

0/150

提交評(píng)論