第7章MCS51的并行接口_第1頁
第7章MCS51的并行接口_第2頁
第7章MCS51的并行接口_第3頁
第7章MCS51的并行接口_第4頁
第7章MCS51的并行接口_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第八章:MCS-51的并行接口§8.1:MCS-51內(nèi)部I/O口及其應(yīng)用

§8.2:MCS-51并行I/O口的擴(kuò)展§8.3:并行口應(yīng)用(單片機(jī)顯示/鍵盤系統(tǒng))§8.4:MCS-51內(nèi)部定時/計數(shù)器及其應(yīng)用1§8.1:MCS-51內(nèi)部I/O口及其應(yīng)用

MCS-51單片機(jī)提供了4個8位并行口,命名為P0、P1、P2、P3,應(yīng)用中即有共性,也有個性。共性特點(diǎn)(基本功能)個性特點(diǎn)(擴(kuò)展功能)字節(jié)操作:均可作8位并行口用于輸入、輸出位操作:各并行口中均可用于位控輸入、輸出

P0口━━外部擴(kuò)展存儲器、I/O的8位數(shù)據(jù)線/

低8位地址復(fù)用線

P2口━━外部擴(kuò)展存儲器、I/O的高8位地址線

P3口━━用于特殊功能2P0、P1、P2、P3口作8位輸出口

作輸出口時有輸出鎖存器

P0、P1、P2、P3在指令中為目的寄存器用MOV指令完成數(shù)據(jù)輸出例:MOVP0,A;指令碼F5H、80HMOVP1,R1;指令碼89H、90HMOVP2,@R1;指令碼87H、A0H注:指令機(jī)器碼中,P0~P3為存儲器。3P0、P1、P2、P3口作8位輸入口

作輸入口時有輸入緩沖器

P0、P1、P2、P3在指令中為源寄存器作輸入口時應(yīng)先對口進(jìn)行置1操作用MOV指令完成置1操作用ORL指令完成置1操作MOVP0,#0FFH;置P0口為高電平MOVA,P0;從P0口輸入數(shù)據(jù)到AORLP1,#0FFH;置P1口為高電平MOVA,P1;從P1口輸入數(shù)據(jù)到A注:4個并口為準(zhǔn)雙向口,作輸入口時注意使用方法4P0、P1、P2、P3口的位應(yīng)用

作位應(yīng)用時可傳送數(shù)據(jù)、狀態(tài)、控制信息

Pn

口的位應(yīng)用符號為Pn.0~Pn.7輸出位應(yīng)用指令MOVP1.2,C SETBP1.2CLRP1.2輸入位應(yīng)用指令MOVC,P1.0注:若從某位線輸入數(shù)據(jù),則先應(yīng)將該位置15用MCS-51單片機(jī)實現(xiàn)數(shù)字邏輯電路電路原理圖與非門74LS322輸入端四或門

與門6用MCS-51單片機(jī)實現(xiàn)數(shù)字邏輯電路

MCS-51單片機(jī)電路7用MCS-51單片機(jī)實現(xiàn)數(shù)字邏輯電路

MCS-51單片機(jī)電路電路原理圖8用MCS-51單片機(jī)實現(xiàn)數(shù)字邏輯電路

電路功能真值表P1.3P1.0P1.1P1.2LLLLLLHHLHLHLHHLHXXH從真值表中可知,當(dāng)狀態(tài)信息P1.3=L時,若輸入信息P1.0=L,P1.1=L及P1.0=H,P1.1=H時,發(fā)光二極管L1亮,當(dāng)狀態(tài)信息P1.3=H時,無論P(yáng)1.0P1.1為何值發(fā)光二極管L1不亮。即:P1.3=0時

P1.2=P1.0⊕P1.19用MCS-51單片機(jī)實現(xiàn)數(shù)字邏輯電路

編程序段LOOP1:ORLP1,#00001000B;置P1.3=HLOOP2:MOVC,P1.3;查詢S3是否按下

JCLOOP2;未按下(Cy=1),

;則P1.3=H,重查

ORLP1,#00000011B;置P1.0=H,P1.1=HMOVE,P1.0;P1.0輸入位地址EMOVF,P1.1;P1.1輸入位地址FMOVC,EACALLXOR;C=P1.0⊕P1.1MOVP1.2,C;C輸出到P1.2SJMPLOOP1準(zhǔn)雙向口準(zhǔn)雙向口!10§8.2:MCS-51并行I/O口的擴(kuò)展

