基于51单片机的LED呼吸灯设计(定时器)

发布者:EtherealGlow最新更新时间:2021-09-26 来源: eefocus关键字:51单片机  LED呼吸灯  定时器 手机看文章 扫描二维码
随时随地手机看文章

定时器实现led呼吸灯

实验原理: 灯在高速闪烁时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失。每次循环时,前半部分先让亮的时间逐渐增加,暗的时间逐渐减小;后半部分先让亮的时间逐渐减小,暗的时间逐渐增加,如此循环即可


#include "reg52.h"      //此文件中定义了单片机的一些特殊功能寄存器


typedef unsigned int u16;   //对数据类型进行声明定义

typedef unsigned char u8;


#define LED P2        //总线法点灯


void delay(u16 i)      //延时函数

{

  while(i--);

}


void Timer0Init()

{

TMOD|=0X01;  //选择为定时器0模式,工作方式1,仅用TR0打开启动。

TH0=0XFC; //给定时器赋初值,定时1ms

TL0=0X18;

ET0=1; //打开定时器0中断允许

EA=1; //打开总中断

TR0=1; //打开定时器

}


void main()

{

Timer0Init();  //定时器0初始化

while(1);

}



void Timer0() interrupt 1

{

static u16 out_time, bright_time;

static u16 i;

TH0=0XFC;   //给定时器赋初值,定时1ms

TL0=0X18;

i++;

if(i==1000)    //1s

{

i=0;

 

for(bright_time=0;bright_time<=500;bright_time++)

{  

   //暗的时间减少,亮的时间增加

out_time=500-bright_time;

//暗

LED=0xff;

delay(out_time);

//亮

LED=0x00;

delay(bright_time);

}

for(out_time=0;out_time<=500;out_time++)

{

   //暗的时间增加,亮的时间减少

bright_time=500-out_time;

//亮

LED=0x00;

delay(bright_time);

//暗

LED=0xff;

delay(out_time);

}

}

}

关键字:51单片机  LED呼吸灯  定时器 引用地址:基于51单片机的LED呼吸灯设计(定时器)

上一篇:基于51单片机秒表设计,独立按键实现启动、复位、暂停功能
下一篇:51任务17:定时器控制数码管从00-59,1秒增一

推荐阅读最新更新时间:2024-11-09 20:02

51单片机自定义多个软件定时器
51单片机只有两个硬件定时/计数器,有时候我们要用多个定时器,可以自己写软件定时器,就可以有多个定时器用了,下面代码用一个硬件定时器实现了四个定时器,实现四个LED以不同频率闪烁,为了验证定时效果,四个LED闪烁频率依次2倍关系,实际可以任意定义。 /*---------------------------------------------------- 名称:用定时器控制led亮灭 单片机:stc12c2052 晶振:12M 说明:四个led,四种频率亮。 ------------------------------------------------------*/ #include //头文件 #defi
[单片机]
STM32软件定时器的设计
  定时器分为硬件定时器和软件定时器,几乎所有的微控制器上都配备了数量有限的硬件定时器,即控制器本身有专门实现定时的模块。几乎所有的硬件定时器的工作原理都是一样的:定时器在外部时钟提供的周期脉冲下进行计数工作,当计数到用户指定的次数时,就产生一次中断。这个过程完全由微控制器内部的定时器硬件电路实现,不需要 CPU 干预。   相比之下,软件定时器则需要 CPU 的介入来实现了。实现软件定时器一般有两种方法:一种是纯粹依赖 CPU 指令的堆积来实现;另一种是以硬件定时器产生的时间片为基准单位,CPU 基于这个基准单位进行累积来实现。   显然,硬件定时器的精度取决于驱动的时钟脉冲,一般情况下可以达到很高的精度(纳秒级),而软
