导航:首页 > 操作系统 > 单片机接三个四段数码管

单片机接三个四段数码管

发布时间:2022-09-06 19:26:33

‘壹’ 如何利用单片机让4位数码管显示

程序如下(用的是STC89C52芯片):

#include<reg52.h>//52系列单片机头文件

#defineucharunsignedchar

#defineuintunsignedint

uintx,y;

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};//共阴极数码管编码

voiddisplay(uchar,uchar,uchar,uchar);//声明子函数

voiddelay(int);//声明子函数

voidmain()

{

while(1)

{

display(1,2,3,4);//主程序始终调用数码管显示子程序

}

}

voiddisplay(uchara,ucharb,ucharc,uchard)

{

P2=0xef;

P0=table[a];//给第一个数码管送"a"

delay(1);//延时1ms

P2=0xdf;

P0=table[b];//给第二个数码管送"b"

delay(1);//延时1ms

P2=0xbf;

P0=table[c];//给第三个数码管送"c"

delay(1);//延时1ms

P2=0x7f;

P0=table[d];//给第三个数码管送"d"

delay(1);//延时1ms

}

voiddelay(uintz)//延时子函数

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

(1)单片机接三个四段数码管扩展阅读

led数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。

位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。

‘贰’ 单片机中LED显示电路用三极管驱动电路怎么连接啊四个数码管。

//单片机中LED显示电路用三极管驱动电路四个数码管。可以参考一下

#include<reg52.h>

sbit led0=P3^2;

sbit led1=P3^3;

sbit led2=P3^4;

sbit led3=P3^5;

sbit ledd=P3^7;

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

unsigned char g,s,b,d,a;

unsigned int num;

void delay(unsigned char x)

{

unsigned char i,j;

for(i=x;i>0;i--)

for(j=110;j>0;j--);

}

void display()

{

P1=table[d];

led3=0;

delay(5);

led3=1;

P1=table[b];

led2=0;

delay(5);

led2=1;

P1=table[s];

led1=0;

delay(5);

led1=1;

P1=table[g];

led0=0;

delay(5);

led0=1;

}

void ont()

{

num=0;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

}

void main()

{

ont();

while(1)

{

if(a==20)

{

a=0;

ledd=~ledd;

num++;

d=num/1000;

b=num%1000/100;

s=num%100/10;

g=num%10;

}

display();

if(num==10000)

{

num=0;

}

} }

void time_0() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

a++;

}

‘叁’ AT89C51单片机怎么用汇编语言让4个数码管同时显示1234

1、首先我们先打开keil。

‘肆’ 求四位共阳数码管接法,接在单片机上。。。

不知道您使用的是什么单片机,告诉你使用89C51的接法。

用200欧姆的电阻串联在数码管的笔画引脚上然后直接接在P0引脚就可以了,共阳极引脚直接接5V,对P0写0就可以点亮了,而且电流不至于烧毁数码管。

动态显示 需要在共阳极上接PNP三极管,三极管基极串联1K电阻接单片机口,低电平有效。

希望我的回答对您有帮助。

‘伍’ c51单片机如何连接4个数码管 来进行计数 要求用T0中断来编程 求大虾们支招

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp,aa,miao,fen,shi;
sbit m=P3^0;
sbit n=P3^1;
uchar code table[]={ //数码管编码表
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
void display(uchar miao,uchar fen,uchar shi);
void delay(uint z);
void init();
void main()
{
init();//初始化子程序
miao=0;
shi=0;
fen=0;
while(1)
{
display(miao,fen,shi);
}
}void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}void display(uchar miao,uchar fen,uchar shi) // 显示子函数
{
P0=0x00;
P0=table[miao%10];
P2=0x7f;
delay(1);

P0=0x00;
P0=table[miao/10];
P2=0xbf;
delay(1); P0=0x00;
P0=table[fen%10];
P2=0xdf;
delay(1);

P0=0x00;
P0=table[fen/10];
P2=0xef;
delay(1);

P0=0x00;
P0=table[shi%10];
P2=0xf7;
delay(1); P0=0x00;
P0=table[shi/10];
P2=0xfb;
delay(1);
}void init() // 初始化子函数
{
temp=0;
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256; //定时器初值,定时50ms(12M晶振),由于考虑MCU指令处理时间,此处赋初值位45872
EA=1;
ET0=1;
TR0=1;
}void timer0() interrupt 1 //定时计数器中断
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256; 、
aa++;
if(aa==20) //中断2次位1S,秒加1
{
miao++;
aa=0;
if(miao==60)
{
fen++; // 满60S, 分加1,秒清0
miao=0;
if(fen==60)
{
shi++; // 小时加1
fen=0;
if(shi==24) shi=0; //小时满
}
}
}
if(m==0) // 调分
{
delay(2);
if(m==0) fen++;
if(fen==60) fen=0;
delay(2);
while(!m);
}
if(n==0) // 调小时
{
delay(2);
if(n==0) shi++;
if(shi==24) shi=0;
delay(2);
while(!n);
}
}

