




如果您无法下载资料,请参考说明:
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最长可定时512s。 选方式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个

YY****。。
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx