- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
波特率发生器方式 可编程时钟输出方式 * * 定时应用 定时时间较小时(小于70ms)。晶振为11.0592 MHz时,Tcy为1.085μS。可直接采用方式1完成定时任务。 【例5-4】利用定时/计数器T0的方式1,产生10ms的定时,并使P2.7引脚上输出周期为20ms的方波,采用中断方式,设系统的晶振频率为11.0592 MHz。 确定方式字: T0在定时的方式1时: M1M0=01,GATE=0 ,C/T=0 方式控制字为01H 求计数初值X: Tcy为1.085μS N=10ms/1.085μS=9216 X=65536-9216=DC00H 应将DC送TH0, 00H送TL0 * * void main(void) { TMOD=0x01; TL0 =0xDC; TH0 =0x00; IE = 0x82; TR0 =1; while(1); } 主程序 中断服务程序 void T0Isr() interrupt 1 { P27 = ~P27; TL0 = 0xDC; TH0 = 0x00; } * * 定时时间较大时(大于70ms)。实现方法:一是采用1个定时器定时一定的间隔(如20ms),然后用软件进行计数;二是采用2个定时器级联,其中一个定时器用来产生周期信号(如20ms为周期),然后将该信号送入另一个计数器的外部脉冲输入端进行脉冲计数。 【例5-5】编写程序,实现用定时/计数器T0定时,使P2.7引脚输出周期为1s的方波。设系统的晶振频率为11.0592MHz。 确定方式字: T0在定时的方式1时: M1M0=01,GATE=0 ,C/T=0 方式控制字为01H 求计数初值X: Tcy为1μS N=20ms/12/11.0592=18432 X=65536-18432=B800H 应将B8送TH0, 00H送TL0 采用定时20ms,然后再计数25次的方法实现 * * void main(void) { TMOD=0x01; TL0=0x00; TH0=0xB8; IE=0x82; TR0=1; while(1); } void T0Isr() interrupt 1 { static uchar Counter; Counter++; if(Counter==25) { P27=~P27; Counter=0; } TL0=0x00; TH0=0xB8; } 主程序 中断服务程序 * * 门控位的应用 【例5-6】 测量INT0引脚上出现的正脉冲宽度,并将结果(以机器周期的形式)存放在30H和31H两个单元中。 将T0设置为方式1的定时方式,且GATE=1,计数器初值为0,将TR0置1。 INT0引脚上出现高电平时,加1计数器开始对机器周期计数。 INT0引脚上信号变为低电平时,停止计数 然后读出TH0、TL0的值 单定时器产生多定时间隔 (略) * * while(1) { TMOD=0x09; TL0=0; TH0=0; while(P32); TR0=1; while(!P32); while(P32); TR0=0; Low=TL0; High=TH0; } 主程序(部分) 5.4 80C52的定时/计数器T2 T2矢量地址002BH; T2还增加了16位自动重装、捕获及加减计数方式; 1.0为计数输入(T2),还可输出脉冲;P1.1(T2EX)有捕获/重装方式触发和检测功能。 5.4.1 T2的相关控制寄存器 工作方式寄存器T2MOD 7 6 5 4 3 2 1 0 T2MOD T2OE DCEN 字节地址:C9H T2OE:输出允许位。为1时,允许定时时钟从P1.0输出。 DCEN:计数方向控制使能位。 为1时,计数方向与P1.1有关,P1.1为1时,为减计数, P1.1为0时,为加计数。 控制寄存器T2CON TF2:溢出标志位。不自动清0(与TF0和TF1不同)。 EXF2:T2外部中断标志位。在捕捉和自动重装方式下,当EXEN2=1时,在T2EX引脚发生负跳变会使EXF2置位(软件清0)。 RCLK:串行口接收时钟选择。 TCLK:串行口发送时钟选择。 EXEN2:外部触发使能位。 TR2:T2的运行控制位。 C/T2:T2的定时或计数功能选择位。 CP/RL2:捕捉或重装选择位。 5.4.2 T2的工作方式 捕捉方式 EXEN2=1时,捕捉方式。在引脚T2EX(P1.1)发生有效负跳变时,会把TH2和TL2的内容锁入捕捉寄存器RCAP2H和RCAP2L中。并使EXF2置位,向CPU申
文档评论(0)