8位数码管控制电路 四位一体数码管控制电路
本篇文章主要给网友们分享8位数码管控制电路的知识,其中更加会对四位一体数码管控制电路进行更多的解释,如果能碰巧解决你现在面临的问题,记得关注本站!
本文目录一览:
- 1、单片机:4个“8”数码管的驱动电路
- 2、如何让8个数码管显示出不一样的数值
- 3、8位动态数码管显示电路中决定在哪一个数码管显示 用的什么译码器
- 4、8段数码管的原理
- 5、用两个74HC595搭接8位数码管驱动电路的问题。
- 6、数码管显示电路原理图
单片机:4个“8”数码管的驱动电路
8位数码管控制电路你用8位数码管控制电路的单位的7段数码管8位数码管控制电路,每个数码管有12个脚,其中两个COM脚,两外的8个脚是7段数字和一个小数点。
如果想使用的话,首先要弄清8位数码管控制电路你手里的数码管共阴还是共阳。相应的资料可以到网上搜索一下。百度图片里面搜
数码管引脚图
就行,然后用万用表达到电阻档,测量一下是共阴还是共阳,共阳就是COM端连接的发光管的正,共阴就是负。
想点亮的话,硬件电路要这样设计,无论共阴还是共阳,COM脚都需要用三极管进行扩流,通过单片机的4个IO口控制,此作为位选信号。记得加限流电阻,一般5V的话,220~2K都可以,只是亮度不同。
把4个数码管的同名的段连接到一起,直接接到单片机的8个IO口上,作为段选。
控制的时候,先选通位选信号,然后送出这一位的段码,延时一段时间,此位显示完成。同样的方法显示下一位。然后不断的循环就行8位数码管控制电路了。
如何让8个数码管显示出不一样的数值
数码管的显示分为两种方式8位数码管控制电路:一种静态显示8位数码管控制电路,一种动态显示。
以8个数码管显示“12345678”为例,说明如下8位数码管控制电路:
静态显示:8个数码管同时点亮,显示的内容就是“12345678”。这种方式比较“笨”,容易理解,但是占用的资源较多。因一个数码管有7个段,电路则包含1个公共端和7个笔画端,要显示一个数字,需要8个电平输入控制口,8个数码管就需要8*8=64个。显然,这种方式不适合显示多位数。
动态显示:8个数码管依次显示,首先第1个显示“1”其余7个不点亮,然后第2个显示“2”其余7个不显示……依此类推,循环显示1至8位数字。由于人的眼睛识别闪烁的频率是有范围的,当8个数码管循环显示的频率足够高,人眼观察不到单个数码管的间断点亮,看到的现象是第1个数码管一直显示“1”,第2个一直显示“2”……第8个一直显示“8”,因此实现8个数码管显示不同的内容。动态显示相比静态显示占用的电平控制端口要少很多,因不同的数码管之间可以公共端口,例如7个笔画端共用,则只需要7个笔画端+8个公共端,15个端口即可。通常数码管显示都是采用的动态显示方式。
以上,不知道说清楚8位数码管控制电路了没?~
8位动态数码管显示电路中决定在哪一个数码管显示 用的什么译码器
在发光二极管组成的断码型显示器件数显示 用的74ls38译码器
电路有八种显示状态,在第一脉冲周期内,第一个数码管显示1;第二个脉冲周期内,第二个数码管显示2;在第三脉冲周期内,第三个数码管显示3;第四个脉冲周期内,第四个数码管显示4;在第五脉冲周期内,第五个数码管显示5;第六个脉冲周期内,第六个数码管显示6;在第七脉冲周期内,第七个数码管显示7;第八个脉冲周期内,第八个数码管显示8。
在电压的作用下,555定时器组成的脉冲产生电路产生的脉冲输入扫面电路模块的74LS160计时器令其计数,当计时器计到8时,Qd管脚输出端经非门输出低电平作用于计数器的清零端,令其清零。Qa、Qb、Qc依次输出000、001、010、011、100、101、110、111,输出信号输入74LS138译码器的输入端,译码器的8个管脚依次输出低电平,经逻辑非门使八个数码管依次发光显示:1、2、3、4、5、6、7、8。
8段数码管的原理
原理:控制这8段二极管发光与不发光产生的组合就可以显示出各种符号的形状。
用两个74HC595搭接8位数码管驱动电路的问题。
程序有点问题8位数码管控制电路,编译时会有警告8位数码管控制电路的。另外,变量不能用ACC。修改后程序如下,并做了简化。
#includereg51.h
//#include intrins.h
#define uchar unsigned char
#define uint unsigned int
uchar code DAT1[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f};
uchar code DAT2[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
sbit MOSIO =P1^0; //串行数据输入DS
sbit SCLK =P1^1; //移位时钟脉冲SHCP
sbit RCLK =P1^2; //输出锁存器控制脉冲STCP
//毫秒延时子程序
void delayms()
{
uint j;
for(j=400;j0;j--);
}
//在数码管上显示数据子函数
void smgxs(uchar date,uchar dres)
{
uchar i,ac; //送显示数据,不能用ACC
ac=DAT1[date];
for (i=1;i9;i++)
{
SCLK=0;
MOSIO=ac0x80;//这样取最高位
SCLK=1; //移位端给上升沿
ac=1;
}
//送显示地址(第几位数码管)
ac=DAT2[dres];
for (i=1;i9;i++)
{
SCLK=0;
MOSIO=ac0x80;//这样取最高位
SCLK=1; //移位端给上升沿
ac=1;
}
//锁存数据,并在数码管上显示
RCLK=0;
RCLK=1; //锁存端给上升沿
}
//主程序
main()
{
uchar i=0;
while(1)
{
smgxs(7,7);
delayms();
smgxs(6,6);
delayms();
smgxs(5,5);
delayms();
smgxs(4,4);
delayms();
smgxs(3,3);
delayms();
smgxs(2,2);
delayms();
smgxs(1,1);
delayms();
smgxs(0,0);
delayms();
}
}
仿真图结果如下
数码管显示电路原理图
所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。其原理图如下。

其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a.b.c.d.e.fg.dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位, a对应最低位, dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111 , 即Ox3f;共阳数码管的字符编码为11000000,即Oxco。可以看出两个编码的各位正好相反。如下图。

由上面的图可以得到共阳极和共阴极的数码管的编码
共阳极:位选为高电平(即1)选中数码管,各段选为低电平(即0接地时)选中各数码段,由0到f的编码为:
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
共阴极:
位选为低电平(即0)选中数码管,各段选为高电平(即1接+5V时)选中各数码段,
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
数码管静态显示
当多位数码管应用于某一系统时,它们的“位选”是可独立控制的,而“段选”是连接在一起的,我们可以通过位选信号控制哪几个数码管亮,而在同一时刻,位选选通的所有数码管上显示的数字始终都是一样的,因为它们的段选是连接在一起的,所以送入所有数码管的段选信号都是相同的,那么它们显示的数字必定一样,数码管的这种显示方法叫做静态显示。
让一个数码管循环显示0-9

下面是程序,从DSY_CODE数组中依次的将编码数据送到P0口就可以了,是不是很简单。
8位数码管控制电路的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于四位一体数码管控制电路、8位数码管控制电路的信息别忘了在本站进行查找喔。
标签: 8位数码管控制电路
相关文章
发表评论