导航:首页 > 操作系统 > 单片机数码管批发商供应

单片机数码管批发商供应

发布时间:2022-12-30 15:48:06

‘壹’ 51单片机驱动4位一体共阴极数码管,位码驱动如图。p2为高时三极管导通,集电极低数码管亮。

画仿真图,位驱动用三极管是一个很麻烦的事,有点自找苦吃啊。

P2输出的位码应该是高电平有效。但是,每个三极管的集电极必须要加上拉电阻,就像P0口要加上拉电阻一样的,但是这个电阻必须是模拟的,且阻值选10K才行,阻值不合适就不会显示的,另个三极管基极电阻的阻值也要求在1K,发射极电阻可以不用,但用了,不能太大了,这三个电阻都必须符合要求才能显示。太麻烦啦。

如下图

‘贰’ 北京哪里有卖单片机,数码管什么的地方

在海淀黄庄路口(地铁10号线)东南角有两个大的电子市场,中发电子市场和知春电子城,都是卖电子元器件的,几乎应有尽有。你可以网络地图。

‘叁’ 单片机单个数码管元件名称是什么

数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。

2.原理图
(1)亮时为0,灭时为1(从右往左记二进制)
(2)段选与位选:
a.位选:假设我们要控制8个数码管,依次是1、2…… 8。我们要选择控制哪个数码管(比如控制第1个),这就是位选,位选有选择位置的意思。
b.段选:然后我们要让第1个数码管显示“1”。我们就要控制第一个数码管“b=0、c=0,a=1、d=1、e=1、f=1、g=1(或者b=1、c=1,a=0、d=0、e=0、f=0、g=0),这就是段选,即选择数码管的哪一段。
void display(void)
{
P2 = ((P2&0x1f)|0xe0); //数码管消隐
P0 = 0xff;
P2 &= 0x1f;

P2 = ((P2&0x1f)|0xc0); //位选控制
P0 = 1<<dspcom;
P2 &= 0x1f;

P2 = ((P2&0x1f)|0xe0); //段码输入
P0 = tab[dspbuff[dspcom]];
P2 &= 0x1f;

if(++dspcom == 8){
dspcom = 0;
}
}
登录后复制

3.结构图
(1)高电平和低电平:
a.高电平:高电平指与低电平相对的高电压,是电工程上的一种说法。在逻辑电平中,保证逻辑门的输入为高电平时所允许的最小输入高电平,当输入电平高于输入高电压(Vih)时,则认为输入电平为高电平。
b.低电平:低电平(Vil)指的是保证逻辑门的输入为低电平时所允许的最大输入低电平,当输入电平低于Vil时,则认为输入电平为低电平。是与高电平相对的低电压,是电子工程上的一种说法。
(2)共阳极和共阴极:
a.共阳极数码管是指八段数码管的八段发光二极管的阳极(正极)都连在一起,而阴极对应的各段可分别控制。
b.共阴极数码管是指八段数码管的八段发光二极管的阴极(负极)都连在一起,而阳极对应的各段分别控制。
4.真值表
数字 真值表
0 0xC0
1 0xF9
2 0xA4
3 0xB0
4 0x99
5 0x92
6 0x82
7 0xF8
8 0x80
9 0x90
Tips: 二进制:(前缀:0b/0B)(后缀:b/B)
八进制:(前缀:0)(后缀:o/O)
十进制:(前缀:无,可加+/-)(后缀d/D)
十六进制:(前缀:0x/0X)(后缀:h/H)
**此处采用共阳极数码管**
登录后复制

5.特殊功能寄存器
特殊功能寄存器是80C51单片机中各功能部件对应的寄存器,用于存放相应功能部件的控制命令,状态或数据。
(1)sbit是定义特殊功能寄存器的位变量

ex: sbit led1 = P1^0
将发光二极管 led1 接 P1口 0 位端,用以控制 led1 的亮灭

***在C语言里,如果直接写P1.0,C编译器并不能识别,而且P1.0也不是一个合法的C语言变量名,所以得给它另起一个名字,这里起的名为P1_0,sbit的用法有三种:
a:sbit 位变量名=地址值
b:sbit 位变量名=SFR名称^变量位地址值
c:sbit 位变量名=SFR地址值^变量位地址值

(2)sfr特殊功能寄存器:
sfr也是一种扩充数据类型,点用一个内存单元,值域为0~255。利用它可以访问51单片机内部的所有特殊功能寄存器。如用sfr P1 = 0x90这一句定P1为P1端口在片内的寄存器,在后面的语句中我们用以用P1 = 255(对P1端口的所有引脚置高电平)之类的语句来操作特殊功能寄存器。 sfr P1 = 0x90; //定义P1 I/O 口,其地址90H sfr 关键定后面是一个要定义的名字,可任意选取,但要符合标识符的命名规则,名字最好有一定的含义如P1 口可以用P1 为名,这样程序会变的好读好多。等号后面必须是常数,不允许有带运算符的表达式,而且该常数必须在特殊功能寄存器的地址范围之内(80H-FFH)。sfr 是定义8 位的特殊功能寄存器,而sfr16 则是用来定义16 位特殊功能寄存器,如8052 的T2 定时器,可以定义为: sfr16 T2 = 0xCC; //这里定义8052 定时器2,地址为T2L=CCH,T2H=CDH

