导航:首页 > 操作系统 > 单片机怎么显示四位

单片机怎么显示四位

发布时间:2022-07-28 23:38:56

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

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

Ⅱ 如何利用单片机让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--);

}

(2)单片机怎么显示四位扩展阅读

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

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

Ⅲ 如何让单片机四位数码管显示相同数字

摘要 每一次只能让一个数码管位选,其他的关闭,给数码管赋值。重复4次就可以了。

Ⅳ C51单片机如何让四位数码管分别显示四位不同的数字

每一次只能让一个数码管位选,其他的关闭,给数码管赋值。重复4次就可以了。
假设要显示“1234”:

#include<reg52.h>
sbit k1 = P1^1;
sbit k2 = P1^2;
sbit k3 = P1^3;
sbit k4 = P1^4;//k1-k4 4个位选开关,我假设你的电路是低电平有效

uchar code table[]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8;
0x80,0x98};//共阳极1-9
void delay( char t )//延时函数
{
char x,y;

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

{
for( y = 100;y > 0;y-- );

}
}

void main()//主函数
{
int i = 1234;

int temp;

while(1)
{
temp = i;//temp = 1234;
//显示第4位
k1 = k2 = k3 = k4 = 1;//关闭所有未选
k4 = 0;//打开第4位位选
P2 = table( temp%10 );//假设P2口控制数码管
temp = temp / 10;//temp = 123

delay( 5 );

//显示第3位
k1 = k2 = k3 = k4 = 1;//关闭所有未选
k3 = 0;//打开第3位位选
P2 = table( temp%10 );//,假设P2口控制数码管
temp = temp / 10;//temp = 12
delay( 5 );

//显示第2位
k1 = k2 = k3 = k4 = 1;//关闭所有未选
k4 = 0;//打开第4位位选
P2 = table( temp%10 );//,假设P2口控制数码管
temp = temp / 10;//temp = 1;
delay( 5 );
//显示第1位
k1 = k2 = k3 = k4 = 1;//关闭所有未选
k4 = 0;//打开第1位位选
P2 = table( temp%10 );//假设P2口控制数码管
delay( 5 );

}

}

Ⅳ 51单片机 四位数码管如何显示4位不同的数字

动态显示。就是先单独显示完一位后,然后关闭这一位(也就是熄灭这一位的led),然后再单独显示下一位。由于人眼反应慢,随意看起来就像4位数码管都在同时显示

Ⅵ 单片机控制四位数码管,怎么控制显示四位数每位都不同,按道理显示四位的话,每位显示应该相同的吧!

有段选和位选。
有共阴共阳这么一说。
共阴举例:共阴数码管,阴极是位选,阳极是段选。阴极是低电平,阳极是高电平,数码管点亮。
位选是选择让那个数码管导通,段选就是具体显示某个数字了。
自己动手做一下就很清楚了。

Ⅶ 在c51单片机的显示管上显示四个数字的c语言程序怎么写

sbit la=P2^6;//段锁存器锁存湍
sbit wela=P2^7;;//位锁存器锁存湍
char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
void display(shiwan_c,wan_c,qian_c,_c,shi_c,ge_c)//6位显示子程序
{
P0=table[shiwan_c]; //显示十万位
la=1;
la=0;
P0=0xfe;
wela=1;
wela=0;
delay(2);
P0=table[wan_c]; //显示万位
la=1;
la=0;
P0=0xfd;
wela=1;
wela=0;
delay(2);
P0=table[qian_c]; //显示千位
la=1;
la=0;
P0=0xfb;
wela=1;
wela=0;
delay(2);

P0=table[_c]; //显示百位
la=1;
la=0;
P0=0xf7;
wela=1;
wela=0;
delay(2);
P0=table[shi_c]; //显示十位
la=1;
la=0;
P0=0xef;
wela=1;
wela=0;
delay(2);
P0=table[ge_c]; //显示个位
la=1;
la=0;
P0=0xdf;
wela=1;
wela=0;
delay(2);
P0=0xff; //显示完毕后关闭最后一位显示
wela=1;
wela=0;
}
以上程序需放在循环程序中,数码管需反复显示
如果其中两位不需显示,可赋值为16

