第九章擴(kuò)展資源C編程_第1頁
第九章擴(kuò)展資源C編程_第2頁
第九章擴(kuò)展資源C編程_第3頁
第九章擴(kuò)展資源C編程_第4頁
第九章擴(kuò)展資源C編程_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第九章擴(kuò)展資源C編程可編程外圍定時器8253可編程外圍并行接口8255可編程接口芯片8155I2C總線擴(kuò)展存儲器可編程外圍定時器8253 CLK時鐘輸入 OUT計(jì)數(shù)器輸出,當(dāng)計(jì)數(shù)器減為零時,輸出相應(yīng)信號 GATE門控信號,用于啟動或禁止計(jì)數(shù)器工作引引 腳腳尋址的端口尋址的端口CSA1A00000100110101計(jì)數(shù)器計(jì)數(shù)器0計(jì)數(shù)器計(jì)數(shù)器1計(jì)數(shù)器計(jì)數(shù)器2控制字寄存器控制字寄存器本芯片沒有被選中本芯片沒有被選中CSRDWRA1A0功能功能01000寫入計(jì)數(shù)器寫入計(jì)數(shù)器001001寫入計(jì)數(shù)器寫入計(jì)數(shù)器101010寫入計(jì)數(shù)器寫入計(jì)數(shù)器201011寫入控制字寄存器寫入控制字寄存器00100讀計(jì)數(shù)器讀計(jì)

2、數(shù)器000101讀計(jì)數(shù)器讀計(jì)數(shù)器100110讀計(jì)數(shù)器讀計(jì)數(shù)器200111無操作無操作1本芯片未被選中本芯片未被選中011無操作無操作8285的控制方式和控制字SC1SC0RL1RL0M2M1M0BCDD7D000選擇通道選擇通道001選擇通道選擇通道110選擇通道選擇通道211無效無效00計(jì)數(shù)器鎖存,供計(jì)數(shù)器鎖存,供CPU讀取讀取01只讀只讀/寫計(jì)數(shù)器低位字節(jié)寫計(jì)數(shù)器低位字節(jié)10只讀只讀/寫計(jì)數(shù)器高位字節(jié)寫計(jì)數(shù)器高位字節(jié)11先讀先讀/寫計(jì)數(shù)器低位字節(jié),寫計(jì)數(shù)器低位字節(jié),后讀后讀/寫高位字節(jié)寫高位字節(jié)000 方式方式0001 方式方式1x10 方式方式2x11 方式方式3100 方式方式4101

3、 方式方式51BCD碼計(jì)數(shù)碼計(jì)數(shù)02進(jìn)制計(jì)數(shù)進(jìn)制計(jì)數(shù)BCD格式說明:格式說明:計(jì)數(shù)值范圍:計(jì)數(shù)值范圍:000000009999H9999H,其中,其中00000000表示最大值表示最大值1000010000,即即10104 4; ;當(dāng)預(yù)置了當(dāng)預(yù)置了n=1234Hn=1234H,表示預(yù)置了一個十進(jìn)制數(shù),表示預(yù)置了一個十進(jìn)制數(shù)12341234。二進(jìn)制格式說明:二進(jìn)制格式說明:計(jì)數(shù)值范圍:計(jì)數(shù)值范圍:00000000FFFFHFFFFH,其中,其中00000000表示最大值表示最大值6553665536,即即2 21616 當(dāng)預(yù)置了當(dāng)預(yù)置了n=1234Hn=1234H,表示預(yù)置了一個十六進(jìn)制數(shù),表示

