标题:
单片机是不是不能直接驱动数码管?
[打印本页]
作者:
staring
时间:
2018-5-30 21:06
标题:
单片机是不是不能直接驱动数码管?
我用STC89C52RC连接了一个四位共阳极数码管,使用动态显示,结果数码管亮度依次降低,最高位也不是很亮,最低位暗淡无光,日照下不可见。是不是电流太低的缘故?有没有解决办法?
百度了一圈,发现回答千奇百怪,我手边没有锁存器,用三极管能解决吗?
作者:
zcy0517
时间:
2018-5-30 22:28
可以试一下,先看看数码管需要的电流或功率是多少
作者:
qiangcn
时间:
2018-5-30 23:25
最好把电路图发上来。不知道你的位驱动是否也是单片机I/O口,STC89C52RC的I/O口的灌电流P0口10mA其它口5mA如采用共阳极数码管并用三极管做位选驱动,亮度可以接受。
作者:
l6931639
时间:
2018-5-31 07:14
不要用静态显示,改成扫描显示
作者:
hk0506
时间:
2018-6-1 09:38
要芯片转换,单片机的01转换成bcd,不然数码管引脚不够啊,而且单片机驱动很多东西都是要驱动芯片的
作者:
loading88
时间:
2018-6-1 12:32
可以驱动的,你调调程序就可以了,我做的都是可以的
作者:
loading88
时间:
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();
}
}
作者:
新手小苏
时间:
2018-6-1 14:08
可以的
作者:
JankinBai
时间:
2018-6-1 17:53
一般不可以,单片机是微型控制器,设计的时候驱动能力就不行,一般得加上外部驱动电路。
作者:
imssu
时间:
2018-6-1 20:21
可以驱动的 但是亮度会有点低 可以加74系列芯片增强驱动能力
作者:
星期五8
时间:
2018-6-1 22:02
可以驱动,如果亮度低也可以加MOSFET或三极管加大电流。
作者:
zzx51
时间:
2018-6-1 22:21
STC89C52RC单个io最大开漏20mA,所有的io负载不超过100mA,可以用三极管驱动,但io口要加限流电阻
作者:
夜空中最亮的星
时间:
2018-6-1 22:26
你的延时可能出现了问题导致位码显示冲突,调一下延时的参数,效果会好很多
作者:
十里故清欢
时间:
2018-6-1 22:39
可以试一下,最好发图上来
作者:
zql123456456
时间:
2018-6-2 00:20
试一下 电流注意
作者:
zhuhuitao
时间:
2018-6-2 09:41
最好加上拉电阻,保护一下。
作者:
wz_dpf
时间:
2018-6-2 11:14
可以把,你把电路发一下看看
作者:
staring
时间:
2018-6-2 11:24
解决了,加了三极管放大电路,亮度很足
作者:
林晚风
时间:
2018-6-2 11:36
估计电压不够,添加一个外围辅助供电电路吧
作者:
GJGYSH
时间:
2018-6-2 14:50
查一下该单片机输入口的电流,看看能不能你所用的LED.否则就要加三极管。
作者:
scrxys
时间:
2018-6-2 16:06
共阴极应该可以的,51系列无法产生高电平大电流驱动,原因在于单片机内部是共集型(开漏)输出
作者:
消逝的青盏
时间:
2019-12-17 18:38
输出电流太小了吧,我做的C52单片机不加三极管和电阻也是很暗,加上三极管会清晰很多,至少人眼看很清晰,可以试试呢
作者:
kevin_pu
时间:
2019-12-18 06:49
可以增加一个2803以增加驱动电流
作者:
chenntxdy
时间:
2019-12-18 14:17
单片机一般都是微控,可以选择加个外部驱动或者调试一下程序。
作者:
zhengdian1
时间:
2019-12-27 21:37
可以的,但一般不这么用
作者:
zhengdian1
时间:
2019-12-27 21:37
都要加三级管的
作者:
东111
时间:
2019-12-29 19:12
对,单片机IO口电流不够大,无法驱动,可以考虑一下接上四个上拉电阻试一试。
作者:
51go
时间:
2019-12-30 13:37
可以用74HC245芯片(那个宝上就有,挺便宜的)给IO口增加驱动能力。
作者:
mov110
时间:
2019-12-30 15:14
STC的单片机可以调整IO口的输出模式!可以调速上拉输出OR下拉输出
P0M1 = 0x00;
P0M0 = 0xff;
P2M1 = 0x00;
P2M0 = 0xff;//这代码只是提供参考,你可以看手册,把输出设为上拉,电流可以达到25MA,可以直接驱动数码管
作者:
艽野尘梦
时间:
2019-12-30 15:45
可以动态显示,刚做完课设,用的就是四位数码管,但是我用的共阴管,共阴管是往里面灌电,对电压电流的要求没有共阳要求高,如果你的不是很理想,建议换成共阴的
作者:
1113634577
时间:
2019-12-30 19:40
单片机驱动数码管,最好用共阴,因其灌入电流可达20mA,就不用三极管驱动,如果共阳,就只能加了
作者:
ykxdsy
时间:
2019-12-31 13:33
应该可以的
作者:
1836466396
时间:
2019-12-31 20:21
静态显示没有问题,动态显示的话公共端必须加驱动。
作者:
zhengdian1
时间:
2020-1-1 09:41
可以的,但一般不建议这么做,要加上拉电阻
作者:
li171
时间:
2020-1-1 10:52
个人建议,你要单片机只有数码管可以直接驱动,你要有其他模块,尽量加电阻和三极管,因为实际操作中会出现数码管暗淡和烧坏的情况
作者:
还有谁?
时间:
2020-1-1 14:07
为什么一定就要加锁存器?完全是三极管就能解难决的事,共阳用端接三极管,另外接P1-P3口
作者:
w1179benp
时间:
2020-1-3 08:45
应用场合的不同,结论不同,理论与实践要结合;做产品与试验不同,不同的产品失效率不同,设计产品冗余量不同,,,,,太多的不同。所以楼上的是参考,具体问题具体分析。
作者:
angbei2
时间:
2020-1-3 09:27
上图来看
作者:
TTQ001
时间:
2020-1-3 09:46
单片机GPIO一般是驱动驱动逻辑信号的, 没有非常强的驱动负荷能力 通常。您必须添加一个七段式数码管驱动器才能获得最佳效果。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1