Ⅷ 想在51单片机上用矩阵键盘实现四位数的显示 可是键盘根本没用 直接显示的数

你提问过,四位数码管的显示程序,现在又增加了矩阵键盘。现在的功能增加了,可主程序却没有变,那怎么可能行呢?你这些程序在编译时,就没有提示你有错误吗?或者警告什么的?
原来只是四位数码管显示固定的 数,可现在即有键盘了,又要随时改变显示的数了,主程序要重写了。
void main()
{
while(1) //必须要这么写了
{ //这才是主循环程序开始
DigDisplay(); //要把显示程序放在第一行
qian=; //这样,四位数码管显示的数,像计算器一样,从右向左移动
=shi;
shi=ge;
ge=display();
//以后再增加程序功能,要在这下面增加
}//最后必须要有两个大括号
}
unsigned char display() //扫描次数,这数据类型要改
{
unsigned char i,b; //不要用int 型
for(i=0;i<4;i++)
{
b= keydown();
}

return b;
}

Ⅸ 用单片机控制4位LED数码显示,先从左到右慢速动态扫描显示数字“1357”,“2468”,然后在从

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dis_code_[]={0xf9,0xb0,0x92,0xf8,0xa4,0x99,0x82,0x80,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0x8c};
void delay(uint t)
{
uchar i;
while (t--)
{
for(i=0;i<200;i++);
}
}
void main()
{
uchar i,j=0x80;
while(1)
{
for(i=0;i<4;i++)
{j=_crol_(j,1);
P0=dis_code_[i];
P2=j;
delay(200);
}
}
while(1)
{for(i=4;i<8;i++)
{j=_crol_(j,1);
P0=dis_code_[i];
P2=j;
delay(180);
}
}
while(1)
{for(i=8;i<12;i++)
{j=_crol_(j,1);
P0=dis_code_[i];
P2=j;
delay(100);
}
}
while(1)
{for(i=12;i<16;i++)
{j=_crol_(j,1);
P0=dis_code_[i];
P2=j;
delay(100);
}
}
}

Ⅹ 51单片机如何利用4个七段数码管采用动态显示显示4位数字,如2035

不停地利用人的视觉暂留,在一个合适的速度下依次显示1个2,1个0,1个3,1个5.

当显示一个“2”的时候,其他三位都是空的,以此类推。

但人眼是看不到短时间内这些变化的,假如这个行为不断循环,那么人看到的就是“2035”,而不是单个的数字。

比如说吧:

...

P1=num[2];//假设num[2]是0x5b,即"2"
P20=1;//假设使能端是高有效,按实际情况来。
delay();//延长50ms应该可以把,不能太长(过0.1秒就能看出来了),最好也不要太短
P1=num[0];
P21=1;
delay();

...
阅读全文

与单片机怎么显示四位相关的资料

热点内容
c语言常用算法pdf 浏览:960
编程如何让画面动起来 浏览:865
大龄女程序员未来发展 浏览:976
数学书籍pdf 浏览:506
加密门禁卡写入成功无法开门 浏览:464
齿轮传动pdf 浏览:52
alpinelinux 浏览:150
手机端app的扫码功能在哪里 浏览:227
少儿编程中小班英语教案 浏览:452
锁屏密码加密手机怎么解除 浏览:205
linuxlostfound 浏览:134
征途服务器ip地址 浏览:330
git提交代码命令行 浏览:165
什么叫浏览器服务器结构 浏览:157
于谦聊天哪个app 浏览:449
小鹏汽车nlp算法工程师薪资 浏览:881
代码加密与隐藏 浏览:649
fordfulkerson算法 浏览:352
京东热app在哪里可以下载 浏览:877
彩报图书app哪个好 浏览:303