A. 单片机控制LED显示
很简单的,让P1口控制的8个LED按次序灯来回闪烁三次
先P1.0闪三次,再P1.1闪三次,···P1.7闪三次,回到P1.0开始循环
简单给你注析一个吧,其它的都一样的
START0:CLR P1.0 START0入口 清零P1.0 点亮第一个灯
LCALL DELAY 调用延时程序
SETB P1.0 置位P1。0, 关第一个灯
LCALL DELAY 调用延时程序
INC R0 R0加一(前面有初始化R0为0 MOV R0,#0清内存单元)
CJNE R0,#3H, START0 条件转换语句:如果R0的值和3不等的话程序就跳到START0重复执行这段程序,如果相等则往下执行···
B. 单片机控制LED工作过程
要知道工作过程
你首先要知道工作原理
那就是给LED两引脚适当的的电压差
一般为5V
用单片机的话,可以从单片的的一个引脚输出一个高电平到LED的一端,同时LED的另一端接地就行了
或者从单片机的
一个引脚输出一个低电平到LED
的一端,同时LED的另一端接上个5V
的电源就行了
谢谢采纳
C. 求教如何用单片机控制LED灯的亮度
控制ked亮度不难,你硬件直接连连接好led灯,串个限流电阻。如果引脚一直给电平那么灯肯定最亮,那你如果改变给灯的时间灯就能调亮度了,如你用定时器或者延时多少个时间引脚电平取反一次。例如每间隔1毫秒电平取反一次就可以改变亮度。那你在用个变量值来给这个时间赋值。就能调亮度了啊,比如你接个电位器电位器值改变你程序你就让定时器时间也相应跟着变动
程序名称:一只按键控制两只LED灯十种亮度显示
编程人:xx
备注:此程序简单
#include<stc12c2052ad.h>
*** it d1=P1^7;、、 定义LED灯1
*** it d2=P1^6; 定义LED灯2
*** it key1=P3^0; 定义按键灯
void delay(unsigned int a){ 延时程序
unsigned int i;
while( a-- != 0){
for(i = 0; i < 100; i++);
}
}
void main(){
while(1){
unsigned int a,b,c,d;
if(key1==0)d++; 按键判断
switch(d) 按键信息比较
{
case 1: b=9;;a=1;break;
case 2: b=8;;a=2;break;
case 3: b=7;;a=3;break;
case 4: b=6;;a=4;break;
case 5: b=5;;a=5;break;
case 6: b=4;;a=6;break;
case 7: b=3;;a=7;break;
case 8: b=2;;a=8;break;
case 9: b=1;;a=9;break;
}
while(key1==0); 判判断按键是否松开
if(d==10)d=0; 按键9种亮度判断,是否是第9种,如果是,则d=0
for(c=0;c<2;c++){ 亮度模式循环显示
d1=0;
d2=1;
delay(a);
d1=1;
d2=0;
delay(b);
}
}
}
、2010.10.05 20;06修改
此程序是我写的简单程序,已做过实验,并且通过!
用pic的脉宽调制功能就可以了,只需要给单片机不同的占空比的值,单片机就可以产生不同占空比的信号,将这个信号用三极管放大驱动LED就行了。还有什么问题可以给我留言
第一,要理解中断在这里的作用是固定的“一小段”时间进入一次。 第二,PWM_ON在程序中的作用很大,它会由0------>CYCLE------>0并且一直循环下去。可以把它看成一个有规律的变化的量。 第三,每进入中断一次count++,满足条件count==PWM_ON或coun..
接好单片机的硬件电路,然后编写程序,再然后烧写程序,然后就可以程序了,没问题的话就可以按你的要求点亮了
# include<reg51.h>
void delay(unsigned int j)
{
unsigned int i;
for (;j>0;j--)
{
for(i=0;i<1000;i++)
;
}
}
void main()
{
while(1)
{
P1^0=0;
delay(100);
P1^0=1;
delay(100);具体数值根据你单片机晶振频率而定
}
}
原理是PWM波占空比不同,其功率亦不同,只要PWM频率很大,人眼分辨不出其闪烁,就可通过控制占空比(高电平时间和周期之比)的大小来控制其亮度。
才用PWM调制
LED灯不好控制亮度,在电流变化较大的范围中,亮度变化不明显
如果是电灯泡还可以的
控制LED灯的亮度 这个其实有难度的, 先练习声音控制开关灯,成功后再考虑控制亮度
LED亮度是通过的电流决定的,控制亮度其实就是控制电流.这一点至今没办法做到便宜又简单.
当然,也有种简易的办法是PWM控制亮关比,优点是容易,缺点是闪烁.
还有就是目前灯亮度有几种控制方式,连续变化的贵,高中低分档位的便宜些.
void main()
{
unsigned int temp,i;
temp=1;
while(1)
{
P1=temp&0x00ff; 取temp低8位
P2=(temp&0xff00)>>8; 取temp高8位
for(i=0;i<65535;i++)
{} 延时
if(temp!=0x8000)
temp<<=1; temp左移一位
else temp=1;
}
}
如果不需要控制转速,一个三极管一个继电器就可以控制马达了。
D. 51单片机怎样控制LED的光亮度
pwm,用定时器T1溢出做pwm周期,在每次T1开始计数时触发输出,软件边增1计数边检查溢出标志。如果软件计数满则清输出,否则直到溢出清输出、清软件计数满值。改变软件计数满值就能改变亮度。
频率50HZ,周期是20ms
看你调节的精度 如定时器定时1ms,高电平宽度一次变化是5%
如果想要调节精度高,定时器定时时间小,就要频繁地发生中断,会影响主程序的运行
如 要求占空比每步调节为1%,则定时器就要定时200us,对于CpU的影响就比较大了
这时自动重装模式可以缩短中断程序占用时间,但如果再提高PWM的频率,自动重装模式也十分吃力,因此许多增强型51单片机有硬件PWM功能
LED是电流控制器件, 而不能说成电压控制,调节电压的大小也能控制啊(电压越大亮度超高),
1、PWM是脉冲宽度调制信号,注意其中的“宽度”,就是脉冲的高电平的时间。PWM信号调节LED亮度时,信号频率是不变的,改变的是脉冲的高电平的时间,即LED的导通时间。这种信号调节亮度相当于调节LED的平均电流,所以电流会变化。
2、从LED的V-I特性可知,其曲线是非线性的,0.1V的电压可造成100~200mA的If的变化,不易控制;另外,LED具有负温度系数特性,所以,一般将LED说成是电流控制型器件。至于你将LED串接在电源模块上,当输出电压恒定时,是恒压源驱动LED吧,这样调节LED亮度时,需要对输出电压进行分压,以降低LED的压降才能改变其亮度,恒压源的电流是有一个最大输出值的,不能调节的,不知你用什么方法调节其输出电流的?
3、用MCU比较方便,成本是稍高,也可以用模拟电子线路产生相应的PWM信号。
用PWM控制有几点好处.
1 ): 可以自动适应输入电压范围.即使输入电压低于LED的点亮电压.LED仍然正常发光.
2 ):恒流.LED是半导体器件.对温度很敏感.普通限流电路在其温度变化时无法及时控制LED负载的电流.当温度上升到一定程度.LED会被烧毁. 而PWM电路大多集成恒流源.使其电流始终保持在你设置的范围内.
是求程序还是求啥?邮箱也没有
可以用移位命令来实现,比如说LED接口为P0
那么共阴极就是 P0=(P0>>1)||0X80;
移位函数来实现是最简单的就是 intrinis
可通过按钮的动作改变输出LED连接脚的脉宽来控制led灯的渐亮
单片机只能产生两个电平的信号,因此要控制LED亮度要靠LED点亮的频率,频率越高亮度越亮。如果你愿意取得更好的效果的话还可以使用DA芯片,当然需要更多的知识。
那就要看这100个LED是想同时亮,还是一个一个地亮了。
要同时亮,就串联或并联都行,就相当于控制一个。
要是一个一个地亮,那就得有100个控制点了。这得需要扩展I/O接口了,简单可行的,用13片74HC595,每个595带8个LED。
再要看这100个LED是怎么排列的,要是能排列成矩阵,就可以节省I/O接口了,就可以少用几片74HC595了。
用C语言中产生随机数的方法每次产生一个0~255间的一个随机数,然后赋值给P0口
第一片单片机的TXD连接到第二片单片机的RXD上
第一片单片机的RXD连接到第二片单片机的TXD上
然后就可以做 串口通信了
每一片都可以发送数据,然后另一片在串口接收中断中处理数据
E. 单片机控制100个LED,怎么设计电路
LED显示屏又叫电子显示屏,是由LED点阵组成,通过红色或绿色灯珠的亮灭来显示文字、图片、动画、视频,内容可以随时更换,通常由显示模块、控制系统及电源系统组成。显示模块由LED灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片、视频等内容,恒舞动卡主要是播放动画的;电源系统负责将输入电压电流转为显示屏需要的电压电流。
LED显示屏广泛应用于信息指示灯,大屏幕显示,液晶显示的背光灯,固体照明等。本文设计一种由4个16×16点阵LED模块组成的显示屏,由单片机作控制器,平滑移动显示任意多个文字或图形符号,本电路可级联扩展实现由任意多个16×16点阵LED模块组成的显示屏。
控制电路设计
控制电路由AT89C51单片机作控制器,显示屏由4个16×16点阵LED模块组成,每个16×16点阵LED模块由4个8×8点阵LED模块组成,用户可根据需要扩展增加任意多个16×16点阵LED模块。8×8点阵LED模块结构如图1所示,共8行8列,每个发光二极管放置在行线和列线的交叉点上,共64个发光二极管。当某一列为高电平,某一行为低电平时,则对应的发光二极管点亮。
F. 用单片机能驱动全彩LED屏幕吗
驱动小功率led是没有问题的。1个51单片机外加4个pnp三极管(如c9012或8550),以及12个电阻就可以了。将32个led分成4组共阳连接,采用动态扫描方式输出驱动led,这样共占用单片机12根口线。
G. 用51单片机,怎么来控制1000个左右的LED灯呢
方法1:1000个左右的灯,需要10根地址线选通,51的IO管脚应该是没有问题。剩下的就是要用大量的译码器,把二进制信息转换为管脚信息。
估计你仅仅是控制亮和灭,如果是这样选通也就可以进行明暗的控制,否则输出的信息也要加进去,就是说需要加驱动电路。
方法2:用移位电路,比如HC595,在51中地址做为串行信号发出,转换为对应的地址线,然后在连接译码器,这样,51的管脚比较节省,但,编程的难度稍大。
你可以参考一下键盘译码器的电路,控制16个和控制1000个的原理是一样的。
H. 单片机控制led闪烁开题报告急求一份开题报告的研究重点内容
结合毕业论文(设计)任务书的要求,根据所查阅的文献资料,撰写3000字左右的文献综述:文献综述
研究背景及意义
随着社会文化的不断发展,广告牌扮演着越来越重要的宣传角色,不论是汽车站火车站,股市交易市场,还是学校都离不开它,然而传统的霓虹灯广告牌不论是在显示效果、耗电量还是可修改性上都无法满足当前社会的需求,传统的霓虹灯广告亟待改进。
现在的LED电子显示屏所显内容信息量大,外形美观大方,操作使用方便灵活该项目广泛涉及了计算机及电子技术中的电源技术、单片机技术、数据通讯技术、显示技术、存储技术、系统软件技术、接口及驱动等技术。由于单片机技术的不断发展
和高亮度LED发光管的出现使得大屏幕高亮度电子广告屏成为可能。与传统的显示
设备相比,LED显示设备具有明显的优势:LED屏色彩丰富,显示方式变化多样、亮度高:LED屏可以随意修改显示内容:LED显示屏可用来与计算机屏幕同步。另外它以其超大画面、超宽视觉、灵活多变的显示方式等独居一格的优势,广泛应用于金融证券、银行利率、商业广告、文化娱乐等方面。
我国经济发展迅猛,对信息传播有越来越高的要求可以相信,LED电子显示屏以其色彩鲜亮夺目、大的显示信息量、寿命长、耗电量小、重量轻、空间尺寸小、稳定性高、易于操作、安装和维护等特点,将在社会经济发展中扮演越来越重要的角色。