网站大量收购闲置独家精品文档,联系QQ:2885784924

项目5 定时器与脉冲计数器的设计.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目5 定时器与脉冲计数器的设计

5.1.1.1 单片机定时/计数器的结构 main()函数中: TMOD=0x01;//设置定时器0为工作方式1 TH0=0xFE; //定时器0高8位给初值 TL0=0xC0; //定时器0低8位给初值 EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 中断服务程序中重新装入定时初值 void timer0() interrupt 1 { TH0=0xFE; //定时器0高8位给初值 TL0=0xC0; //定时器0低8位给初值 } 任务操作 (2)软件程序设计   #includeAT89X51.h   void sTime ( ) //定时1s子程序   { unsigned int i; TMOD=0x00; //设定时器1为方式0 TH1=0x63; //置定时器初值 TL1=0x18; TR1=1; //启动T1 for(i=0; i=200 ; ) { if ( TF1 == 1) //查询计数溢出 { i++; TF1=0; TH1=0x63; //重新置定时器初值 TL1=0x18;} } return ;    }   //发光二极管定时1s闪烁主程序   void main()   { for( ; ; ) { P1_0=!P1_0; //取反P1.0 使发光二极管闪烁 sTime (); //调用1s定时 }   }   1.任务要求    本任务要求用AT89C51的定时器0方式1设计一只1 秒的定时器,使AT89C51的P0和P2端口控制的2组16只LED流水灯定时1秒滚动点亮。 (2) 软件程序设计   #includeAT89X51.h   #includeintrins.h   #define uchar unsigned char     //流水灯定时1s滚动主程序   void main( )   { uchar T_Count = 0; //累加计数溢出发生的次数    P0 = 0xFE; //点亮D1灯    P2 = 0xFE; //点亮D16灯    TMOD = 0x01; //定时器0工作于方式1    TH0 =(65536-50000)/256; //50ms定时初值    TL0 =(65536-50000)%256;    TR0 = 1; //启动定时器      while(1)     { if(TF0 = = 1) //定时溢出标志位为1时表示计时溢出     { TF0 = 0; //软件清零     TH0 =(65536-50000)/256; //重置50ms定时     TL0 =(65536-50000)%256;     if(++T_Count == 20) //50*20=1000ms后LED滚动一次     { P0 = _crol_(P0,1);     P2 = _crol_(P2,1);     T_Count = 0;     }     }     }    }      1.任务要求    本任务要求用AT89C51的定时器1方式2设计一只1 秒的定时器,用定时器的查询方式,使AT89C51控制

文档评论(0)

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

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

1亿VIP精品文档

相关文档