求解困扰很长时间的共阴数码管问题

[复制链接]
4358|19
 楼主| zhoubojay 发表于 2010-11-26 21:49 | 显示全部楼层 |阅读模式
用8050驱动共阴数码管,现在的问题是上电就亮(这应该是正常的),但我写程序进去就全灭,原理图有没有问题? P0口我只用了上拉电阻,没加限流电阻,程序是简单的测试程序  
#include<reg52.h>
void main()
{
    P1=1;   // 位选高电平选中(低电平我也试了情况一样)
    P0=0x3f; // 显示数字0;
    while(1);
}     到底是哪里的问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
new1988 发表于 2010-11-26 21:58 | 显示全部楼层
可能是驱动能力不够!
 楼主| zhoubojay 发表于 2010-11-26 22:29 | 显示全部楼层
2# new1988
不是P0口能直接驱动的么,我加了三极管来驱动还是不够? 应该不是吧
lyjian 发表于 2010-11-26 23:22 | 显示全部楼层
P10加上拉
numLiu 发表于 2010-11-26 23:37 | 显示全部楼层
P1.0 要置低电平
lyjian 发表于 2010-11-26 23:41 | 显示全部楼层
楼上晕
ayb_ice 发表于 2010-11-27 08:27 | 显示全部楼层
共阴的话,因为51的IO驱动能力不够,要三极管驱动(SEG+COM都要),否则会不亮的,或者微亮
用共阳会好些
areshan 发表于 2010-11-27 08:29 | 显示全部楼层
你先让P10=0,P0=0X00,看看能把所有数码管点亮吗???????
zhaoyu2005 发表于 2010-11-27 08:57 | 显示全部楼层
LZ用的什么单片机?
估计是单片机配置字或者设置问题,没有运行,LZ位的测试程序是正常的,P10就应该是高电平的,要不怎么驱动NPN三极管?
wxfje 发表于 2010-11-27 09:57 | 显示全部楼层
你可以把
P1=1;   // 位选高电平选中(低电平我也试了情况一样)
    P0=0x3f; // 显示数字0;
这两句放到while死循环中去
scytrenbin 发表于 2010-11-27 17:40 | 显示全部楼层
可能是IO驱动电流不够引起IC死机。
可将P0的bit0~bit5作为输入,将bit6~bit7输出低,并将1K的电阻换小试试。
wy1990 发表于 2010-11-27 18:06 | 显示全部楼层
用p2口的吧
shibao21ic 发表于 2010-11-27 21:03 | 显示全部楼层
测一下三极管集电极电流大小是多少
NE5532 发表于 2010-11-27 21:09 | 显示全部楼层
兄弟,51的高电平是靠上拉电阻拉出来的,没驱动能力,1k的电阻,5V的电压,LED能亮才怪。
51驱动LED,严格来说得加缓冲器,PIC直接驱动还差不多。
pa2792 发表于 2010-11-27 21:20 | 显示全部楼层
所以为什么那么多人选择AVR,可以直接驱动LED.
免证入网 发表于 2010-11-28 10:40 | 显示全部楼层
个人感觉你的程序和电路都是对的。5v1k也差不多了啊。一个段就有有差不多5ma电流也够亮了。就你的图,因为显示电流流经通路是电源→上拉电阻→数码管段→8050→地.你最好确定你的单片机工作了。不要感觉上电就亮了一下就真正工作了。说不定那是上电瞬间冲击所致。你这问题我也遇见过,结果晶振一脚没焊。
ningling_21 发表于 2010-11-28 10:43 | 显示全部楼层
原理图设计有问题...
xwj 发表于 2010-11-28 10:51 | 显示全部楼层
怀疑硬件问题或者程序没烧进去。

先检查下EA脚,这个必须接VCC
lyjian 发表于 2010-11-28 11:29 | 显示全部楼层
14楼:
1k的电阻,5V的电压,足够点亮LED了
wubing1211 发表于 2010-11-28 16:32 | 显示全部楼层
电路有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

594

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部