第7章MCS51的并行接口_第1页
第7章MCS51的并行接口_第2页
第7章MCS51的并行接口_第3页
第7章MCS51的并行接口_第4页
第7章MCS51的并行接口_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章:MCS-51的并行接口§8.1:MCS-51内部I/O口及其应用

§8.2:MCS-51并行I/O口的扩展§8.3:并行口应用(单片机显示/键盘系统)§8.4:MCS-51内部定时/计数器及其应用1§8.1:MCS-51内部I/O口及其应用

MCS-51单片机提供了4个8位并行口,命名为P0、P1、P2、P3,应用中即有共性,也有个性。共性特点(基本功能)个性特点(扩展功能)字节操作:均可作8位并行口用于输入、输出位操作:各并行口中均可用于位控输入、输出

P0口━━外部扩展存储器、I/O的8位数据线/

低8位地址复用线

P2口━━外部扩展存储器、I/O的高8位地址线

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

作输出口时有输出锁存器

P0、P1、P2、P3在指令中为目的寄存器用MOV指令完成数据输出例:MOVP0,A;指令码F5H、80HMOVP1,R1;指令码89H、90HMOVP2,@R1;指令码87H、A0H注:指令机器码中,P0~P3为存储器。3P0、P1、P2、P3口作8位输入口

作输入口时有输入缓冲器

P0、P1、P2、P3在指令中为源寄存器作输入口时应先对口进行置1操作用MOV指令完成置1操作用ORL指令完成置1操作MOVP0,#0FFH;置P0口为高电平MOVA,P0;从P0口输入数据到AORLP1,#0FFH;置P1口为高电平MOVA,P1;从P1口输入数据到A注:4个并口为准双向口,作输入口时注意使用方法4P0、P1、P2、P3口的位应用

作位应用时可传送数据、状态、控制信息

Pn

口的位应用符号为Pn.0~Pn.7输出位应用指令MOVP1.2,C SETBP1.2CLRP1.2输入位应用指令MOVC,P1.0注:若从某位线输入数据,则先应将该位置15用MCS-51单片机实现数字逻辑电路电路原理图与非门74LS322输入端四或门

与门6用MCS-51单片机实现数字逻辑电路

MCS-51单片机电路7用MCS-51单片机实现数字逻辑电路

MCS-51单片机电路电路原理图8用MCS-51单片机实现数字逻辑电路

电路功能真值表P1.3P1.0P1.1P1.2LLLLLLHHLHLHLHHLHXXH从真值表中可知,当状态信息P1.3=L时,若输入信息P1.0=L,P1.1=L及P1.0=H,P1.1=H时,发光二极管L1亮,当状态信息P1.3=H时,无论P1.0P1.1为何值发光二极管L1不亮。即:P1.3=0时

P1.2=P1.0⊕P1.19用MCS-51单片机实现数字逻辑电路

编程序段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准双向口准双向口!10§8.2:MCS-51并行I/O口的扩展

通用芯片将8位Pn

口扩展为NX8位口专用芯片对Pn

口的扩展应用串行口实现扩展(后讲)在实际应用中,若MCU并口资源不够时,应外接硬件芯片解决,根据需要可选用通用芯片也可选用专用芯片。11通用芯片将8位P1口扩展为16位输入口

电路原理图

用2片8位缓冲器74LS244扩展输入口扩展原理P3.4作片选控制P3.4=0时U3有效、U2无效P3.4=1时U2有效、U3无效12通用芯片将8位P1口扩展为16位输入口

编程SETBP3.4;置P3.4=1,U2有效U3无效MOVP1,#0FFH;读数据时应先对P1口置1MOVA,P1;读U2的8位输入数据CLRP3.4;置P3.4=0,U3有效U2无效MOVP1,#0FFH;读数据时应先对P1口置1MOVA,P1;读U3的8位输入数据注:I/O操作用位控法,未用端口地址法13通用芯片将8位P1口扩展为16位输出口

电路原理图

用2片8位锁存器74HC573扩展输出口扩展原理P3.5作片选控制P3.5=0时U2有效、U3无效P3.5=1时U3有效、U2无效14通用芯片将8位P1口扩展为16位输出口

