- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(2) TMOD寄存器初始化 根据题目要求,GATE (TMOD.3)=0, (TMOD.2)=0,M1 (TMOD.1)=0,M0 (TMOD.0)=1,定时器/计数器1没有使用,相应的各个位状态随意,均取为 0,则(TMOD)=01H。 (3) 初始化程序 void init_time0(void) { TMOD=0x01; //设置T0为定时器模式,工作在方式1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; // 启动T0 } 3. 方式2 当TMOD的M1M0=10时,定时器/计数器工作于方式2,工作于 8位自动重装初值的8位定时器/计数器方式。方式2计数器构成 如图7-7所示,TL0作为8位计数器使用,TH0作为初值寄存器 用,TL0计数溢出后,将TF0置1,同时发出自动重装初值的信 号,使三态门打开,将TH0中初值自动送入TL0,使TL0从初值 开始重新计数。 方式2中初值x的设置范围:0~255 (0~28-1),TL0从初值开始加 法计数,溢出后TH0中初值重新置入TL0。方式2工作时计数值 和定时值分别为: N= 28-x=256-x T=(28-x )Tcy= (256-x )Tcy 当x取为255时,计数值为1;当x取为0时,计数值为256。因此 方式2的计数范围为:1~256,定时范围: (1~256)Tcy 由于工作方式2有自动重新装载初值的功能,因此特别适用于定 时控制。 例7-4 已知晶振频率fosc=12MHz,要求每隔200μs产生一定时信号,试对定时器进行初始化。 解:选择定时器0,工作在方式2。 (1) 计算TH0、TL0的计数初值 由于晶振频率为12MHz,所以机器周期Tcy=1μs,则 (2n-x)×Tcy=(28-x)×1μs =200μs,所以x=256-200=56=38H 即TH0=38H,TL0=38H 或者TH0=(256-200)/256,TL0=(256-200)%256。 (2) TMOD寄存器初始化 GATE (TMOD.3)=0, (TMOD.2)=0,M1 (TMOD.1)=1,M0 (TMOD.0)=0,定时器/计数器1没有使用,相应的各个位状态随 意,均取为0,则(TMOD)=02H。 (3) 初始化程序 void init_time0(void) { TMOD=0x02; //设置T0为定时器模式,工作在方式1 TH0=0x38; TL0=0x38; TR0=1; // 启动T0 } 4. 方式3 方式3只适用于定时器/计数器T0,当TMOD的M1M0=11时,定 时器/计数器T0工作于方式3,定时器/计数器T1不能工作在方式 3。定时器/计数器T0工作于方式3的工作原理如图7-8所示。 (a) TL0作8位定时器/计数器 (b) TH0作8位定时器 图7-8 定时器/计数器T0方式3原理图 方式3时,T0分成两个独立的8位计数器:TL0和TH0,TL0是8 位定时器/计数器,TH0是8位定时器,TL0使用T0的状态控制 位 、GATE、TR0、 ,当TL0计数溢出时,由硬件将TF0置1, 向CPU发出中断请求。TH0固定为定时器方式,是8位定时器模 式,只能对机器周期Tcy进行计数,不能作为计数器模式,对外 部脉冲进行计数。由于TL0已占用了TR0和TF0,因此TH0借用 了定时器/计数器T1的TR1和TF1,TH0的启动和停止受TR1控 制,TH0定时时间到,将TF1置1。 定时器/计数器T0工作在方式3时,定时器/计数器T1虽然还可以 选择为方式0、方式1或方式2,但是由于TH0借用了定时器/计数 器T1的TR1和TF1,不能产生溢出中断请求信号,这时T1就不 能用于需要中断方式的场合,而通常用作串行口的波特率发生 器。 定时器/计数器T0工作在方式3时的计数范围为:1~256,定时范 围:(1~256)Tcy。 7.2.4定时器/计数器对输入信号的要求 定时器/计数器的作用是用来精确地确定某一段时间间隔(作为定 时器用),或累计外部输入的脉冲个数(作为计数器用)。当用做 定时器时,在其输入端输入周期固定的脉冲,根据定时器/计数 器中累计(或事先设定)的周期固定的脉冲个数,即可计算出所定 时间的长度。 当80C51内部的定时器/计数器被选定为定时器工作模式时,计 数输入信号是内部机器周期脉冲,每个机器周期产生一个脉 冲,计数器增1,定时器/计数器的输入脉冲频率为时钟振荡频 率的1/12。当采用12MHz频率的晶体时,计数速率为1MHz,输 入脉冲的周期间隔为1μs。由于定时的精度决定于输入脉冲的 周期,因此当需要高分辨率
文档评论(0)