毕业设计(论文)单片机定时器实验.docVIP

毕业设计(论文)单片机定时器实验.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三 单片机内部定时器应用 实验目的 1、理解单片机内部定时器的工作原理及使用方法 2、了解单片机定时中断程序的编写和调试方法 3、掌握定时器的基本使用方法 实验仪器 单片机开发板、万利仿真机、稳压电源、计算机 实验原理 单片机定时器的工原理 MCS-51 单片机内部有两个16 位可编程的定时器/计数器T0 和T1。它们即可用作定时器方式,又可用作计数器方式。其中T0 由TH0 和TL0 计数器构成;T1 由TH1 和TL1 计数器构成。 工作于定时器方式时,通过对机器周期(新型51单片机可以对振荡周期计数)的计数,即每一个机器周期定时器加1,来实现定时。故系统晶振频率直接影响定时时间。如果晶振频率为12MHZ,则定时器每隔(1/12MHZ)×12=1us 加1。 工作于计数器方式时,对P3.4 或P3.5 管脚的负跳变(1→0)计数。它在每个机器周期的S5P2 时采样外部输入,当采样值在这个机器周期为高,在下一个机器周期为低时,计数器加1。因此需要两个机器周期来识别一个有效跳变,故最高计数频率为晶振频率的1/24。 特殊功能寄存器TMOD 用于定时器/计数器的方式控制。高4 位用于设置T1,低4 位用于设置T0。如图4-7所示。 图4-7 定时器模式控制字格式 TCON 寄存器用于定时器的计数控制和中断标志。如图4-8所示。 图4-8 定时控制寄存器数据格式 编写程序控制这两个寄存器就可以控制定时器的运行方式。 单片机内部定时器/计数器的使用,简而概之:(1)如需用中断,则将EA和相关中断控制位置1;(2)根据需要设置工作方式,即对TMOD设置;(3)然后启动计数,即对TR0或TR1置1。(4)如使用中断,则计数溢出后硬件会自动转入中断入口地址;如使用查询,则必须对溢出中断标志位TF0或TF1进行判断。 用定时器编写一个秒计时器 假设系统使用的晶振频率为12MHZ,即每个机器周期为1us。如使用方式1,则定时时间最长是216×1us=65536us=65.536ms,小于1s。故必须设置一个软件计数单元,即假设定时器定时中断时间为50ms,则必须定时中断20次才达到1s并对秒计时单元加1,20即为软件计数次数。最后再把秒计时单元的值转成显示数码送显示缓冲区。 图4-9 定时器应用程序流程图 实验内容 1、单片机定时器秒计时器 LEDCLK BIT P3.4; LEDDIN BIT P2.3; LEDDATA DATA P0; DSEG AT 30H dispbuf: ds 8;显示缓冲区 timetick: ds 1 second: ds 1 minute: ds 1 hour: ds 1 TIMECOUNT EQU 50000 CSEG at 0000H SJMP MAIN ORG 000BH LJMP P_T0 ORG 0030;中断服务程序 P_T0: PUSH PSW PUSH ACC PUSH DPH PUSH DPL MOV TH0,#(65535-TIMECOUNT)/256 MOV TL0,#(65535-TIMECOUNT)MOD 256 SETB RS0;后面所使用的R0~r7 DJNZ timetick,P_T02 MOV timetick,#20 INC second ; cjne second,#60,P_T01 ; MOV SECOND,#0 ; inc minute; P_T01: MOV A,second MOV B,#100 DIV AB MOV R0,#dispbuf+2 MOV @R0,A DEC R0 MOV A,B MOV B,#10 DIV AB MOV @R0,A DEC R0 MOV @R0,B P_T02: CLR RS0 POP DPL POP DPH POP ACC POP PSW RETI MAIN: mov sp,#60h MOV dispbuf,#0 MOV dispbuf+1,#0 MOV dispbuf+2,#0 MOV dispbuf+3,#0 MOV dispbuf+4,#0 MOV dispbuf+5,#0 MOV dispbuf+6,#0 MOV dispbuf+7,#0 MOV TH0,#(65535-TIMECOUNT)/256;3CAF MOV TL0,#(65535-TIMECOUNT)MOD 256; MOV TMOD,#01H;设定定时器的工作方式 SETB ET0;允许T0溢出中断 SETB TR0;启动t0 SETB EA;开启总中断 MAIN1: ACALL DISP SJMP MAIN1 DISP: MOV R6,#8

文档评论(0)

精品天地 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档