我是单片机汇编初学者啊菜鸟级别的,呵呵!请高手多多指教啊 !最近就是想用红绿蓝三种颜色的发光管,做渐变 ,渐变的话就是说,分为三步骤:(1)先红色慢慢的亮起来,然后慢慢的暗下来。(2)再绿色慢慢亮起来,然后慢慢暗下来,(3)最后蓝色慢慢亮起来,然后慢慢暗下来。也就是说红色 快灭完的时候,绿色就要慢慢的亮起来,再当绿的快要灭完的时候,蓝色就要慢慢亮起来,等B灭完了之后就开始循环!自己也研究了好多天了,都没成功,希望那位大侠能帮我写一个这样的程序啊!
七彩的话就是用红绿蓝,三中颜色的LED,来实现,但我做的程序效果不理想啊 !
追答要用硬件来实验,才能看到效果。
用PROTEUS仿真,效果,基本上是看不出来的。
是啊 ,控制红绿蓝三种LED,形成渐变,七彩的效果,你有汇编程序吗?
追答相当于呼吸灯效果吧,参考下这个程序:
http://apps.hi.baidu.com/share/detail/24276660
http://wenku.baidu.com/view/797df8ce05087632311212cf.html
谢谢你哦,给了两个程序,但我把第一个呼吸灯的程序,复制后写的是STC89C52的不行啊,灯一直亮着,没什么变化,不知道哪里出了问题!
求51单片机PWM程序(一个定时器产生三路PWM 可独立运作) 简单来说就...
void ISR_Timer0(void) interrupt 1 \/\/---我们就用定时器0来做,不用PWM硬件 { \/\/---3.3333ms中断一次 counter++;if(counter >= 10) counter = 0;if(counter >= Set_PWM0) P1_0 = 0; else P1_0 = 1;if(counter >= Set_PWM1) P1_1 = 0; else P1_1 = 1;if(counter ...
求51单片机PWM汇编语言程序(用来控制3个红、绿、蓝LED灯,让这3个LED...
1、程序实现上应该不难,假设用3个8位变量来调节这三个灯,理想上可以得到256单色灰度效果。但通常能做到16等级灰度,也能看到一定效果。2、这三个PWM周期相同,占空比不同,亮度就各有不同。3、确保单片机管脚输出1时(100%,或单独调节满刻度),三个LED灯的驱动电流均达到饱和。并且合成色为白色。
用51单片机控制3路舵机
回答:这个可以用三个I\/o口,用定时器0分时启动三路PWM波,代码的话,每次中断给计数器赋下次中断的时间,void T0_time() interrupt 1 \/\/通过定时器0产生多路PWM,每次中断赋值下一次中断的时间, { \/\/两个t[]一组,在20ms周期内分时启动各路PWM高电平, TH0=(65536-9.216*t[i])\/256; \/\/各...
请教51单片机利用PWM控制灯的亮度的程序
第一,要理解中断在这里的作用是固定的“一小段”时间进入一次。第二,PWM_ON在程序中的作用很大,它会由0--->CYCLE--->0并且一直循环下去。可以把它看成一个有规律的变化的量。第三,每进入中断一次count++,满足条件count==PWM_ON或count==CYCLE时改变LED的当前状态。作用是给小灯亮或灭的时...
求详细解释这个51单片机PWM波原理
你要用51产生PWM去控制LED,首先你要确定PWM的周期T和占空比D,确定了这些以后,你可以用定时器产生一个时间基准t,比如定时器溢出n次的时间是PWM的高电平的时间,则D*T=n*t,类似的可以求出PWM低电平时间需要多少个时间基准n'那么你就可以编写程序,根据你定的时间基准 t 去给定时器赋值初始化,...
51单片机用汇编语言如何编写LED灯逐渐变亮在逐渐变暗啊
这个要用到软件的pwm,因为51的没有硬件的pwm所以只好自己写软件的了。首先,要做一个软件三角波发生器子程序,频率自己定,就是变亮变暗的周期。此函数的返回值作为pwm的输入值。再做一个pwm的模拟程序,占空比(0-100)是三角波发生器的输出,pwm模拟程序控制某个端口输出1和0的占空比来控制灯 的...
51单片机怎么通过pwm来控制LED色彩变化?
如果你是单色的LED,那么PWM只能控制光的亮度。如果有三原色,那么就可以组成各种颜色。由于世面上的LED色码参差不齐,所以很难给你具体的PWM占空比。
求大神给写一个单片机的pwm程序,,,
在编写单片机PWM(脉冲宽度调制)程序时,以下是一个参考示例,它展示了如何配置和初始化8051微控制器的PCA(可编程计数器\/振荡器)模块以产生PWM信号。请注意,此代码是为特定硬件平台(如8051微控制器)和编译器(如Keil C)编写的,可能需要根据您的具体硬件和软件环境进行调整。```c include "reg51...
51单片机输出pwm脉宽怎么控制电流?
找个锂充控制IC看下你就明白PWM信号怎样转换的,很简单,就是利用占空比的时间长短来控制输出电压的高低,当然要外加电容和P管及电感之类的外围元件,总之,像0501锂充就是利用这种原理来工作的,看下它的厂家推荐电路你的明白了。
求高手 用51单片机输出产生方波的程序
PWM=P1^0;\/\/定义输出脚 void main(){ TMOD=0x01;\/\/定时器0工作方式1 TH0=(65536-10000)\/256;\/\/12M晶振10MS计时常数 TL0=(65536-10000)%256;EA=1;\/\/开总中断 ET0=1;\/\/开定时器0中断 TR0=1;\/\/启动定时器0 while(1);} \/\/中断函数,启动后每10MS进入一次中断 void T0_time(void)...