單片機(jī)ch09 8051擴(kuò)展資源編程_第1頁(yè)
單片機(jī)ch09 8051擴(kuò)展資源編程_第2頁(yè)
單片機(jī)ch09 8051擴(kuò)展資源編程_第3頁(yè)
單片機(jī)ch09 8051擴(kuò)展資源編程_第4頁(yè)
單片機(jī)ch09 8051擴(kuò)展資源編程_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第九章8051擴(kuò)展資源的C編程可編程外圍定時(shí)器8253可編程外圍并行接口8255可編程接口芯片8155I2C總線(xiàn)擴(kuò)展存儲(chǔ)器可編程外圍定時(shí)器8253CLK

時(shí)鐘輸入OUT

計(jì)數(shù)器輸出,當(dāng)計(jì)數(shù)器減為零時(shí),輸出相應(yīng)信號(hào)GATE

門(mén)控信號(hào),用于啟動(dòng)或禁止計(jì)數(shù)器工作引腳尋址的端口CSA1A0000010011×0101×計(jì)數(shù)器0計(jì)數(shù)器1計(jì)數(shù)器2控制字寄存器本芯片沒(méi)有被選中CSRDWRA1A0功能01000寫(xiě)入計(jì)數(shù)器001001寫(xiě)入計(jì)數(shù)器101010寫(xiě)入計(jì)數(shù)器201011寫(xiě)入控制字寄存器00100讀計(jì)數(shù)器000101讀計(jì)數(shù)器100110讀計(jì)數(shù)器200111無(wú)操作1××××本芯片未被選中011××無(wú)操作8285的控制方式和控制字SC1SC0RL1RL0M2M1M0BCDD7D000選擇通道001選擇通道110選擇通道211無(wú)效00計(jì)數(shù)器鎖存,供CPU讀取01只讀/寫(xiě)計(jì)數(shù)器低位字節(jié)10只讀/寫(xiě)計(jì)數(shù)器高位字節(jié)11先讀/寫(xiě)計(jì)數(shù)器低位字節(jié),后讀/寫(xiě)高位字節(jié)000方式0001方式1x10方式2x11方式3100方式4101方式51BCD碼計(jì)數(shù)02進(jìn)制計(jì)數(shù)BCD格式說(shuō)明:①計(jì)數(shù)值范圍:0000~9999H,其中0000表示最大值10000,即104;②當(dāng)預(yù)置了n=1234H,表示預(yù)置了一個(gè)十進(jìn)制數(shù)1234。二進(jìn)制格式說(shuō)明:①計(jì)數(shù)值范圍:0000~FFFFH,其中0000表示最大值65536,即216

②當(dāng)預(yù)置了n=1234H,表示預(yù)置了一個(gè)十六進(jìn)制數(shù)1234H,即十進(jìn)制數(shù)4660。8253的工作方式概述方式0

計(jì)數(shù)結(jié)束中斷方式方式1

可編程單穩(wěn)態(tài)輸出方式方式2

比率發(fā)生器方式3

方波發(fā)生器方式4

軟件觸發(fā)選通方式5

硬件觸發(fā)選通方式0:計(jì)數(shù)結(jié)束中斷方式寫(xiě)入控制字后OUT初始狀態(tài):低電平門(mén)控信號(hào)GATE的作用:①高電平允許計(jì)數(shù);②如果在計(jì)數(shù)過(guò)程GATE為低電平,則暫停計(jì)數(shù);③GATE回到高電平后,繼續(xù)往下計(jì)數(shù)。計(jì)數(shù)過(guò)程中OUT狀態(tài):保持低電平計(jì)數(shù)結(jié)束OUT狀態(tài):發(fā)生由低到高的正跳變,可以發(fā)出中斷請(qǐng)求信號(hào)。計(jì)數(shù)器回0后,是否重新計(jì)數(shù):否應(yīng)用:用于工業(yè)生產(chǎn)中對(duì)產(chǎn)品的計(jì)數(shù)方式1:可編程單穩(wěn)態(tài)輸出方式寫(xiě)入控制字后OUT初始狀態(tài):高電平門(mén)控信號(hào)GATE的作用:①高電平或低電平均不起作用;②只有在GATE發(fā)生由低到高的正跳變,輸出OUT由高到低跳變,并開(kāi)始計(jì)數(shù);③在計(jì)數(shù)過(guò)程中,若GATE產(chǎn)生負(fù)跳變,不影響計(jì)數(shù);④在計(jì)數(shù)器回0之前,GATE又產(chǎn)生由低到高的正跳變,8253又將初始值裝入,重新開(kāi)始計(jì)數(shù),使生成脈沖加寬。計(jì)數(shù)過(guò)程中OUT狀態(tài):保持低電平計(jì)數(shù)結(jié)束OUT狀態(tài):發(fā)生由低到高的正跳變。計(jì)數(shù)器回0后,是否重新計(jì)數(shù):否應(yīng)用:用于定時(shí)方式2:脈沖發(fā)生器寫(xiě)入控制字后OUT初始狀態(tài):高電平門(mén)控信號(hào)GATE的作用:①高電平允許計(jì)數(shù);②在計(jì)數(shù)過(guò)程中,若GATE變?yōu)榈碗娖綍r(shí),禁止計(jì)數(shù);③當(dāng)GATE由低變高時(shí),又把預(yù)置的計(jì)數(shù)初值裝入計(jì)數(shù)器,重新開(kāi)始計(jì)數(shù)。計(jì)數(shù)過(guò)程中OUT狀態(tài):保持高電平計(jì)數(shù)結(jié)束OUT狀態(tài):產(chǎn)生一個(gè)時(shí)鐘周期的負(fù)脈沖。計(jì)數(shù)器回0后,是否重新計(jì)數(shù):是應(yīng)用:用于分頻方式3:方波發(fā)生器寫(xiě)入控制字后OUT初始狀態(tài):高電平門(mén)控信號(hào)GATE的作用:①高電平允許計(jì)數(shù);②在計(jì)數(shù)過(guò)程中,GATE變?yōu)榈碗娖綍r(shí),禁止計(jì)數(shù);③當(dāng)GATE由低變高時(shí),又把預(yù)置的計(jì)數(shù)初值裝入計(jì)數(shù)器,重新開(kāi)始計(jì)數(shù)。計(jì)數(shù)過(guò)程中OUT狀態(tài):如果計(jì)數(shù)初值為偶數(shù),則產(chǎn)生占空比為1/2的方波;如果計(jì)數(shù)初值為奇數(shù),則產(chǎn)生占空比為(n+1)/2:n的方波,n為計(jì)數(shù)值計(jì)數(shù)結(jié)束OUT狀態(tài):繼續(xù)輸出方波計(jì)數(shù)器回0后,是否重新計(jì)數(shù):是應(yīng)用:用于分頻方式4:軟件觸發(fā)選通寫(xiě)入控制字后OUT初始狀態(tài):高電平門(mén)控信號(hào)GATE的作用:①高電平允許計(jì)數(shù);②在計(jì)數(shù)過(guò)程中,GATE變?yōu)榈碗娖綍r(shí),禁止計(jì)數(shù);③當(dāng)GATE由低變高時(shí),又把預(yù)置的計(jì)數(shù)初值裝入計(jì)數(shù)器,重新開(kāi)始計(jì)數(shù)。計(jì)數(shù)過(guò)程中OUT狀態(tài):保持高電平計(jì)數(shù)結(jié)束OUT狀態(tài):輸出一個(gè)時(shí)鐘周期的負(fù)脈沖計(jì)數(shù)器回0后,是否重新計(jì)數(shù):否應(yīng)用:用于軟件觸發(fā)計(jì)數(shù)的場(chǎng)合方式5:硬件觸發(fā)選通寫(xiě)入控制字后OUT初始狀態(tài):高電平門(mén)控信號(hào)GATE的作用:

