最简单的办法是采用一个三端稳压器LM7812降压。电路原理图如下:说明:1、因为输入、输出都是直流,所以无需使用电容滤波,仅此一个7812即可。2、LM7812(封装如上图)输出电流为1A,若需求更大电流,可在网上搜索扩流电路。
搞不明白单片机I/O口驱动LED为什么要用到那么复杂的电路,是单纯的为了复杂而复杂吗?很晕!如果一个I/O口驱动一个LED,只要I/O口低电平有效LED串一个470Ω的电阻即可,如果驱动多个LED只要按下图即可:如果Vcc=5v;则R0
3、电路图中R1,根据你的电流选择,但是不要太小,R7可以用跳线直接连过去。
如果要用驱动电路,可用两片锁存器74HC573,每一片驱动8个LED灯。这16个LED灯是可以任意点亮的。用138是不行的,那样,只能是16个中亮两个,或16中亮一个。
单片机多指示灯怎么添加驱动电路图
ORG 001BH;T1 Count interrupt LJMP T1CNT ORG 030H MAIN:MOV TMOD,#61H;T1 count at MOD 2,T0 time int at MOD 1 MOV TL0,#0B0H;66536-50000=3CB0H 50000us=50ms=0.05s MOV TH0,#3CH SETB ET0;T0
在无限循环中,不断检测K1和K2按键状态,以改变全局变量“freq”并控制LED灯的闪烁频率;然后使用一个计时器中断服务程序来控制LED灯的闪烁,具体实现方式请参考代码注释。最后,为了保证每个周期的闪烁持续时间与频率相符,应该
sbit LED1=P1^7; //位定义。void delay_ms(uint);//mS级带参数延时函数。void main(){ while(1){ LED1=0;delay_ms(1000);LED1=1;delay_ms(1000);} } void delay_ms(uint z) //延时子程序 { uint x,
可以用外部中断计数,来实现流水灯的正转、暂停、以及反转和爆闪。。这是我前几天写的一个这样的程序,楼主可以结合protues 画图仿真,注意程序中所用到的IO端口就行了。include
谁有单片机中3个led灯闪烁控制的流程图与汇编语言,c语言程序
单片机的IO口可以通过编写程序使其处于低电位和高电位,低电位被认为是数字电路中的0,高电位被认为是1。具体结构比较复杂,如图。
我给你举个例子教你怎么用三极管,就比方用单片机的IO口驱动一个NPN三极管,然后点亮一个LED。电路连接如图所示(我用WINDOWS自带的画图工具画的,累死了。):当三极管工作在饱和区时候LED点亮,截止时候LED熄灭。为了计算方便
当 IO 口是高电平,三极管导通,因为三极管的电流放大作用,c 极电流就可以达到 mA 以上了,就可以成功点亮 LED 小灯。虽然我们用了 IO 口的低电平可以直接点亮 LED,但是单片机的 IO 口作为低电平,输入电流就可以很大吗
搞不明白单片机I/O口驱动LED为什么要用到那么复杂的电路,是单纯的为了复杂而复杂吗?很晕!如果一个I/O口驱动一个LED,只要I/O口低电平有效LED串一个470Ω的电阻即可,如果驱动多个LED只要按下图即可:如果Vcc=5v;则R0
单片机的IO驱动LED灯电路,需要用到三极管,求原理图,并说明
delay_ms(200);break;case 1: LED1=!LED1;delay_ms(200);break;case 2:LED2=!LED2;delay_ms(200);break;default:break;} void 在这里按键获取函数(void){ key=获取到的值; //没有按键按下的话是进入不到
setb p2.1 ;点亮 p2.1 ajmp keyp3.22 keyp3.2: clr p2.1 ;灭掉 p2.1 keyp3.22: jb p3.0,keyp3.0 ;如果p3.0 为高,则灭掉p2.2 setb p2.2 ;点亮 p2.2 ajmp
1、选择4个端口作为输入端口连接按键(独立按键,按键一端接单片机端口,另一端接地)。 三路为抢答的按键KEY1、KEY2、KEY3,一路为抢答后复位按键KEY0。2、选择3个端口作为输出端口连接LED灯(高电平点亮还是低电平点
4个单片机I/O口如何实现3个按键控制3个LED灯;按键跟灯一一对应,按键按下相应的LED亮,再按一次,LED灭。见下图:
4个单片机I/O口如何实现3个按键控制3个LED灯;按键跟灯一一对应,按键按下相应的LED亮,再按一次,LED灭
就4个IO口,要实现4个按键和4个LED灯好像不太可以吧,要扩展电路的开启电路时1号灯是亮的,按下2号开关一号灯灭以此类推! ---- 怎么类推? 按下3号开关二号灯灭? 二号灯,从来也没有亮啊!
这个指示灯是想用单片机控制的吗?是用LED吗?是什么单片机呢?如果是STC的单片机,每个I/O脚的低电平就能驱动LED指示灯,LED和一个限流电阻(510~1K)串联后接在电源和I/O引脚之间,LED的负极接到I/O脚上,当I/O脚输出低电平时,LED亮。如果不是STC单片机,需要用一个三极管(9013-NPN型的),基极接到I/O脚上,发射极接一个限流电阻,再接到LED正极上,LED负极接地,三极管集电极接到电源正极上。
用单片机输出pwm,改变占空比就可以控制led的亮度,单片机的输出电流有限,所以要用三极管作为驱动,三极管在这里作为一个电子开关,三极管型号太多,例如:8050是NPN型的,基极高电平导通,8550是PNP型,要低电平导通。
C语言实现LED灯闪烁控制配套51单片机开发板。 #include //包含单片机寄存器的头文件 /****************************************函数功能:延时一段时间 *****************************************/ void delay(void) //两个void意思分别为无需返回值,没有参数传递。 { unsigned int i; //定义无符号整数,最大取值范围65535。 for(i=0;i<20000;i++) //做20000次空循环。 ; //什么也不做,等待一个机器周期。 } /******************************************************* 函数功能:主函数 (C语言规定必须有也只能有1个主函数)。 ********************************************************/void main(void) { while(1) //无限循环。 { P0=0xfe; //P1=1111 1110B, P0.0输出低电平。 delay(); //延时一段时间。 P0=0xff; //P1=1111 1111B, P0.0输出高电平。 delay(); //延时一段时间。 } } 单片机驱动LED灯的源程序: #include //头文件。 #define uint unsigned int #define uchar unsigned char sbit LED1=P1^7; //位定义。 void delay_ms(uint);//mS级带参数延时函数。 void main() { while(1) { LED1=0; delay_ms(1000); LED1=1; delay_ms(1000); } } void delay_ms(uint z) //延时子程序 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 扩展资料: 单片机应用分类: 通用型: 这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。 总线型: 这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接。 另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。 控制型: 这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型。 通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。 参考资料来源:百度百科-单片机
根据空气振动采集数据有点夸张了,不但干扰大,还很难控制。灵敏度过高,没人也会误报;灵敏度过低,检测不出一个人还是两个人,所以可操作性太差了。改用热释电红外传感器采集吧,有人移动时才触发。我觉得这里面有点难度的还是双机通信这块儿,如果直接买模块带资料的当然就好做些了。希望对你有用;
这个指示灯是想用单片机控制的吗?是用LED吗?是什么单片机呢?如果是STC的单片机,每个I/O脚的低电平就能驱动LED指示灯,LED和一个限流电阻(510~1K)串联后接在电源和I/O引脚之间,LED的负极接到I/O脚上,当I/O脚输出低电平时,LED亮。如果不是STC单片机,需要用一个三极管(9013-NPN型的),基极接到I/O脚上,发射极接一个限流电阻,再接到LED正极上,LED负极接地,三极管集电极接到电源正极上。
如图电路图,二极管只画出5个。 1、8050三极管不比达林顿管和mos管放大倍数较小,最小的可能只有40倍,以40倍计算,假设你的每个灯的电流为5mA(看你的应用了,如果用来照明不只5mA),12个灯就60mA,那么你基级需要提供的电流就是1.25mA,因为89C54系列单片机IO不带强推输出,电流有限,所以必须接上拉电阻,否则你的灯因为电流不足亮度很暗。 2、led必须加限流电阻,考虑到led的离散性,在电流一样的情况下,即便同种led两端的电压可能会有差异。而led这种元件在电压变化很小的情况下,电流变化很大。如果你直接并联,各个二极管两端的电压一样,很有可能某些led电流会比其它的led大,甚至某个led因电流过大而烧毁。 3、电路图中R1,根据你的电流选择,但是不要太小,R7可以用跳线直接连过去。