[单片机]
基于51单片机的无线供电模块的无线传输系统效率检测
1引言 无线供电是一种方便、安全的供电装置,之间不需要任何物理连接,当发送端产生的振荡磁场 频率 和接收端的固有频率相同时,接收端就产生共振,从而实现了能量的传输。现在已经用于一些小的家电中,也许在不久的将来将用于室内供电和城市的供电,彻底代替电线,应用前景广泛。本文主要阐述近距离无线供电,具有低功耗、安全等特点,通过单片机检测 更好的增加了它的可靠性。 2系统方案设计 无线供电演示装置的设计制作。该电路由电源发射电路、接收电路、检测显示电路三部分组成 。 2.1方案论证与选择 方案1:震荡电路 发射电路用NE555产生可以调节频率的对称方波,接L298放大和恒流源模块产生 电压 12v、频率20M
[单片机]
基于<font color='red'>51单片机</font>的无线供电模块的无线传输系统效率检测
基于51单片机的压力测量控制系统研发
1 引言   目前我国发展煤炭生产机械化发展迅速。综采设备的应用,是提高效率、改善安全状况的措施。 影响开机率的一个主要因素是支架对工作面的顶板控制的好坏,因此,对综采工作面进行矿压监测与控制是很有必要的。要做到这一点,首先需要对井下工作面的液压支架的实际工作状况进行监测,通过对检测数据处理、分析,评定其效果,并采取相应措施,以提高开机率、提高产量。本文以监测综采液压支架的压力为研究内容,开发了一套基于单片机的压力测量控制系统。   2 压力测量控制系统功能设计   压力测量控制系统用于监测支架压力, 每台测量控制系统配有四只传感器, 可分别通过高压油管连接支架的立柱、平衡千斤顶, 前探梁千斤顶的油压腔。压力测量控制系
[单片机]
基于<font color='red'>51单片机</font>的压力测量控制系统研发
80c51单片机的基本配置有哪些 80c51单片机各个引脚及功能
  80c51单片机的基本配置有哪些   80C51单片机的基本配置包括:   CPU:80C51单片机的CPU由一个8位的ALU(算术逻辑单元)、一个8位的累加器、一个8位的B寄存器、一个16位的程序计数器和一个8位的状态寄存器组成。   存储器:80C51单片机的存储器包括程序存储器(ROM)、数据存储器(RAM)和特殊功能寄存器(SFR)。   时钟源:80C51单片机支持多种时钟源,包括外部晶体、外部时钟信号、内部振荡器等。   中断系统:80C51单片机支持多种中断源和中断优先级设置,可以灵活处理各种外部事件。   IO端口:80C51单片机的IO端口由多个可编程的输入输出引脚组成,可以连接各种外部设备。   通信接口:
[单片机]
关于STM32的定时器问题集锦
1、定时器外部计数功能 问:STM32处理器的定时器可以配置为对外部脉冲计数方式,其中一种方式是通过TIM的ETR引脚(外部触发引脚),另外一种方式是通过TIM的CH1或者CH2引脚来输入。现在我不明白这两种方式有什么区别,两种方式都能对外部脉冲计数,那么设置外部触发方式的目的指什么? 答:根据设计电路来使用不同的方法,他们最大的区别就是引脚不同,但是实现的功能是一样的。 2、TIM2用于捕获,如何调整TIM2的时钟? 问:TIM2用于捕获,如何调整TIM2的时钟?想调低TIM2的时钟频率,以减小计数器的值,避免溢出。 答:可在中断函数里修改配置。不过我想知道你的具体目的是什么 答:因被捕获脉冲频率很宽,有
[单片机]
干货!8051单片机的反转法扫描键盘
键盘扫描采用反转法读键:先从P2口的高4位输出零电平,从P2口的低4位读取键盘状态;再从P2口的低4位输出零电平,从P2口的高4位读取键盘状态,将两次读取的结果组合起来就可以得到当前按键的特征码(见程序中TABLE表)。有了这张表就可以编程,将它们转换成顺序码。用当前读得的特征码来顺序查表,用一单元记录查找次数。当在表中查到有该特征码时,它的位置(即查找次数)就是对应的顺序码。对应的键盘查键程序如下: KEY: MOV P2,#0FH ;用反转法查键 MOV A,P2 ANL A,#0FH MOV B,A MOV P2,#0F0H MOV A,P2 ANL A,#0F0H ORL A,B CJNE A,#0FFH,KEY1
[单片机]
干货!80<font color='red'>51单片机</font>的反转法扫描键盘
stm32定时器捕捉高低电平计时长代码分析
定时器是stm32的一大利器,现在的项目中可以说没有一个不会用到定时器的,所以掌握理解运用定时器才会做出好的产品来。 本章内容说一说关于stm32的定时器TIM_GetCounter(TIMx)的运用。之前的项目中曾经用这个来获取高低电平的时长,在超声波测距,红外遥控解码中运用过。Stm32的定时器除了1和8其他都是通用定时器。如何用这句函数来捕捉电平时长呢?首先看一下初始化内容,以TIM4为例 void Timer4_CFG() { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1Per
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved