单片机控制8550三极管12V电源的四位共阳极数码管管,怎么能导通

疑问:89S52驱动4位共阳极数码管 - 初学园地 -
51单片机学习论坛 www.51c51.com
- Powered by Discuz!
疑问:89S52驱动4位共阳极数码管
单片机幼儿园
疑问:89S52驱动4位共阳极数码管
用89S52驱动4位共阳极数码管(),数码管的段引脚接P1口,加100欧的限流电阻;数码管的位引脚由P2口的1-4脚通过8550三极管驱动,三极管基极接2.2k电阻。
通过动态方式扫描显示,间隔1ms。
目前倒是可以正常显示了,但还有几个问题:
1。数码管亮度特别高,很刺眼,不知是不是100欧的限流电阻太小了,要换多大的呢?如何计算?
2。当数码管的某段原本应该为不发亮的时候,还是有一定的亮度,但是和发亮的段比起来还是有差别的。用万用表测量,发现发亮的段,电流为5-7mA,而不发亮的段,电流为1.5-2mA。按理说三极管不导通的时候应该没有这么大的电流啊,三极管基极电流是5mA。不知道问题出在哪
3。基极的限流电阻应该如何计算呢,现在接的2.2k的电阻只是胡乱试的。
附上原理图,用protues画的,我不会用布线软件,用这个凑合了
[ 本帖最后由 weiguixm 于
17:01 编辑 ]
附件: 您所在的用户组无法下载或查看附件
看看这个图相信你就明白啦: 一般来说一个发光管的段位10ma的电流是比较好的, 实际测试一下就知道啦
新人报道注意事项:
1 给大家送一个见面礼, 比如自己收藏的程序代码资料等
2 如果有可能请认真回复5个贴子 活跃本论坛的气氛
3 不要发类似: 请给编一个***代码发到***邮箱的贴子,天下没有免费午餐
单片机幼儿园
集电极不需要加限流电阻吗?
基极接一个5k的电阻,只能控制基极电流最大值在1mA,但8550的放大系数有100左右啊,这样的话集电极还是要再接一个500欧左右的限流电阻才能把发光管的电流控制在10mA左右吧???
单片机小学生
童鞋,模电还有待提高啊!100欧改为330欧,2.2K改为4.7K。
不该亮的段会有暗光,是软件的问题,在动态扫描时没处理好消隐。
单片机幼儿园
引用:原帖由 yb261 于
21:06 发表
童鞋,模电还有待提高啊!100欧改为330欧,2.2K改为4.7K。
不该亮的段会有暗光,是软件的问题,在动态扫描时没处理好消隐。 呵呵,我没什么模电基础的,看过两遍书,现在忘差不多了,回去再复习复习(感慨一下,没有环境,自学效率真的很低啊。。。)
另外你说的用软件处理消隐具体怎么处理呢?
现在手头只有100、470、2.2K、10K四种电阻,看来还得再去买点
[ 本帖最后由 weiguixm 于
10:54 编辑 ]
单片机幼儿园
建议你在基极和地再接一个10K的电阻
单片机小学生
100欧改为470欧,2.2K改为10K也可以。
动态显示时,在更新段码之前,先关闭所以位选。
单片机幼儿园
谢谢各位了,今天回去再试一下看看
我又查了一下书,三极管应该是工作在饱和状态,把集电极电压改大应该就可以减小流过发光管的电流,就没那么亮了共阳极的数码管接在单片机I/O口,三极管的电阻是怎么算出来的_百度知道
共阳极的数码管接在单片机I/O口,三极管的电阻是怎么算出来的
我有更好的答案
R=2V/βI 其中V 是基极信号电压。I 是集电极的工作电流。β,管子的电流放大系数。2倍,是为了让管子充分饱合。
V和I是8550的参数告诉了的吗
V是输入到G0端的信号电压。I是数码管的工作电流
采纳率:80%
来自团队:
确定单片机的I/O的驱动电流。确保I/O口的驱动电流不会超过限定值。三极管的电阻一般分为基极电阻和C(E)极电阻,一般控制C极电阻在通电时的电流为5~20mA,基极电阻上的电流为C极电阻电流的1/10~1/100都没什么问题。根据电路的接法,选用合适的电阻。
你说的是集电极电阻还是基极电阻?基极电阻是用来为发射结提供保护的,假设发射结的PN结电压是0.7v,单片机IO口输出3.3v,(3.3-0.7)/R&发射结允许最大电流就可以了,我通常用200欧的
这里没有固定值,保证三极管工作饱和区和截止区就行
灰常讨厌高质量问答,**看不到提问时间,也看不到答案。
其他2条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。单片机怎么驱动大型数码管啊,我自制的2.3寸数码管|我爱单片机 - 数码之家
查看完整版本: [--
赞助商链接
单片机怎么驱动大型数码管啊,我自制的2.3寸数码管,每段的电压3~3.4V,电流40~60ma,电源只用5V。这是过年时候做的12C887+89C52+0.56寸共阳极数码管电路图[attachment=5720390]
[attachment=5720367]
现在就是想改用2.3寸数码管[attachment=5720422] [attachment=5720595]
赞助商链接
做的很漂亮,单片机写程序了吗
赞助商链接
直接连接带动不起&&你就在弄个驱动电路 接口 去控制
看样子是时钟?
单片机有程序啊,已经用了三个月,放在客厅发现数码管太小,所以就做了个大的,现在为驱动发愁啊
P0口要改,设置成弱上拉,但是你这个单片机设置不了,可以外加一个上拉电阻排,然后程序要改,把P0的输出电平改成反的,不会改程序就加两颗CD4011非门最后P0上接一个ULN2003扩流,作为数码管段选
:直接连接带动不起  你就在弄个驱动电路 接口 去控制  ( 10:44) 有没有好办法啊,不想改动太多
还有R1-R8,R10-R13要改小,这么大数码管最好外接74ls595静态驱动,否则亮度上不去,还可能有闪烁感
:P0口要改,设置成弱上拉,但是你这个单片机设置不了,可以外加一个上拉电阻排,然后程序要改,把P0的输出电平改成反的,不会改程序就加两颗CD4011非门最后P0上接一个ULN2003扩流,作为数码管段选 ( 10:51) 没有4011,这是程序//12M晶振#include&reg52.h&#define uchar unsigned char#define uint unsigned intsbit we1 = P2 ^ 4;&&&&//小时 十位sbit we2 = P2 ^ 5;&&&&//小时 个位sbit we3 = P2 ^ 6;&&&&//分钟 十位sbit we4 = P2 ^ 7;&&&&//分钟 个位sbit key1 = P2 ^ 2;&&&&//选位sbit key2 = P2 ^ 1;&&&&//增大吧sbit key3 = P2 ^ 0;&&&&//减小了sbit beep = P3 ^ 3;&&&&//蜂鸣器sbit dp = P2 ^ 3;&&&&//sbit cs=P3^7;sbit as=P3^4;sbit rw=P3^5;sbit ds=P3^6;uchar num,k1num,sec,minute,minute1,hour,hour1,hour_beep,hour_temp,day,month,year,uchar we1_temp,we2_temp,we3_temp,we4_temp,we2_dp_temp,we4_dp_uchar ss,bit day_b,sec_b,hour24,set_b,hour_beep_b;uchar code table[] =&&&&//0-9 共阴管{&&&&0x3f,0x06,0x5b,0x4f,0x66,&&&&0x6d,0x7d,0x07,0x7f,0x6f};uchar code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//共阳管void delay(uint z)&&&&//1ms延时{&&&&uint x,y;&&&&for(x =x & 0;x -- )&&&&&&&&for(y = 110;y & 0;y -- );}void di()&&&&//蜂鸣器{&& uchar bee,bee1;&& for(bee=0;bee&50;bee++)&&&&&&&&{beep = ~&&&&&&&& for(bee1=0;bee1&100;bee1++)&&&&&&&& {}&&&&//&&&&delay(1);&&&&&& }&&&&&&&&beep = 1;}void ds12c887_write(uchar add,uchar da_ta) //写一个字节到DS12C887{ cs=0; ds=1; as=1; rw=1; P1= as=0; rw=0; P1=da_ rw=1; as=1; cs=1;}uchar ds12c887_read(uchar add) //从DS12C887读取一个字节{ uchar read_ cs=0; rw=1; ds=1; as=1; P1= as=0; ds=0; P1=0 read_data=P1; ds=1; as=1; cs=1; return read_}void init()&&&&//初始化{&&&&&&&&P0 = 0&&&&&&&&P1 = 0&&&&&&&&P2 = 0&&&&&&&&TMOD = 0x01;&&&&&&&&TH0 = (65536 - 5000) / 256;&&&&&&&&TL0 = (65536 - 5000) % 256;&&&&&&&&EA = 1;&&&&&&&&ET0 = 1;&&&&&&&&TR0 = 1;}void display()&&&&//显示{&&&&disp ++ ;&&&&we1 = 1;&&&&we2 = 1;&&&&we3 = 1;&&&&we4 = 1;&&&&delay(1);&&&&P0 = 0&&&&switch(disp)&&&&{&&&&&&&&case 1:&&&&if(k1num == 1 &&dp||k1num == 3 &&set_b)&&&&&&&&&&&&&&&&P0=0&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&P0 = table1[we1_temp];&&&&&&&&&&&&&&&&we1 = 0;&&&&&&&&&&&&&&&&&&&&&&&&case 2:if(k1num == 1 && dp||k1num == 3 &&set_b )&&&&&&&&&&&&&&&&P0=0&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&P0 = table1[we2_temp]+we2_dp_&&&&&&&&&&&&&&&&we2 = 0;&&&&&&&&&&&&&&&&&&&&&&&&case 3:if(k1num == 2 && dp||k1num == 4 &&set_b||k1num == 5 &&set_b)&&&&&&&&&&&&&&&&P0 = 0&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&P0 = table1[we3_temp];&&&&&&&&&&&&&&&&we3 = 0;&&&&&&&&&&&&&&&&&&&&&&&&case 4:&&&&if(k1num == 2 && dp||k1num == 4 &&set_b||k1num == 5 &&set_b)&&&&&&&&&&&&&&&&P0 = 0&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&P0 = table1[we4_temp]+we4_dp_&&&&&&&&&&&&&&&&we4 = 0;&&&&&&&&&&&&&&&&disp = 0;&&&&&&&&&&&&&&&&&&&&}}&&void keyscan()&&&&//键盘扫描{&&&&if(key1 == 0)&&&&{&&&&&&&&delay(10);&&&&&&&&if(key1 == 0)&&&&&&&&{&&&&&&&&&&&&k1num ++ ;&&&&&&&&&&&&di();&&&&&&&&&&&&day_b=0;&&&&&&&&&&&&sec_b=0;&&&&&&&&&&&&num=0;&&&&&&&&&&&&if(k1num&6)&&&&&&&&&&&&k1num = 0;&&&&&&&&&&&&delay(600);&&&&&&&&}&&&&}&& ////////////////////////////////////////////////&&&&if(k1num==0)//&&&&{&&&& if(key2 == 0)//显示日期&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key2 == 0)&&&&&&&&&&&&{&&&&&&&&&&&& di();&&&&&&&&&&&& day_b=1;&&&&&&&&&&&& sec_b=0;&&&&&&&&&&&& num=0;&&&&&&&&&&&&}&&&&&&&&}&&&& if(key3 == 0)//显示秒&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key3 == 0)&&&&&&&&&&&&{&&&&&&&&&&&& &&&&&&&&&&&& di();&&&&&&&&&&&& sec_b=1;&&&&&&&&&&&& day_b=0;&&&&&&&&&&&& num=0;&&&&&&&&&&&&}&&&&&&&&}&&&&}&& ////////////////////////////////////////////////&&&&if(k1num == 1)&&&&//调时&&&&{&&&&&&&&if(key2 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key2 == 0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&hour ++ ;&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&if(hour & 23)&&&&&&&&&&&&&&&&hour = 0;&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x86);&&&&&&&&&&&&&&&&ds12c887_write(0x04,hour);&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x06);&&&&&&&&&&&&&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&if(key3 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key3 == 0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&hour -- ;&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&if(hour == 255)&&&&&&&&&&&&&&&&hour = 23;&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x86);&&&&&&&&&&&&&&&&ds12c887_write(0x04,hour);&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x06);&&&&&&&&&&&&&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&}&&&&////////////////////////////////////////////////&&&&if(k1num == 2)&&&&//调分&&&&{&&&&&&&&if(key2 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key2 == 0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&minute++;&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&if(minute & 59)&&&&&&&&&&&&&&&&minute = 0;&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x86);&&&&&&&&&&&&&&&&ds12c887_write(0x02,minute);&&&&&&&&&&&&&&&&ds12c887_write(0x00,0);//秒归零&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x06);&&&&&&&&&&&&&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&if(key3 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key3 == 0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&minute -- ;&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&if(minute == 255)&&&&&&&&&&&&&&&&minute = 59;&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x86);&&&&&&&&&&&&&&&&ds12c887_write(0x02,minute);&&&&&&&&&&&&&&&&ds12c887_write(0x00,0);//秒&&&&归零&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x06);&&&&&&&&&&&&&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&}&& ////////////////////////////////////////////////&&&&if(k1num == 3)&&&&//调月&&&&{&&&&&&&&if(key2 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key2 == 0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&month++;&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&if(month & 12)&&&&&&&&&&&&&&&&month = 1;&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x86);&&&&&&&&&&&&&&&&ds12c887_write(0x08,month);&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x06);&&&&&&&&&&&&&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&if(key3 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key3 == 0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&month -- ;&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&if(month == 0)&&&&&&&&&&&&&&&&month = 12;&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x86);&&&&&&&&&&&&&&&&ds12c887_write(0x08,month);&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x06);&&&&&&&&&&&&&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&}&& ////////////////////////////////////////////////&&&&if(k1num == 4)&&&&//调日&&&&{&&&&&&&&if(key2 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key2 == 0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&day++;&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&if(day& 31)&&&&&&&&&&&&&&&&day = 1;&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x86);&&&&&&&&&&&&&&&&ds12c887_write(0x07,day);&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x06);&&&&&&&&&&&&&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&if(key3 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key3 == 0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&day -- ;&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&if(day == 0)&&&&&&&&&&&&&&&&day = 31;&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x86);&&&&&&&&&&&&&&&&ds12c887_write(0x07,day);&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x06);&&&&&&&&&&&&&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&}&&////////////////////////////////////////////////&&&&if(k1num == 5)&&&&//调年&&&&{&&&&&&&&if(key2 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key2 == 0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&year++;&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&if(year & 99)&&&&&&&&&&&&&&&&year = 0;&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x86);&&&&&&&&&&&&&&&&ds12c887_write(0x09,year);&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x06);&&&&&&&&&&&&&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&if(key3 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key3 == 0)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&year -- ;&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&if(year == 255)&&&&&&&&&&&&&&&&year = 99;&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x86);&&&&&&&&&&&&&&&&ds12c887_write(0x09,year);&&&&&&&&&&&&&&&&ds12c887_write(0x0b,0x06);&&&&&&&&&&&&&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&}&& ////////////////////////////////////////////////&&&&if(k1num == 6)&&&&//调12/24小时制&&&&{&&&&&&&&if(key2 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key2 == 0)//24 小时制&&&&&&&&&&&&{&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&hour24=1;&&&&&&&&&&&&//&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&if(key3 == 0)&&&&&&&&{&&&&&&&&&&&&delay(10);&&&&&&&&&&&&if(key3 == 0)//12小时制&&&&&&&&&&&&{&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&&&hour24=0;&&&&&&&&&&&&//&&&&delay(600);&&&&&&&&&&&&}&&&&&&&&}&&&&}}void main()&&&&//主函数{&&&&init();&&&&di();&&&&hour=88;&&&&minute=88;&&&&ds12c887_write(0x0b,0x86);//0x84 12小时模式&&0x86) 24小时模式&&&&允许对ds12c887写 ,&&&&ds12c887_write(0x0a,0x20);//打开晶振,开始计时,SQW不使用&&&&ds12c887_write(0x0b,0x06); //禁止对ds12c887写 ,24小时模式&&&& &&&&while(1)&&&&{&&&&&&&&keyscan();&&&&}}void timer0() interrupt 1&&&&//中断{&& &&&&TH0 = (6) / 256;&&&&//5 毫秒定时&&&&TL0 = (65536 - 5000) % 256;&&&&&&&&ss ++ ;&&&&display();&&&&if(ss & 100)&&&&//0.5s&&&&{&&&&&&&&ss = 0;&&&&&&&&sss++;&&&&&& set_b=~set_b;&&&&&&if(sss&1)//1s&&&&&& {&&&&&&&& sss=0;&&&&&&&&&&if(k1num==0&&hour_beep_b)//整点报时&&&&&&&&&& {&&&&&&&&&&&&&&&&di();&&&&&&&&&&&&&&&&hour_beep--;&&&&&&&&&&&& if(hour_beep==0)&&&&&&&&&&&&&&hour_beep_b=0;&&&&&&&&&& }&&&&&& }&&&&&&if(k1num!=0||day_b||sec_b)&&&&&&&&&&&&{ &&&&&&&&&&&& num++;&&&&&&&&&&&& if (num&20)&&&&&&&&&&&& {&&&&&&&&&&&&&&num=0;&&&&&&&&&&&&&&k1num=0;&&&&&&&&&&&&&&day_b=0;&&&&&&&&&&&&&&sec_b=0;&&&&&&&&&&&& }&&&&&&&&&&&&}&&&& switch(k1num)&&&&&&{&&&&&& case 0:&&&&&& case 1:&&&&&& case 2:&&&&&&&&&& if(day_b)&&&&&&&&&&&&{&&&&&&&&&&&& dp=1;&&&&&&&&&&&& we2_dp_temp=0x80;&&&&&&&&&&&& we4_dp_temp=0;&&&&&&&&&&&& day=ds12c887_read(0x07);//日&&&&&&&&&&&& month=ds12c887_read(0x08);//月&&&&&&&&&&&& we1_temp=month/10;&&&&&&&&&&&& we2_temp=month%10;&&&&&&&&&&&& we3_temp=day/10;&&&&&&&&&&&& we4_temp=day%10;&&&&&&&&&&&&}&&&&&&&&&& else if(sec_b)&&&&&&&&&&&&{&&&&&&&&&&&& dp=1;&&&&&&&&&&&& we2_dp_temp=0;&&&&&&&&&&&& we4_dp_temp=0;&&&&&&&&&&&& sec=ds12c887_read(0x00);//秒&&&&&&&&&&&& we1_temp=10;&&&&&&&&&&&& we2_temp=10;&&&&&&&&&&&& we3_temp=sec/10;&&&&&&&&&&&& we4_temp=sec%10;&&&&&&&&&&&&}&&&&&&&&&& else&&&&&&&&&& {&&&&&&&&&&&&dp=~//&&&&&&&&&&&&we2_dp_temp=0;&&&&&&&&&&&&we4_dp_temp=0;&&&&&&&&&& if(ds12c887_read(0x0a)&&0x80==0x80)&&&&&&&&&&&&{&&&&&&&&&&&&minute=ds12c887_read(0x02);&&&&&&&&&&&&hour=ds12c887_read(0x04);//&&&&&&&&&&&&&&&&&&&&&&&& hour&&=1;&&&&&&&&&&&& hour&&=1;&&&&&&&&&&&&if(hour24==0)//12小时制&&&&&&&&&&&& {&&&&&&&&&&&&&&if(hour&11)//下午&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&hour1=hour-12;&&&&&&&&&&&&&&&&if(hour1==0)hour1=12;&&&&&&&&&&&&&&&&we4_dp_temp=0x80;&&&&&&&&&&&&&& }&&&&&&&&&&&&&&else if(hour==0)//0点&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&hour1=12;&&&&&&&&&&&&&&&&we4_dp_temp=0;&&&&&&&&&&&&&& }&&&&&&&&&&&&&&else//上午&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&hour1=&&&&&&&&&&&&&&&&we4_dp_temp=0;&&&&&&&&&&&&&& }&&&&&&&&&&&&&&}&&&&&&&&&&&&else//24小时制&&&&&&&&&&&& {&&&&&&&&&&&&&&hour1=&&&&&&&&&&&&&&we4_dp_temp=0;&&&&&&&&&&&& }&&&&&&&&&&&&if(hour_temp!=hour1)&&&&//整点到&&&&&&&&&&&&&&{&&&&&&&&&&&&&& hour_temp=hour1;&&&&&&&&&&&&&& hour_beep=hour1;&&&&&&&&&&&&&& hour_beep_b=1;&&&&&&&&&&&&&&}&&&&&&&&&&&&we1_temp=hour1/10;&&&&&&&&&&&&we2_temp=hour1%10;&&&&&&&&&&&&we3_temp=minute/10;&&&&&&&&&&&&we4_temp=minute%10;&&&&&&&&&&&&&&&&}&&&&&&&&&& }&&&&&&&&&& &&&&&&&&&&&&&&&&&& case 3:&&&&&&&& case 4:&&&&&&&&&&&& dp=1;&&&&&&&&&&&& we2_dp_temp=0x80;&&&&&&&&&&&& we4_dp_temp=0;&&&&&&&&&&&& day=ds12c887_read(0x07);//日&&&&&&&&&&&& month=ds12c887_read(0x08);//月&&&&&&&&&&&& we1_temp=month/10;&&&&&&&&&&&& we2_temp=month%10;&&&&&&&&&&&& we3_temp=day/10;&&&&&&&&&&&& we4_temp=day%10;&&&&&&&&&&&&&&&&&& case 5:&&&&&&&&&&&& dp=1;&&&&&&&&&&&& we2_dp_temp=0;&&&&&&&&&&&& we4_dp_temp=0;&&&&&&&&&&&& year=ds12c887_read(0x09);//年&&&&&&&&&&&& we1_temp=2;&&&&&&&&&&&& we2_temp=0;&&&&&&&&&&&& we3_temp=year/10;&&&&&&&&&&&& we4_temp=year%10;&&&&&&&&&&&&&&&&&& case 6:&&&&&&&&&&&& dp=1;&&&&&&&&&&&& we2_dp_temp=0;&&&&&&&&&&&& we4_dp_temp=0;&&&&&&&&&&&& if(hour24)&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&& we1_temp=2;&&&&&&&&&&&&&&&& we2_temp=4;&&&&&&&&&&&&&&&& we3_temp=10;&&&&&&&&&&&&&&&& we4_temp=10;&&&&&&&&&&&&&&&&}&&&&&&&&&&&& else&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&& we1_temp=10;&&&&&&&&&&&&&&&& we2_temp=10;&&&&&&&&&&&&&&&& we3_temp=1;&&&&&&&&&&&&&&&& we4_temp=2;&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&}&&&&&&&&}}电平怎么改成反的啊?上拉电阻排加在哪里?
:看样子是时钟? ( 10:46) 原本是想做5寸的,但是材料不够大,只能将就做2.3的
:没有4011,这是程序//12M晶振#include&reg52.h&#define uchar unsigned char.......
我是用汇编的,C语言不是很懂,应该是把这里的数按位取反,要是说的不对楼下请指正排阻直接加到P0口,排阻的公共端接VCCuchar code table[] =&&&&//0-9 共阴管{&&&&0x3f,0x06,0x5b,0x4f,0x66,&&&&0x6d,0x7d,0x07,0x7f,0x6f}; uchar code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//共阳管
加非门 加ULN2003扩流&& 或者加2003&&程序输出取反 加上拉电阻
我手头上没门啊,只有电阻和三极管
74ls595 是神器&&这种驱动就不要搞扫描了&&静态驱动才好看 电路&&程序 也简单 或者买一堆小功率PMOS 做驱动
:74ls595 是神器  这种驱动就不要搞扫描了  静态驱动才好看 电路  程序 也简单 或者买一堆小功率PMOS 做驱动[表情]  ( 11:23) 手上没有这神器啊有没有其他方案啊
只有三极管的话&&用三极管做开关电路&&&&比如一个灯 两端都放一个三极管开关电路上端三极管选择哪个数码管&&下端三极管选择数码管哪个段亮
程序不用取反,用UDN系列,如UDN2981就可以驱动共阴极数码管了,不过对于大尺寸数码管用5V驱动可能不够,用12V的电阻加大点限流即可,注意小数点用的电阻阻值更大点。
看你的电路图原来用的应该是共阳极数码管吧,现在每个字段直接用单片机端口驱动估计不够,在加上扫描字位估计发热很大的,将段驱动能力加大就可以了,看看用8050三极管做驱动管是否可以,字驱动能力不够可以直接用两管并联呀,为了防止并联三极管参数引起的不平衡可以在加集电极带个小电阻进行匹配
兄台你好,其实驱动大点的数码管并不复杂。但是兄台的大数码管是自己做的与常规的不太一样,我就把我的怎么驱动的详细说一下,给兄台一个借鉴,&& 首先我的2.3寸和5寸的数码管都是共阴的,段驱动电压一样的,都是7.2v左右,这个我是用可调电源测试的。我用的是2只uln2803(段和位各一只)和8只8550三极管(段驱动用),[attachment=5721859][attachment=5721861]说明一下:1、用2803比较方便布线,1进对18出,2进对17出,3进对16出........9为电源地,10为电源正。特别提醒,1进如果为高电平,则18输出为低电平(所有都是反向的),故对本电路而已是高电平驱动的。这在实际应用中不算太好,因为单片机刚上电没有运行的时候输出均为高电平,驱动共阴数码管都是全亮的,这是不足。2、接位的2803没有接限流电阻,实际应用中可以接个小的,不过我使用的没有接也没有问题,4只5寸的动态扫描160ma左右,亮度不高,室内尚可,电压升之18v左右电流在200ma左右。3、如果兄台你原来自己做的数码管的电压低可以单独点亮,但是用单片机驱动也是比较困难的,记着单片机的灌电流才20ma,拉电流更是可怜,所以一定要加驱动的。我想兄台做的数码管显示应该不舒服的,亮度不均匀是个最大的问题,所以建议还是用成品数码管比较好。4、兄台把你原来的数码管的段输出接上2803的左端,原来的位输出接下2803的输入端,注意这个电路的段码是共阴的,位驱动是高电平有效,关断时要置零!
图画的比较烂,凑合着看吧,三极管的e级和2803的10脚连在一起接高电压,三极管一共8个,只画了一个,我是把其中一个8字大数码管倒置与前一个的小数点构成一个冒号,如果单独用两个发光管做冒号的话,H段可以不接。4个大8字数码管的abcdefgh连在一起为8段,4个8字数码管的共阴极独立输出作位控制,为了接线方便,我在输入输出都焊接了个接线排针,间距2.54的,用洞洞板实验方便。希望对兄台有帮助,希望成功!
驱动就是加三极管、场效应管,如一级不行、两级
楼主可以给程序文件和电路吗,如可以的,
电压低说明楼主是用LED并联的了,需要用大电流驱动;单片机输出后加三极管,或用ULN2203/ULN2803这样的驱动芯片
不错。讲的很好。。。。。。。。。。。。。。
硬件加三极管, COM.加两个, 段位加一个,
:兄台你好,其实驱动大点的数码管并不复杂。但是兄台的大数码管是自己做的与常规的不太一样,我就把我的怎么驱动的详细说一下,给兄台一个借鉴,&& 首先我的2.3寸和5寸的数码管都是共阴的,段驱动电压一样的,都是7.2v左右,这个我是用可调电源测试的。我用的是2只uln2 ..&( 14:36)&你这个电路有点复杂了,可以直接用PNP输出的UDN2981系列的达林顿阵列驱动共阴极数码管。
我手上没有你说的2803之类的,只有另谋他法,还是要谢谢你。
:楼主可以给程序文件和电路吗,如可以的, ( 16:27) 电路图就在一楼啊,程序就是8楼的。你是想要点亮小数码管的还是大数码管啊?
:图画的比较烂,凑合着看吧,三极管的e级和2803的10脚连在一起接高电压,三极管一共8个,只画了一个,我是把其中一个8字大数码管倒置与前一个的小数点构成一个冒号,如果单独用两个发光管做冒号的话,H段可以不接。4个大8字数码管的abcdefgh连在一起为8段,4个8字数码管的共阴极独 .. ( 14:43) 中午测试了下,每段的驱动电流决定用50ma,扫描一位就要350ma,全部就要1400ma。中午去电子街问过,都没有你那中,只买一两片,邮费不划算,所以只能考虑三极管或者光耦之类的
:有没有好办法啊,不想改动太多&( 10:52)&led用高点的电压就可以~~~~~~~~~~~~~~~~~~~~~~
蓝我的对吧~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[attachment=5724687]
静态驱动如何调整亮度?
74595+三极管货2003扩流,静态显示
P0口加8个三极管射极跟随,最简单。
因为大电流,不用2803就用三极管做开关,但是单片机电压个数码管电压不一样,没记错数码管要12伏的吧
:因为大电流,不用2803就用三极管做开关,但是单片机电压个数码管电压不一样,没记错数码管要12伏的吧 ( 07:24) 我自制的都是并联,电压只需3V就能点亮,只是电流每段都要50ma
你好问有个汇编程序&&你可以帮我加个12887+的程序进去吗?
三极管扩流吧 楼主那个电源也是自己做的?
给你推荐一个LED驱动控制专用电路芯片吧,不仅外围结构简单,而且亮度8级可调,有需要可以联系QQ,有的还带按键扫描,一个芯片搞定,与MCU接口就3根线,可以控制11个数码管,非常节约成本,使用方便。手册见附件。[attachment=5823325]
看看,最近搞这方面
每段 LED数量弄一样,加三级管扩流就可以了 ;如果共阴 段码用pnp高端负驱动,com用npn低端正驱动;如果供阳com用pnp高端负驱动,断码用npn低端正驱动
最简单的就是段驱动和位驱动都用三极管,如果电流比较大的话建议楼主把每个LED分开,单颗驱动,有很多显示屏用的恒流驱动芯片可以选择,驱动方式类似74595
你这单片机加三极管放大就行,不知道你的是共阴还是共阳,,电流可达1A。你这才几十ma,足够了。
查看完整版本: [--
Powered by
Time 0.108305 second(s),query:5 Gzip enabled

我要回帖

更多关于 共阳极数码管引脚图 的文章

 

随机推荐