编程CLRP3.5;置P3.5=0,U2有效U3无效MOVP1,A;8位输出数写入U2SETBP3.5;置P3.5=0,U3有效U2无效MOVP1,A;8位输出数写入U3注:I/O操作用位控法,未用端口地址法注:输入口扩展用缓冲器,输出口扩展用锁存器15通用芯片将8位P0口扩展为16位输入口

电路原理图

用2片8位缓冲器74LS245扩展输入口扩展原理P0口为8位数据口P2.5参加片选译码16通用芯片将8位P0口扩展为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口扩展为16位输入口

编程MOVDPTR,#0000HMOVXA,@DPTR;从U2输入8位数据MOVDPTR,#2000HMOVXA,@DPTR;从U3输入8位数据188155通用接口芯片扩展

I/O口

8155芯片逻辑图注:8155为8位接口芯片,应用广泛。40引脚,单一的+5V电源。多功能通用并行接口芯片198155通用接口芯片扩展I/O口

8155的内部结构256X8SRAM14位定/计器8位A口8位B口6位C口IO//M/CEALE/WR/RDRSTTINTOUTAD0~AD7PA0~PA7PB0~PB7PC0~PC5208155通用接口芯片扩展I/O口

8155的功能并行接口功能

8位A端口——PA0~PA78位B端口——PB0~PB76位C端口——PC0~PC5外部存储器功能提供256个字节的外部SRAM定时/计数器功能提供1个14位定时/计数器注:C端口的应用灵活218155通用接口芯片扩展I/O口

8155与MCS-51的读写连接AD0~AD7P0.0~P0.7注:可在AD0~AD7上传送8位地址及8位数据

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

/WR(8155)←/WR(MCS-51)注:P3.6、P3.7的第二功能为/WR、/RDALE(8155)←ALE(MCS-51)注:完成P0口地址/数据复用线的分离控制228155通用接口芯片扩展I/O口

8155的片选控制

CE=0片选有效

CE=1片选无效

8155的功能选择控制IO//M=1IO//M=0注:若系统仅用一片8155可将CE接地,若用多片8155则必须译码控制。提供A、B、C3个并行接口及1个定时/计数器提供256个字节的外部静态RAM注:8155比8255的功能更多238155通用接口芯片扩展I/O口

8155与外部设备的接口功能

8155的定时/计数器

8155的外部SRAM

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

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

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

TMGIN计数时钟输入端

TMGOUT定时/计数器波形输出端

1字节地址访问256个存储单元外部存储器用MOVX指令访问248155通用接口芯片扩展I/O口

8155的工作方式工作方式0——基本输入或基本输出工作方式1——选通输入或选通输出A、B、C端口均可独立工作于方式0

A、B端口可工作于方式1C端口中某些位为其服务注:各端口的工作于方式由写入控制字确定注:8255的A端口可工作于方式0、方式1、方式28155的A端口可工作于方式0、方式1258155通用接口芯片扩展I/O口

8155工作模式定义

C口使用灵活,不仅可单独工作于方式0,还可为A、B端口工作于方式1服务。

ALT1——C端口为方式0输入,A、B端口为方式0

ALT2——C端口为方式0输出,A、B端口为方式0

ALT3——PC0~PC2为A端口方式1服务

PC3~PC5为方式0输出

B端口为方式0

ALT4——PC0~PC2为A端口方式1服务

PC3~PC5为B端口方式1服务注:8155的工作模式由写控制字确定,

A、B端口的输入、输出方式由写控制字确定。268155通用接口芯片扩展I/O口

A端口方式1输入条件——8155工作模式为ALT3、ALT4

C口的服务位

PC2(/ASTB)8155←外设PC1(ABF)8155→

PC0(AINTR)8155→CPU的外部中断请求外设向8155的PC2发低电平,表示已准备好要送入8155的A端口的数据。A端口收到数据后,PC1输出高电平,为状态信息

A端口收到数据后,PC0输出高电平,为中断请求信息。278155通用接口芯片扩展I/O口

A端口方式1输出条件——8155工作模式为ALT3、ALT4

C口的服务位

PC2(/ASTB)8155←外设当外设从8155的A端口取数据后,向8155的PC2发负脉冲,告之8155数据已取走。

PC1(ABF)8155→外设