‘肆’ 大佬们谁能解释一下单片机74hc245怎么控制数码管位选,我只会用74hc573,看原理图找不到位

74hc245怎么控制数码管位选,其实,就是做驱动的,相当于直通的。对于实物,因单片机引脚不能直接驱动数码管,特别是数码管的位控电流更大,所以,用74HC245来驱动的。而对仿真就无所谓了。如下的电路,74HC245接在P2口,那么位选是由P2口来控制的,写程序时,根本体现不出什么245的作用,相当于用P2口直接作位控一样,只是对于实物,确定起到了放大电流的作用。

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

如果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资料就行了。

‘陆’ 单片机实现4位一体数码管显示0000—FFFF的16进制(C语言编程

/*四个数码管的动态显示*/

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit = P2^6;
sbit we = P2^7;
uchar code table[] = {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uint a;
//---------------------------------------------
void delayms(uint xms)
{
uint i, j;
for(i=xms;i>0;i--) for(j=110;j>0;j--);
}
//---------------------------------------------
void disp()
{
we = 1; P0 = 0xf7; we = 0; //锁存开启 个位 锁存关闭
P0 = table[a % 256 % 16]; delayms(5); //输出个位数
we = 1; P0 = 0xff; we = 0; //锁存开启 消隐 锁存关闭

we = 1; P0 = 0xfb; we = 0; //锁存开启 十位 锁存关闭
P0 = table[a % 256 / 16]; delayms(5); //输出十位数
we = 1; P0 = 0xff; we = 0; //锁存开启 消隐 锁存关闭

we = 1; P0 = 0xfd; we = 0; //锁存开启 百位 锁存关闭
P0 = table[a / 256 % 16]; delayms(5); //输出百位数
we = 1; P0 = 0xff; we = 0; //锁存开启 消隐 锁存关闭

we = 1; P0 = 0xfe; we = 0; //锁存开启 千位 锁存关闭
P0 = table[a / 256 / 16]; delayms(5); //输出千位数
we = 1; P0 = 0xff; we = 0; //锁存开启 消隐 锁存关闭
}
//---------------------------------------------
void main()
{
char i;
a = 0;
while(1) {
for (i = 0; i < 20; i++) disp();
a++;
}
}
//---------------------------------------------

上述的《千百十个》四个位,实际上,显示的是16进制数。

程序,是借用了楼主的《单个显示程序》,但是,和楼主的电路,并不配套。
楼主的电路,并没有锁存器。
而程序中,却是使用锁存器的编程思路。
未必好用,试试看吧。

‘柒’ 单片机与数码管

首先是4.7K上拉电阻

单片机的P0端口和其它三个端口不一样,内部没有集成上拉电阻,所以需要外部连接

再有就是1K电阻

这个是起到限流作用,作用于数码管,因为数码管的abcdefg各引脚是直接与单片机相连,单片机的端口刚好是0有效,即低电位0V,这样流过数码管的电流就靠三极管限流,这种接法的三极管工作在放大状态,输出的电流是根据基极加载的电压发生变化的,工作不稳定

你图中的接法不好,容易烧数码管

解决办法是,4.7K电阻不变,P0端口直接与三极管基极(b)相连,三极管的集电极(c)与Vcc之间接上1K电阻进行限流,三极管的射极(e)与数码管连接

这样就避免三极管击穿时,烧坏数码管,此种接法的三极管工作在开关状态,工作更稳定

‘捌’ 单片机是什么在哪里可以买到

是一只微型的集成芯片,微型就代表芯片小,但程序存储器和数据存储器容量有的很大,一般到电子城卖LED数码管或按键的地方都有卖。单片机有很多型号,有的型号停产当然不好买,但是常用的一般都有。

‘玖’ 51单片机能直接驱动数码管吗

不可以的,给你分析分析:点亮一个发光diode,需要驱动电流至少5-10mA.而C51单片机的I/O口输出的电流在1mA左右。要想有提供大电流就需要在I/O口和diode之间加入一个电源,而一个加入一个电源之后,电流实在有点大,diode可受不了。那就只好在电源上在串一个电阻,电阻值的大小如何选,凭楼主的智慧应该可以算出来的。给个提示,一般上拉电阻值K级以上。

阅读全文

与单片机数码管批发商供应相关的资料

热点内容
vr怎么看视频算法 浏览:84
手机app如何申报个人所得税零申报 浏览:690
如何截获手机app连接的ip 浏览:330
冰箱压缩机是否需要电容 浏览:344
python列表每一行数据求和 浏览:274
自己有一台服务器可以玩什么 浏览:656
社会学波普诺pdf 浏览:584
解压做食物的小视频 浏览:758
pdf怎么单独设置文件夹 浏览:474
业务逻辑程序员 浏览:659
addto新建文件夹什么意思 浏览:160
有服务器地址怎么安装软件 浏览:659
安卓如何完全清除数据 浏览:690
安卓安卓证书怎么信任 浏览:53
服务器被攻击如何解决 浏览:221
学霸变成程序员 浏览:881
c语言编译错误fatalerror 浏览:441
ipv4内部服务器地址怎么分配 浏览:464
java线程安全的方法 浏览:952
重复命令画梯形 浏览:166