4、預(yù)置了一個十六進(jìn)制數(shù)1234H1234H,即十進(jìn)制數(shù)即十進(jìn)制數(shù)46604660。8253的工作方式概述方式0計(jì)數(shù)結(jié)束中斷方式方式1可編程單穩(wěn)態(tài)輸出方式方式2比率發(fā)生器方式3方波發(fā)生器方式4軟件觸發(fā)選通方式5硬件觸發(fā)選通方式0:計(jì)數(shù)結(jié)束中斷方式寫入控制字后OUT初始狀態(tài):低電平門控信號GATE的作用:高電平允許計(jì)數(shù);如果在計(jì)數(shù)過程GATE為低電平,則暫停計(jì)數(shù);GATE回到高電平后,繼續(xù)往下計(jì)數(shù)。計(jì)數(shù)過程中OUT狀態(tài):保持低電平計(jì)數(shù)結(jié)束OUT狀態(tài):發(fā)生由低到高的正跳變,可以發(fā)出中斷請求信號。計(jì)數(shù)器回0后,是否重新計(jì)數(shù):否應(yīng)用:用于工業(yè)生產(chǎn)中對產(chǎn)品的計(jì)數(shù)方式1:可編程單穩(wěn)態(tài)輸出方式 寫入控制字后OU

5、T初始狀態(tài):高電平 門控信號GATE的作用:高電平或低電平均不起作用;只有在GATE發(fā)生由低到高的正跳變,輸出OUT由高到低跳變,并開始計(jì)數(shù);在計(jì)數(shù)過程中,若GATE產(chǎn)生負(fù)跳變,不影響計(jì)數(shù);在計(jì)數(shù)器回0之前,GATE又產(chǎn)生由低到高的正跳變,8253又將初始值裝入,重新開始計(jì)數(shù),使生成脈沖加寬。 計(jì)數(shù)過程中OUT狀態(tài):保持低電平 計(jì)數(shù)結(jié)束OUT狀態(tài):發(fā)生由低到高的正跳變。 計(jì)數(shù)器回0后,是否重新計(jì)數(shù):否 應(yīng)用:用于定時方式2:脈沖發(fā)生器寫入控制字后OUT初始狀態(tài):高電平門控信號GATE的作用:高電平允許計(jì)數(shù); 在計(jì)數(shù)過程中,若GATE變?yōu)榈碗娖綍r,禁止計(jì)數(shù);當(dāng)GATE由低變高時,又把預(yù)置的計(jì)數(shù)初

6、值裝入計(jì)數(shù)器,重新開始計(jì)數(shù)。計(jì)數(shù)過程中OUT狀態(tài):保持高電平計(jì)數(shù)結(jié)束OUT狀態(tài):產(chǎn)生一個時鐘周期的負(fù)脈沖。計(jì)數(shù)器回0后,是否重新計(jì)數(shù):是應(yīng)用:用于分頻方式3:方波發(fā)生器 寫入控制字后OUT初始狀態(tài):高電平 門控信號GATE的作用:高電平允許計(jì)數(shù); 在計(jì)數(shù)過程中,GATE變?yōu)榈碗娖綍r,禁止計(jì)數(shù);當(dāng)GATE由低變高時,又把預(yù)置的計(jì)數(shù)初值裝入計(jì)數(shù)器,重新開始計(jì)數(shù)。 計(jì)數(shù)過程中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:軟件

7、觸發(fā)選通寫入控制字后OUT初始狀態(tài):高電平門控信號GATE的作用:高電平允許計(jì)數(shù); 在計(jì)數(shù)過程中,GATE變?yōu)榈碗娖綍r,禁止計(jì)數(shù);當(dāng)GATE由低變高時,又把預(yù)置的計(jì)數(shù)初值裝入計(jì)數(shù)器,重新開始計(jì)數(shù)。計(jì)數(shù)過程中OUT狀態(tài):保持高電平計(jì)數(shù)結(jié)束OUT狀態(tài):輸出一個時鐘周期的負(fù)脈沖計(jì)數(shù)器回0后,是否重新計(jì)數(shù):否應(yīng)用:用于軟件觸發(fā)計(jì)數(shù)的場合方式5:硬件觸發(fā)選通 寫入控制字后OUT初始狀態(tài):高電平 門控信號GATE的作用: 高電平或低電平均不起作用;只有在GATE發(fā)生由低到高的正跳變,開始計(jì)數(shù);在計(jì)數(shù)過程中,若GATE產(chǎn)生負(fù)跳變,不影響計(jì)數(shù);在計(jì)數(shù)器回0之前,GATE又產(chǎn)生由低到高的正跳變,8253又將初始

8、值裝入,重新開始計(jì)數(shù)。 計(jì)數(shù)過程中OUT狀態(tài):保持高電平 計(jì)數(shù)結(jié)束OUT狀態(tài):輸出一個時鐘周期的負(fù)脈沖 計(jì)數(shù)器回0后,是否重新計(jì)數(shù):計(jì)數(shù)器回0后,自動將計(jì)數(shù)值裝入執(zhí)行部件,當(dāng)GATE出現(xiàn)正跳變觸發(fā)脈沖時,又重新計(jì)數(shù) 應(yīng)用:用于硬件觸發(fā)計(jì)數(shù)的場合8253門控信號的控制功能工作方式工作方式GATE為低電為低電平或下降沿平或下降沿GATE為上升沿為上升沿GATE為高電平為高電平方式方式0禁止計(jì)數(shù)禁止計(jì)數(shù)允許計(jì)數(shù)允許計(jì)數(shù)方式方式1從初始值開始計(jì)數(shù),從初始值開始計(jì)數(shù),下一個時鐘后輸出變下一個時鐘后輸出變低低方式方式2禁止計(jì)數(shù),使禁止計(jì)數(shù),使輸出變高輸出變高從初始值開始計(jì)數(shù)從初始值開始計(jì)數(shù)允許計(jì)數(shù)允許計(jì)數(shù)

9、方式方式3禁止計(jì)數(shù),使禁止計(jì)數(shù),使輸出變高輸出變高從初始值開始計(jì)數(shù)從初始值開始計(jì)數(shù)允許計(jì)數(shù)允許計(jì)數(shù)方式方式4禁止計(jì)數(shù)禁止計(jì)數(shù)允許計(jì)數(shù)允許計(jì)數(shù)方式方式5從初始值開始計(jì)數(shù)從初始值開始計(jì)數(shù)8253各種工作方式的特點(diǎn)方式0:寫入控制字后,OUT端變低,計(jì)數(shù)結(jié)束后,OUT端由低變高,該信號可以作為中斷源,實(shí)現(xiàn)對外部事件進(jìn)行計(jì)數(shù)方式1:主要用來產(chǎn)生單脈沖,可用于定時方式2:用來產(chǎn)生序列負(fù)脈沖,每個負(fù)脈沖寬度與CLK的周期相同,實(shí)現(xiàn)對CLK進(jìn)行分頻方式3:用于產(chǎn)生連續(xù)的方波,實(shí)現(xiàn)對CLK進(jìn)行分頻方式4和方式5的波形相同,方式4由計(jì)數(shù)值觸發(fā)計(jì)數(shù);方式5由門控信號觸發(fā)計(jì)數(shù)89C51單片機(jī)單片機(jī)8253373AL

10、EDQ0CSA0D0-D7GEAOEWRRDQ1A1+5V6MHz6MHz30Px230Px2154GATE0,1,2WRRDCLK0CLK1CLK28初始化初始化8253寫入控制字寫入控制字寫入計(jì)數(shù)初值寫入計(jì)數(shù)初值鎖計(jì)數(shù)值鎖計(jì)數(shù)值讀計(jì)數(shù)值讀計(jì)數(shù)值可編程外圍并行接口8255B B組控組控制部件制部件A A組端口組端口A A(8 8)A A組端口組端口C C上半部上半部(4)(4)B B組端口組端口C C下下半部半部(4)(4)B B組端口組端口B B(8 8)數(shù)據(jù)數(shù)據(jù)總線總線緩沖緩沖器器讀讀寫寫控控制制部部件件A A組控組控制部件制部件8 8位內(nèi)部數(shù)位內(nèi)部數(shù)據(jù)總線據(jù)總線雙向數(shù)雙向數(shù)據(jù)總線據(jù)總線

