单片机 驱动级_单片机驱动42步进电机驱动电路图 - CSDN
  • (10-20mA之间,其中P0驱动能力最强,但对于驱动直流电机依然很弱,其结果就是电机不转)。那么有什么办法提高驱动能力吗?下面就来介绍本文的一种简单方法。 二、实验元件 NPN三极管:s8050 (管脚序列为:EBC) 元件...

    一、简述问题

    当你用单片驱动发光二极管的时,你还感觉不到P0、P1口的区别。(10-20mA之间,其中P0驱动能力最强,但对于驱动直流电机依然很弱,其结果就是电机不转)。那么有什么办法提高驱动能力吗?下面就来介绍本文的一种简单方法。

    二、实验元件

    NPN三极管:s8050  (管脚序列为:EBC)      元件介绍:http://baike.baidu.com/view/3467208.htm?fr=aladdin

    判断方法:平面对着自己,三个管脚朝下,从左到右依次为 (E 发射极)、(B基极)、 (C集电极) 

     2个1.5K电阻(串联发光二极管)

     1个3K电阻(串联于P2^2和三极管B极之间)

    三、实验原理图


    四、对比实验

    原理:通过直接用I/O口,串联1.5K电阻驱动发光二极管 VS 通过s8050上述方法驱动发光二极管,根据发光亮度对比驱动能力。

    效果图:




    五、实验结果

    通过对比亮度,可以明显发现用此方法的驱动能力明显高于,直接I/o口。另外,用直流电机实验,结果是io口直接不能驱动(电机不转),而此方法可以完美驱动。

    (该方法也可用于驱动数码管,获得较高亮度)

    展开全文
  • 51单片机驱动喇叭

    2016-01-25 11:27:10
    51能直接驱动喇叭吗?就是直接接到单片机IO口。能不能驱动15欧的喇叭? 有没有什么应用的资料的? 谢了 悬赏分:10 - 解决时间:2009-12-10 23:24 问题补充:具体要怎么驱动呢??提问者: xngh126 - 三;---------...

    51能直接驱动喇叭吗?就是直接接到单片机IO口。
    能不能驱动15欧的喇叭? 有没有什么应用的资料的? 谢了
    悬赏分:10 - 解决时间:2009-12-10 23:24
    问题补充:具体要怎么驱动呢??
    提问者: xngh126 - 三级
    ;------------------------------------------------------------------
    做而论道的回答:
    可以使用一个PNP型的晶体管,如8550,构成一个驱动器,电路如下所示。

    51单片机驱动喇叭 - 非著名博主 - 电子信息角落

    注意:不发音的时候,应该保持引脚的输出为高电平;
    如果难以保证,则应该在电阻支路中,再串联一个10uF的电容器,起到隔直的作用。
    回答者: 做而论道 - 十一级   2009-12-6 18:04
    ;------------------------------------------------------------------
    其它答案:
    -
    你得使用一个驱动器件,单片机的IO口驱动能力不大。
    回答者: -------- 二级   2009-12-6 23:04
    -
    最好安装一个驱动,这样也可以直接驱动喇叭只是声音很小。毕竟单片机发出的电流电压是有限制的,一个I/0的功率不够大。加个驱动就好多了。
    回答者: ypfengye - 三级   2009-12-6 13:41
    http://zhidao.baidu.com/question/128268495.html

    展开全文
  • 在网上论坛看到一个贴子收集的,供大家参考 方案一:三极管驱动 方案二:ULN2003驱动 方案三:光耦+三极管驱动 方案四:光耦+ULN2003驱动
    在网上论坛看到一个贴子收集的,供大家参考
    方案一:三极管驱动
     

    方案二:ULN2003驱动
     

    方案三:光耦+三极管驱动
     

    方案四:光耦+ULN2003驱动





    光耦内阻比较大,不能直接驱动负载,后面要加一级驱动管

    展开全文
  • 使用P9823控制器芯片通过51单片机实现RGB灯级联控制,附P9823控制器数据手册
  • 单片机驱动74hc595的方法:...单片机驱动74hc595 74hc595外形图  _______ QB--|1 16|--Vcc QC--|2 15|--QA QD--|3 14|--SI QE--|4 13|--/G QF--|5 12|--RCK QG--|6

    单片机驱动74hc595的方法:http://www.51hei.com/chip/1799.html

    单片机驱动74hc595

    74hc595外形图
         _______
    QB--|1   16|--Vcc
    QC--|2   15|--QA
    QD--|3   14|--SI
    QE--|4   13|--/G
    QF--|5   12|--RCK
    QG--|6   11|--SCK
    QH--|7   10|--/SCLR
    GND-|8    9|--QH'
         |______|
     
    74595的数据端:
    QA--QH: 八位并行输出端,可以直接控制数码管的8个段。
    QH': 级联输出端。将它接下一个595的SI端。
    SI: 串行数据输入端。
     
    74595的控制端说明:
    /SCLR(10脚): 低电平时将移位寄存器的数据清零。通常我将它接Vcc。
    SCK(11脚):上升沿时数据寄存器的数据移位。QA-->QB-->QC-->...-->QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了。我通常都选微秒级)
    RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将RCK置为低电平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。
    /G(13脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。
     
    注1)74164和74595功能相仿,都是8位串行输入转并行输出移位寄存器。74164的驱动电流(25mA)比74595(35mA)的要小,14脚封装,体积也小一些。
    2)74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。
    3)595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,在正常使用时SCLR为高电平, G为低电平。从SER每输入一位数据,串行输595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,如下面的真值表,在正常使用时SCLR为高电平, G为低电平。从SER每输入一位数据,串行输入时钟SCK上升沿有效一次,直到八位数据输入完毕,输出时钟上升沿有效一次,此时,输入的数据就被送到了输出端。入时钟SCK上升沿有效一次,直到八位数据输入完毕,输出时钟上升沿有效一次,此时,输入的数据就被送到了输出端。

    595具体使用的步骤:
    第一步:目的:将要准备输入的位数据移入74HC595数据输入端上。
    方法:送位数据到_595。
    第二步:目的:将位数据逐位移入74HC595,即数据串入
    方法:SCK_595产生一上升沿,将PSI_595上的数据移入74HC595中.从低到高
    第三步:目的:并行输出数据。即数据并出
    方法:P1.1产生一上升沿,将由SI_595上已移入数据寄存器中的数据
    送入到输出锁存器。 
    说明: 从上可分析:从SCK_595产生一上升沿(移入数据)和RCK_595产生一上升沿(输出数据)是二个独立过程,实际应用时互不干扰。即可输出数据的 同时移入数据。
    程序如下,复制就能用。
     

    sbit SI_595=P2^0;
    sbit RCK_595=P2^2;
    sbit SCK_595=P2^1;
    void HC595SendData(unsigned char SendVal)//发送数据
    {  
      unsigned char i;
      for(i=0;i<8;i++) 
       {
    if((SendVal<<i)&0x80) SI_595=1;
    else SI_595=0;
    SCK_595=0;//从SCK_595产生一上升沿(移入数据)
    _nop_();
    _nop_();
    SCK_595=1;
       }
    void HC595ShowData()//RCK_595产生一上升沿(输出数据)
    {
      RCK_595=0;
      _nop_();
      _nop_();
      RCK_595=1; 
    }
    展开全文
  • 我理解的所谓数据驱动程序的方法,简单而言:将数据与程序分析,将代码逻辑的组织转换成数字规律的统计。即将数据作为一个要处理的脚本(当做数据库),然后程序作为解释器,将脚本的内容用代码逻辑解释出来,实现...

    我理解的所谓数据驱动程序的方法,简单而言:将数据与程序分析,将代码逻辑的组织转换成数字规律的统计。即将数据作为一个要处理的脚本(当做数据库),然后程序作为解释器,将脚本的内容用代码逻辑解释出来,实现编程功能。

    这就要求我们将代码逻辑分解出其内在数据关系,这样我们就可以写出与数据无关的函数,这样的函数通用性很大,利于复用,耦合性也比较低,利于修改,且修改后不易出错。

    这样的方法也有坏处,就是可读性变差,解决的办法就是多写点关于逻辑的注释。

    下面举个例子:(来自书籍--单片机编程魔法师之高级裸编程思想,挺好的一本书,可以看看,可以去下载下载链接处,待有缘人! )

    (1)要实现如下波形:

    (2)我们 一般的实现方法:将上面分成16段(依据是波形存在不一样的时候作为分界点),每段单独分析。代码如下(使用51单片机实现)。

    #include <reg51.h>
    
    sbit P10=P1^0;
    sbit P11=P1^1;
    sbit P12=P1^2;
    sbit P13=P1^3;
    
    void delay(unsigned char d, unsigned int t)
    {
    	unsigned int i;
    
    	P1 = P1 & 0xF0 | d;
    	for(i=0; i<t; i++);
    }
    
    main(void)
    {
    	while(1)
    	{
    		delay(0x00, 749);		// 阶段1
    		delay(0x01, 251);		// 阶段2
    
    		delay(0x00, 749);		// 阶段3
    		delay(0x03, 251);		// 阶段4
    
    		delay(0x00, 749);		// 阶段5
    		delay(0x01, 251);		// 阶段6
    
    		delay(0x00, 749);		// 阶段7
    		delay(0x07, 251);		// 阶段8
    
    		delay(0x00, 749);		// 阶段9
    		delay(0x01, 251);		// 阶段10
    
    		delay(0x00, 749);		// 論僇11
    		delay(0x03, 251);		// 論僇12
    
    		delay(0x00, 749);		// 阶段13
    		delay(0x01, 251);		// 阶段14
    
    		delay(0x00, 749);		// 阶段15
    		delay(0x0F, 251);		// 阶段16
    	}
    }
    

    (3)而采用数据驱动程序的方法:将每个阶段分离出数据,然后用一个函数统一处理。本例中使用数组来存储代表各个阶段的逻辑的数据,接着用一段代码就可解决,来代码如下:

    #include <reg51.h>
    
    sbit P10=P1^0;
    sbit P11=P1^1;
    sbit P12=P1^2;
    sbit P13=P1^3;
    
    #define STAGES		16
    unsigned char code P1_1234[] = {0, 1, 0, 3, 0, 1, 0, 7, 0, 1, 0, 3, 0, 1, 0, 15};
    unsigned int code Dts[] = {749, 251, 749, 251, 749, 251, 749, 251, 749, 251, 749, 251, 749, 251, 749, 251};
    
    void delay(unsigned char d, unsigned int t)
    {
    	unsigned int i;
    
    	P1 = P1 & 0xF0 | d;
    	for(i=0; i<t; i++);
    }
    
    main(void)
    {
    	int i;
    
    	while(1)
    	{
    		for(i=0; i<STAGES; i++)
    			delay(P1_1234[i], Dts[i]);
    	}
    }
    

    (4)好处:似乎没有看出了,牺牲了易读性,有得必有失,我们会的得到什么?

    再举几个例子:实现以下波形。对于这个波形,如果我们不采用数据驱动程序的方法,那么相当于重写(重新分阶段,不难但是繁琐),而使用这种高阶的方法后,解释器代码一个字母都不用改变。

    数据驱动程序的代码如下:

    #include <reg51.h>
    
    sbit P10=P1^0;
    sbit P11=P1^1;
    sbit P12=P1^2;
    sbit P13=P1^3;
    
    #define STAGES		8
    unsigned char code P1_1234[] = {0, 1, 3, 7, 15, 7, 3, 1};
    
    void delay(unsigned char d, unsigned int t)
    {
    	unsigned int i;
    
    	P1 = P1 & 0xF0 | d;
    	for(i=0; i<t; i++);
    }
    
    main(void)
    {
    	int i;
    
    	while(1)
    	{
    		for(i=0; i<STAGES; i++)
    			delay(P1_1234[i], 500);
    	}
    }

    (5)总结:

    虽然数据驱动代码这种高阶的方法不是万能,但是对于相似的编程要求,则给我们提供了一种可复用的方法,避免一些简单却繁琐的工作任务。

    还有, 用这种方法记得写注释,不然不仅别人看不懂, 就连几天后的你再次回顾时,都不知道是怎么写出来的。

    展开全文
  • 蜂鸣器是一种一体化结构的电子讯响器,本文介绍如何用单片机驱动蜂鸣器,他广泛应用于计算机、打印机、复印机、报警器、电话机等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 电磁式...
  • 51单片机驱动普中科技LCD12864显示(ST7565驱动),该LCD12864为16PIN的LCD,压缩包内含驱动程序(三菜单显示)、ISIS仿真、ST7565技术文档。
  • 当然,其它网卡芯片,如RTL8019的应用也很常见,在很多开发板上得到应用然而RTL8019的介绍在网上可以找到非常详细的介绍,尤其是用单片机对其做底层驱动的介绍非常丰富。下面的网站就介绍了用AVR驱动RTL8019网卡芯片...
  • 单片机驱动DM9000网卡芯片(详细调试过程)【上】 2009-03-04 11:13 和其它网卡芯片不同,DM9000系列网卡芯片在嵌入式开发板上很常见,尤其是有关ARM-Linux的开发板上的网络连接部分几乎都是采用该芯片完成的...
  •  今天在重新安装keil4的时候,安装完软件,等把开发板接入电脑时,电脑没有反应(win10系统)一般当我们接入电脑时会自动弹出驱动安装的,每次安装驱动都是预安装成功,应该有很多人和我一样遇见同样的问题,所以我...
  •  图一:适合开关频率不高的场合,一般低于2KHz。 其中R1=10K,R2 R3大小由V+决定,V+越高,R2 R3越大,以保证电阻及三极管功耗在允许范围,同时保证R2和R3的分压VPP=V+ 减10V,同时V+不能大于40V。...
  • 51单片机做的74HC595驱动控制LED   单片机代码如下: #include #include sbit SRCLK=P3^6; sbit RCLK=P3^5; sbit SER=P3^4; void Hc595SendByte(unsigned char dat); void ...
  • 在很多场合,已经出现了越来越多的单片机产品代替传统的电气控制产品。属于存储程序控制的单片机,其控制功能通过软件指令来实现,其硬件配置也可变、易 变。因此,一旦生产过程有所变动,就不必重新设计线路连线...
  • 单片机编程魔法师之高级裸编程思想》以单片机裸环境为基础,为编程者定义了一个微操作系统(MOS)的编程环境,并面向应用中不断提高的需求对编程策略进行了深度剖析与研究,从而分离出数据驱动、并行多任务、面向...
  • 什么是单片机单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、...
  • 目录   【背景知识】 【电路图】 【背景知识】 NPN型三极管,由三块半导体构成,其中两块N型和一块P型半导体组成,P型半导体在中间,两块N型半导体在两侧。PNP型三极管,是由两块P型半导体中间夹着一块N型...
  • 看来很多网友都搞不清灌电流和拉电流的概念,下面就此解释一下,希望看过本文后不再就此困扰。 一个重要的前提:灌电流和拉电流是针对端口而言的。 名词解释——灌:注入、填充,由外向内、由虚而实。...
  • 基于51单片机利用八个数码管花样显示如下:xxx11xxx→xx2222xx→x333333x→44444444→x555555x→xx6666xx→x777777x→88888888每个状态各一秒,显示反复循环,其中x表示对应的数码管熄灭问题补充:是共阳极的数码管...
  • 单片机输出高电平控制LED 三极管基极得加限流电阻的,不然有可能烧单片机 先我们要了解单片机IO口的两种工作状态,灌电流输入与漏电流输出,也就是我们所说的低电平和高电平 8050和8550是配对三极管,8050是NPN...
1 2 3 4 5 ... 20
收藏数 11,762
精华内容 4,704
关键字:

单片机 驱动级