- 7
- 0
- 约1.02万字
- 约 37页
- 2019-01-14 发布于湖北
- 举报
在工作方式3模式下,定时/计数器0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以作计数器使用,也可以作为定时器使用,定时/计数器0的各控制位和引脚信号全归它使用,其功能和操作与方式0或方式1完全相同。TH0就没有那么多“资源”可利用了,只能作为简单的定时器使用,而且由于定时/计数器0的控制位已被TL0占用,因此只能借用定时/计数器1的控制位TR1和TF1,也就是以计数溢出去置位TF1,TR1则负责控制TH0定时的启动和停止。 由于TL0既能作定时器也能作计数器使用,而TH0只能作定时器使用而不能作计数器使用,因此在方式3模式下,定时/计数器0可以构成二个定时器或者一个定时器和一个计数器。 如果定时/计数器0工作于工作方式3,那么定时/计数器1的工作方式就不可避免受到一定的限制,因为自己的一些控制位已被定时/计数器借用,只能工作在方式0、方式1或方式2下,如果设置T1工作在方式3,则T1停止工作,相当于其他方式时令TR1=0。 应用举例5 假设某MCS-51应用系统的两个外部中断源已被占用,设置定时器T1工作在方式2,作波特率发生器用。现要求增加一个外部中断源,并控制P1.0引脚输出一个5KHz左右的方波。假设系统时钟为6MHz。 1ST 2ND 3RD 应用举例5 方式选择: 设置TL0工作在方式3计数模式,把T0引脚(P3.4)作增加的外部中断输入端,TL0的初值设置为0FFH,当检测到T0引脚电平出现负跳变时,TL0增1并溢出,申请中断,这相当于跳沿触发的外部中断源。TH0为8位方式3定时模式,定时控制P1.0输出5KHz的方波信号,如图所示。 应用举例5 初值计算: TL0的初值设为0FFH。 由于5kHz的方波的周期为200 ,所以TH0的定时时间为100 。TH0的初值计算如下: X = 28 - t/T = 28 -100/2 = CEH 程序设计 源程序如下: ORG 0000H LJMP MAIN ORG 000BH LJMP TL0INT ORG 001BH LJMP TH0INT ORG 0100H MAIN: MOV TMOD,#27H ;T0为方式3计数,T1为方式2定时 MOV TL0,#0FFH MOV TH0,#CEH MOV TL1,#datal ;data根据根据波特率常数要求来定 MOV TH1, #datah ;datal为data的低8位, datah 为高8位 MOV TCON,#55H ;允许T0中断 MOV IE, #9FH ;启动T1 . TL0INT: MOV TL0,#0FFH ;TL0中断服务程序,TL0重新装入初值 RETI TH0INT: MOV TH0,#CEH CPL P1.0 ;P1.0位取反输出 RETI 应用举例6 利用单片机实现实时时钟的设计(晶振频率为6MHZ) 计数初值的计算 秒、分、时的实现 程序设计 1ST 2ND 3RD 应用举例6 计数初值的计算: 若使用定时器的方式1,定时间最大为131ms。我们把定时时间设定为100ms,初值计算如下: X = 216 - t/T = 216 -100000/2 = 3CB0H 秒、分、时的实现: 秒计时采用中断方式进行溢出次数的累计,计满十次,可得到秒计时。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒则“秒”单元32H中的内容自动加1;“秒”单元满60,则“分”单元31H中的内容加1;“分”单元满60,则“时”单元30H中的内容自动加1;“时”单元满24,则将32H、31H、30H的内容全部清零。 程序设计 程序如下: ORG 0000H AJMP MAIN ORG 000BH ;T0的中断入口
您可能关注的文档
最近下载
- 高中数学 《高中数学知识要点及解题方法精粹》.docx VIP
- 山东省济南市槐荫区2024-2025学年二年级上册期末测试数学试卷(含答案).pdf VIP
- 《GB_T 17626.5-2019电磁兼容 试验和测量技术 浪涌(冲击)抗扰度试验》专题研究报告.pptx
- CTT2000LM用户手册(维护分册)教程文件.docx VIP
- 2025年山东专升本计算机真题及答案.docx VIP
- 工业和信息化领域数据安全风险评估实施细则.pptx VIP
- 江西省“三新”协同教研共同体2025届高三12月联考生物学试卷(含答案).docx VIP
- 配电线路器材 -横担、绝缘子.ppt
- 00J008-3钢筋砼挡土墙.pdf
- 2024年华北科技学院马克思主义基本原理概论期末考试题含答案.docx VIP
原创力文档

文档评论(0)