ldcf.net
当前位置:首页 >> 51单片机为什么下面的这个程序能呈现呼吸灯的现象... >>

51单片机为什么下面的这个程序能呈现呼吸灯的现象...

程序解释的挺清楚的了。 先要想明白呼吸灯原理是什么,怎么实现,再看程序。 呼吸灯开的时候,以非常快的速度开-关-开-关,并逐渐加大开的时间比率,减小关的时间比率。 呼吸灯关的时候,以非常快的速度开-关-开-关,并逐渐加大关的时间比率,减...

先说呼吸灯,这个本质上是LED的亮度控制。 一般是用PWM方式控制LED亮度,PWM的输出按照一定的规律变化,就可以做出呼吸灯的效果。 再说30个LED的控制,如果要简单点做,30个LED可以串起来串一个电阻,接高点的电源电压,30个LED用同一个信号控制...

稍等: 一, 第一个 LED0亮灭之后 换 LED1 亮灭 , 程序该怎么写? #include "reg51.h" char Time50ms; //timer init void initTimer(void) { TMOD=0x1; TH0=0x3c; TL0=0xb0; } //timer0/counter0 interrupt void timer0(void) interrupt 1 { TH0=0...

先以VT1为例,接通电源,VT1导通,灯亮,电容充电,当电容左端电压高于VT1基极电压时,VT1断开,电容开始放电,灯渐灭,这里的三极管相当于开关,后面同理。。

方向只要一位就可以表示了,0和1,分别表示顺逆。bit就足够了。

#include "reg51.h" //包含头文件 #define uchar unsigned char #define uint unsigned int //************************************************************************************************** //延时函数 //***************************...

#include /*-----------定义单片机引脚-----*/ sbit LED0=P1^0; sbit LED1=P1^1; sbit LED2=P1^2; void Delay(unsigned int t); //函数声明 unsigned int z,y; void main (void)//主函数 { unsigned int CYCLE=500,PWM_LOW=0;//定义周期并赋值 w...

http://blog.163.com/asm_c/blog/static/24820311320127183160817/ 供参考。

LED使用三极管驱动,NPN或者PNP的都可以。 使用定时器,输出PWM波形,逐渐改变输出PWM的占空比的值。

if(num==1)里面的程序没有执行, ---- 条件不满足,就不会执行。

网站首页 | 网站地图
All rights reserved Powered by www.ldcf.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com