‘陆’ 4位或3位数码管显示,用单片机如何实现

4位或3位数码管显示,用单片机如何实现?这是单片机最基本的最典型的应用了,不论仿真还是实物,都离不开数码管显示呀,别说3,4位,再多也没问题,太简单太容易了。
下图是4位数码管显示电路。

‘柒’ 单片机与数码管的连接

如果22位数码管共用7段来驱动,显示效果很差,太暗!而且单片机直接驱动运行起来也费力。你可以计算一下就知道了:如果想显示没有闪烁感,显示刷新周期就要超过50HZ,也就是每20mS这22位数码管都要显示一次,那么每个数码管每次只能显示20mS÷22=0.91mS,而且单片机在这么短的时间内就没有太多的时间处理其它的任务了。
要解决这个问题,你必须用专用的LED显示驱动IC,而且要保证每个数码管显示的占空比要超过1/8才会有足够的亮度,如果是室外使用最好是1/4或1/3。
如果占空比选用1/6,那么你要在同一时间每次点亮22/6(4)个数码管,你可以看看TM1629A、B、C、D显示驱动IC,可以用2块驱动IC,每个IC同时点亮2个数码管,每个IC驱动11个数码管。
用这种IC比用74系列的芯片的好处是:只有在需要改变显示内容时,单片机才发送数据到驱动IC,平时不必发送数据,这样MCU就可以把时间用于处理其它任务了。
具体的电路你看IC资料就行了。

‘捌’ 四位数码管连接如何连接单片机

1、最开始,先打开keil。

‘玖’ 用单片机的IO口接四位数码管,需要多大的排阻。

用单片机的IO口接四位数码管,需要多大的排阻。
这看似简单的问题,还真需要啰嗦几句才行。
1、LED数码管有普通亮度和高亮度之分,简单说就是发光效率不同。
2、出于成本和实用性考虑,单片机驱动LED数码管没有采用恒流驱动。
3、单片机驱动LED数码管有静态和动态之分。
4、电源电压不同,同样的排阻阻值,LED数码管亮度不同。
上面这四种情况一组合,一句半句说不清。
如果不介意亮度问题,你这个问题好回答,用470欧姆到1K排阻都行。
稍微较点真儿,最好计算一下,每个段的平均电流3-5毫安。
数码管常用型号基本是0.56英寸的(用量大就便宜)。单片机IO如果推挽输出能力,共阴极还是共阳极都一样,没有推挽输出用共阳极有利于简化电路设计。

型号各厂家规定不一样,买数码管基本都淘宝吧,上面减少很清楚。

‘拾’ 4位数码管怎么与单片机连接

数码管封装很多,引脚排列
都不一样,没法告诉你接线,你只要找出段和位就可以了,七个段码和小数点可以通过74hc595直接连接到单片机口上,或者还有cd4511等的bcd解码芯片,共阴或共阳都是可以通过万用表测出来的

阅读全文

与单片机接三个四段数码管相关的资料

热点内容
android移动动画效果 浏览:680
电子和服务器是什么意思 浏览:681
phpurl中文乱码问题 浏览:891
程序员那么可爱大结局陆漓产子 浏览:536
java如何从云服务器读取本地文件 浏览:921
压缩空气软管制作方法 浏览:911
天河三号算法 浏览:924
php队列教程 浏览:632
洪水命令 浏览:529
安卓怎么弄成苹果在线 浏览:435
谷歌web服务器地址 浏览:898
安卓锁屏图片如何删除 浏览:719
python3多进程编程 浏览:714
证明代码是程序员写的 浏览:397
算法错误发现办法 浏览:410
河南省医院挂号是哪个app 浏览:629
冬日恋歌哪个APP能看 浏览:673
委内瑞拉加密货 浏览:10
程序员写日记哪个软件好 浏览:108
加密机操作手册 浏览:860