①高電平或低電平均不起作用;②只有在GATE發(fā)生由低到高的正跳變,開(kāi)始計(jì)數(shù);③在計(jì)數(shù)過(guò)程中,若GATE產(chǎn)生負(fù)跳變,不影響計(jì)數(shù);④在計(jì)數(shù)器回0之前,GATE又產(chǎn)生由低到高的正跳變,8253又將初始值裝入,重新開(kāi)始計(jì)數(shù)。計(jì)數(shù)過(guò)程中OUT狀態(tài):保持高電平計(jì)數(shù)結(jié)束OUT狀態(tài):輸出一個(gè)時(shí)鐘周期的負(fù)脈沖計(jì)數(shù)器回0后,是否重新計(jì)數(shù):計(jì)數(shù)器回0后,自動(dòng)將計(jì)數(shù)值裝入執(zhí)行部件,當(dāng)GATE出現(xiàn)正跳變觸發(fā)脈沖時(shí),又重新計(jì)數(shù)應(yīng)用:用于硬件觸發(fā)計(jì)數(shù)的場(chǎng)合8253門(mén)控信號(hào)的控制功能工作方式GATE為低電平或下降沿GATE為上升沿GATE為高電平方式0禁止計(jì)數(shù)-允許計(jì)數(shù)方式1-從初始值開(kāi)始計(jì)數(shù),下一個(gè)時(shí)鐘后輸出變低-方式2禁止計(jì)數(shù),使輸出變高從初始值開(kāi)始計(jì)數(shù)允許計(jì)數(shù)方式3禁止計(jì)數(shù),使輸出變高從初始值開(kāi)始計(jì)數(shù)允許計(jì)數(shù)方式4禁止計(jì)數(shù)-允許計(jì)數(shù)方式5-從初始值開(kāi)始計(jì)數(shù)-8253各種工作方式的特點(diǎn)方式0:寫(xiě)入控制字后,OUT端變低,計(jì)數(shù)結(jié)束后,OUT端由低變高,該信號(hào)可以作為中斷源,實(shí)現(xiàn)對(duì)外部事件進(jìn)行計(jì)數(shù)方式1:主要用來(lái)產(chǎn)生單脈沖,可用于定時(shí)方式2:用來(lái)產(chǎn)生序列負(fù)脈沖,每個(gè)負(fù)脈沖寬度與CLK的周期相同,實(shí)現(xiàn)對(duì)CLK進(jìn)行分頻方式3:用于產(chǎn)生連續(xù)的方波,實(shí)現(xiàn)對(duì)CLK進(jìn)行分頻方式4和方式5的波形相同,方式4由計(jì)數(shù)值觸發(fā)計(jì)數(shù);方式5由門(mén)控信號(hào)觸發(fā)計(jì)數(shù)89C51單片機(jī)8253373P0.0-P0.7ALEP2.4DQ0CSA0D0-D7GEAOEWRRDQ1A1+5VP1.76MHz30Px2154GATE0,1,2WRRDP2.5P2.6P2.7CLK0CLK1CLK28初始化8253寫(xiě)入控制字寫(xiě)入計(jì)數(shù)初值鎖計(jì)數(shù)值讀計(jì)數(shù)值可編程外圍并行接口8255B組控制部件A組端口A(8)A組端口C上半部(4)B組端口C下半部(4)B組端口B(8)數(shù)據(jù)總線(xiàn)緩沖器讀寫(xiě)控制部件A組控制部件8位內(nèi)部數(shù)據(jù)總線(xiàn)雙向數(shù)據(jù)總線(xiàn)D7-D0A1A0RESETRDWRCSI/OPA7-PA0I/OPC7-PC4I/OPC3-PC0I/OPB7-PB08255A外部引腳與CPU連接的引腳D0~D7:雙向數(shù)據(jù)線(xiàn)CS:片選信號(hào)A1,A0:片內(nèi)地址選擇信號(hào)RD、WR:讀寫(xiě)輸入控制RESET:復(fù)位信號(hào)與外設(shè)連接的引腳PA0~PA7、PB0~PB7、PC0~PC74個(gè)端口地址:

A口、B口、C口和控制口8255PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB3信號(hào)組合實(shí)現(xiàn)的端口操作A1A0RDWRCS操作00010端口A→CPU01端口B→CPU10端口C→CPU00100CPU→端口A01CPU→端口B10CPU→端口C11100CPU→控制寄存器11010非法操作××××1未選中地址線(xiàn)方式選擇控制字8255A有3種基本的工作方式,在對(duì)8255A進(jìn)行初始化編程時(shí),應(yīng)向控制寄存器(即控制口)寫(xiě)入方式選擇控制字,以規(guī)定各端口的工作方式。方式選擇控制字格式下C口I/O1=輸入0=輸出B口I/O1=輸入0=輸出B組方式0=方式01=方式1上C口I/O1=輸入0=輸出特征位D7=1A組方式:00=方式001=方式11x=方式2A口I/O1=輸入0=輸出C端口置位/復(fù)位控制字

端口C的數(shù)位常用作控制或應(yīng)答信號(hào),通過(guò)對(duì)8255A的控制口寫(xiě)入置位/復(fù)位控制字,可使端口C的任意一個(gè)引腳的輸出單獨(dú)置1或單獨(dú)置0.0D6D5D4D3D2D1D0D3D2D1PC位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7標(biāo)志位不用1=置位0=復(fù)位8255A的工作方式1.方式0(基本輸入/輸出方式)24根I/O線(xiàn)全部由用戶(hù)支配A口、B口、C口都可工作在此方式不設(shè)置專(zhuān)用的聯(lián)絡(luò)信號(hào)線(xiàn)和狀態(tài)位單向I/O輸出有鎖存器功能,輸入只有A口有鎖存功能。2、方式1-選通輸入/輸出方式輸入或輸出都通過(guò)應(yīng)答信號(hào)實(shí)現(xiàn),端口A和端口B均可工作在此方式。這時(shí)端口A或B用作數(shù)據(jù)口,端口C的部分引腳用作握手信號(hào)線(xiàn)與中斷請(qǐng)求線(xiàn)。數(shù)據(jù)口的輸入、輸出數(shù)據(jù)都能鎖存。1)方式1輸入此時(shí)PC3~5和PC0~2分別用作A口和B口的狀態(tài)和控制線(xiàn),PC6和PC7用作IO線(xiàn)PA7~PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O線(xiàn)&1oRD方式1(A口)PB7~PB08PC2STBBPC1IBFBPC0INTRB&1oRD方式1(B口)IBF-輸入緩沖器滿(mǎn)信號(hào),高電平有效,由8255A輸出的狀態(tài)信號(hào),表示輸入鎖存器已滿(mǎn),向外設(shè)指明不能再送入數(shù)據(jù)。PA7~PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O線(xiàn)&1oRD方式1(A口)各應(yīng)答信號(hào)的意義:STB-數(shù)據(jù)選通輸入信號(hào),低電平有效,由外設(shè)輸入;INTR-中斷請(qǐng)求信號(hào),高電平有效。是8255A向CPU發(fā)出的請(qǐng)求中斷信號(hào),要求CPU服務(wù)。當(dāng)IBF=1、STB=1時(shí),INTR=1。2)方式1輸出這時(shí)PC3、PC6和PC7作A口的應(yīng)答信號(hào),PC0、PC1和PC2作B口的應(yīng)答信號(hào)。余下的PC4和PC5可作輸入或輸出線(xiàn)。PA7~PA08PC6ACKAPC7OBFAPC3INTRAPC4PC5I/O線(xiàn)&1oWR方式1輸出(A口)PB7~PB08PC2ACKBPC1OBFBPC0INTRB&1oWR方式1輸出(B口)ACK-外設(shè)的回答信號(hào),低電平有效,由外設(shè)送給8255A。表示CPU送到指定端口的數(shù)據(jù)已被外設(shè)接受。各應(yīng)答信號(hào)的意義:OBF-輸出緩沖器滿(mǎn)信號(hào),輸出,低電平有效。表示CPU已輸出數(shù)據(jù)到指定端口。INTR-中斷請(qǐng)求信號(hào),高電平有效。PA7~PA08PC6ACKAPC7OBFAPC3INTRAPC4PC5I/O線(xiàn)&1oWR方式1輸出(A口)3.方式2(雙向選通輸入/輸出方式)只有A口可以工作于這種方式。A口既可用于輸入,又可用于輸出,但輸入和輸出過(guò)程不能同時(shí)進(jìn)行。PA7~PA01&PC3PC7PC68位ACKAOBFAINTRAI/OPC2~PC0PC5PC4STBAIBFA11&ALE80318255AD7Q7G…RDRDWRWRRESETRESETCS74LS373D0P7…P0Q1Q0A1A0D7…D0EA微型打印機(jī)PA7…PA0DB7…DB0PB7…PB0PB7PC0BUSYSTB可編程接口芯片8155(a)邏輯結(jié)構(gòu)(b)引腳圖8155口地址分布D7D6D5D4D3D2D1D0TM2TM1IEBIEAPC2PC1PBPAC口工作方式及控制信號(hào)分布8155狀態(tài)寄存器I2C總線(xiàn)擴(kuò)展存儲(chǔ)器目前新一代單片機(jī)中使用的串行擴(kuò)展接口有Motorola的SPI,NS公司的MICROWIRE/PLUS和PHILIPS公司的I2C總線(xiàn)。其中I2C總線(xiàn)具有標(biāo)準(zhǔn)的規(guī)范以及眾多帶I2C接口的外圍器件,形成了較為完善的串行擴(kuò)展總線(xiàn)。I2C總線(xiàn)(InterICBus)是PHILIPS公司推出的兩線(xiàn)串行多主總線(xiàn)。I2C總線(xiàn)最顯著的特點(diǎn)是規(guī)范的完整性,結(jié)構(gòu)的獨(dú)立性和用戶(hù)使用時(shí)的“傻瓜”化。I2C總線(xiàn)有嚴(yán)格的規(guī)范:接口的電器特性、信號(hào)時(shí)序、信號(hào)傳輸?shù)亩x、總線(xiàn)狀態(tài)設(shè)置、總線(xiàn)管理規(guī)則及總線(xiàn)狀態(tài)處理等。I2C總線(xiàn)結(jié)構(gòu)I2C總線(xiàn)通過(guò)兩根線(xiàn):串行數(shù)據(jù)線(xiàn)SDA和串行時(shí)鐘線(xiàn)SCL,在總線(xiàn)連接的器件之間傳信息,采用軟件尋址方式識(shí)別每個(gè)器件。I2C是多主機(jī)總線(xiàn)。可以由所連的多個(gè)器件分時(shí)控制總線(xiàn)。單片機(jī)A將信息送至B:A(主器件)尋址B(從器件);A(發(fā)送方)把數(shù)據(jù)傳至B(接收方);A終止傳送。單片機(jī)A從B接收信息:A(主器件)尋址B(從器件);A(接收方)接收B(發(fā)送方)數(shù)據(jù);A終止接收。串行數(shù)據(jù)線(xiàn)SDA和串行時(shí)鐘線(xiàn)SCL都是雙向I/O線(xiàn),通過(guò)上拉電阻接正電源電壓VDD,因此電平取決

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論