8 STC15F2K60S2单片机的定时器计数器 例题.docVIP

8 STC15F2K60S2单片机的定时器计数器 例题.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8 STC15F2K60S2单片机的定时器计数器 例题

PAGE  PAGE 169      第8章STC15F2K60S2单片机的定时/计数器 例题 例8.1 用T1方式0实现定时,在P1.0引脚输出周期为10mS的方波。 解: 根据题意,采用T1方式0进行定时,因此,(TMOD)=00H。 因为方波周期是10mS,因此T1的定时时间应为5mS,每5mS时间到就对P1.0取反,就可实现在P1.0引脚输出周期为10mS的方波。系统采用12M晶振,分频系数为12,即定时脉钟周期为1μS,则T1的初值为: X = M ?计数值= 65536 ? 5000 = = 60536 =EC78H 即:TH1 = ECH,TL1 = 78H。 (1)查询方式实现: ORG 0000H MOV TMOD,#00H ;设T1为方式0定时模式 MOV TH1,#0ECH ;置5mS定时的初值 MOV TL1,#78H SETB TR1 ;启动T1 Check_TF1: JBC TF1,Timer1_Overflow ;查询计数溢出 SJMP Check_TF1 ;未到5mS继续计数 Timer1_Overflow: CPL P1.0 ;对P1.0取反输出 SJMP Check_TF1 ;未到1s继续循环 END (2)中断方式实现: ORG 0000H LJMP MAIN ;上电复位后,转MAIN ORG 001BH LJMP Timer1_ISR ;T1中断响应后,转 Timer1_ISR ORG 0100H MAIN: MOV TMOD,#00H ;设T1为方式0定时模式 MOV TH1,#0ECH ;置5mS定时的初值 MOV TL1,#78H SETB ET1 SETB EA ;开放中断 SETB TR1 ;启动T1 SJMP $ ;原地踏步,模拟主程序 Timer1_ISR: CPL P1.0 ;对P1.0取反输出 RETI ;中断返回,回到主程序执行 SJMP $ END 例8.2 用定时/计数器扩展外部中断。 解:当实际应用系统中有两个以上的外部中断源,而片内定时/计数器未使用时,可利用定时/计数器来扩展外部中断源。扩展方法是,将定时/计数器设置为计数器方式,计数初值设定为满程,将待扩展的外部中断源接到定时/计数器的外部计数引脚。从该引脚输入一个下降沿信号,计数器加1后便产生定时/计数器溢出中断。因此,可把定时/计数器的外部计数引脚作为扩展中断源的中断输入端。 设采用T1实现,采用工作方2,即TH1、TL1的??值均为FFH,T1中断开放,即T1引脚(P3.5)为扩展外部中断的中断请求信号输入端,触发方式为下降沿触发。其初始化程序(中断方式)如下: ORG 0000H LJMP MAIN ;上电复位后,转MAIN ORG 001BH LJMP EX_ISR ;T1中断响应后,转 EX_ISR ORG 0100H MAIN: MOV TMOD,#60H ;设T1为方式1计模式 MOV TH1,#0FFH MOV TL1,#0FFH SETB ET1 SETB EA ;开放中断 SETB TR1 ;启动T1 … … ;主程序其它指令 … … EX_ISR: … … ;扩展外部中断的中断服务程序 … … RETI END 思考:试将例8.2的功能用T0或T1的方式0实现。 例8.3 使信号灯循环点亮,首先按从左至右轮流点亮,再按从右至左轮流点亮,每个信号灯点亮的时间间隔为1秒。要求用单片机定时/计数器定时实现。 解:硬件电路比较简单,采用P1口输出驱动电平,低电平有效。电路如图8.7所示。 图8.7 流水灯显示电路 系统采用1

文档评论(0)

80219pm + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档