PC0(AINTR)8155→CPU的外部中断请求当8155的A端口有新数据时,PC1输出高电平,告诉外设可从A口取数据。当PC2从低电平变为高电平时,PC0输出高电平,中断请求CPU向A端口送新的数据。288155通用接口芯片扩展I/O口

B端口方式1输入、输出条件——8155工作模式为ALT4

C口的服务位

PC5(/BSTB)8155←外设

PC4(BBF)8155→外设

PC3(BINTR)8155→CPU的外部中断请求注:B端口方式1输入、输出的工作原理同A端口方式1输入、输出,仅是C口的服务位不同。298155通用接口芯片扩展I/O口

8155的端口地址

8155有6个端口地址

8155无独立的端口地址线

8155用地址/数据复用线的低3位编码确定端口地址AD7AD6AD5AD4AD3AD2AD1AD0端口功能XXXXX000命令/状态字XXXXX001A端口读写XXXXX010B端口读写XXXXX011C端口读写XXXXX100置定时值低8位XXXXX101置定时值高6位308155通用接口芯片扩展I/O口

8155的端口地址编程写命令(控制、方式)字读状态字MOVA,#命令字参数MOVR0,#XXXXX000B;写命令字地址000MOVX@R0,AMOVR0,#XXXXX000B;读状态字地址000MOVXA,@R0注:命令/状态字的地址相同,端口间址可用

R0、R1、DPTR。318155通用接口芯片扩展I/O口

8155的端口地址编程(续)从A端口读数据向B端口写数据向C端口写数据MOVR0,#XXXXX001B;A端口读/写地址001MOVXA,@R0;A端口输入数据到累加器AMOVR0,#XXXXX010B;B端口读/写地址010MOVX@R0,A;累加器A中数据到B端口MOVR0,#XXXXX011B;C端口读/写地址011MOVX@R0,A;累加器A中数据到C端口328155通用接口芯片扩展I/O口

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

b0——A端口输入/输出方式选择

b1——B端口输入/输出方式选择b0=0A端口输入b0=1A端口输出b1=0B端口输入b1=1B端口输出工作模式AB口中断允许禁止定时器服务338155通用接口芯片扩展I/O口

8155的命令(控制、方式)字(续)

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服务PC3~PC5为方式0输出、B端口为方式0PC0~PC2为A端口方式1服务PC3~PC5为B端口方式1服务348155通用接口芯片扩展I/O口

8155的命令(控制、方式)字(续)

b4——A端口中断方式(方式1)允许/屏蔽选择b4=0A端口中断禁止b4=1A端口中断允许

b7、b6——定时/计数器工作方式选择写方式字的格式b7、b6=00定时/计数器无操作b7、b6=01定时/计数器停止计数b7、b6=10定时/计数器计满数后停止b7、b6=11定时/计数器开始计数

b5——B端口中断方式(方式1)允许/屏蔽选择b5=0B端口中断禁止b5=1B端口中断允许358155通用接口芯片扩展

I/O口

8155的状态字读状态字的条件——IO//M=1读状态字的地址——XXXXX000B读状态字的格式b7b6b5b4b3b2b1b0

b0——

A端口中断请求状态

b1——A端口缓冲器数据存在状态

b2——A端口中断允许状态

b3——B端口中断请求状态

b4——B端口缓冲器数据存在状态

b5——B端口中断允许状态

b6——定时/计数器工作状态

b7——未用368155通用接口芯片扩展

I/O口

8155与MCS-51单片机的硬件连接(一)ALE/RD/WRRSTALE/RD/WRRSTIO//MP0.7...P0.0AD7...AD0/CE80318155PAPBPC片选控制378155通用接口芯片扩展I/O口

控制线的连接数据/地址分离控制信号ALE直接连接读写控制信号/RD、/WR直接连接复位控制信号RESET直接连接可经译码使8155的片选端/CE为低数据/地址复用线的连接

8031的P0口为8位数据/低8位地址复用线

8155的AD0~AD7为8位数据/8位地址复用线注:直接连接,由ALE控制信号分离数据/地址388155通用接口芯片扩展I/O口

控制线IO//M的连接功能IO//M=0读写8155内部SRAM功能有效IO//M=1读写8155I/O通道、定/计器功能有效连接8031的P0.3~P0.7接或非门的输入端或非门的输出端接8155的IO//M398155通用接口芯片扩展I/O口

控制线IO//M的连接(续)分析(作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注:统一编址,此方法使SRAM的

00H~07H单元不能用408155通用接口芯片扩展I/O口

8155与MCS-51单片机的硬件连接(二)ALE/RD/WRRSTALE/RD/WRRSTIO//MP0.7.P0.0AD7.AD0/CE80318155PAPBPCP2.7片选控制418155通用接口芯片扩展I/O口

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

MOVXA,@R0;40H地址中的数据送A

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

MOVX@R0,A;累加器A的数据送8155的B端口

注:位控法用8位地址428155通用接口芯片扩展I/O口

编程(P2.7为A15

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

;8155SRAM单元40H送DPTR,A15=0MOVXA,@DPTR;40H地址中的数据送A

MOVDPTR,#8002H;1000000000000010B

;8155的B端口地址送DPTR,A15=1MOVX@DPTR,A;将累加器的数据送B端口

注:位控法用16位地址437段LED数码显示器的控制与编程

8031923588P1P2hgfedcba543210

8031

与多位LED的接口(扫描方式)447段LED数码显示器的控制与编程

8155923588PA口PC口hgfedcba543210

8155与6位LED的接口电路(扫描方式)457段LED数码显示器的控制与编程

6位LED数码管的控制方式

6位LED数码管的段控方式

6位LED数码管的位控方式各LED段线并联后接8155的A端口中的某1位例:8155的PA0反相驱动后接6个

a

段线的并联各LED位线单独接8155的C端口中的某1位例:8155的PC0反相驱动后接

0位abcdefgDp共阴控制:00000111aa467段LED数码显示器的控制与编程

6位LED数码管的扫描控制方法原理

6位LED管在某一时刻仅有1位显示,其余不显示循环控制使6位LED管依次延时显示注:由于人眼的视觉特征,6位LED管均显示方法设6位LED管均为共阴结构设6位LED管初始为0位显示

8155的A端口锁存输出要显示的段码数据例:数据F8H(反相后)显示数字7

8155的PC0位输出高电平(反相后为低电平)其余位PC1~PC5输出低电平(反相后为高电平)477段LED数码显示器的控制与编程

6位LED数码管的显示

8155的A端口控制数码管的段线

8155的C端口控制数码管的位线

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

8155的片选端/CE=L

显示数据的值存放在内部RAM的7AH~7FH注:A端口方式0输出,C端口方式0输出。注:8155的端口地址为8000H~8005H。注:数值0~15对应的7段LED

可显示符号为0~9、A~F。

根据值查表获得符号的的段值487段LED数码显示器的控制与编程

6位LED数码管的显示驱动子程序DISP:MOVA,#05H;XXXX01X1B

;C口为ALT2模式

;C端口方式0输出

;A端口方式0输出

MOVDPTR,#8000H;1000000000000000B

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

;方式字地址A2A1A0=000BMOVX@DPTR,A;向8155写入方式字注:显示驱动子程序名为DISP。注:写8155控制字。497段LED数码显示器的控制与编程

6位LED数码管的显示驱动子程序(续)

MOVR0,#7AH;R0为内部RAM的间址寄存器

;7AH~7FH为内部RAM显示数据区

MOVR3,#000001B;R3为位选择控制寄存器

;R3存放6位LED的位显示有效码

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

;C端口地址A2A1A0=011BMOVX@DPTR,A;LED的0位亮,其余熄注:先位控,后输入段值。507段LED数码显示器的控制与编程

6位LED数码管的显示驱动子程序(续)

MOVDPTR,#8001H;1000000000000001B

;A端口地址A2A1A0=001BMOVA,@R0;从内部RAM7AH~7FH中取值

ADDA,#13;调整PC值1+2+1+1+3+1+1+2+1MOVCA,@A+PC;根据值查表得段码

MOVX@DPTR,A;依值查段码从A端口输出

ACALLDL1;调显示延时子程序注:延时时间由用户确定。517段LED数码显示器的控制与编程

6位LED数码管的显示驱动子程序(续)

INCR0;指向内部RAM的下一单元

MOVA,R3;将位码送累加器判b5位

JBACC.5,LD1;若LED最高位输出1则显示完

RLA;循环左移,下一LED位有效

MOVR3,A;保存位码到R3AJMPLD0;6个LED顺序显示LD1:RET;显示驱动子程序结束注:LD0开始显示6位LED管的某1位。527段LED数码显示器的控制与编程

6位LED数码管的显示驱动子程序(续)DTAB:DBC0H,F9H,A4H,B0H,99HDB92H,82H,F8H,80H,90HDB88H,83H,C6H,A1H,86H,8EH注:7段LED管显示数字0~9、英文A~F

的共阴结构数据表(反相)。537段LED数码显示器的控制与编程

6位LED数码管的显示驱动子程序(续)DL1:MOVR7,#02H;延时子程序DL1DL:MOVR6,#0FFHDL6:DJNZR6,DL6DJNZR7,DL1RET注:若主频为12MHz,延时时间约100ms54§8.4:MCS-51内部定时/计数器及其应用

MCS-51内部定时/计数器的工作方式

MCS-51内部定时/计数器的控制方法

MCS-51内部定时/计数器的应用编程定时——在系统时钟的控制下完成定时操作计数——在外部脉冲的控制下完成计数操作555657585960我的定时倒米机/bbs/viewthread.php?tid=2147308&highlight=%2Bwxb-cks/bbs/viewthread.php?tid=2147308&extra=&page=1倒米瞬间的视频61定时工作方式与计数工作方式定时工作方式的逻辑控制计数器中断主频/12计数工作方式的逻辑控制计数器中断引脚Tn注:参考223页图8.1862与定时/计数器有关的专用寄存器方式控制寄存器——TMOD计数初值寄存器——THn、TLnn=0,1启动控制寄存器——TCON中断允许/屏蔽控制寄存器——IE中断优先级控制寄存器——IP注:共8个63MCS-51内部定时/计数器的工作方式

定时/计数器T0、T1的工作方式定时/计数器T0、T1的16位初值寄存器方式0——初值寄存器按13位计数的工作方式方式1——初值寄存器按16位计数的工作方式方式2——初值可重装入的8位计数的工作方式方式3——T0、T1为不同工作方式

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

T1——TL1(低8位)、TH1(高8位)注:使用T0、T1前,必须向寄存器中写入计数初值,

16位初值经8位数据线写2次获得。64定时/计数器T0、T1的工作方式

方式0——初值寄存器按13位计数

TLn装入13位初值的低5位,(TLn中高3位不用)THn装入13位初值的高8位初值寄存器的特点定时中断过程初值+1→FFFFH+1→0000H,产生溢出中断初值的特点若产生溢出中断,TLn、THn中的值为00H

若要继续工作,应重装初值65定时/计数器T0、T1的工作方式

方式1——初值寄存器按16位计数

TLn装入16位初值的低8位

THn装入16位初值的高8位初值寄存器的特点定时中断过程初值+1→FFFFH+1→0000H,产生溢出中断初值的特点若产生溢出中断,TLn、THn中的值为00H

若要继续工作,应重装初值66定时/计数器T0、T1的工作方式

方式2——初值可重装入的8位计数初值寄存器的特点

TLn、THn

均装入8位相同的初值

TLn作计数器用,工作时值将改变

THn作数据存储用,工作时值不变定时中断过程初值+1→FFH+1→00H,产生溢出中断初值的特点若产生溢出中断,TLn=00H、THn中的初值保持

THn中的初值将自动重装入TLn67定时/计数器T0、T1的工作方式

方式3——T0、T1为不同工作方式寄存器的特点

T1——停止计数,故T1于方式3无意义

T0——2个独立的8位计数器TL0、TH0

TL0、TH0的工作方式

TL0——可工作于定时方式或计数方式

TH0——仅工作于定时方式

TL0、TH0的控制

TL0——使用TCON中与T0相关的位控制

TH0——借用TCON中与T1相关的位控制注:由于TH0借用了T1的控制位,方式3将限制T1的使用。68定时/计数器T0、T1的工作方式

计数初值的写入设计数初值为16BDH方式0时T0的初值写入方式1时T1的初值写入16BDH=0001011010111101B=101101011110116BDH=0001011010111101B=0001011010111101MOVTH0,#10110101BMOVTL0,#XXX11101BMOVTH1,#00010110BMOVTL1,#10111101B69方式控制寄存器——TMOD

b7b6b5b4b3b2b1b0GATEC//TM1M0GATEC//TM1M0与T0有关的控制位与T1有关的控制位字节地址——89H注:无位地址操作特点b0~b3——与T0有关的控制位

b4~b7——与T1有关的控制位70方式控制寄存器——TMOD

M1、M0——T0、T1工作方式选择

C//T——T0、T1定时/计数方式选择

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工作于计数方式

GATE=0——T0、T1的启动与/INT0、/INT1无关

GATE=1——仅/INT0、/INT1=H时,

T0、T1才能启动

71启动控制寄存器——TCONb7b6b5b4b3b2b1b0TF1TR1TF0TR0IE1IT1IE0IT08FH8EH8DH8CH8BH8AH89H88H字节地址——88H位地址——88H~8FH特点b0~b3——与/INT0、/INT1有关的控制位

b4~b7——与T0、T1有关的控制位72启动控制寄存器——TCON

TF0、TF1——T0、T1溢出中断标志位

TR0、TR1——T0、T1启动/停止控制位

TR0=0——T0停止计数

TR0=1——T0开始计数

TR1=0——T1停止计数

TR1=1——T1开始计数

TF0=0——T0未溢出

TF0=1——T0已溢出

TF1=0——T1未溢出

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

ESET1EX1ET0EX0AFHAEHADHACHABHAAHA9HA8H字节地址——A8H位地址——A8H~AFH特点b1、b3、b7——与T0、T1有关的控制位74中断允许/屏蔽控制寄存器——IE

EA——全部中断源中断允许/屏蔽控制位

ET0——T0中断允许/屏蔽控制位

ET1——T1中断允许/屏蔽控制位

EA=0——总中断屏蔽有效

EA=1——总中断允许有效

ET0=0——T0中断屏蔽

ET0=1——T0中断允许

ET1=0——T1中断屏蔽

ET1=1——T1中断允许75中断优先级控制寄存器——IPb7b6b5b4b3b2b1b0

PSPT1PX1PT0PX0BFHBEHBDHBCHBBHBAHB9HB8H字节地址——B8H位地址——B8H~BFH特点b1、b3——与T0、T1有关的控制位76中断优先级控制寄存器——IP

PT0——T0中断优先级控制位

PT1——T1中断优先级控制位

PT0=0——T0为低级中断

PT0=1——T0为高级中断

PT1=0——T1为低级中断

PT1=1——T1为高级中断77定时/计数器的初始化编程

写方式控制寄存器——TMOD

定时/计数初值的设置——

THn、TLn

设定定时/计数器的中断允许/屏蔽——IE

设定定时/计数器的中断优先级——IP

启动/停止定时/计数器工作——TCON注:外部中断/INTn

初始化编程的寄存器有

TCON、IE、IP78定时/计数器的初始化编程

写方式控制寄存器——TMOD《例》T0为方式1,定时器,与/INT0无关,

T1为方式2,计数器,与/INT1有关。

定义TMOD11100001

写寄存器TMODMOVTMOD,#11100001B注:因TMOD的地址为89H,故不能位操作79定时/计数器的初始化编程

定时/计数初值的设置《例》T0为16位初值20A5H,

T1为8位初值B6H。

置T0的初值

置T1的初值MOVTH0,#20HMOVTL0,#0A5HMOVTH0,#0B6HMOVTL0,#0B6H80定时/计数器的初始化编程

设定定时/计数器的中断允许/屏蔽及优先级《例》开T0中断,为高优先级,开T1中断,为低优先级。

写寄存器IE、IPSETBPT0CLRPT1SETBET0SETBET0SETBEA81定时/计数器的初始化编程

启动/停止定时/计数器工作《例》启动T0,停止T1。

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

仅字节编程,

TCON、IE、IP可位编程。82定时/计数器的初始化编程

《例》T0为方式1,定时器,与/INT0无关,定时初值为3456H;中断允许;高优先级;启动定时计数器。MOVTMOD,#XXXX0001BMOVTL0,#56HMOVTH0,#34HSETBPT0;高优先级SETBTR0;启动定时计数器SETBET0;开中断T0分控位SETBEA;开中断总控位83定时初值、计数初值的计算

定时/计数器的计数器工作方式

减1计数器

加1计数器初值+1→

全1+1→

全0,产生溢出中断初值-1→

全0,产

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论