您所在位置: 网站首页 / 单片机课程版.ppt / 文档详情
单片机课程版.ppt 立即下载
2024-11-26
约4千字
约31页
0
88KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

单片机课程版.ppt

单片机课程版.ppt

预览

免费试读已结束,剩余 26 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

6.1定时器的定时与计数功能
1.定时器的计数功能
所谓计数是指对单片机外部所发生的事件进行累计。外部事件的发生以脉冲的形式表示,因此计数功能的实质就是对外部脉冲进行计数。检测一个1到0的跳变需要2个机器周期,故外部输入脉冲的最高频率为振荡频率的1/24。虽然计数器对输入脉冲的占空比无特殊要求,但为了确保某个电平在变化之前被采样一次,要求电平的保持时间至少是一个完整的机器周期。
2.定时器的定时功能
定时器的定时功能也是通过计数的方式来实现的,只是此时的计数脉冲来自单片机内部,由振荡器经12分频后提供,即每个机器周期提供一个计数脉冲。所以在定时状态下,每个机器周期定时器自动加1直至计满溢出。6.2定时器的有关寄存器
MCS-51内部定时器的各种功能均在寄存器TCON及TMOD的控制下实现。
6.2.1定时器控制寄存器(TCON)6.2.2定时器工作方式控制寄存器(TMOD)
注意该寄存器不能进行位寻址,只能使用字节传送指令设置其内容。6.3定时器的4种工作方式
6.3.1工作方式0①最大计数量:


②已知要求的计数量n,则计数器的初值为:


③最大定时时间:


④已知要求的定时时间t,则定时器的初值为:


求得初值以后,应将x分配到TL0和TH0:【例6-1】设定时器T0选择工作方式0,定时状态,定时时间1ms,fosc=6MHz。试确定T0初值,计算最大定时时间tmax。
解:
①计算最大定时时间


②计算计数器的初值


转换为二进制数:x=1111000001100B
取x的低5位送TL0的低5位,TL0的高3位取0,则(TL0)=00001100B=0CH。取x的高8位送给TH0,则(TH0)=11110000B=0F0H。【例6-2】设单片机晶振频率为fosc=12MHz,使用定时器T1以方式0产生周期为2ms的等宽连续方波,并由P1.0输出(用中断方式完成)。
解:欲产生周期为2ms的等宽连续方波,只需在P1.0端以1ms为周期交替输出高低电平即可。因此定时时间应为1ms。
①计算计数初值
使用12MHz晶振,一个机器周期为1μs。设待求计数初值为x,则:




将x表示为二进制形式:x=1110000011000B,故(TH1)=0E0H,(TL1)=18H。
③TMOD寄存器初始化
定时器T1为方式0:M1M0=00;定时状态:T/C=0;为实现定时器T1的运行控制,GATE=0。定时器T0不用,有关位设定为0。因此TMOD寄存器应初始化为00H。		ORG	0000H
		AJMP	START
		ORG	001BH
		LJMP	PITO1
		ORG	0100H
	START:MOV	SP,#60H
		MOV	TMOD,#00H
		MOV	TH1,#0E0H
		MOV	TL1,#18H
		CLR	P1.0
		SETB	EA
		SETB	ET1
		SETB	TR1
		SJMP	$
	PITO1:MOV	TL1,#18H
		MOV	TH1,#0E0H
		CPL	P1.0
		RETI
		END6.3.2工作方式1【例6-3】设单片机晶振频率为fosc=12MHz,使用定时器T1以方式1产生周期为2ms的等宽连续方波,并由P1.0输出(用查询方式完成)。
解:本例同例6-2,基本定时时间为1ms。
①计算计数初值




将x表示为二进制形式:,故(TH1)=0FCH,(TL1)=18H。
②TMOD寄存器初始化
定时器T1为方式1:则M1M0=01;定时功能:T/C=0;为实现定时器T1的运行控制,GATE=0。定时器T0不用,有关位设定为0。因此TMOD寄存器应初始化为10H。		ORG		0000H
START:MOV	TMOD,#10H
		CLR		P1.0
		MOV		TL1,#18H
		MOV		TH1,#0FCH
		SETB	TR1
LOOP:JNB		TF1,$
		MOV		TL1,#18H
		MOV		TH1,#0FCH
		CLR		TF1
		CPL		P1.0
		SJMP	LOOP
		END6.3.3工作方式2
相关参数的计算如下:【例6-4】用定时器T0以工作方式2计数,每计100次进行累加器加1操作。
解:
①计算计数初值



所以,(TH0)=9CH,(TL0)=9CH
②TMOD寄存器初始化
M1M0=10,T/C=1,GATE=0
因此(TMOD)=06H		ORG		0000H
		AJMP	START
		ORG		0100H
START:MOV	IE,#00H
		MOV		TMOD,#06H
		MOV		TH0,#9CH
		MOV		TL0,#9CH
		SETB	TR0
LOOP:JBC		TF0,LOOP1
	
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

单片机课程版

文档大小:88KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用