4-1 控制led发光二极管隔1秒闪烁

4-1 控制led发光二极管隔1秒闪烁

ID:5411001

大小:330.50 KB

页数:12页

时间:2017-11-11

4-1 控制led发光二极管隔1秒闪烁_第1页
4-1 控制led发光二极管隔1秒闪烁_第2页
4-1 控制led发光二极管隔1秒闪烁_第3页
4-1 控制led发光二极管隔1秒闪烁_第4页
4-1 控制led发光二极管隔1秒闪烁_第5页
资源描述:

《4-1 控制led发光二极管隔1秒闪烁》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章看看单片机的闹钟——定时/计数器任务4-1控制LED发光二极管隔1秒闪烁任务4-1控制LED发光二极管隔1秒闪烁1、任务要求:通过P1.x口线控制外接的LED发光二极管亮1秒、灭1秒,循环不止。2、相关知识实现1秒的时间定时可以使用我们之前给大家介绍的CJNE指令来实现多层嵌套循环延时,但这种实现方法有两大缺陷:(1)占用了CPU资源;(2)定时精度低。对于精确定时,一般需要采用定时/计数器来实现。1)16位加法计数器MCS-51单片机集成有两个定时/计数器,即T0(Timer0)和T1(Timer1);定时器和计数器的区别

2、:定时器与计数器从本质上来说是一致的,都是对脉冲计数,不同的是,定时器是对单片机机器周期计数,而计数器则是对单片机引脚T0(P3.4)和引脚T1(P3.5)上的输入脉冲计数;任务4-1控制LED发光二极管隔1秒闪烁定时/计数器的工作原理:T0和T1的“计数容器”分别为特殊功能寄存器TH0、TL0及TH1、TL1。以T0为例,TH0、TL0分别作T0“计数容器”的高字节与低字节,组成一个十六位存储器。定时/计数之前,先赋予初值,则当计数溢出时,则完成定时/计数功能。设定的初值不同,则计数或定时时间就不同。2)定时/计数器控制寄存器T

3、CON(TimerControl)TCON我们在上一章曾给各位介绍过,它的低四位与外部中断有关,因此不再赘述;高四位与定时/计数器T0和T1有关。(1)TR0(TimerRun0)、TR1(TimerRun1):分别为T0、T1的运行控制位。以TR0为例,TR0=1时T1工作,TR0=0时T0停止。(2)TF0(TimerFlag0)、TF1(TimerFlag1):分别为T0、T1的溢出标志位。以TF0为例,T0定时/计数溢出时由硬件自动将TF0置1,并向CPU申请中断。如果T0中断开放,CPU响应中断进入中断服务程序后,硬件将

4、TF0自动清0;如果屏蔽了T0中断,可软件查询TF0位等待定时/计数溢出,并进行相应处理,此时TF0必须手动清0。由此,定时/计数器使用有两种编程方式:中断方式、查询方式。任务4-1控制LED发光二极管隔1秒闪烁2)定时/计数器方式控制寄存器TMOD(TimerMode)定时/计数器T0、T1各有四种工作方式,可通过对TMOD的设置来选择。TMOD的低4位用于设定T0,高4位用于设定T1。注意:TMOD不能位寻址,复位时TMOD=00HTMOD(89H)D7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0(

5、1)GATE:门控位。门控位的用法有两种:①当GATE=0时,定时/计数器的工作由TR0/TR1位控制。这是定时/计数器最常用的控制方式;②当GATE=1时,必须满足TR0/TR1=1,和引脚为高电平这双重条件,T0/T1才能运行。(2)C/T:定时/计数器方式选择位。C/T=1,作计数器用,对送到T0/T1引脚的外部脉冲计数;C/T=0,作定时器用。(3)M1、M0:工作方式选择位。具体见下表。任务4-1控制LED发光二极管隔1秒闪烁M1M0工作方式功能00方式013位定时/计数器01方式116位定时/计数器10方式28位自动重

6、装初值定时/计数器11方式3T0:分为两个8位定时/计数器T1:停止工作4)定时/计数器方式0此时,T0/T1是13位定时/计数器,“计数容器”由THx的全部8位和TLx的低5位构成,可用程序将0~8191(2^13-1)中的某一数作为初值送入THx和TLx(方式0赋初值容易犯错,具体后面讲)。THx、TLx从初值开始加法计数,直至溢出。所以初值不同,定时时间或计数值不同。作计数器用:计数次数=2^13-计数初值作定时器用:定时时间=(2^13-计数初值)*机器周期其中:机器周期=12/fosc(fosc是晶振频率)注意:定时/计

7、数器溢出后,必须手动重设初值,否则下次将从0开始计数。任务4-1控制LED发光二极管隔1秒闪烁5)定时/计数器方式1此时,T0/T1是16位计数器,“计数容器”采用THx、TLx构成。因此计数范围比方式0大,可用程序将0~65536(2^16-1)中的某一数作为初值送入THx和TLx。THx、TLx从初值开始加法计数,直至溢出。所以初值不同,定时时间或计数值不同。作计数器用:计数次数=2^16-计数初值作定时器用:定时时间=(2^16-计数初值)*机器周期关于方式2和方式3我们放到下次课再给大家继续介绍6)定时/计数器初始化(*补

8、充、重要)初始化操作是使用可编程定时/计数器的关键,使用前可参照以下步骤分析,然后编程实现:①根据实际需要选择合适的工作方式和定时/计数方式,对TMOD寄存器赋值;任务4-1控制LED发光二极管隔1秒闪烁②利用下面的表达式计算初值,写入TH0、TL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。