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

2023-01-16

本文主要是 51单片机如何利用4个七段数码管采用动态显示显示4位数字,如2035 相关的知识问答,如果你也了解,请帮忙补充。

//***************************************
//显示函数 函数名:display56()
//***************************************
//变量定义:
unsigned char qian,bai,shi,ge; //定义显示缓冲区
unsigned char table[]= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xa7;
//表:共阳数码管 0 1 2 3 4 5 6 7 8 9 c
//延时子函数,短暂延时
void delay56()

unsigned char i56=210;
while(i56--);

void display56()

P0=table[qian]; // 查得千位,送P0
SMG_q=0; // 打开千位数码管
delay56(); // 延时
P0 = 255; // 防止数码管脏乱
SMG_q=1; // 关闭数码管
P0=table[bai];// 选择百位数码管
SMG_b=0;
delay56(); //延时
P0 = 255;
SMG_b=1; //
P0=table[shi];// 选择十位数码管
SMG_s=0;
delay56(); //
P0 = 255;
SMG_s=1; //
P0=table[ge];//选择个位数码管,
SMG_g=0;
delay56(); //
P0 = 255;
SMG_g=1; //

你想显示什么,分别为qian,bai,shi ,ge
参考知识1 控制位选 和段选,如果IO口够用 就用IO操作 不够用就加上 138 595 。 别忘了加限流电阻。
相关代码你动手百度一下。这里给你贴出来 也是百度的。学知识 自己动手才能有收获。相关数据手册 百度文库有好多。加油追问

多谢!

相似知识
如何利用单片机让4位数码管显示? 程序如下(用的是STC89C52芯片):#include<reg52.h>//52系列单片机头文件#define uchar unsigned char#de
动态四位七段共阳极数码管显示实验如图所示,为啥要在abcdefg哪里接几个电阻,解释一下作用 图中一排的8个电阻是上拉电阻。因为51单片机的P0口是“准”双向口,拉电流(输出电流)的能力不足,所以在实际使用时一般需要添加上拉电阻,这样在输出高电平的时候才能保证有足够的电流提供给负载。好好学习天
单片机实现4位一体数码管显示0000—FFFF的16进制(C语言编程) /*四个数码管的动态显示*/#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharsbitdu=P2^6;sbitw
跪求单片机实验四位七段数码管显示程序!!! 我给你一个数码管代码,自己修改:/********************************************************************************标题:
两个 四位七段LED数码管该如何连接 他们之间不是直接连在一起的,是通过单片机联系起来的,每一个数码管有4个位选信号。其他的一些口则连接在l\o口上。。参考知识1除四个位选信号引脚不要相连,其他的相同位置引脚两两连起来.再分别连到
共阳极四位七段数码管(12个引脚)怎么连接到单片机上啊 参考知识1哦,这个啊……正面看的话,上面6脚,下面6脚,共12脚上面从左到右是1,a,f,2,3,b下面从左到右是e,d,dp,c,g,4其中1,2,3,4是4个数码管的位选,因为是共阳,所以这几脚高
共阳极四位七段数码管(12个引脚)怎么连接到单片机上啊 哦,这个啊……正面看的话,上面6脚,下面6脚,共12脚上面从左到右是1,a,f,2,3,b下面从左到右是e,d,dp,c,g,4其中1,2,3,4是4个数码管的位选,因为是共阳,所以这几脚高电平时才有
如何驱动四位七段数码管? 参考知识1用三极管驱动啊,只用动态扫描或者静态显示都行