51单片机由软件实现的PWM控的LED渐亮、渐暗效果

发布者:莫愁前路最新更新时间:2016-09-18 来源: eefocus关键字:51单片机  软件实现  PWM控 手机看文章 扫描二维码
随时随地手机看文章
#include

sbit LEDR= P2 ^ 5;     //P2.0引脚上接了一个红的发光二极管

sbit LEDG = P2 ^ 6;    //P2.1引脚上接了一个绿的发光二极管

void delay (unsigned char d){    // 延时功能函数--由d决定延时长度

    unsigned char i;

 while( d-- != 0)

 {

   for(i = 0; i < 8; i++);

 }         

}

void delay1 (unsigned int d){    // 延时功能函数--由d决定延时长度

    unsigned char i;

 while( d-- != 0)

 {

   for(i = 0; i < 8; i++);

 }         

}

//Speed 1~9

//Direct 1\0

void Lighter( unsigned char Speed, bit Direct)

{

     unsigned char Delay_Length, Loop_Time;    // a控制延时长度 b控制循环周期

  LEDR= Direct;

  Delay_Length = 0x00;

     for ( Loop_Time=0; Loop_Time<254; Loop_Time++)

  {

       // 定义半周期循环时间(次数)

         Delay_Length += Speed;

   if (Delay_Length > 250)

       break;

         delay (Delay_Length);    // 延时长度随a而改变

         LEDR= Direct;

         Delay_Length = ~Delay_Length;     // a值取反 决定灯灭时的占空比

         delay (Delay_Length);

         LEDR= ~Direct;

         Delay_Length = ~Delay_Length;     // a值取反 使a回到原值继续循环

     }

}

/****************************************************************************

主程序:渐变式LED闪烁

/****************************************************************************/

void main (void)

{      // 彩灯主函数 实现彩灯的显示

    while (1)

 {

     delay1 (60000);

  Lighter(9, 0);

  delay1 (60000);

  }

}

关键字:51单片机  软件实现  PWM控 引用地址:51单片机由软件实现的PWM控的LED渐亮、渐暗效果

上一篇:c51与汇编语言的接口
下一篇:51单片机控制LED七彩渐变灯

推荐阅读最新更新时间:2024-03-16 15:10

51单片机实验3:led流水灯
开发板led模块电路图如下: 循环左/右移函数头文件为 intrins.h #include reg52.h #include intrins.h #define uc unsigned char void delay(uc n) { uc i,j; for(i=1;i =n;i++) for(j=110;j =1;j--); } void main() { P2=0xFE; while(1) { delay(200); p2=_crol_(P2,1); delay(200); } }
[单片机]
<font color='red'>51单片机</font>实验3:led流水灯
8051单片机特殊功能寄存器SFR基础详解
8051单片机共有21个专用寄存器,现把其中部分寄存器简单介绍如下: 程序计数器(PC—Program Counter)。在实训中,我们已经知道PC是一个16位的计数器,它的作用是控制程序的执行顺序。其内容为将要执行指令的地址,寻址范围达64KB。PC有自动加1功能,从而实现程序的顺序执行。PC没有地址,是不可寻址的,因此用户无法对它进行读写,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。因地址不在SFR(专用寄存器)之内,一般不计作专用寄存器。 累加器(ACC—Accumulator)。累加器为8位寄存器,是最常用的专用寄存器,功能较多,地位重要。它既可用于存放操作数,也可用来存放运算的中间结果。MCS-
[单片机]
80<font color='red'>51单片机</font>特殊功能寄存器SFR基础详解
C51单片机定时器/计数器控制字设置
在使用定时/计数器之前需要先通过定时/计数器的方式控制字来设置其工作方式。 在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。顺便说一下,TMOD和TCON是名称,我们在写程序时就能直接用这个名称来指定它们,当然也能直接用它们的地址89H和88H来指定它们(其实用名称也就是直接用地址,汇编软件帮你翻译一下而已)。 从图1中我们能看出,TMOD被分成两部份,每部份4位。分别用于控制T1和T0,至于这里面是什么意思,我们下面介绍。 从图2中我们能看出,TCON也被分成两部份,高4位用于定时/计数器,低4位则用于中断(我们暂不管)。而TF1(0)我们上节课已提到了,当计数溢出后TF1(0)就由0变为
[单片机]
C<font color='red'>51单片机</font>定时器/计数器控制字设置
MCS-51单片机外部引脚及总线接口
51系列单片机一般采用40只引脚的双列直插式(DIP——Dual In-line Package)封装结构。 除DIP封装外, 51单片机还采用44只引脚的方形扁平(QFP——Quad Flat Package) 封装方式(4只引脚无用)。 三类 端口引脚 (共32只) 电源及晶振引脚(共4只) 控制引脚(共4只) (1)端口引脚 P0.0~P0.7(39~32脚)——P0口 P1.0~P1.7(1~8脚)——P1口 P2.0~P2.7(21~28脚)——P2口 P3.0~P3.7(10~17脚)——P3口 8只/组×4 组= 32 只引脚 P0口~P3口是单片机对外联络的重要通道 (2)电源及晶振引脚 VC
[单片机]
MCS-<font color='red'>51单片机</font>外部引脚及总线接口
基于51单片机设计的闪烁灯
1.实验任务   如图4.1.1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。 2.电路原理图                         图4.1.1 3.系统板上硬件连线   把“ 单片机 系统”区域中的P1.0端口用导线连接到“八路发光 二极管 指示模块”区域中的L1端口上。 4.程序设计内容 (1).延时程序的设计方法   作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?下面具体介绍其原理:   如图4.1.1所
[单片机]
基于<font color='red'>51单片机</font>设计的闪烁灯
51单片机快速入门指南】2.3:GPIO读取矩阵键盘 8个IO读16键
普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 选自《普中51单片机开发攻略_V1.2》 矩阵键盘介绍 独立按键与单片机连接时,每一个按键都需要单片机的一个 I/O 口,若某单片机系统需较多按键,如果用独立按键便会占用过多的 I/O 口资源。单片机系统中 I/O 口资源往往比较宝贵,当用到多个按键时为了减少 I/O 口引脚,便引入了矩阵按键。 以 4x4 矩阵键盘为例讲解其工作原理和检测方法。开发板上将 16 个按 键排成 4 行 4 列,第一行将每个按键的一端连接在一起构成行线
[单片机]
【<font color='red'>51单片机</font>快速入门指南】2.3:GPIO读取矩阵键盘 8个IO读16键
基于AT89C51单片机为核心的数显超声波测距仪设计
超声波由于其指向性强、能量消耗缓慢、传播距离较远等优点,而经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场。例如:液位、井深、管道长度等场合。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在测控系统的研制上也得到了广泛的应用。 1 超声波测距原理 1.1 超声波发生器 超声波是一种频率超过20kHz的机械波。为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波。一类是用机械方式产生超声波。电气方式包括压电型、磁致伸
[单片机]
基于AT89C<font color='red'>51单片机</font>为核心的数显超声波测距仪设计
51单片机教程:单片机的特殊功能寄存器
我们已知单片机的内部有ROM、有RAM、有并行I/O口,那么,除了这些东西之外,单片机内部究竟还有些什么,这些个零碎的东西怎么连在一起的,让我们来对单片机内部的寄存器作一个完整的功能分析吧! 下图中我们能看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在一个51单片机的内部包含了这么多的东西。 单片机内部结构图 对上面的图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到对应I/O口的锁存器就能了,那么对于定时/计数器,串行I/O口等怎么用
[单片机]
<font color='red'>51单片机</font>教程:单片机的特殊功能寄存器
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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