11、D D7 7-D-D0 0A A1 1A A0 0RESETRESETRDRDWRWRCSCS I/O I/OPAPA7 7- -PAPA0 0 I/O I/OPCPC7 7- -PCPC4 4 I/O I/OPCPC3 3- -PCPC0 0 I/O I/OPBPB7 7- -PBPB0 08255A外部引腳u與CPU連接的引腳D0D7: 雙向數(shù)據(jù)線CS:片選信號A1,A0:片內(nèi)地址選擇信號RD、WR: 讀寫輸入控制RESET: 復(fù)位信號與外設(shè)連接的引腳PA0PA7、 PB0PB7、PC0PC74個端口地址: A口、B口、C口和控制口8255PA3PA2PA1PA0RDCSGNDA1A0PC

12、7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB3信號組合實(shí)現(xiàn)的端口操作A1A0RDWRCS操作操作 00010端口端口A CPU01端口端口B CPU10端口端口C CPU00100CPU 端口端口A01CPU 端口端口B10CPU 端口端口C11100CPU控制寄存器控制寄存器11010非法操作非法操作1未選中未選中地地 址址 線線方式選擇控制字 8255A有3種基本的工作方式,在對8255A進(jìn)行初始化編程時,應(yīng)向控制寄存器(即控制口)寫入方式選擇控制字,以規(guī)定各端口的工作

13、方式。方式選擇控制字格式方式選擇控制字格式D7 D6 D5 D4 D3 D2 D1 D0下C口 I/O1=輸入0=輸出B口I/O1=輸入0=輸出B組方式組方式0=方式0 1=方式1上C口I/O1=輸入0=輸出特征位特征位 D7=1A組方式組方式: 00=方式0 01=方式1 1x=方式2A口I/O1=輸入0=輸出C端口置位/復(fù)位控制字 端口C的數(shù)位常用作控制或應(yīng)答信號,通過對8255A的控制口寫入置位/復(fù)位控制字,可使端口C的任意一個引腳的輸出單獨(dú)置1或單獨(dú)置0.0D6D5D4D3D2D1D0D3D2D1PC位位000PC0001PC1010PC2011PC3100PC4101PC5110PC

14、6111PC7標(biāo)志位標(biāo)志位不用1置位0復(fù)位8255A的工作方式1. 方式0(基本輸入/輸出方式)24根I /O線全部由用戶支配A口、B口、C口都可工作在此方式不設(shè)置專用的聯(lián)絡(luò)信號線和狀態(tài)位單向I /O輸出有鎖存器功能,輸入只有A口有鎖存功能。2 2、方式、方式 1 1選通輸入選通輸入/ / 輸出方式輸出方式輸入或輸出都通過應(yīng)答信號實(shí)現(xiàn),端口輸入或輸出都通過應(yīng)答信號實(shí)現(xiàn),端口A和端口和端口B均可工作在此方式。均可工作在此方式。這時端口這時端口A或或B用作數(shù)據(jù)口,端口用作數(shù)據(jù)口,端口C的部分引腳用作握手信號線與中斷請的部分引腳用作握手信號線與中斷請求線。求線。數(shù)據(jù)口的輸入、輸出數(shù)據(jù)都能鎖存。數(shù)據(jù)口

15、的輸入、輸出數(shù)據(jù)都能鎖存。1) 方式方式1輸入輸入此時PC35 和PC02分別用作A口和B口的狀態(tài)和控制線, PC6和PC7用作IO線PA7PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O線&1oRD方式方式1 (A口口)PB7PB08PC2STBBPC1IBFBPC0INTRB&1oRD方式方式1 (B口口) IBF輸入緩沖器滿信號,高電平有效,由8255A輸出的狀態(tài)信號,表示輸入鎖存器已滿,向外設(shè)指明不能再送入數(shù)據(jù)。PA7PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O線&1oRD方式方式1 (A口口)各應(yīng)答信號的意義:各

