51单片机:PWM实现灯渐亮_渐灭,水滴效果

发布者:Serendipitous33最新更新时间:2012-08-10 来源: 51hei关键字:51单片机  PWM  水滴效果 手机看文章 扫描二维码
随时随地手机看文章

/********
脉冲宽度调制(Pulse Width Modulation,简称PWM),是利用微处理器的数字输出来对模拟电路进行控制的一种技术。
可近似的认为PWM就是一种方波。
___|~~~~~~~|____|~~~~~~~~  占空比:高电平在一个周期之内所占的时间比率
单片机控制LED灯发亮的,然后是花样繁多的流水灯,但不管灯的花样如何变化,单个LED的亮度没有变化,只有亮、灭两个状态
但如果P口输出高低不断变化,则LED会闪烁;如果这种高低电平变化非常快,由于人的视觉暂留现象,LED就会出现不同的亮度。。。
当P口输出低电平时,LED亮,输出高低高低构成PWM(用for循环即可取得时间差),PWM的占空比越小越亮
**/

#include 
 #define uint  unsigned int 
 #define uchar unsigned char
 void delay(uint x) //延时一个1ms
{
 uint a,b;
 for(a=x;a>0;a--)
  for(b=274;b>0;b--);
}
 //------------------------
 #define P //不可写成P0否则会冲突,提示^,=错误
 #ifdef P
 uchar i;
 sbit P01=P1^1;
 sbit P03=P1^3;
 uchar code LightLevel[8]={0,1,2,4,8,16,32,64};   //亮点级别,数组用code
 void LED_PWM(void)
 {
 while(1)
 {
  P1=0xfd;      //第2个灯亮
  delay(2);
  for(i=0;i<=250;i++)
  {
   if(i<10)
   {
    P1=0xf7;   //第4个灯亮
   }
   else 
   {
    P1|=0x0a;
   }
  }
 } 
 }
 #endif
 void main()
 {
  LED_PWM(); 
 }
 
//据此思路即可写出水滴,滴落效果
关键字:51单片机  PWM  水滴效果 引用地址:51单片机:PWM实现灯渐亮_渐灭,水滴效果

上一篇:STC12C5A60S2单片机PWM程序
下一篇:掉电保护和看门狗复位C51程序

推荐阅读最新更新时间:2024-03-16 13:05

