1. 关于8个共阴极数码管与51 单片机相连做显示器的接法
8550是NPN的三极管,你的数码管是共阴还是共阳?
给你方案:
1 共阴数码管,共阴数码管就是说你需要控制发光二极管的正极,而7段的负极都 是并到一起的,段控制【8550的发射极接到LED的正极,基极接单片机IO,IO需要上拉,集电极接电源视情况加个限流电阻】,位控制【为控制也可用8550,8550的集电极极接到LED的负极,基极接单片机IO,IO需要上拉,发射极接地】
2 共阳数码管,共阴数码管就是说你需要控制发光二极管的负极,而7段的正极极都 是并到一起的,段控制【8550的集电极极接到LED的负极,基极接单片机IO,IO需要上拉,发射极接地】,位控制【8550的发射极接到LED的正极,基极接单片机IO,IO需要上拉,集电极接电源视情况加个限流电阻】
希望能帮到你。
2. 2个4位共阳数码管直接和51单片机IO口连接,亮度偏暗的原因
数码管直接与I/O连接,亮度肯定是很暗的,这是小事,重要的是单片机很容易被烧坏的。因为单片机I/O的驱动能力很小,是不能直接驱动数码管的,特别是驱动共阳数码管的公共端,这需要高电平有效驱动,需要单片机输出电流,而对于单片机高电平时的输出电源是极小的,因此不可能驱动公共端的,非要这么做后果就是因电流小而使数码管显示很暗,最坏的结果是烧坏单片机。而用I/O驱动数码管的七段还免强维持,因单片机低电平时的输出电流比高电平时大很多。但不提倡直接用I/O驱动数码管,不论是公共端还是七段的控制端,而都要用一片驱动电路来连接。用74LS244和74HC244(同相驱动),或74LS240,74HC240(反相驱动)等都可以。
3. 四位八段共阴数码管怎么连接51单片机
一般8根段码线占一个完整的端口如p0口,另外4个端口如p1.0一p1.4驱动4个三极管分别接数码管的位控端
段输出一般加100一200欧的电阻三极管基极要串1000欧左右的电阻
三极管NPN或PNP均可
4. 51单片机如何连接4个二位数码管,只有p0口和P20-P23可以使用了。
用4个二位数码管,可以用一个8位一体的共阴数码管画仿真图更简单。用P0口和P2.0~P2.2就可以接成8位动态显示电路。方法一:用两片74HC573锁存器,这是比较典型的显示电器,用是比较多,用P0口输出数据,两片锁存器分别锁存段码和位码。如下图。
5. 51单片机按键控制流水灯和数码管(最好用外部中断)
51单片机按键控制流水灯和数码管,P1口接8个LED灯,P0口接一个共阳数码管,P3.2和P3.3各接一个按键,分别用外部中断0和中断1。早蜂鸣器接在P2.7上。仿真图如下。
6. 51单片机能直接驱动数码管吗
不可以的,给你分析分析:点亮一个发光diode,需要驱动电流至少5-10mA.而C51单片机的I/O口输出的电流在1mA左右。要想有提供大电流就需要在I/O口和diode之间加入一个电源,而一个加入一个电源之后,电流实在有点大,diode可受不了。那就只好在电源上在串一个电阻,电阻值的大小如何选,凭楼主的智慧应该可以算出来的。给个提示,一般上拉电阻值K级以上。
7. 菜鸟想请问一下各位高手 图中四位数码管与51单片机相连的1234四个脚 在实物中该如何对应连接。。。。
// 数码管与51单片机相连,实物与仿真图一样连接就可以,也可以在A~G、DP线上串一个300欧姆的电阻。
#include<reg52.h>
#define uchar unsigned char
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,};//数组0到F
uchar num,tt;
void main()
{
num=0;
tt=0;
TMOD=0x01;//设置定时器0为工作方式1
TH0=(65536-5000)/256;//为定时器设置初值 5 mS
TL0=(65536-5000)%256;
EA=1;//开总中断
ET0=1;//开定时器0中断
TR0=1;//启动定时器0
P3=0xe1;//位选
P1=0xc0;//段选
while(1)
{
if(tt==250) //计时器使tt满200,则执行后面的语句
{
tt=0;
num++;
if(num>15)
{
num=0; //num加到15后置0
}
}
}
}
void exter0() interrupt 1 //定时器中断函数,1方式
{
static unsigned char led_shift=0x00; //定义静态变量
TH0=(65536-5000)/256; // 5 mS
TL0=(65536-5000)%256;
tt++;
switch(led_shift) //选择数码管控制位
{
case 0: P3=0xfb;P1=~table[num]; break; //控制左1数码管
case 1: P3=0xf7;P1=~table[num+1]; break; //控制左2数码管
case 2: P3=0xef;P1=~table[num+2]; break; //控制左3数码管
case 3: P3=0xdf;P1=~table[num+3]; break; //控制左4数码管
default:break;
}
led_shift++; //数码管控制变量自加
if(led_shift==0x04) //判断是否扫描一轮
led_shift=0x00; //归零进行下一轮扫描
}
8. 数码管可以直接接51单片机吗
51 的P0口内部没有上拉电阻
P0口如是接共阳管的段,一般要加限流电阻(可不加),一般在1K内选择,要保证合适的亮度.如是接共阴管的段,要加上拉电阻,这个上拉电阻也是限流电阻,要保证合适的亮度,一般是470欧姆
9. 图中的6位数码管是如何连接到51单片机I/O口上啊
每个数码管的对应段都并联在一起,这样一共就有 8根线,这8根线就是段信号,每个数码管的公共端分别引出来,这个都叫位信号,数码管分共阳和共阴的,这个不 一样的话启动方式是不一样的,如果公共端是正的话那就是共阳的,否则就是共阴的,共阳的话,8根段信号直接连单片机IO,例如P1口,6个位信号分别用PNP型三极管例如8550驱动,三极管发极接电源,集电极接位,基极通过一个220欧电阻接单片机IO口。就可以了,驱动原理就是 通过不停改变6位数码管的选通状态,同时给对应的段码,来达到6个数码管的数字的显示效果。例如位IO先选通第一个数码管,然后给段信号也就是片P1口一个段码,然后再选通第二个数码管,然后给P1对应的段码,以此类推,这样6个数码管就是分时点亮,但是由于每个数码管选通的时间比较短所以整体扫描频率比较高,所以根据人眼的视觉暂留效应感觉所有数码管是同时点亮的。这样就实现了数码管的驱动了。