导航:首页 > 操作系统 > 51单片机数码管

51单片机数码管

发布时间:2022-03-02 11:05:01

‘壹’ 51单片机4为数码管显示

估计你的中断服务程序有问题,或者中断设置有问题。

‘贰’ 51单片机数码管怎样才能同时在两个数码管上面显示不同的数字

是因为人眼的视觉暂留效应,实际上两个数码管是交替显示的,但是因为交替的速度十分快,所以会有因为视觉暂留效应而看到两个数码管都是同时现实的。

视觉暂留现象即视觉暂停现象(Persistence of vision,Visual staying phenomenon,ration of vision)又称“余晖效应”,1824年由英国伦敦大学教授皮特.马克.罗葛特在他的研究报告《移动物体的视觉暂留现象》中最先提出。

人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。

(2)51单片机数码管扩展阅读:

led数显管分类:

1、按控制方式分:分为内控方式(内部有单片机,通电自动变色)和外控方式(需要外接控制器才能变色)。

2、按变化方式分:分为固定色彩的和七彩、全彩的;固定色彩的是用来勾轮廓的,全彩的可以勾轮廓,也可以组成管屏显示文字、视频等。

3、按尺寸分:有D50的、D30的,这是直径;长度基本上1米的(可以定制);这个需要根据实际需要进行选择就行了。

4、按内部可控性分:有1米6段的,有1米8段的和1米12段、1米16段、1米32段的。也就是1米的管子内有几段可以独立受控。 1米段数越多,做视频的效果越好。如果密度低,或者做些追逐效果,做1米6段也就可以了。

‘叁’ 51单片机的共阴数码管怎么显示数字(c语言)

要让51单片机共阴数码管显示数字,只需要将单片机的P2端口输出数字对应的段码即可。

以显示数字“0”为例,c语言程序如下:

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

//数码管的段码编码

Uchar table[10] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void main(){//主函数

P0 = table[0];//显示0,大家可以修改里面的数据。

while(1);//程序不再执行其他步骤;

}

(3)51单片机数码管扩展阅读:

数字0-9的对应段码:

数字0 0x3f

数字1 0x06

数字2 0x5b

数字3 0x4f

数字4 0x66

数字5 0x6d

数字6 0x7d

数字7 0x07

数字8 0x7f

数字9 0x6f

‘肆’ 51单片机数码管问题(汇编)

以下程序可以循环显示:0~F。

START:
MOV DPTR, #SEGPT
INI_R2:
MOV R2, #0
DISP_LOOP:
MOV A, R2
MOVC A, @A+DPTR ;查到8段码
MOV P0, A
MOV P2, #11000011B ;(故意让四位亮了)
LCALL DELAY

INC R2
CJNE R2, #16, $+3
JC DISP_LOOP
LJMP INI_R2

SEGPT: DB 0C0H, 0F9H, 0A4H, 0B0H ;0、1、2、3
DB 99H, 92H, 82H, 0F8H ;4、5、6、7
DB 80H, 90H, 88H, 83H ;8、9、A、B
DB 0C6H, 0A1H, 86H, 8EH ;C、D、E、F

DELAY:
......

‘伍’ 51单片机数码管显示程序

#include<reg52.h>
//52系列单片机头文件
#define
uchar
unsigned
char
//宏定义
#define
uint
unsigned
int
sbit
la=P2^6;
//申明u1锁存器的锁存端
sbit
wela=P2^7;
//
u2
uchar
num1,num2;
uchar
code
table[]={
//数组定义
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar
code
aable[]={
//位选数组定义
0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
void
delays(uint);
//子函数申明
void
main()
{
while(1)
{
for(num1=0;num1<48;num1++)
//6个数循环显示
{
wela=1;
//打开u2锁存端
P0=aable[num1%6];
//送入位选信号
wela=0;
//关闭u2锁存端
//
delays(1);
la=1;
//打开u1锁存端
P0=table[num1%16];
//送入段选信号
la=0;
//关闭u1锁存端
delays(1);
}
}
}
/*---------主函数-----------------------------------------------*/
void
delays(uint
xs)
{
uint
i,j,k;
for(i=xs;i>0;i--)
for(j=1000;j>0;j--)
for(k=110;k>0;k--);
}
/*----------------延时程序-----------------------------------------------*/

‘陆’ 51单片机数码管

定时器函数有问题。程序太乱,数码管显示一般都是把要显示的断码做为数组,显示的时候调用数组中的显示码就可以了,没必要abcdefg的这样去定义。

‘柒’ 89c51单片机两个数码管同时工作怎么弄

那就最小的改动用你现在的程序,把两段穿插就好了,也就是在每个延时前同时给两个数码管输出端口赋值。比如
P0=p0[1];
P2=p2[1];
delay1s;
P0=p0[2];
P2=p2[2];
delay1s;
……
但其实这样是不规范的,用到了太多输出接口,电路复杂,单片机整机电流大,并且如果数码管很多关键不够用。超过一位数码管时一般用动态扫描法,也就是每个数码管的8个数据口并联,公共端位选口再用另外的单片机管脚控制,同一时刻只让一个亮,快速切换 比如1秒切换50次。视觉上就都能看到了

‘捌’ 51单片机数码管为什么不亮的原因,一点反应都没有

第一、定时器的处理是很有问题的。
第二、可能你选择的数码管不对,应该用共阴极数码管,可能你选择了共阳极。
第三,你的电路图或者接线可能有问题。

阅读全文

与51单片机数码管相关的资料

热点内容
阿里云服务器安装管理 浏览:548
java手机开发教程 浏览:672
我的世界怎么删除服务器数据 浏览:669
linux内存子系统 浏览:970
加密思维币 浏览:689
魅族访客文件夹 浏览:50
添加的文件夹怎么找 浏览:615
程序员涉黄 浏览:699
maven编译resources下的js 浏览:520
ubuntu文件移动命令 浏览:227
安卓i怎么查找苹果手机 浏览:949
云服务器宕机概率 浏览:232
在线买药用什么app知乎 浏览:815
ubuntu解压xz文件 浏览:676
宏杰加密时电脑关机 浏览:390
自己写单片机编译器 浏览:600
单片机按键闪烁 浏览:382
为什么icloud总是显连接服务器失败 浏览:890
如何设置域控服务器 浏览:740
想在上海租房子什么app好 浏览:186