通用芯片將8位Pn

口擴(kuò)展為NX8位口專用芯片對Pn

口的擴(kuò)展應(yīng)用串行口實現(xiàn)擴(kuò)展(后講)在實際應(yīng)用中,若MCU并口資源不夠時,應(yīng)外接硬件芯片解決,根據(jù)需要可選用通用芯片也可選用專用芯片。11通用芯片將8位P1口擴(kuò)展為16位輸入口

電路原理圖

用2片8位緩沖器74LS244擴(kuò)展輸入口擴(kuò)展原理P3.4作片選控制P3.4=0時U3有效、U2無效P3.4=1時U2有效、U3無效12通用芯片將8位P1口擴(kuò)展為16位輸入口

編程SETBP3.4;置P3.4=1,U2有效U3無效MOVP1,#0FFH;讀數(shù)據(jù)時應(yīng)先對P1口置1MOVA,P1;讀U2的8位輸入數(shù)據(jù)CLRP3.4;置P3.4=0,U3有效U2無效MOVP1,#0FFH;讀數(shù)據(jù)時應(yīng)先對P1口置1MOVA,P1;讀U3的8位輸入數(shù)據(jù)注:I/O操作用位控法,未用端口地址法13通用芯片將8位P1口擴(kuò)展為16位輸出口

電路原理圖

用2片8位鎖存器74HC573擴(kuò)展輸出口擴(kuò)展原理P3.5作片選控制P3.5=0時U2有效、U3無效P3.5=1時U3有效、U2無效14通用芯片將8位P1口擴(kuò)展為16位輸出口

編程CLRP3.5;置P3.5=0,U2有效U3無效MOVP1,A;8位輸出數(shù)寫入U2SETBP3.5;置P3.5=0,U3有效U2無效MOVP1,A;8位輸出數(shù)寫入U3注:I/O操作用位控法,未用端口地址法注:輸入口擴(kuò)展用緩沖器,輸出口擴(kuò)展用鎖存器15通用芯片將8位P0口擴(kuò)展為16位輸入口

電路原理圖

用2片8位緩沖器74LS245擴(kuò)展輸入口擴(kuò)展原理P0口為8位數(shù)據(jù)口P2.5參加片選譯碼16通用芯片將8位P0口擴(kuò)展為16位輸入口

接口芯片U2的端口地址0000H接口芯片U3的端口地址2000HA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0XX0XXXXXXXXXXXXXA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0XX1XXXXXXXXXXXXX17通用芯片將8位P0口擴(kuò)展為16位輸入口

編程MOVDPTR,#0000HMOVXA,@DPTR;從U2輸入8位數(shù)據(jù)MOVDPTR,#2000HMOVXA,@DPTR;從U3輸入8位數(shù)據(jù)188155通用接口芯片擴(kuò)展

I/O口

8155芯片邏輯圖注:8155為8位接口芯片,應(yīng)用廣泛。40引腳,單一的+5V電源。多功能通用并行接口芯片198155通用接口芯片擴(kuò)展I/O口

8155的內(nèi)部結(jié)構(gòu)256X8SRAM14位定/計器8位A口8位B口6位C口IO//M/CEALE/WR/RDRSTTINTOUTAD0~AD7PA0~PA7PB0~PB7PC0~PC5208155通用接口芯片擴(kuò)展I/O口

8155的功能并行接口功能

8位A端口——PA0~PA78位B端口——PB0~PB76位C端口——PC0~PC5外部存儲器功能提供256個字節(jié)的外部SRAM定時/計數(shù)器功能提供1個14位定時/計數(shù)器注:C端口的應(yīng)用靈活218155通用接口芯片擴(kuò)展I/O口

8155與MCS-51的讀寫連接AD0~AD7P0.0~P0.7注:可在AD0~AD7上傳送8位地址及8位數(shù)據(jù)

/RD(8155)←/RD(MCS-51)

/WR(8155)←/WR(MCS-51)注:P3.6、P3.7的第二功能為/WR、/RDALE(8155)←ALE(MCS-51)注:完成P0口地址/數(shù)據(jù)復(fù)用線的分離控制228155通用接口芯片擴(kuò)展I/O口

8155的片選控制

CE=0片選有效

CE=1片選無效

