找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10934|回复: 38
收起左侧

单片机是不是不能直接驱动数码管?

  [复制链接]
ID:310990 发表于 2018-5-30 21:06 | 显示全部楼层 |阅读模式
我用STC89C52RC连接了一个四位共阳极数码管,使用动态显示,结果数码管亮度依次降低,最高位也不是很亮,最低位暗淡无光,日照下不可见。是不是电流太低的缘故?有没有解决办法?
百度了一圈,发现回答千奇百怪,我手边没有锁存器,用三极管能解决吗?


回复

使用道具 举报

ID:341807 发表于 2018-5-30 22:28 | 显示全部楼层
可以试一下,先看看数码管需要的电流或功率是多少

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:203000 发表于 2018-5-30 23:25 | 显示全部楼层
最好把电路图发上来。不知道你的位驱动是否也是单片机I/O口,STC89C52RC的I/O口的灌电流P0口10mA其它口5mA如采用共阳极数码管并用三极管做位选驱动,亮度可以接受。

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:212177 发表于 2018-5-31 07:14 来自手机 | 显示全部楼层
不要用静态显示,改成扫描显示

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:296837 发表于 2018-6-1 09:38 | 显示全部楼层
要芯片转换,单片机的01转换成bcd,不然数码管引脚不够啊,而且单片机驱动很多东西都是要驱动芯片的

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:317135 发表于 2018-6-1 12:32 | 显示全部楼层
可以驱动的,你调调程序就可以了,我做的都是可以的

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:317135 发表于 2018-6-1 12:33 | 显示全部楼层
共阴数码管段选程序,拿走,不谢,你试试,可不可以驱动数码管



#include "reg52.h"
typedef unsigned char u8;
typedef unsigned int  u16;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
              0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};        //共阴
void delay(u16 i)
{
   while(i--);
}
void DiaDisplay()
{
    u8 i;
        for(i=0;i<8;i++)
        {
           switch(i)
           {
           case(0):
           LSA=0;LSB=0;LSC=0;break;
           case(1):
           LSA=1;LSB=0;LSC=0;break;
           case(2):
           LSA=0;LSB=1;LSC=0;break;
           case(3):
           LSA=1;LSB=1;LSC=0;break;
           case(4):
           LSA=0;LSB=0;LSC=1;break;
           case(5):
           LSA=1;LSB=0;LSC=1;break;
           case(6):
           LSA=0;LSB=1;LSC=1;break;
           case(7):
           LSA=1;LSB=1;LSC=1;break;
           }
           P0=smgduan[i+1];
           delay(50000);
           P0=0x00;
        }
}
void main()
{
  while(1)
  {
  DiaDisplay();         
  }
}

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:317494 发表于 2018-6-1 14:08 | 显示全部楼层
可以的
回复

使用道具 举报

ID:289401 发表于 2018-6-1 17:53 | 显示全部楼层
一般不可以,单片机是微型控制器,设计的时候驱动能力就不行,一般得加上外部驱动电路。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:338899 发表于 2018-6-1 20:21 | 显示全部楼层
可以驱动的  但是亮度会有点低  可以加74系列芯片增强驱动能力

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:343170 发表于 2018-6-1 22:02 | 显示全部楼层
可以驱动,如果亮度低也可以加MOSFET或三极管加大电流。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:224683 发表于 2018-6-1 22:21 来自手机 | 显示全部楼层
STC89C52RC单个io最大开漏20mA,所有的io负载不超过100mA,可以用三极管驱动,但io口要加限流电阻

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:343191 发表于 2018-6-1 22:26 | 显示全部楼层
你的延时可能出现了问题导致位码显示冲突,调一下延时的参数,效果会好很多
回复

使用道具 举报

ID:343196 发表于 2018-6-1 22:39 | 显示全部楼层
可以试一下,最好发图上来
回复

使用道具 举报

ID:343244 发表于 2018-6-2 00:20 | 显示全部楼层
试一下  电流注意

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:343289 发表于 2018-6-2 09:41 | 显示全部楼层
最好加上拉电阻,保护一下。
回复

使用道具 举报

ID:343367 发表于 2018-6-2 11:14 | 显示全部楼层
可以把,你把电路发一下看看
回复

使用道具 举报

ID:310990 发表于 2018-6-2 11:24 | 显示全部楼层
解决了,加了三极管放大电路,亮度很足
回复

使用道具 举报

