导航:首页 > 操作系统 > 单片机控制阳极

单片机控制阳极

发布时间:2023-01-01 14:39:16

㈠ 用51单片机怎么驱动12V共阳数码管

用ULN2803接数码管的阴极。

将PNP三极管8550接入阳极。

--发射极接+12V,

--集电极接数码管公共阳极,

--基极用I/O口进行控制。

但是,这时基极需要的控制电压,超出了单片机I/O口的输出能力。

所以,基极和I/O口之间,还应该接入一个NPN型的三极管,或者用ULN2803也可。

电路如下,本人已经使用多年,效果良好。

㈡ 单片机控制两位共阳极数码管显示数字20

连接错误。在使用的单片机控制两位共阳极数码管时,连接错误会导致显示数字20,提醒使用者进行更改。数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。玻璃管中包括一个金属丝网制成的阳极和多个阴极。

㈢ 发光二极管的阴极或阳极引脚都可以和单片机引脚相连

当然都可以,接阳极时,单片机的I/O口是输出驱动电流,高电平时亮;接阴极时,单片机的I/O口是灌入驱动电流,低电平时亮。根据需要选择。但对于51单片机,一般I/O口属于集电极输出,所以灌电流可以比较大,比如可达35mA左右,而输出(拉电流)电流比较小,一般小于10mA,所以通常使用阴极接单片机方式,可获得较大电流和较高亮度。

㈣ 51单片机控制的共阳4*4*4光立方的程序

1、P0和P1连接16个LED阴极,一共64个灯。假设每竖着4个接一个管脚。
2、假设P0.3控制一竖排4个灯。先让除第三层阳极其余都输出低电平,除P0.3之外所有阴极输出高电平。这时除要控制的灯,其他都熄灭了。
3、让第三层输出高电平,P0.3输出低电平。你要控制的灯就量了。

㈤ 单片机控制led灯的创新点是什么

单片机控制led灯的创新点是,LED的阳极全部接到了正极(电源),当负极接到LED的阴极时就会发光,因为LED的阴极与单片机的P2口相接,如果你想点亮那一个LED就把单片机相应的引脚赋值为低电平。具体如下:1、LED基础知识
LED是发光二极管的一种,它具有单向导电的特点,在51开发板上使用的是贴片式发光二极管,正向导电电压在1.8-2.2v之间,工作时的电流在1-20mA。当电流在1-5mA之间变化时,肉眼可以观测到亮度的变化,但是当电流在5-20mA之间变化时,亮度变化不太明显。如果电流一直增大二极管可能会烧坏。其余LED知识就不再进行叙述,其中LED原理图如下图所示。
LED原理图

2、点亮第一个LED灯
由原理图可知,LED的阳极全部接到了正极(电源),当负极接到LED的阴极时才会发光,因为LED的阴极与单片机的P2口相接,如果你想点亮那一个LED就把单片机相应的引脚赋值为低电平,具体程序如下:

#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器

sbit led=P2^0; //将单片机的P2.0端口定义为led

void main()
{

while(1)
{
led=0;//P2.0端口设置为低电平
}
}
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
3、LED闪烁
如果想让LED进行闪烁就要涉及到延时,针对单片机进行延时的方法有很多,在此向大家推荐一种比较简单的程序助手—单片机小精灵,可以直接进行设置时间,并且生成相应的代码。
将P2^0引脚的LED进行间隔一秒闪烁的程序如下:

#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include "intrins.h" //头文件

sbit led=P2^0; //将单片机的P2.0端口定义为led