8155的功能選擇控制IO//M=1IO//M=0注:若系統(tǒng)僅用一片8155可將CE接地,若用多片8155則必須譯碼控制。提供A、B、C3個并行接口及1個定時/計數(shù)器提供256個字節(jié)的外部靜態(tài)RAM注:8155比8255的功能更多238155通用接口芯片擴(kuò)展I/O口

8155與外部設(shè)備的接口功能

8155的定時/計數(shù)器

8155的外部SRAM

8位A端口可作并行輸入或輸出

8位B端口可作并行輸入或輸出

6位C端口可作并行輸入或輸出

TMGIN計數(shù)時鐘輸入端

TMGOUT定時/計數(shù)器波形輸出端

1字節(jié)地址訪問256個存儲單元外部存儲器用MOVX指令訪問248155通用接口芯片擴(kuò)展I/O口

8155的工作方式工作方式0——基本輸入或基本輸出工作方式1——選通輸入或選通輸出A、B、C端口均可獨(dú)立工作于方式0

A、B端口可工作于方式1C端口中某些位為其服務(wù)注:各端口的工作于方式由寫入控制字確定注:8255的A端口可工作于方式0、方式1、方式28155的A端口可工作于方式0、方式1258155通用接口芯片擴(kuò)展I/O口

8155工作模式定義

C口使用靈活,不僅可單獨(dú)工作于方式0,還可為A、B端口工作于方式1服務(wù)。

ALT1——C端口為方式0輸入,A、B端口為方式0

ALT2——C端口為方式0輸出,A、B端口為方式0

ALT3——PC0~PC2為A端口方式1服務(wù)

PC3~PC5為方式0輸出

B端口為方式0

ALT4——PC0~PC2為A端口方式1服務(wù)

PC3~PC5為B端口方式1服務(wù)注:8155的工作模式由寫控制字確定,

A、B端口的輸入、輸出方式由寫控制字確定。268155通用接口芯片擴(kuò)展I/O口

A端口方式1輸入條件——8155工作模式為ALT3、ALT4

C口的服務(wù)位

PC2(/ASTB)8155←外設(shè)PC1(ABF)8155→

PC0(AINTR)8155→CPU的外部中斷請求外設(shè)向8155的PC2發(fā)低電平,表示已準(zhǔn)備好要送入8155的A端口的數(shù)據(jù)。A端口收到數(shù)據(jù)后,PC1輸出高電平,為狀態(tài)信息

A端口收到數(shù)據(jù)后,PC0輸出高電平,為中斷請求信息。278155通用接口芯片擴(kuò)展I/O口

A端口方式1輸出條件——8155工作模式為ALT3、ALT4

C口的服務(wù)位

PC2(/ASTB)8155←外設(shè)當(dāng)外設(shè)從8155的A端口取數(shù)據(jù)后,向8155的PC2發(fā)負(fù)脈沖,告之8155數(shù)據(jù)已取走。

PC1(ABF)8155→外設(shè)

PC0(AINTR)8155→CPU的外部中斷請求當(dāng)8155的A端口有新數(shù)據(jù)時,PC1輸出高電平,告訴外設(shè)可從A口取數(shù)據(jù)。當(dāng)PC2從低電平變?yōu)楦唠娖綍r,PC0輸出高電平,中斷請求CPU向A端口送新的數(shù)據(jù)。288155通用接口芯片擴(kuò)展I/O口

B端口方式1輸入、輸出條件——8155工作模式為ALT4

C口的服務(wù)位

PC5(/BSTB)8155←外設(shè)

PC4(BBF)8155→外設(shè)

PC3(BINTR)8155→CPU的外部中斷請求注:B端口方式1輸入、輸出的工作原理同A端口方式1輸入、輸出,僅是C口的服務(wù)位不同。298155通用接口芯片擴(kuò)展I/O口

8155的端口地址

8155有6個端口地址

8155無獨(dú)立的端口地址線

8155用地址/數(shù)據(jù)復(fù)用線的低3位編碼確定端口地址AD7AD6AD5AD4AD3AD2AD1AD0端口功能XXXXX000命令/狀態(tài)字XXXXX001A端口讀寫XXXXX010B端口讀寫XXXXX011C端口讀寫XXXXX100置定時值低8位XXXXX101置定時值高6位308155通用接口芯片擴(kuò)展I/O口

