精华内容
下载资源
问答
  • 设计单片机与8个发光二极管和4个按键相连的Proteus仿真电路,编程实现如下功能:按下K1,8个灯按照一定频率同时闪烁,频率自定;按下K2,使某个灯闪烁10次后,转到下个灯闪烁,从左往右(D1到D8)循环不停;按下K3,...

    Description

    设计单片机与8个发光二极管和4个按键相连的Proteus仿真电路,编程实现如下功能:

    1. 按下K1,8个灯按照一定频率同时闪烁,频率自定
    2. 按下K2,使某个灯闪烁10次后,转到下个灯闪烁,从左往右(D1到D8)循环不停
    3. 按下K3,相邻的4个LED灯为一组,两组LED灯每隔约0.5秒交替发亮一次,周而复始
    4. 按下K4,从右往左依次点亮,然后全灭,不断循环

    实验电路图

    在这里插入图片描述

    实验分析

    1. K1按下,八个灯同时闪烁。即P1在0xff与0x00之间交替取值。
    2. K2按下,某个灯闪烁十次,然后从左往右循环。P1初始时为0xfe,然后P1在0xfe与0xff之间交替取值十次,即最左边的灯闪烁十次,然后右移,第二个做同样的操作,直到第八个灯也闪烁了十次,最后再左移即可。
    3. K3按下,相邻的4个LED为一组,交替发亮。即P1在0xf0与0x0f之间交替取值。
    4. K4按下,从右往左依次点亮,然后全灭,不断重复。从D8到D1,不断从1变为0即可。

    源程序

    #include<reg52.h>
    #include <intrins.h>    
    
    //LED
    sbit D1 = P1^0;
    sbit D2 = P1^1;
    sbit D3 = P1^2;
    sbit D4 = P1^3;
    sbit D5 = P1^4;
    sbit D6 = P1^5;
    sbit D7 = P1^6;
    sbit D8 = P1^7;
    
    //switch
    sbit K1 = P0^0;
    sbit K2 = P0^1;
    sbit K3 = P0^2;
    sbit K4 = P0^3;
    
    //延时
    void delay(int m, int n) {
    	unsigned int i, j;
    	for(i = m; i > 0; i--) {
    		for(j = n; j >0; j--);
    	}
    }
    
    void main() {
    	unsigned char led, i, j; //设置变量
      led = 0xfe; //初值为11111110
    	while(1) {
    		//按下K1,八个灯按照同一频率同时闪烁
    		P1 = 0xff;
    		if(K1 == 0) {
    			while(K1 == 0) {
    				P1 = 0x00;
    				delay(50, 20);
    				P1 = 0xff;
    				delay(50, 20);
    			}
    		}
    		P1 = 0xff;
    		//按下K2,从D1到D8闪烁10次后转到下个灯
    		if(K2 == 0) {
    			while(K2 == 0) {
    				//右移
    				for(i = 0; i < 7; i++) {
    					//闪烁10次
    					for(j = 0; j < 10; j++) {
    						delay(100, 50);
    						P1 = led;
    						delay(100, 50);
    						P1 = 0xff;  //全灭
    						delay(100, 50);
    					}
    					led = _crol_(led, 1);
    				}
    				//左移
    				for(i = 0; i < 7; i++) {
    					//闪烁10次
    					for(j = 0; j < 10; j++) {
    						delay(100, 50);
    						P1 = led;
    						delay(100, 50);
    						P1 = 0xff;  //全灭
    						delay(100, 50);
    					}
    					led = _cror_(led, 1);
    				}
    			}
    			P1 = 0xff;
    		}
    		if(K3 == 0) {
    			while(K3 == 0) {
    				delay(50, 50);
    				P1 = 0xf0;   //左边四个灯亮
    				delay(50, 50);
    				P1 = 0x0f;  //右边四个灯亮
    			}
    		}
    		if(K4 == 0) {
    			while(K4 == 0) {
    				P1 = 0xff;
    				//从右往左依次点亮
    				delay(150, 150);
    				D8 = 0;
    				delay(150, 150);
    				D7 = 0;
    				delay(150, 150);
    				D6 = 0;
    				delay(150, 150);
    				D5 = 0;
    				delay(150, 150);
    				D4 = 0;
    				delay(150, 150);
    				D3 = 0;
    				delay(150, 150);
    				D2 = 0;
    				delay(150, 150);
    				D1 = 0;
    				delay(150, 150);
    				P1 = 0xff;  //全灭
    				delay(150, 150);
    				//从右往左依次点亮
    				D8 = 0;
    				delay(150, 150);
    				D7 = 0;
    				delay(150, 150);
    				D6 = 0;
    				delay(150, 150);
    				D5 = 0;
    				delay(150, 150);
    				D4 = 0;
    				delay(150, 150);
    				D3 = 0;
    				delay(150, 150);
    				D2 = 0;
    				delay(150, 150);
    				D1 = 0;
    				delay(150, 150);
    			}
    		}
    	}
    }
    
    展开全文
  • 单片机控制LED灯电路图 单片机控制电路由ATMEL公司的ATmega8L型单片机、滤波电容和A/D转换电路构成,用于采集加速度传感器信号,将采集到的信号与预先设置的阈值相比较,控制发光二极管的闪烁,如上图所示。ATmega...
  • 51单片机系统中发光二极管的典型应用电路可分为“灌电流”和“拉电流”两种。 如所示,P1.0引脚上的发光二极管D1驱动方式称为“漏电流”驱动方式,当P1.0输出高电平,D1两端无电压差,不发光;当P1.0输出低电...

    51单片机系统中发光二极管的典型应用电路可分为“灌电流”和“拉电流”两种。

    如图所示,P1.0引脚上的发光二极管D1驱动方式称为“漏电流”驱动方式,当P1.0输出高电平,D1两端无电压差,不发光;当P1.0输出低电平时,D1两端有电压差,发光。

    P1.7引脚上的发光二极管D2的驱动方式为“拉电流”驱动方式,当P1.7输出高电平时,D1两端有5V的电压差,发光;当P1.7输出低电平时,5V电压差将落在上拉电阻R4上,D2两端无电压差,则不发光。

    漏电流
    P1.0D1
    高电平不发光
    低电平发光

     

     

     

     

     

    拉电流
    P1.7D2
    高电平发光
    低电平不发光

     

     

     

     

     

    注释:

    D1、D2:发光二极管LED。发光二极管LED和普通二极管一样,具有单向导电性,当加在发光二极管两端的电压超过1.9V时就会导通,当流过的电流超过一定电流(一般2~3mA)则会发光。

    R2、R3:限流电阻。当电阻值较小时,电流较大,发光二级管亮度较高,当该电阻值较大时,电流较小,发光二极管亮度较低。

    R4:上拉电阻。

     

    问题一:限流电阻的作用与大小如何选择?

    限流电阻经常串联于电路中,用以限制所在支路电流的大小,以防电流过大烧坏所串联的元器件。同时限流电阻也能起分压作用。

    限流电阻计算公式与及方法:

    限流电阻=(电源电压-LED正向稳定电压)/要求的工作电流

    1.首先确定二极管点亮时的消耗掉的电压大约是1.6V~1.7V

    2.二极管正常情况下能承受的电流为3mA~10mA

    3.假设输入为5V电压,二极管上电压取1.7V

    4.电阻最大为(5-1.7)/3=1.1K

    5.电阻最小为(5-1.7)/10=330欧姆

    6.电阻的取值应该是330~1100之间

    7.如果电阻太小二极管会过亮容易烧坏,如果电阻过大二极管亮度太暗,也会导致现象不明显,影响结果。

    问题二:上拉电阻大小如何选择?

    电路设计中,我们一般选择上拉电阻的阻值时一般都是根据参考原理图或者凭借经验选取。

    一、最大值的计算原则:

    要保证上拉电阻明显小于负载的阻抗,以使高电平时输出有效。

    例如:负载阻抗是10K,供电电压是5V,如果要求高电平不小于4.5V,那么,上拉电阻最大值 Rmax:(5-4.5)=10:5

    Rmax=1K

    即电阻最大值为1k,(如果超过了1k,输出的高电平就小于4.5V了)

    二、最小值的计算原则:

    保证不超过管子的额定电流(如果不是场效应管而是三极管也可依照饱和电流来计算)

    例:管子的额定电流150mA,放大倍数100,基极限流电阻10k,工作在5v的系统中。那么,算法如下:

    Ib=U/R=(5-0.7)/10=0.47(mA)

    Ic=100*0.47=47mA 小于额定的150,所以可以按饱和法来算最小值。

    上拉电阻最小值

    Rmin=5v/47mA=106欧姆 (如果小于这个电阻,管子就会过饱和而没有意义了。如果大于这个值,管子的导体电阻就会变大一些,所以太高也不利于低电平的输出)

    注意:算出最大最小值后,一般是随便选个中间值就可以了,例如本例子可以选510欧姆的上拉电阻。但是,如果负载电流较大,低电平要求严格,那么就要选100欧姆的上拉电阻。但是如果考虑省电因素,而低电平要求不严格,那么就可用1K的上拉电阻了。

    选上拉电阻时:

    500uA x 8.4K= 4.2即选大于8.4K时输出端能下拉至0.8V以下,此为最小阻值,再小就拉不下来了。如果输出口驱动电流较大,则阻值可减小,保证下拉时能低于0.8V即可。

    当输出高电平时,忽略管子的漏电流,两输入口需200uA

    200uA x15K=3V即上拉电阻压降为3V,输出口可达到2V,此阻值为最大阻值,再大就拉不到2V了。选10K可用。COMS门的可参考74HC系列

    设计时管子的漏电流不可忽略,IO口实际电流在不同电平下也是不同的,上述仅仅是原理,一句话概括为

    :输出高电平时要喂饱后面的输入口,输出低电平不要把输出口喂撑了(否则多余的电流喂给了级联的输入口,高于低电平门限值就不可靠)


    “不唯书 不唯师 唯真理”  文章内容为作者搜集、学习所得,受学识水平所限,错误之处在所难免,我们可以在评论区交流,谢谢!

     

    展开全文
  • 声光报警模块由蜂鸣器、(红,绿)发光二极管和NPN型三极管驱动电路组成,具体电路图如图5所示。 红外二极管发射电路图(二) 如图所示,图是红外线遥控接收装置实例。红外线传感器有多种,这里选用光电二极管...
  • 从电源、单片机、晶体管、驱动电路、显示电路、有线通讯、无线通信、传感器、原理设计、PCB设计、软件设计、上位机等,给新手综合学习的平台,给老司机交流的平台。所有文章来源于项目实战,属于原创。一、常用...

    感谢阅读本文,在接下来很长的一段时间里,我将陆续分享项目实战经验。从电源、单片机、晶体管、驱动电路、显示电路、有线通讯、无线通信、传感器、原理图设计、PCB设计、软件设计、上位机等,给新手综合学习的平台,给老司机交流的平台。所有文章来源于项目实战,属于原创。

    一、常用二极管种类

    常规设计中,用的比较多的二极管有普通二极管、肖特基二极管、稳压管与TVS管。此外,还有快恢复二极管、超快恢复二极管、发光二极管、红外二极管等,后续在其它文章中介绍。

    36a884fde2ae4415a2d7791fa8229185.png

    二、普通二极管 特点:单向导通;

    优点:反向漏电流超低,反向击穿电压较高,价格便宜;

    缺点:正向压降较大;

    应用:以BAS316为例,正向压降为0.855V/10mA;反向漏电流为30nA/25V,反向击穿电压为85V。如下图:应用于DCDC降压芯片MP2451的外部自举二极管,在占空比超过80%时,提高转换器的效率。

    610b9d405e439ef0b582a296019ee919.png

    三、肖特基二极管

    特点:单向导通;

    优点:正向压降较低,反向恢复时间较快;

    缺点:反向漏电流较大,反向击穿电压较低

    应用:以DSK14为例,正向压降0.1V至0.55V(电流越大,正向压降越大),反向击穿电压40V,0.5mA/25℃(温度越高,漏电流越大)。如下图:应用于DCDC降压芯片MP2451的功率环路的续流二极管(要求压降小、开关速度快、反向击穿电压大于电源输入电压)。

    91915d9231930c85456a527a30d9bbaf.png

    四、稳压管

    特点:反向击穿稳压;

    优点:体积小,价格便宜;

    缺点:带载能力弱,通常需要电阻限流;

    应用:以LM3Z7V5T1G为例,稳压值为5.1V,最大功率200mW,说明负载动态电流不能超过40mA,不适合用于输入电压变化大或负载电流变化大的场合。如下图:作用于PMOS管GS端,可以防止Vgs电压超过最大值烧毁PMOS管。

    d9c43207032800d70b64531c4ad17de3.png

    五、TVS管

    特点:TVS是瞬态二极管,一种高效能保护器件,在输入电压超过TVS管的击穿电压时,提供低阻抗回路,主要应用于浪涌保护、静电防护等;

    分类:功率型,主要应用于电源输入端,功率较大,允许通过较大的瞬间电流;信号型,主要应用于接口部分,电压高但功率低,比如静电。此外,还分单向TVS与双向TVS,应用于需要合理选择。

    注意事项:对于功率型TVS管,如果瞬时输入电压过高,导通时间过长,将导致TVS管烧毁。 针对瞬时输入电压过高问题,比如雷击,前面需要再增加些防护,比如防雷器件、气体放电管等;针对导通时间过长问题,加大TVS管的封装,延长TVS管的允许导通时间。

    如下图,应用于电源输入,抗浪涌:

    394db10755c0fd9b7d072317da5dd70c.png

    六、小结

    二极管是电路中常用的电子元器件,种类较多,应用时需要合理的选择,既满足电路的功能,又满足产品质量的要求。

    二极管涉及的知识点很多,本文只是简要的介绍了下,仅仅起到抛砖引玉的作用,日后设计过程中,需要不断的总结经验,沟通交流,以达到真正的理解,灵活运用。

    开源项目,开发工具,技术资料以及更多原创技术文章,请关注微信公众号。

    硬件家园 yjjy168168168

    作者:刘杰,软硬件技术10年,全职提供技术开发与技术服务、生产支持等。

    展开全文
  • 单片机工程师在面试的过程中,经常会碰到一些相同的问题,笔者总结了十个提问率较高的问题,供大家参考。...首先我们来看一下两个IO口控制两颗LED的情况,电路图如下:LED1和LED2直接接单片机两个IO...

    单片机工程师在面试的过程中,经常会碰到一些相同的问题,笔者总结了十个提问率较高的问题,供大家参考。现在我们来分析单片机工程师常遇面试问题之一:一个单片机IO口如何控制两颗LED?
    将两颗LED命名为D1、D2,两颗LED就会有如下4种组合:D1和D2都熄灭-D1亮D2灭-D1灭D2亮-D1和D2都亮。首先我们来看一下两个IO口控制两颗LED的情况,电路图如下:LED1和LED2直接接单片机两个IO口,可以看出,LED1输出高电平和低电平分别控制着D1的亮和熄灭,同理LED2输出高电平和低电平也控制着D2的亮和熄灭。所以用两个IO口来控制是很容易实现的。

    两个IO控制两颗LED
    但是一个单片机IO只有高、低、高阻三种状态,显然靠IO口这三种状态来控制是不够的,还需加辅助元器件。
    一个IO控制两个LED
    我们来看上面这个线路图是否可以达到控制效果。LED3接单片机IO口。当LED3输出高电平,Q1导通,则D4亮,D3两端没有压差,D3熄灭;当LED3输出低电平,Q1截至,则D4熄灭,此时D3通过IO口到地形成回路,D3亮;当LED3处于高阻状态,此时D3没有形成回路,Q1截至,则D3和D4都熄灭,现在我们已经实现三种状态了,那么D3和D4全亮的状态是否可以实现呢?答案时候可以实现,当LED3输出PWM时,D3和D4会交替亮灭,如果这个变化过程够快,那么人眼将无法捕捉这个变化(超过60帧人眼将识别不到),这样看起来的效果就是D3和D4全亮,这类似于段位数码管的驱动。所以这个电路时可以实现一个IO控制两颗LED。
    但这个电路也有一些缺点:增加了Q1,从而增加了成本;需要输出PWM,控制方式相对复杂。所以再设计方案的时候,前期要充分了解需求,合理规划单片机资源,这样才能避免后期出现单片机IO口不够用的尴尬局面。
    如文章对你有帮助,可关注作者的微信公众号“单片机技术交流站”,后续作者将为您推送更多文章,谢谢!
    小伙伴们如有不明白的地方,欢迎在下方留言。

    展开全文
  • 最近在设计电路画板子了,画完发现,这电阻电容咋用啊我去。。。 于是来学一下电阻和电容的使用。 附一个不加电阻电容的。 1. 限流电阻作用 限流电阻主要是为了防止电流过大损坏器件。 这里的限流其实还起...
  • 本节书摘来异步社区《51单片机应用...51单片机应用开发从入门到精通单片机最简单的实例之一就是点亮发光二极管(LED)闪烁。本节通过点亮1只发光二极管的实例来介绍单片机的I/O口操作。 本节首先介绍单片机I/O口结...
  • 单片机外围电路中,二极管的应用也非常广泛,而且二极管根据其应用不同,种类非常繁多,下面我们主要谈谈发光二极管、续流二极管、整流二极管、限幅二极管等。 1概述 二极管又称晶体二极管,简称二极管(diode),...
  • 走近你 - 发光二极管

    2020-09-26 18:08:37
    3.走近你 - 发光二极管 LED(Light Emitting Diode)即发光二极管,是一种能够将电能转化为光能的半导体。常用于电路设计(组成文字或者数字)及仪器中的状态指示,也常常用作照明光源。 LED驱动电流与正向...
  • 有源蜂鸣器往往比无源蜂鸣器贵一些,因为里边多了振荡电路驱动发音也简单,靠电平就可以驱动,而无源蜂鸣器价格比较便宜,此外无源蜂鸣器声音频率可以控制,而音阶与频率又有确定的对应关系,
  • 3.1.1 硬件电路硬件电路3.1所示。AT89S51是MCS-51系列...7表示,这8个引脚均可带最大20mA灌电流负载,可以直接驱动发光二极管,图示电路中D0~D7为8只LED,各经300Ω电阻限流后接在+5V电源与P1端口之间。...
  • 9 光耦输出电路 结语 单片机接口技术在很多资料中均有详细的介绍,但在对大量电气控制产品的改造和设计中,经常会碰到用接口芯片所无法解决的问题(如驱动电流大、开关速度慢、抗干扰差等),因此必须寻求另一种...
  • 本节书摘来自异步社区《51单片机应用开发从入门到精通》一书中的第2章,第2.1节,...简单点亮发光二极管实例  跑马灯实例  流水灯实例  查0~9平方表实例  受控输出实例  比较输入数大小实例  交通灯控制器实...
  • 51单片机概述MCS-51单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、...
  • 蜂鸣器驱动电路图大全(五款蜂鸣器驱动电路原理图) http://www.elecfans.com/dianlutu/195/20180529686860.html STM32F103通用定时器PWM应用例程--蜂鸣器演奏乐曲 ... 请问大家下图这个输出方波信号的板子可以直接...
  • 所谓的几段就是指数码管里有相应的几个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出不同的字形(见1(a))。从各发光二极管的电极连接方式又可以分为共阳极和共阴极两种类型。共阴极则是所有的二极管的...
  • 所谓的几段就是指数码管里有相应的几个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出不同的字形(见1(a))。从各发光二极管的电极连接方式又可以分为共阳极和共阴极两种类型。共阴极则是所有的二极管的...
  • 使用74HC595D扩展树莓派GPIO控制8颗LED发光二极管 芯片概述 74HC595和74HC595D 电气特性 管脚定义(左:74HC595D 右:74HC595) 管脚符号 管脚序号 管脚含义 备注 QA 15 8位并行数据输出 分别接8颗独立的...
  • 点亮一个发光二极管LED--51的第...二、单片机与LED电路图如下所示:由于51单片机驱动能力有限,所以外接74HC245总线驱动器,加强驱动能力。当OE接地,AB/BA接Vcc时,数据流向为A到B,即当P2.0输出“1”时,B0也为
  •  LED数码管是单片机系统常用的显示器件,1英寸以上的LED数码管的每个字段都是由多个发光二极管串、并联组成,在此称为大尺寸数码管。大尺寸数码管虽然不能显示汉字等复杂字符,但数字显示效果好,可视距离远,成本...
  • 编制程序,使甲、乙单片机能够进行通信。...乙机接收后,采用LED灯(发光二极管)实时显示接收到的数据,低电平驱动。(设晶振频率为11.0592MHZ,数据传输波特率为9600),画出电路连接并编写程序完成上述功能。
  • 单片机从P3.0-P3.3输出4个信号,分别为1个电磁开锁驱动信号和密码错误指示、报警输出、已开锁指示信号,分别用发光二极管L1-L4指示。P3.4接一有源蜂鸣器,用于实现提示音。基本要求:(1)初始密码为123450,输完后按...
  • 单片机I/O的常用驱动与隔离电路的设计

    万次阅读 多人点赞 2018-09-14 22:29:15
    在很多场合,已经出现了越来越多的单片机产品代替传统的电气控制产品。属于存储程序控制的单片机,其控制功能通过软件指令来实现,其硬件配置也可变、易 变。因此,一旦生产过程有所变动,就不必重新设计线路连线...
  • 简介:单片机接口技术在很多文献中均有详细的介绍,但在对大量电气控制产品的改造和设计中,经常会碰到用接口芯片所无法解决的问题(如驱动电流大、开关速度慢、抗干扰差等),因此必须寻求另一种电路解决方案。...
  •  LED数码管是单片机系统常用的显示器件,1英寸以上的LED数码管的每个字段都是由多个发光二极管串、并联组成,在此称为大尺寸数码管。大尺寸数码管虽然不能显示汉字等复杂字符,但数字显示效果好,可视距离远,成本...
  • 51单片机控制TB6600驱动驱动42步进电机

    万次阅读 多人点赞 2019-05-28 00:30:32
    51单片机控制TB6600驱动驱动42步进电机功能实现目标硬件简介硬件连接程序代码功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个...
  • 开发板上原理:LED的阳极串联一个电阻,然后连接到电源VCC(高电平),而阴极连接到单片机的I/O口。想点亮一盏LED就把单片机相对应的I/O口赋为低电平。 1.1 LED流水灯 1.11 CODE #include<reg52.h>//包含...
  • 设计方案 基于单片机的自动投食器设计,...当发光二极管亮灯时,蜂鸣器接收到一个高电平,蜂鸣器发出响声吸引宠物过来进食; 5、显示模块:采用LCD1602液晶显示屏显示设定时间,通过按键来设定时间,按照 年/月/日/时/
  • 当正弦交流电压接近零时,光电耦合器的两个发光二极管截止,三极管T1基极的偏置电阻电位使之导通,产生负脉冲信号,T1的输出端接到单片机80C51的外部中断0的输入引脚,以引起中断。在中断服务子程序中使用定时器累计...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,400
精华内容 560
关键字:

单片机驱动发光二极管电路图