void delay1s() //延时1s,误差 0us
{
unsigned char a,b,c;
for(c=46;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}

void main()//主程序
{

while(1)
{
led=0;//P2.0端口设置为低电平
delay1s();//调用延时函数
led=1;//P2.0端口设置为低电平
delay1s();
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
为了使程序更好的进行表达,使用16进制进行表述,程序如下:

#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include "intrins.h" //头文件

void delay1s() //延时1s,误差 0us
{
unsigned char a,b,c;
for(c=46;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}

void main()//主程序
{

while(1)
{
P2=0xFE;//P2.0端口设置为低电平
delay1s();//调用延时函数
P2=0xFF;//P2.0端口设置为低电平
delay1s();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
上面是针对一个LED灯进行的设计,下面针对8个LED灯依次闪烁进行设计,具体程序如下:

#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include "intrins.h" //头文件

void delay1s() //延时1s,误差 0us
{
unsigned char a,b,c;
for(c=46;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}

void main()//主程序
{

while(1)
{
P2=0xFE;//1111 1110
delay1s();//调用延时函数
P2=0xFD;//1111 1101
delay1s();
P2=0xFB;//1111 1011
delay1s();
P2=0xF7;//1111 0111
delay1s();
P2=0xEF;//1110 1111
delay1s();
P2=0xDF;//1101 1111
delay1s();
P2=0xBF;//1011 1111
delay1s();
P2=0x7F;//0111 1111
delay1s();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
4、LED左右移动
上面进行描述的是利用延时并对P2口引脚进行赋值设计LED灯的闪烁,这样程序较为繁杂,下面将利用“左移”和“右移”进行设计,crol(a,b),左循环,a是左移的值,b是左移的位数;cror(a,b),右循环,a是右移的值,b是右移的位数。包含在instrins.h库函数中。具体程序如下:

#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include "intrins.h" //头文件,包含延时(_nop_ )和函数循环

typedef unsigned int u16;//声明新类型名
typedef unsigned char u8;//声明新类型名

#define led P2//宏定义

void delay1s() //延时1s,误差 0us
{
u8 a,b,c;
for(c=46;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}

void main()//主程序
{
u8 i;//定义i的类型
led=0xFE;
delay1s() ;
while(1)
{
for(i=0;i<7;i++)//左移
{
led=_crol_(led,1);
delay1s() ;
}
for(i=0;i<7;i++)//右移
{
led=_cror_(led,1);
delay1s() ;
}

}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
5、总结
以上程序均进行了实验验证,完全正确。针对LED灯的控制,可以和按键进行联合设计,实现更多的功能,后面会进行更新。对于没有单片机开发板的小伙伴可以利用proteus仿真软件进行设计。

㈥ 什么是单片机LED数码管共阳极和共阴极

LED数码管指的是七段数码管,有共阳极和共阴极之分;

(顺便说 数码管可不是因单片机而生,所以不是单片机的数码管,是互不相干的不同元器件)

共阳极就是把二极管的正极连接在一起,那么共阴极就是把二极管负极连接在一起;

共阳极数码管,要点亮LED就需要输入端信号为低电平,反之共阴极就需要输入高电平信号;

结果输出的七段码就有正反两种了;

㈦ 在单片机中,怎样判断数码管的阴阳极

1、检查数码管是共阴还是共阳,A表示共阳,K表示共阴。或者直接给公共端接高电平或者低电平,段码端一部分接高电平,一部分接低电平,这样数码管亮的话看公共端接的是高还是低电平就可以判断了。
2、看你接的限流电阻是不是太大,大于1K的值有可能不亮,最好不要接限流电阻。做实际的实物电路再加上470欧姆。
3、是不是接到51单片机的P0口了,接到P0口必须加上拉电阻,否则不会亮。
4、如果是程序控制数码管,注意延时时间的长短,太短会看不到亮。

㈧ 单片机里数码管的共阴极和共阳极是怎么回事

数码管是共阴极,意思是几段数码管的阴极都接在一起。这样只要给阴极一个高电平,所有的段码都不会亮,如果给低电平,则看对应阳极的电平高低,所以共阴极就是位选,只有它为低电平(选中这位)才能对该数码管操作。

㈨ 单片机怎么控制共阳极数码管电路。

三极管是常用的基本的电子器件,你要知道它的工作原理,如果它的基极流过小电流,发射极到集电极就导通,可流过大电流,这就是电流放大作用

电流是从高电位到低电位流通的,对于图中的三极管叫PNP管箭头所指方向是电流正方向,它的一端接VCC,另一端接低电平时,两端就有有正向电位差,基极就有电流流过,发射极就有更大电流过,驱动喇叭发声如果单片机端也接高电平,两端没电位差(或电位差相反),电流就不能按箭头方向流通,所以喇叭中也没有电流流过象你的喇叭接法也不对,应该接在地和另一个电极之间

至于计算,要等你弄懂基本工作原理后再说

阅读全文

与单片机控制阳极相关的资料

热点内容
苹果平板如何开启隐私单个app 浏览:700
空调压缩机一开就停止 浏览:524
如何下载虎牙app 浏览:847
日语年号的算法 浏览:953
dev里面的编译日志咋调出来 浏览:298
php函数引用返回 浏览:816
文件夹和文件夹的创建 浏览:259
香港加密货币牌照 浏览:838
程序员鼓励自己的代码 浏览:393
计算机网络原理pdf 浏览:752
吃鸡国际体验服为什么服务器繁忙 浏览:94
php中sleep 浏览:490
vr怎么看视频算法 浏览:86
手机app如何申报个人所得税零申报 浏览:692
如何截获手机app连接的ip 浏览:331
冰箱压缩机是否需要电容 浏览:346
python列表每一行数据求和 浏览:274
自己有一台服务器可以玩什么 浏览:656
社会学波普诺pdf 浏览:584
解压做食物的小视频 浏览:758