8155的端口地址編程寫命令(控制、方式)字讀狀態(tài)字MOVA,#命令字參數(shù)MOVR0,#XXXXX000B;寫命令字地址000MOVX@R0,AMOVR0,#XXXXX000B;讀狀態(tài)字地址000MOVXA,@R0注:命令/狀態(tài)字的地址相同,端口間址可用

R0、R1、DPTR。318155通用接口芯片擴(kuò)展I/O口

8155的端口地址編程(續(xù))從A端口讀數(shù)據(jù)向B端口寫數(shù)據(jù)向C端口寫數(shù)據(jù)MOVR0,#XXXXX001B;A端口讀/寫地址001MOVXA,@R0;A端口輸入數(shù)據(jù)到累加器AMOVR0,#XXXXX010B;B端口讀/寫地址010MOVX@R0,A;累加器A中數(shù)據(jù)到B端口MOVR0,#XXXXX011B;C端口讀/寫地址011MOVX@R0,A;累加器A中數(shù)據(jù)到C端口328155通用接口芯片擴(kuò)展I/O口

8155的命令(控制、方式)字寫方式字的條件——IO//M=1寫方式字的地址——XXXXX000B寫方式字的格式b7b6b5b4b3b2b1b0

b0——A端口輸入/輸出方式選擇

b1——B端口輸入/輸出方式選擇b0=0A端口輸入b0=1A端口輸出b1=0B端口輸入b1=1B端口輸出工作模式AB口中斷允許禁止定時器服務(wù)338155通用接口芯片擴(kuò)展I/O口

8155的命令(控制、方式)字(續(xù))

b3、b2——8155工作模式定義

b3、b2=00ALT1模式

b3、b2=01ALT2模式

b3、b2=10ALT3模式

b3、b2=11ALT4模式寫方式字的格式C端口為方式0輸入,A、B端口為方式0C端口為方式0輸出,A、B端口為方式0PC0~PC2為A端口方式1服務(wù)PC3~PC5為方式0輸出、B端口為方式0PC0~PC2為A端口方式1服務(wù)PC3~PC5為B端口方式1服務(wù)348155通用接口芯片擴(kuò)展I/O口

8155的命令(控制、方式)字(續(xù))

b4——A端口中斷方式(方式1)允許/屏蔽選擇b4=0A端口中斷禁止b4=1A端口中斷允許

b7、b6——定時/計數(shù)器工作方式選擇寫方式字的格式b7、b6=00定時/計數(shù)器無操作b7、b6=01定時/計數(shù)器停止計數(shù)b7、b6=10定時/計數(shù)器計滿數(shù)后停止b7、b6=11定時/計數(shù)器開始計數(shù)

b5——B端口中斷方式(方式1)允許/屏蔽選擇b5=0B端口中斷禁止b5=1B端口中斷允許358155通用接口芯片擴(kuò)展

I/O口

8155的狀態(tài)字讀狀態(tài)字的條件——IO//M=1讀狀態(tài)字的地址——XXXXX000B讀狀態(tài)字的格式b7b6b5b4b3b2b1b0

b0——

A端口中斷請求狀態(tài)

b1——A端口緩沖器數(shù)據(jù)存在狀態(tài)

b2——A端口中斷允許狀態(tài)

b3——B端口中斷請求狀態(tài)

b4——B端口緩沖器數(shù)據(jù)存在狀態(tài)

b5——B端口中斷允許狀態(tài)

b6——定時/計數(shù)器工作狀態(tài)

b7——未用368155通用接口芯片擴(kuò)展

I/O口

8155與MCS-51單片機(jī)的硬件連接(一)ALE/RD/WRRSTALE/RD/WRRSTIO//MP0.7...P0.0AD7...AD0/CE80318155PAPBPC片選控制378155通用接口芯片擴(kuò)展I/O口

控制線的連接數(shù)據(jù)/地址分離控制信號ALE直接連接讀寫控制信號/RD、/WR直接連接復(fù)位控制信號RESET直接連接可經(jīng)譯碼使8155的片選端/CE為低數(shù)據(jù)/地址復(fù)用線的連接

8031的P0口為8位數(shù)據(jù)/低8位地址復(fù)用線

8155的AD0~AD7為8位數(shù)據(jù)/8位地址復(fù)用線注:直接連接,由ALE控制信號分離數(shù)據(jù)/地址388155通用接口芯片擴(kuò)展I/O口