16、應(yīng)答信號的意義: STB數(shù)據(jù)選通輸入信號,低電平有效,由外設(shè)輸入;INTR中斷請求信號,高電平有效。是8255A向CPU發(fā)出的請求中斷信號,要求CPU服務(wù)。當(dāng) IBF =1、STB =1時,INTR =1。2) 方式方式1輸出輸出這時PC3、PC6和PC7作A口的應(yīng)答信號,PC0、PC1和PC2作B口的應(yīng)答信號。余下的PC4和PC5可作輸入或輸出線。PA7PA08PC6ACKAPC7OBFAPC3INTRAPC4PC5I/O線&1oWR方式方式1輸出輸出 (A口口)PB7PB08PC2ACKBPC1OBFBPC0INTRB&1oWR方式方式1輸出輸出 (B口口)ACK外設(shè)的回答

17、信號,低電平有效,由外設(shè)送給8255A。表示CPU送到指定端口的數(shù)據(jù)已被外設(shè)接受。各應(yīng)答信號的意義:各應(yīng)答信號的意義:OBF輸出緩沖器滿信號,輸出,低電平有效。表示CPU已輸出數(shù)據(jù)到指定端口。INTR中斷請求信號,高電平有效。PA7PA08PC6ACKAPC7OBFAPC3INTRAPC4PC5I/O線&1oWR方式方式1輸出輸出 (A口口)3.方式2(雙向選通輸入/輸出方式)只有A口可以工作于這種方式。A口既可用于輸入,又可用于輸出,但輸入和輸出過程不能同時進(jìn)行。PA7PA01&PC3PC7PC68位位ACKAOBFAINTRAI/OPC2PC0PC5PC4STBAIBFA

18、11&ALE80318255AD7Q7GRDRDWRWRRESETRESETCS74LS373D0P7P0Q1Q0A1A0D7D0EA微型打印機(jī)微型打印機(jī)PA7PA0DB7DB0PB7PB0PB7PC0BUSYSTB可編程接口芯片8155(a)邏輯結(jié)構(gòu))邏輯結(jié)構(gòu)(b)引腳圖)引腳圖8155口地址分布 D7 D6 D5 D4 D3 D2 D1 D0TM2 TM1 IEB IEA PC2 PC1 PB PAC口工作方式及控制信號分布8155狀態(tài)寄存器I2C總線擴(kuò)展存儲器目前新一代單片機(jī)中使用的串行擴(kuò)展接口有Motorola的SPI,NS公司的MICROWIRE/PLUS和PHILIPS公司

19、的I2C總線。其中I2C總線具有標(biāo)準(zhǔn)的規(guī)范以及眾多帶I2C接口的外圍器件,形成了較為完善的串行擴(kuò)展總線。 I2C總線(總線(Inter IC Bus)是)是PHILIPS公公司推出的兩線串行多主總線。司推出的兩線串行多主總線。 I2C總線最總線最顯著的特點(diǎn)是規(guī)范的完整性,結(jié)構(gòu)的獨(dú)顯著的特點(diǎn)是規(guī)范的完整性,結(jié)構(gòu)的獨(dú)立性和用戶使用時的立性和用戶使用時的“傻瓜傻瓜”化。化。 I2C總線有嚴(yán)格的規(guī)范:接口的電器特性、總線有嚴(yán)格的規(guī)范:接口的電器特性、信號時序、信號傳輸?shù)亩x、總線狀態(tài)信號時序、信號傳輸?shù)亩x、總線狀態(tài)設(shè)置、總線管理規(guī)則及總線狀態(tài)處理等。設(shè)置、總線管理規(guī)則及總線狀態(tài)處理等。I2C總線結(jié)構(gòu)I2C總線通過兩根線:串行數(shù)據(jù)線SDA和串行時鐘線SCL,在總線連接的器件之間傳信息,采用軟件尋址方式識別每個器件。I2C是多主機(jī)總線。可以由所連的多個器件分時控制總線。單片機(jī)A將信息送至B:A(主器件)尋址B(從器件);A(發(fā)送方)把數(shù)據(jù)傳至B(接收方);A終止傳送。單片機(jī)A從B接收信息:A(主器件)尋址B(從器件);A(接收方)接收B(發(fā)送方)數(shù)據(jù);A終止接收。串行數(shù)據(jù)線SDA和串行時鐘線SCL都是雙向I/O線,通過上拉電阻接正電源電

溫馨提示

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

評論

0/150

提交評論