三极管pnp驱动共阳数码管 138驱动时 位选端一直在为高电平 数码管显示如图 怎么回事

怎么用三极管驱动四位一体共阳数码管。用npn还是pnp。求助。_百度知道
怎么用三极管驱动四位一体共阳数码管。用npn还是pnp。求助。
您的回答被采纳后将获得:
系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)+提问者悬赏50(财富值+成长值)
若以下回答无法解决问题,邀请你更新回答
我有更好的答案求助知道网友
这个问题取决于控制端(三极管基极)是高电平有效还是低电平有效?如果是高电平有效、用NPN三极管;如果是低电平有效,就用PNP三极管。
这个应该是最起码的东西、应该明白!四位一体的数码管是动态驱动的,那么前端使用的是什么驱动电路(集成电路)?这个电路是什么电平有效?查一下具体资料就知道了。
原来是高电平选通数码管,接npn可以正常显示。当改成低电平选通数码管时 ,用pnp数码管不能正常显示。怎么回事
数码管没有高电平选通与低电平选通之说!只有共阳极与共阴极之分。不明白你是更换了数码管了;还是更改了单片机1/0口输出程序了?如果是更改了单片机程序,输出低电平(有效)选通,那么用PNP管应该没有问题!先将三极管基极串联1K左右电阻接地,数码管应该能点亮,这一步确定正常、再检测单片机是否输出了低电平?程序改写是否有误?
高电平有效。
if(t1_flag == 0) {
SEG_SEL_0 = 0;
SEG_SEL_1 = 1;
SEG_SEL_2 = 1;
SEG_SEL_3 = 1;
SEG_DATA = seg[seg0];
} else if(t1_flag == 1) {
SEG_DATA = seg[seg1];
SEG_SEL_0 = 1;
SEG_SEL_1 = 0;
SEG_SEL_2 = 1;
SEG_SEL_3 = 1;
这个程序用npn没问题吧
朋友!我不会单片机。我很喜欢单片机、但我不会英语怎么也学不会。我只能回答你“单片机扩展电路”问题。追问的第一行“高电平有效”。那么你就不能用PNP三极管!必须用NPN管!只有NPN型三极管才能高电平导通!
好的。谢谢。
本回答被提问者和网友采纳
网上百度的大多数说pnp
2条折叠回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。关于用三极管驱动四位共阳数码管的问题 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
关于用三极管驱动四位共阳数码管的问题
10:00:00  
22938&查看
位选接P1^0~P1^3
段选接P0口并分别串联了8个220欧姆的电阻
三极管:S9012 基极接2k电阻
单片机:stc89c52
<font color="#.三极管放大时C极电位为啥 VC ≈VE & VB 而不是传说中的
VC & VB & VE& &?,
2.另外怎么让三极管进入饱和状态?
3.而且数码管全点亮扫描的时候从P0流入的灌电流不是上百毫安么?整块单片机能承受么?
试过用四位共阴数码管,但不接上拉实在很暗所以才换用共阳。
(28.1 KB, 下载次数: 75)
09:45 上传
图是拿别人的~
高级工程师
12:18:01  
照你的电路图达到饱和状态只要基极为低电平就行了。数码管点亮电流没那么大,20个mA就足够大了,还有单片机内部是push-pull机构能承受一定的缓冲能力。
08:04:55  
VC ≈VE & VB&&已经是饱和
20:11:21  
VC ≈VE 就已經是飽和
PNP 三級管 VB & VE
NPN 三級管 VB & VE
兩個是不同的
18:50:24  
放大时是 VC&VB&VE,饱和时三极管的两个结都正偏,截止时是两个结都反偏
助理工程师
19:46:16  
进来学习学习
助理工程师
18:44:35  
& && && && && && &&&
19:09:45  
11:46:30  
根据我个人的经历,实际电路中用三极管驱动很不现实,而且每段数码管亮度不同,也很容易因为电磁感应影响。最好还是学会用下锁存器驱动,比较稳定。仿真是可以实现的,现实操作中效果不好。
16:06:14  
应该是在开关状态!
18:04:24  
看帖必回!!!!!!!!!!!!!!!!!!!!
18:49:24  
09:21:37  
& && && && && && && && &&&
10:12:57  
学习了。。。。。。。。。。。。。。。。。。。。。。
00:54:05  
16:21:56  
我们走过 发表于
根据我个人的经历,实际电路中用三极管驱动很不现实,而且每段数码管亮度不同,也很容易因为电磁感应影响。 ...
怎么不现实???
一大堆的工业产品都用三极管来驱动数码管的。没有任何问题。亮度的差异肉眼根本看来出来。
最主要的是,如果数码管位数少,三极管具有空间和成本的强大优势。
16:28:11  
高级工程师
16:47:41  
17:24:39  
17:47:44  
进来看看,能看看你的程序吗?延时程序也可能会影响数码管的亮度
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司您当前的位置:&>&&>&&>&&>&
STC89C52驱动数码管
1.硬件设计
数码管实验硬件设计中使用到的数码管是共阳极类型的。因为数码管的片选引脚&1/2/3/4&都通过
PNP 三极管来提供高电平,为什么要选用PNP 三极管和共阳极数码管的组合?因为共阳极数码管共阳端直
接接电源,不用接上来电阻,而共阴的则要,如此一来共阳极数码管亮度较高。再者用单片机控制时,单
片机上电和复位后所有的I/O 口都是高电平,只要单片机一上电,电路经过数码管的位流向共阴至地,耗
电大,不节能,所以又每次编写代码时都得把位控制端赋予低电平,太过麻烦,这样共阳极数码管就是好,
因为共阳极端要接电源,而位控制口又是高电平,则数码管不会亮,省去了每次编程赋值的麻烦。
P0.0~P0.3 作为共阳极数码管的为控制口,P0.4 和P0.5 作为共阳极数码管的字型码输入口。
2.软件设计
#include &stc.h&
#define HIGH 1
#define LOW 0
#define LS164_DATA(x) {if((x))P0_4=1;else P0_4=0;}
#define LS164_CLK(x) {if((x))P0_5=1;else P0_5=0;}
#define SEG_PORT P0 //控制数码管字型码端口
unsigned char Timer0IRQEvent=0; //T/C0 中断事件
unsigned char Time1SecEvent=0; //定时1 秒事件
unsigned int TimeCount=0; //时间计数值
unsigned char SegCurPosition=0; //当前点亮的数码管
//为了验证共阳极的字型码是共阴极的反码,共阳极字型码为共阴极的反码
//共阳极字型码存储在代码区,用关键字&code&声明
code unsigned char SegCode[10]={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,
~0x07,~0x7F,~0x6F};
//片选数码管数组,存储在代码区,用关键字&code&声明
code unsigned char SegPosition[4]={0xf7,0xfb,0xfd,0xfe};
//数码管显示数据缓冲区
unsigned char SegBuf[4] ={0};
void LS164Send(unsigned char byte)
for(j=0;j&=7;j++)//对输入数据进行移位检测
if(byte&(1&&(7-j))) //检测字节当前位
LS164_DATA(HIGH); //串行数据输入引脚为高电平
LS164_DATA(LOW); //串行数据输入引脚为低电平
LS164_CLK(LOW); //同步时钟输入端以一个上升沿结束确定该位的值
LS164_CLK(HIGH);
void SegRefreshDisplayBuf(void)
SegBuf[0] =TimeC //个位
SegBuf[1] =TimeCount/10; //十位
SegBuf[2] =TimeCount/100; //百位
SegBuf[3] =TimeCount/1000; //千位
void SegDisplay(void)
SEG_PORT = 0x0F; //熄灭所有数码管
t = SegCode[SegBuf[SegCurPosition]]; //确定当前的字型码
LS164Send(t);
SEG_PORT = SegPosition[SegCurPosition];//选中一个数码管来系显示
if(++SegCurPosition&=4) //下次要点亮的数码管
SegCurPosition=0;
void TimerInit(void)
TH0 = ()/256;
TL0 = ()%6; //定时5MS
TMOD = 0x01; //T/C0 模式1
void Timer0Start(void)
void PortInit(void)
P0=P1=P2=P3=0xFF;
void main(void)
PortInit();
TimerInit();
Timer0Start();
SegRefreshDisplayBuf();
if(Timer0IRQEvent) //检测定时中断事件是否产生
Timer0IRQEvent=0;
if(Time1SecEvent) //检测1 秒事件是否产生
Time1SecEvent=0;
if(++TimeCount&=9999)//计数值自加
TimeCount=0;
SegRefreshDisplayBuf();//刷新缓冲区
SegDisplay(); //点亮选中的数码管
void Timer0IRQ(void) interrupt 1
static unsigned int cnt=0;
TH0 = ()/256;
TL0 = ()%6; //重载初值
Timer0IRQEvent=1;
if(++cnt&=200)
Time1SecEvent=1;如下图所示,数码管是共阴还是共阳?pnp三极管怎么驱动位选?段选怎么驱动?电平为高驱动还是低电平驱_百度知道
如下图所示,数码管是共阴还是共阳?pnp三极管怎么驱动位选?段选怎么驱动?电平为高驱动还是低电平驱
我有更好的答案
当然是“低”驱呀,这是PNP三极管,驱动比E 极低0.6V即通。数码管共阴,电流路径是VCC--E 极--C极 --阳极--阴极--共阴(地)。
你能详细的描述一遍数码管显示电路吗?位选和段选
数码管显示是这样吗?p2口输出低电平三极管驱动数码管位选,然后p0口也是低电平驱动段选吗
采纳率:61%
来自团队:
为您推荐:
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。三极管驱动数码管_文档库
文档库最新最全的文档下载
当前位置: & 三极管驱动数码管
三极管驱动数码管
9014 驱动共阴极数码管
9014是NPN三极管,驱动电流可达100mA,驱动一般数码管电流足够了。
Rb可取1kΩ,Rc根据Vcc及所需亮度决定。若Vcc取5V,Rc可取300Ω,若亮度不够,可降低Rc阻值。
三极管驱动共阳极数码管
用三极管控制共阳极数码管是利用三极管的开关特性,比如用pnp三极管的话,集电极接地,然后通过基极控制三极管的通断,当通过单片机给基极一个低电平时,发射极导通,集电极与发射极也之间也导通了,一般都是用三极管控制数码管的位选引脚。简单地说就集电极和发射极相当于一个开关,基极是控制端,基极给高电平是,开关是断开基极给低电平时,开
Word文档免费下载:
三极管驱动数码管 - 9014 驱动共阴极数码管 9014 是 NPN 三极管,驱动电流可达 100mA,驱动一般数码管电流足够了。 Rb 可取 1kΩ ,Rc 根据 Vcc 及所需亮度决定...数码管的几种驱动方式汇总 - 数码管的几种驱动方式汇总 数码管的显示方式可以分为动态和静态的。 动态的也叫扫描方式, 是利用发光二极管的余辉效应和人眼的视觉...多位数码管驱动电路 - 多位数码管驱动电路 在单片机控制系统中, 一般使用 LED 数码管或液晶 LCD 作为显示设备, 用来显示控制系统的 工作状态。这两种显示设备的...51 系列单片机和 msp430 系列单片机新手上路 使用三极管驱动动态显示的多位数码管一.芯片 以下是本人使用 51 单片机和 TI 公司的 msp430g2553 芯片驱 动四位共阳...数码管驱动与程序设计 - 5.4 数码管驱动与程序设计 目 录 LED数码管 数码管 数码管驱动电路 段码表的生成 数码管的动态扫描显示 数字符号与数值的关系 LED数码...闲言少叙,先上电路原理图: 接行线,P1.4~P.7 接列线, P1 口接矩阵键盘,其中 P1.0~P1.3 接行线,P1.4~P.7 接列线,P0 口接共 阴极 7 段数码管。...

我要回帖

更多关于 共阳数码管编码 的文章

 

随机推荐