控制線IO//M的連接功能IO//M=0讀寫8155內(nèi)部SRAM功能有效IO//M=1讀寫8155I/O通道、定/計器功能有效連接8031的P0.3~P0.7接或非門的輸入端或非門的輸出端接8155的IO//M398155通用接口芯片擴(kuò)展I/O口

控制線IO//M的連接(續(xù))分析(作I/O端口用,IO//M=1)定義8155的端口地址為00H~05H

00000000B~00000101B

則P0.7~P0.3=00000時,IO//M=1分析(作SRAM用,IO//M=0)

若P0.7~P0.3≠00000時,IO//M=0XXXX1000B~XXXX1111B

SRAM的地址范圍為08H~FFH注:統(tǒng)一編址,此方法使SRAM的

00H~07H單元不能用408155通用接口芯片擴(kuò)展I/O口

8155與MCS-51單片機(jī)的硬件連接(二)ALE/RD/WRRSTALE/RD/WRRSTIO//MP0.7.P0.0AD7.AD0/CE80318155PAPBPCP2.7片選控制418155通用接口芯片擴(kuò)展I/O口

編程(P2.7為位控方式)CLRP2.7;IO//M=L,SRAM功能有效MOVR0,#40H;8155SRAM的單元地址為40H

MOVXA,@R0;40H地址中的數(shù)據(jù)送A

SETBP2.7;IO//M=H,I/O功能有效MOVR0,#02H;8155的B端口地址XXXXX010B

MOVX@R0,A;累加器A的數(shù)據(jù)送8155的B端口

注:位控法用8位地址428155通用接口芯片擴(kuò)展I/O口

編程(P2.7為A15

地址線方式)MOVDPTR,#0040H;0000000001000000B

;8155SRAM單元40H送DPTR,A15=0MOVXA,@DPTR;40H地址中的數(shù)據(jù)送A

MOVDPTR,#8002H;1000000000000010B

;8155的B端口地址送DPTR,A15=1MOVX@DPTR,A;將累加器的數(shù)據(jù)送B端口

注:位控法用16位地址437段LED數(shù)碼顯示器的控制與編程

8031923588P1P2hgfedcba543210

8031

與多位LED的接口(掃描方式)447段LED數(shù)碼顯示器的控制與編程

8155923588PA口PC口hgfedcba543210

8155與6位LED的接口電路(掃描方式)457段LED數(shù)碼顯示器的控制與編程

6位LED數(shù)碼管的控制方式

6位LED數(shù)碼管的段控方式

6位LED數(shù)碼管的位控方式各LED段線并聯(lián)后接8155的A端口中的某1位例:8155的PA0反相驅(qū)動后接6個

a

段線的并聯(lián)各LED位線單獨(dú)接8155的C端口中的某1位例:8155的PC0反相驅(qū)動后接

0位abcdefgDp共陰控制:00000111aa467段LED數(shù)碼顯示器的控制與編程

6位LED數(shù)碼管的掃描控制方法原理

6位LED管在某一時刻僅有1位顯示,其余不顯示循環(huán)控制使6位LED管依次延時顯示注:由于人眼的視覺特征,6位LED管均顯示方法設(shè)6位LED管均為共陰結(jié)構(gòu)設(shè)6位LED管初始為0位顯示

8155的A端口鎖存輸出要顯示的段碼數(shù)據(jù)例:數(shù)據(jù)F8H(反相后)顯示數(shù)字7

8155的PC0位輸出高電平(反相后為低電平)其余位PC1~PC5輸出低電平(反相后為高電平)477段LED數(shù)碼顯示器的控制與編程

6位LED數(shù)碼管的顯示

8155的A端口控制數(shù)碼管的段線

8155的C端口控制數(shù)碼管的位線

8031的P2.7控制8155的IO//M端

8155的片選端/CE=L

顯示數(shù)據(jù)的值存放在內(nèi)部RAM的7AH~7FH注:A端口方式0輸出,C端口方式0輸出。注:8155的端口地址為8000H~8005H。注:數(shù)值0~15對應(yīng)的7段LED

可顯示符號為0~9、A~F。

根據(jù)值查表獲得符號的的段值487段LED數(shù)碼顯示器的控制與編程

6位LED數(shù)碼管的顯示驅(qū)動子程序DISP:MOVA,#05H;XXXX01X1B

;C口為ALT2模式

;C端口方式0輸出

