单片机定时器计数器与串行通信口概要.ppt 立即下载
2024-11-26
约5.7千字
约69页
0
1.2MB
举报 版权申诉
预览加载中,请您耐心等待几秒...

单片机定时器计数器与串行通信口概要.ppt

单片机定时器计数器与串行通信口概要.ppt

预览

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

10 金币

下载文档

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

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

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

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

第六章定时器/计数器与串行通信口6.1.1定时/计数器的基本原理6.1.2定时器/计数器的控制寄存器
TCON可位寻址,字节地址是88H,复位时所有位清零。低4位与外部中断有关,已介绍。高4位的功能如下:

(1)TF1、TF0——计数溢出标志位,计数溢出时由硬件自动置1,向CPU请求中断,当CPU响应时,由硬件清0。
(2)TR1、TR0——计数运行控制位
	1:启动定时器/计数器工作
	0:停止定时器/计数器工作2.工作方式控制寄存器TMOD(89H)GATE——门控位
0:以运行控制位TRX(X=0,1)来启动定时器/计数器运行。
1:TRX=1且中断引脚(INT0或INT1)上为高电平时,启动定时器/计数器运行。计数脉冲输入2.方式1—16位方式3.方式2—8位自动装入时间常数方式4.方式3—2个8位方式



当T1用作串行口的波特率发生器时,T0才工作在方式3。T0处于方式3时,T1可定为方式0、方式1和方式2,用来作为串行口的波特率发生器(通常设置成方式2),或不需要中断的场合。




6.1.4定时/计数器常数的计算2.定时器初值的计算
在定时器模式下,计数器由单片机主脉冲经12分频后计数。因此,定时器定时时间T的公式:
T=(M-TC)TP
上式也可写成:TC=M-T/TP

M:模值,和定时器的工作方式有关;TP:单片机的机器周期(振荡周期TCLK的12倍);TC:定时器的定时初值。3.初始化设置顺序

工作方式控制字TMOD的设置;
计数初值的装入;
开中断;
启/停位的设置等。6.1.5定时器/计数器的编程和应用
由于方式0是为兼容MCS-48而设,其计数初值计算复杂,在实际应用中,一般不用方式0,而采用方式1。
一、方式1应用
例:假设系统时钟频率采用6MHz,要在P1.0上输出一个周期为2ms的方波,如图所示。设:需要装入T0的初值为X,则有:
		(216-X)×2×10-6=1×10-3
216-X=500X=65036
X化为16进制,即。
所以,T0的初值为:
TH0=0FEHTL0=0CH(3)程序设计
中断服务程序除了完成要求的产生方波这一工作之外,还要注意将计数初值重新装入定时器中,为下一次产生中断作准备。
参考程序:
	ORG0000H
RESET:AJMPMAIN;转主程序
ORG000BH;T0的中断入口
		AJMPIT0P		;转T0中断处理程序IT0P
ORG0100H
MAIN:MOVSP,#60H;设堆栈指针
MOVTMOD,#01H	;设置T0为方式1		ACALLPT0M0	;调用子程序PT0M0
HERE:AJMPHERE	;自身跳转
PT0M0:MOVTL0,#0CH	;T0初始化程序,T0置初值
MOVTH0,#0FEH
SETBTR0	;启动T0
SETBET0	;允许T0中断
SETBEA;CPU开中断
RET
ITOP:MOVTL0,#0CH;T0中断服务子程序,T0重置初值
		MOVTH0,#0FEH
CPLP1.0;P1.0的状态取反
RETI例:假设系统时钟为6MHz,编写定时器T0产生1秒定时的程序。
(1)定时器T0工作方式的确定
因定时时间较长,采用哪一种工作方式?由定时器各种工作方式的特性,可计算出:
方式0最长可定时16.384ms;
方式1最长可定时131.072ms;
方式2最长可定时512s。
选方式1,每隔100ms中断一次,中断10次为1s。
(2)计算计数初值
因为:(216-X)×2×10-6=10-1
所以:X=15536=3CB0H
因此:TH0=3CH,TL0=B0H(3)10次计数的实现
对于中断10次计数,采用循环程序的方法实现。

(4)程序设计
参考程序:
		ORG0000H
RESET:LJMPMAIN	;上电,转主程序入口MAIN
ORG000BH;T0的中断入口
LJMPIT0P	;转T0中断处理程序IT0P
ORG1000H
MAIN:MOVSP,#60H	;设堆栈指针
MOVB,#0AH	;设循环次数10次	MOVTMOD,#01H	;设T0工作在方式1
MOVTL0,#0B0H;给T0设初值
MOVTH0,#3CH
		SETBTR0	;启动T0
SETBET0	;允许T0中断
	SETBEA;CPU开放中断
HERE:SJMPHERE	;等待中断
ITOP:MOVTL0,#0B0H;中断子程序,重装初值
MOVTH0,#3CH;
	DJNZB,LOOP
CLRTR0;1s定时时间到,停止T0工作
LOOP:RETI例:利用定时器T1的方式2对外部信号计数,要求每计满100个数,将P1.0取反。
(1)选择工作方式
外部信号由T1(P3.5)脚输入,每发生一次负跳变计数器加1,每输入100个
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

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

单片机定时器计数器与串行通信口概要

文档大小:1.2MB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
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专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用