《单片机控制技术项目式教程》项目5 定时器与脉冲计数器的设计.ppt

《单片机控制技术项目式教程》项目5 定时器与脉冲计数器的设计.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
概述:本文主要介绍了如何使用AT89C51的定时器1方式2设计一只1秒的定时器,以及其相关的硬件原理图和软件程序设计。硬件原理图设计:在AT89C51的定时器1方式2中,定时器设置为方式2,并初始化为0x20。软件程序设计:软件程序设计主要围绕定时器的实现进行,具体步骤包括:1.初始化定时器:首先,我们需要设定定时器为方式2,即TMOD设置为0x20。2.设置计数器初始值:接下来,我们需要设置计数器的初始值为0x06。3.继续定时器运行:然后,我们继续监听定时器的输入状

(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;     }     }     }    }      方式2—8位自动装入时间常数方式 TF0 振荡器 1/12 1 ≥1 T0 TR0 GATE INT0 C/T=0 C/T=1 TL0 TH0 自动重装初值的8位计数方式 ,适合于用作较精确的脉冲信号发生器。 TH0(TH1)中保留初值 5.1.2.3 用定时/计数器的工作方式2设计定时器 定时=(28-X)×时钟周期×12 =(28 –X)*12*1/fosc 计数初值:X= 28-T/(时钟周期×12) 定时/计数器工作方式1 初值X分别送给TL0(TL1)和TH0(TH1)。 定时方式: 计数方式: 计数次数值N=28-X 计数初值:X= 28-计数次数值N 1.任务要求    本任务要求用AT89C51的定时器1方式2设计一只1 秒的定时器,用定时器的查询方式,使AT89C51控制的一只发光二极管定时1秒闪烁。 2.任务分析 ① 确定TMOD控制字: 采用AT89C51的定时器1方式2定时, TMOD = 0x20。 ②计算计数器的计数初值: 方式2采用8位计数器,其最大定时时间为: 256×1 ms =256?s,可选择定时时间为250 ?s ,再循环4000 次就可以定时为1s。 X = 28-计数值 = 256-250=6 = 0x06 所以TH1赋值0x06 ,TL1也赋值0x06。 3. 任务设计 (1)硬件原理图设计 (2)软件程序设计   #includeAT89X51.h   void sTime ( ) { unsigned int i; TMOD=0x20; //设定时器1为方式2 TH1=0x06; //置定时器初值 TL1=0x06; TR1=1; //启动T0 for(i=0; i=4000; ) { if ( TF1 == 1) //查询计数溢出 { i++; TF1=0; } } return ; }  //发光二极管定时1s闪烁主程序 void mai

文档评论(0)

凉州牧 + 关注
实名认证
内容提供者

资料收集自互联网,若有侵权请联系删除,谢谢~

版权声明书
用户编号:8036120077000004

1亿VIP精品文档

相关文档