基于51单片机的多通道数据采集范围控制系统
1 引 言   在实际应用中,对被控对象的物理参数(温度、湿度、位移、电流、电压等)在一定的范围内进行控制,是单片机的典型应用之一。很多宏观要求精确控制的场合,其微观控制过程,仍可归结为是对某些参数变化范围的控制。如,传统的三相异步电机从启动到正常运行,其电流、电压和温度的变化;抽水塔水位的变化;机床刀具的行程变化及数字电表的自动量程变换等。这些控制过程最显著的特点是:被控物理量都是一个变化范围,而非某一个精确的“点”。有效控制物理量变化范围的方法很多,本文重点介绍利用C8051F000单片机片内8路高性能的12位ADC数据采集系统和可编程窗口检测器,实现对多路参数变化范围控制的硬件组成和软件设计方法。 2 C8051Fxxx系列
[单片机]
基于<font color='red'>51单片机</font>的多通道数据采集范围控制系统
基于51单片机对1602液晶板的并行操作
TX-1C板操作并行模式的1602液晶液晶第1,2脚是gnd和vcc第3脚是对比度调节第4脚是数据/指令选择端 RS 第5脚是读写选择端R/W,我们这次只写不读,故直接接地第6脚是读写使能EN第7到14脚是数据口。 操作并行模式的1602液晶 液晶第1,2脚是gnd和vcc 第3脚是对比度调节 第4脚是数据/指令选择端RS 第5脚是读写选择端R/W,我们这次只写不读,故直接接地 第6脚是读写使能EN 第7到14脚是数据口,我们接STC89C52RC的P0口 第15,16脚是背光源 最终液晶显示 Tom is playing the TNT game! C代码 #include #include“MY51.H” voidw
[单片机]
基于<font color='red'>51单片机</font>对1602液晶板的并行操作
51单片机PS2键盘解码实验--C51源代码
//地址:http://www.jdgcs.org/wiki/Downloads #include at89x51.h #include KBCODE.H #define LCM_RS P2_0 #define LCM_RW P2_1 //定义LCD引脚 #define LCM_E P2_2 #define LCM_Data P0 #define Busy 0x80 //用于检测LCM状态字中的Busy标识 #define Key_Data P3_2 //定义Keyboard引脚 #define Key_CLK P3_3 void LCMInit(void); void DisplayOneChar(unsigned
[单片机]
51单片机--键盘识别
单片机的键盘由于介入了人为操作,并不都是机器按流程跑,所以必须考虑到人的操作时长远大于机器周期,所以对于键盘状态的检测必须是写在while中,进行循环检测,这些需要实时检测的状态是:从没有按下到按下,和从已经按下到松手。而为了可以使while中的循环可以跳出,进入while的判断语句中的变量要在while循环中再次赋值,而这个赋值必须是与新状态相关的。 P3=0xfe; temp=P3; temp=temp&0xf0; while(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) { tem
[单片机]
51单片机脉冲信号的计数和LCD显示
设计目标和思路 在个人剂量仪开发的过程中,从探头输出的核脉冲信号经过后期放大,成形,滤波以及甄别之后,成为一系列脉冲信号输出,这种脉冲信号由于衰变的随机性,并不是固定频率的脉冲信号。我们本次设计就是针对这种脉冲进形脉冲信号的计数以及在LCD1602显示屏上面的显示。 这是C语言的代码部分 #include reg51.h #include stdio.h #include math.h #include string.h #include intrins.h #define uint8_t unsigned char //0-255 #define uint16_t unsigned int //0-
[单片机]
<font color='red'>51单片机</font>脉冲信号的计数和LCD显示
基于51单片机的多功能计算器,支持二八十进制小数负数计算
硬件设计 工作原理 利用矩阵键盘进行按键的输入,通过对矩阵键盘的扫描,获取用户的输入,并实时的显示在1602液晶上,每次获取到输入时,根据软件设计的相应方法对输入进行处理、运算,输入结束后(以“=“为标志),将最终的运算结果输出的液晶上。 仿真图1: (LCD1602显示,支持负数和进制运算及有限的连续运算,连续运算时候无法识别优先级,不支持小数;) 仿真图2: LCD1602显示,支持负数和小数及开根号,不支持连续运算; 程序设计1 #include reg51.h #include stdio.h #include intrins.h #include string.h #include mat
[单片机]
基于<font color='red'>51单片机</font>的多功能计算器,支持二八十进制小数负数计算
基于8051单片机的外部设备交换信息的三种数据传输方式解析
单片机CPU与外部设备交换信息通常有如下几种方式:无条件传送方式,查询传送方式和中断传送方式。我们以单片机与微型打印机接口为例讲述这三种方式。假定用户要打印三个数据,这三个数据保存在单片机的内部数据存储器10H,11H,和12H中,8051用并口P2与微型打印机的并行数据口DB进行数据交换。 (1)无条件传送方式 这种数据传送方式中没有联络信号,即CPU总是认为打印机在如何时候都是处于“准备好”的状态。这种传送方式中只需要在程序中加入数据送往P2的指令,数据传送便可以实现。但这种数据传送方式有一个致命弱点,数据易丢失,这是因为CPU的速度相当快,而打印机的速度相对来说较慢,其结果是在打印机打印一个数据的时间内,CPU已送来了多
[单片机]
基于80<font color='red'>51单片机</font>的外部设备交换信息的三种数据传输方式解析
51单片机概述以及设计最小系统
单片机是什么? 在学之前必须要明白这个东西是什么,怎么用,为什么能这样用。理解这三个问题,那么51单片机就可以学得很好。 单片机的对比 这里只对8051与8052进行对比: 型号 Flash(ROM) RAM I/O 定时/计数器 中断源 引脚数 AT89C51 4KB 128B 32 2 5 40 AT89c52 8KB 256B 32 3 8 40 引脚描述 20引脚VSS:电源负极 40引脚VCC:电源正极(+5V) 19引脚XTAL1:片内时钟振荡器的输入端;当使用片内时钟振荡器时,这个引脚接石英晶体和微调电容。 18引脚XTAL2:片内时钟振荡器的输出端;当使用片内时钟振荡器时,这个引脚接石英晶体和微
[单片机]
<font color='red'>51单片机</font>概述以及设计最小系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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