- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三定时器/计数器
一实验口的
1学习定时器/计数器的工作原理
2掌握定时器/计数器的控制方法
3掌握定吋器/计数器各种工作模式和工作方式下的编程方法
二实验原理
MCS-51单片机内有两个可编程的定时器/计数器TO、T1,可分别工作在定吋器或 计数器模式下。每种工作模式下有四种工作方式。
1、 计数器工作模式:外部脉冲进行计数,输入引脚(TO、T1即P3.4和P3.5) 产生负跳变脉冲则计数器加1
2、 定时器工作模式:内部脉冲计数,每个机器周期产生一个计数脉冲,如外接
12MHZ时钟则每隔1 p s计数器加1
3、 工作方式控制寄存器TMOD
D7
D6
D5
D4
D3
D2
DI
DO
GATE
C/T
Ml
MO
GATE
C/T
Ml
MO
H T1方式字 TO方式字乍
-当INTX为高电平且RTRX为1吋启动定吋器/计数器
GATE y
I只要TRO (或TR1)置1,定时器/计数器就被选通
“ 0为定时器模式
C/T y
、1为计数器模式
M1MO工作方式选择控制
Ml MO
方式
说明
0
0
0
13位定时器(TII的8位和TL的低5位)
0
1
1
16位定时器/计数器
1
0
2
自动輕入初值的8位计数器
1
1
3
TO分成两个独立的8位计数器,T1在方式3时停 止工作
4、定时器/计数器控制寄存器TCON
D7
D6
D5
D4
D3
D2
D1
D0
TF1
TR1
TFO
TRO
IE1
IT1
IE0
ITO
ITX
外部小断请求触发方式选择0为电平触发1为负跳沿触发
IEX
外部中断请求标志位
TEX
定时器/计数器溢出标志位
「1启动相应的定时器/计数器
TRX
.0停止相应的定时器/计数器
注:上述X代表1或0
5、定时器/计数器控制寄存器1E
D7
D6
D5
D4
D3
D2
D1
D0
位标志
EA
—
ET2
ES
ET1
EX1
ET0
EXO
位地址
AF
AEH
ADH
ACH
ABH
AAH
A9H
A8H
其中与中断冇关的控制位共7位:
EA: 屮断允许总控制位。
EA=0时,中断总禁止,禁止一切中断;
EA=1时,屮断总允许,而每个中断源允许与禁止,分别由各白的允许位 确定。
EX0和EX1:外部中断允许控制位。
exo (或exi)=0,禁止外部屮断“rm (或向);
EX0 (或EX1) =1,允许外部中断(或IF帀)。
ET0和ET1:定时器小断允许控制位。
ETO (ET1) =0,禁止定时器0 (或定吋器1)中断;
ETO (ET1) =1,允许定时器0 (或定时器1)中断。
ES: 串行中断允许控制位。
ES=O,禁止串行(TI或RI)中断;
ES=1,允许串行(TI或RI)中断。
ET2: 定时器2屮断允许控制位。
ET2=0,禁止定时器2 (TF2或EXF2)中断;
ET2=0,禁止定时器2 (TF2或EXF2)屮断;
在单片机复位后,IE各位被复位成“0状态,CPU处于关闭所有中断的状态。所以,在 单片机复位以后,用户必须通过程序中的指令来开放所需屮断。
6、 各种工作方式最大定时时间(以6MHZ外接时钟频率计算)
方式0最长定时16. 384ms
方式1最长定时131.072ms
方式2最长定时51211 s
、方式3最长定时512 us
7、 定时初始值计算
(2/,-X)xAx10_6=M
n为不同工作方式计数器计数位数,AxlO为机器周期所占时间,M为所需 定时时间,X为对定时器/计数器所需设置的初始值
例:工作方式1下外接6MHZ晶振,要定时100ms则初始值X为:
(2,6-X)x2x10_6=M X=15536=3CB0H TH0=3CH TLO二OBOH
三实验内容
1、 编程实现以定时器/计数器TO做为定时器,使得P1.0每隔一秒钟取反一次, 并用LED灯显示。可参考实验程序(一)
2、 在内容1的基础上实现以T1做计数器,当P1. 0取反20次后关闭所有中断,
并点亮8个LED灯。
3、 附加内容;(1)要求以定时器控制延时的方法对P1 口做跑马灯控制,当跑马灯 循坏5次时点亮8个LED灯。
⑵T0方式定时,外部中断后反向跑马亮五个灯。
说明:完成一次附加内容弥补一次迟到或0.5次旷课。
四实验连线
内容一,Pl 口连接8位逻辑电平输出.
内容二,P1 口连接8位逻辑电平输出,P1.0连接T1即P3. 5.
五实验参考程序
说明:本程序以工作方式1定时50ms,定时中断20次为一秒为例。程序省略部 分需补充才可完成实验要求。
0RG
0000II
LJMP
START
ORG
OOOBH
LJMP
TOINT
T01NT:
PUSH
PSW
MOV
TLO
;装入初始值
MOV
THO
DJNZ
R7 G1
CP
文档评论(0)