任务三流水灯定时控制讲述.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
查询方式程序清单 #includereg51.h sbit p10=P1^0; main() { TMOD=0; TH0=0XFC; TL0=0X03; TR0=1; while(1) { while(TF0==0); p10=~p10; TH0=0XFC; TL0=0X03; TF0=0; } } 中断方式程序清单 #includereg51.h sbit p10=P1^0; void isr_t0(); main() {TMOD=0; TH0=0XFC; TL0=0X03; TR0=1; EA=1;ET0=1; while(1); } void isr_t0( ) interrupt 1 { p10=~p10; TH0=0XFC; TL0=0X03; } 实例3-7 单片机晶振频率12MHz,利用T0的方式0实现1s延时,每隔1s钟使P1.0引脚翻转一次。 1)TMOD初始化 00H 2)计数初值: 定时时间:tmax=8192×1us=8.192ms ;取5ms 1秒延时实现:5ms延时200次 T0 的 初值: =213-5000μs/1s =3192 =0C78H=00011000B ∴ TH0=63H,TL0=18H 源程序清单: #includereg51.h void isr_time0(void); sbit P10=P1^0; unsigned int counter=200; void main() {TMOD = 0X00; TH0=0X63;TL0=0X18; TR0=1; EA=1;ET0=1; while(1); } void isr_time0() interrupt 1 { counter--; if(!counter) { counter=200; P10 =~P10; } TH0=0X63; TL0=0X18; } 2. 工作方式1 M1M0=01 作定时器:TMOD01H 作计数器:TMOD05H 16位计数器,逻辑结构框图如下: 振荡器 ÷12 TF0 中断 T0 C/T=0 C/T=1 GATE INT0端 TR0 TH0 (8位) TL0 (8位) 控制 l ≥l EA ET0 实例3-8 利用T0的方式1完成例3-6的功能(即在P1.0引脚输出周期为500us的方波)。 1)TMOD初始化 01H 2)计数初值: 计数初值=216 -欲计数脉冲数=216 -△T/ Tcy =216-250/2 =65411=FF83H 因此TH1=0xFF,TL1=0x83 3)TCON初始化,TR0=1 4)开中断:EA=1;ET0=1 源程序清单 //主函数 #includereg51.h void isr_time0(void); sbit P10=P1^0; void main() {TMOD = 0X01; TH0=-1258; TL0=-125; TR0=1;EA=1;ET0=1; while(1); } 小技巧: 实际应用中,在利用C51编程时,计数初值可以直接用如下方法表示: TH0=-1258; //取计数初值的高8位(0FFH) TL0=-125; //自动取计数初值的低8位(83H) 不需要计算出具体的计数初值。但读者要清楚计算计数初值的原理。 //中断服务函数 void isr_time0(void) interrupt 1 { P10 = ~P10; TH0=-1258; TL0=-125; } 3. 工作方式2 M1M0=10 作定时器:TMOD=02H 作计数器:TMOD=06H 自动重置初值的8位计数器,逻辑结构如图: 振荡器 ÷12 TF0 中断 T0 GATE INT0 TR0 TL0 (8位) TH0 (8位) 控制 重新装入 l ≥l C/T=0 C/T=1 EA ET0 案例5 啤酒生产线自动装箱控制 某啤酒自动生产线,每生产12瓶执行装箱操作,将生产出的啤酒自动装箱,用单片机实现该控制要求。 解:如果啤

文档评论(0)

5500046 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档