;A端口方式0輸出

MOVDPTR,#8000H;1000000000000000B

;P2.7控制8155的IO//M=H

;方式字地址A2A1A0=000BMOVX@DPTR,A;向8155寫入方式字注:顯示驅(qū)動子程序名為DISP。注:寫8155控制字。497段LED數(shù)碼顯示器的控制與編程

6位LED數(shù)碼管的顯示驅(qū)動子程序(續(xù))

MOVR0,#7AH;R0為內(nèi)部RAM的間址寄存器

;7AH~7FH為內(nèi)部RAM顯示數(shù)據(jù)區(qū)

MOVR3,#000001B;R3為位選擇控制寄存器

;R3存放6位LED的位顯示有效碼

MOVA,R3LD0:MOVDPTR,#8003H;1000000000000011B

;C端口地址A2A1A0=011BMOVX@DPTR,A;LED的0位亮,其余熄注:先位控,后輸入段值。507段LED數(shù)碼顯示器的控制與編程

6位LED數(shù)碼管的顯示驅(qū)動子程序(續(xù))

MOVDPTR,#8001H;1000000000000001B

;A端口地址A2A1A0=001BMOVA,@R0;從內(nèi)部RAM7AH~7FH中取值

ADDA,#13;調(diào)整PC值1+2+1+1+3+1+1+2+1MOVCA,@A+PC;根據(jù)值查表得段碼

MOVX@DPTR,A;依值查段碼從A端口輸出

ACALLDL1;調(diào)顯示延時子程序注:延時時間由用戶確定。517段LED數(shù)碼顯示器的控制與編程

6位LED數(shù)碼管的顯示驅(qū)動子程序(續(xù))

INCR0;指向內(nèi)部RAM的下一單元

MOVA,R3;將位碼送累加器判b5位

JBACC.5,LD1;若LED最高位輸出1則顯示完

RLA;循環(huán)左移,下一LED位有效

MOVR3,A;保存位碼到R3AJMPLD0;6個LED順序顯示LD1:RET;顯示驅(qū)動子程序結(jié)束注:LD0開始顯示6位LED管的某1位。527段LED數(shù)碼顯示器的控制與編程

6位LED數(shù)碼管的顯示驅(qū)動子程序(續(xù))DTAB:DBC0H,F(xiàn)9H,A4H,B0H,99HDB92H,82H,F(xiàn)8H,80H,90HDB88H,83H,C6H,A1H,86H,8EH注:7段LED管顯示數(shù)字0~9、英文A~F

的共陰結(jié)構(gòu)數(shù)據(jù)表(反相)。537段LED數(shù)碼顯示器的控制與編程

6位LED數(shù)碼管的顯示驅(qū)動子程序(續(xù))DL1:MOVR7,#02H;延時子程序DL1DL:MOVR6,#0FFHDL6:DJNZR6,DL6DJNZR7,DL1RET注:若主頻為12MHz,延時時間約100ms54§8.4:MCS-51內(nèi)部定時/計數(shù)器及其應(yīng)用

MCS-51內(nèi)部定時/計數(shù)器的工作方式

MCS-51內(nèi)部定時/計數(shù)器的控制方法

MCS-51內(nèi)部定時/計數(shù)器的應(yīng)用編程定時——在系統(tǒng)時鐘的控制下完成定時操作計數(shù)——在外部脈沖的控制下完成計數(shù)操作555657585960我的定時倒米機(jī)/bbs/viewthread.php?tid=2147308&highlight=%2Bwxb-cks/bbs/viewthread.php?tid=2147308&extra=&page=1倒米瞬間的視頻61定時工作方式與計數(shù)工作方式定時工作方式的邏輯控制計數(shù)器中斷主頻/12計數(shù)工作方式的邏輯控制計數(shù)器中斷引腳Tn注:參考223頁圖8.1862與定時/計數(shù)器有關(guān)的專用寄存器方式控制寄存器——TMOD計數(shù)初值寄存器——THn、TLnn=0,1啟動控制寄存器——TCON中斷允許/屏蔽控制寄存器——IE中斷優(yōu)先級控制寄存器——IP注:共8個63MCS-51內(nèi)部定時/計數(shù)器的工作方式