ID:343382 发表于 2018-6-2 11:36 | 显示全部楼层
估计电压不够,添加一个外围辅助供电电路吧
回复

使用道具 举报

ID:343491 发表于 2018-6-2 14:50 | 显示全部楼层
查一下该单片机输入口的电流,看看能不能你所用的LED.否则就要加三极管。
回复

使用道具 举报

ID:343549 发表于 2018-6-2 16:06 | 显示全部楼层
共阴极应该可以的,51系列无法产生高电平大电流驱动,原因在于单片机内部是共集型(开漏)输出
回复

使用道具 举报

ID:662171 发表于 2019-12-17 18:38 | 显示全部楼层
输出电流太小了吧,我做的C52单片机不加三极管和电阻也是很暗,加上三极管会清晰很多,至少人眼看很清晰,可以试试呢
回复

使用道具 举报

ID:617801 发表于 2019-12-18 06:49 | 显示全部楼层
可以增加一个2803以增加驱动电流
回复

使用道具 举报

ID:667319 发表于 2019-12-18 14:17 | 显示全部楼层
单片机一般都是微控,可以选择加个外部驱动或者调试一下程序。
回复

使用道具 举报

ID:672205 发表于 2019-12-27 21:37 来自手机 | 显示全部楼层
可以的,但一般不这么用
回复

使用道具 举报

ID:672205 发表于 2019-12-27 21:37 来自手机 | 显示全部楼层
都要加三级管的
回复

使用道具 举报

ID:384312 发表于 2019-12-29 19:12 | 显示全部楼层
对,单片机IO口电流不够大,无法驱动,可以考虑一下接上四个上拉电阻试一试。
回复

使用道具 举报

ID:526392 发表于 2019-12-30 13:37 | 显示全部楼层
可以用74HC245芯片(那个宝上就有,挺便宜的)给IO口增加驱动能力。
回复

使用道具 举报

ID:22618 发表于 2019-12-30 15:14 | 显示全部楼层
STC的单片机可以调整IO口的输出模式!可以调速上拉输出OR下拉输出
        P0M1 = 0x00;
        P0M0 = 0xff;
        P2M1 = 0x00;
        P2M0 = 0xff;//这代码只是提供参考,你可以看手册,把输出设为上拉,电流可以达到25MA,可以直接驱动数码管

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:672549 发表于 2019-12-30 15:45 | 显示全部楼层
可以动态显示,刚做完课设,用的就是四位数码管,但是我用的共阴管,共阴管是往里面灌电,对电压电流的要求没有共阳要求高,如果你的不是很理想,建议换成共阴的

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:371527 发表于 2019-12-30 19:40 | 显示全部楼层
单片机驱动数码管,最好用共阴,因其灌入电流可达20mA,就不用三极管驱动,如果共阳,就只能加了
回复

使用道具 举报

ID:677934 发表于 2019-12-31 13:33 | 显示全部楼层
应该可以的
回复

使用道具 举报

ID:661935 发表于 2019-12-31 20:21 | 显示全部楼层
静态显示没有问题,动态显示的话公共端必须加驱动。
回复

使用道具 举报

ID:672205 发表于 2020-1-1 09:41 来自手机 | 显示全部楼层
可以的,但一般不建议这么做,要加上拉电阻
回复

使用道具 举报

ID:678767 发表于 2020-1-1 10:52 | 显示全部楼层
个人建议,你要单片机只有数码管可以直接驱动,你要有其他模块,尽量加电阻和三极管,因为实际操作中会出现数码管暗淡和烧坏的情况
回复

使用道具 举报

ID:475247 发表于 2020-1-1 14:07 | 显示全部楼层
为什么一定就要加锁存器?完全是三极管就能解难决的事,共阳用端接三极管,另外接P1-P3口
回复

使用道具 举报

ID:149451 发表于 2020-1-3 08:45 | 显示全部楼层
应用场合的不同,结论不同,理论与实践要结合;做产品与试验不同,不同的产品失效率不同,设计产品冗余量不同,,,,,太多的不同。所以楼上的是参考,具体问题具体分析。
回复

使用道具 举报

ID:679459 发表于 2020-1-3 09:27 | 显示全部楼层
上图来看
回复

使用道具 举报

ID:420836 发表于 2020-1-3 09:46 | 显示全部楼层
单片机GPIO一般是驱动驱动逻辑信号的, 没有非常强的驱动负荷能力 通常。您必须添加一个七段式数码管驱动器才能获得最佳效果。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表