定時/計數(shù)器T0、T1的工作方式定時/計數(shù)器T0、T1的16位初值寄存器方式0——初值寄存器按13位計數(shù)的工作方式方式1——初值寄存器按16位計數(shù)的工作方式方式2——初值可重裝入的8位計數(shù)的工作方式方式3——T0、T1為不同工作方式

T0——TL0(低8位)、TH0(高8位)

T1——TL1(低8位)、TH1(高8位)注:使用T0、T1前,必須向寄存器中寫入計數(shù)初值,

16位初值經(jīng)8位數(shù)據(jù)線寫2次獲得。64定時/計數(shù)器T0、T1的工作方式

方式0——初值寄存器按13位計數(shù)

TLn裝入13位初值的低5位,(TLn中高3位不用)THn裝入13位初值的高8位初值寄存器的特點(diǎn)定時中斷過程初值+1→FFFFH+1→0000H,產(chǎn)生溢出中斷初值的特點(diǎn)若產(chǎn)生溢出中斷,TLn、THn中的值為00H

若要繼續(xù)工作,應(yīng)重裝初值65定時/計數(shù)器T0、T1的工作方式

方式1——初值寄存器按16位計數(shù)

TLn裝入16位初值的低8位

THn裝入16位初值的高8位初值寄存器的特點(diǎn)定時中斷過程初值+1→FFFFH+1→0000H,產(chǎn)生溢出中斷初值的特點(diǎn)若產(chǎn)生溢出中斷,TLn、THn中的值為00H

若要繼續(xù)工作,應(yīng)重裝初值66定時/計數(shù)器T0、T1的工作方式

方式2——初值可重裝入的8位計數(shù)初值寄存器的特點(diǎn)

TLn、THn

均裝入8位相同的初值

TLn作計數(shù)器用,工作時值將改變

THn作數(shù)據(jù)存儲用,工作時值不變定時中斷過程初值+1→FFH+1→00H,產(chǎn)生溢出中斷初值的特點(diǎn)若產(chǎn)生溢出中斷,TLn=00H、THn中的初值保持

THn中的初值將自動重裝入TLn67定時/計數(shù)器T0、T1的工作方式

方式3——T0、T1為不同工作方式寄存器的特點(diǎn)

T1——停止計數(shù),故T1于方式3無意義

T0——2個獨(dú)立的8位計數(shù)器TL0、TH0

TL0、TH0的工作方式

TL0——可工作于定時方式或計數(shù)方式

TH0——僅工作于定時方式

TL0、TH0的控制

TL0——使用TCON中與T0相關(guān)的位控制

TH0——借用TCON中與T1相關(guān)的位控制注:由于TH0借用了T1的控制位,方式3將限制T1的使用。68定時/計數(shù)器T0、T1的工作方式

計數(shù)初值的寫入設(shè)計數(shù)初值為16BDH方式0時T0的初值寫入方式1時T1的初值寫入16BDH=0001011010111101B=101101011110116BDH=0001011010111101B=0001011010111101MOVTH0,#10110101BMOVTL0,#XXX11101BMOVTH1,#00010110BMOVTL1,#10111101B69方式控制寄存器——TMOD

b7b6b5b4b3b2b1b0GATEC//TM1M0GATEC//TM1M0與T0有關(guān)的控制位與T1有關(guān)的控制位字節(jié)地址——89H注:無位地址操作特點(diǎn)b0~b3——與T0有關(guān)的控制位

b4~b7——與T1有關(guān)的控制位70方式控制寄存器——TMOD

M1、M0——T0、T1工作方式選擇

C//T——T0、T1定時/計數(shù)方式選擇

GATE——T0、T1的門控方式選擇

M1、M0=00——T0、T1工作于方式0M1、M0=01——T0、T1工作于方式1M1、M0=10——T0、T1工作于方式2M1、M0=11——T0、T1工作于方式3

C//T=0——T0、T1工作于定時方式

C//T=1——T0、T1工作于計數(shù)方式

GATE=0——T0、T1的啟動與/INT0、/INT1無關(guān)

GATE=1——僅/INT0、/INT1=H時,

T0、T1才能啟動

71啟動控制寄存器——TCONb7b6b5b4b3b2b1b0TF1TR1TF0TR0IE1IT1IE0IT08FH8EH8DH8CH8BH8AH89H88H字節(jié)地址——88H位地址——88H~8FH特點(diǎn)b0~b3——與/INT0、/INT1有關(guān)的控制位

b4~b7——與T0、T1有關(guān)的控制位72啟動控制寄存器——TCON

TF0、TF1——T0、T1溢出中斷標(biāo)志位

TR0、TR1——T0、T1啟動/停止控制位

TR0=0——T0停止計數(shù)

TR0=1——T0開始計數(shù)

TR1=0——T1停止計數(shù)

TR1=1——T1開始計數(shù)

TF0=0——T0未溢出

TF0=1——T0已溢出

TF1=0——T1未溢出

TF1=1——T1已溢出73中斷允許/屏蔽控制寄存器——IEb7b6b5b4b3b2b1b0EA

ESET1EX1ET0EX0AFHAEHADHACHABHAAHA9HA8H字節(jié)地址——A8H位地址——A8H~AFH特點(diǎn)b1、b3、b7——與T0、T1有關(guān)的控制位74中斷允許/屏蔽控制寄存器——IE

EA——全部中斷源中斷允許/屏蔽控制位

ET0——T0中斷允許/屏蔽控制位

ET1——T1中斷允許/屏蔽控制位

EA=0——總中斷屏蔽有效

EA=1——總中斷允許有效

ET0=0——T0中斷屏蔽

ET0=1——T0中斷允許

ET1=0——T1中斷屏蔽

ET1=1——T1中斷允許75中斷優(yōu)先級控制寄存器——IPb7b6b5b4b3b2b1b0

PSPT1PX1PT0PX0BFHBEHBDHBCHBBHBAHB9HB8H字節(jié)地址——B8H位地址——B8H~BFH特點(diǎn)b1、b3——與T0、T1有關(guān)的控制位76中斷優(yōu)先級控制寄存器——IP

PT0——T0中斷優(yōu)先級控制位

PT1——T1中斷優(yōu)先級控制位

PT0=0——T0為低級中斷

PT0=1——T0為高級中斷

PT1=0——T1為低級中斷

PT1=1——T1為高級中斷77定時/計數(shù)器的初始化編程

寫方式控制寄存器——TMOD

定時/計數(shù)初值的設(shè)置——

THn、TLn

設(shè)定定時/計數(shù)器的中斷允許/屏蔽——IE

設(shè)定定時/計數(shù)器的中斷優(yōu)先級——IP

啟動/停止定時/計數(shù)器工作——TCON注:外部中斷/INTn

初始化編程的寄存器有

TCON、IE、IP78定時/計數(shù)器的初始化編程

寫方式控制寄存器——TMOD《例》T0為方式1,定時器,與/INT0無關(guān),

T1為方式2,計數(shù)器,與/INT1有關(guān)。

定義TMOD11100001

寫寄存器TMODMOVTMOD,#11100001B注:因TMOD的地址為89H,故不能位操作79定時/計數(shù)器的初始化編程

定時/計數(shù)初值的設(shè)置《例》T0為16位初值20A5H,

T1為8位初值B6H。

置T0的初值

置T1的初值MOVTH0,#20HMOVTL0,#0A5HMOVTH0,#0B6HMOVTL0,#0B6H80定時/計數(shù)器的初始化編程

設(shè)定定時/計數(shù)器的中斷允許/屏蔽及優(yōu)先級《例》開T0中斷,為高優(yōu)先級,開T1中斷,為低優(yōu)先級。

寫寄存器IE、IPSETBPT0CLRPT1SETBET0SETBET0SETBEA81定時/計數(shù)器的初始化編程

啟動/停止定時/計數(shù)器工作《例》啟動T0,停止T1。

寫寄存器TCONSETBTR0CLRTR1注:TMOD、TLn、THn

僅字節(jié)編程,

TCON、IE、IP可位編程。82定時/計數(shù)器的初始化編程

《例》T0為方式1,定時器,與/INT0無關(guān),定時初值為3456H;中斷允許;高優(yōu)先級;啟動定時計數(shù)器。MOVTMOD,#XXXX0001BMOVTL0,#56HMOVTH0,#34HSETBPT0;高優(yōu)先級SETBTR0;啟動定時計數(shù)器SETBET0;開中斷T0分控位SETBEA;開中斷總控位83定時初值、計數(shù)初值的計算

定時/計數(shù)器的計數(shù)器工作方式

減1計數(shù)器

加1計數(shù)器初值+1→

全1+1→

全0,產(chǎn)生溢出中斷初值-1→

全0,產(chǎn)

溫馨提示

  • 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

提交評論