-
#include
#include
typedef unsigned char uchar;
typedef unsigned int uint;
数码管显示定义。
#define led_port p0
#define led_wx p2
uint a,b;
uchar led_num;
uchar bcd[4];
uchar code dxian={
0xc0,//0
0xf9,//1
0xa4,//2
0xb0,//3
0x99,//4
0x92,//5
0x82,//6
0xf8,//7
0x80,//8
0x90//9
void bin_bcd(uint a);
void delay(uint a);
void main()
led_port=0xff;
led_wx=0xef;
led_num=0;
tmod=0x10;
th1=0xfc;
tl1=0x70;
ea=1;et1=1;
tr1=1;
while(1)
bin_bcd(a);
void i_display(void) interrupt 3a++;if(a==9999)
a=0;led_port=dxian[bcd[led_num]];
led_num++;
if(led_num==0)
led_wx=0xef;
if(led_num==1)
led_wx=0xdf;
if(led_num==2)
led_wx=0xbf;
if(led_num==3)
led_wx=0x7f;
if(led_num==4)
led_num=0;
led_wx=0xef;
th1=0xfc;
tl1=0x70;
void bin_bcd(uint a)
bcd[2]=a/1000;
bcd[1]=(a%1000)/100;
bcd[0]=(a%100)/10;
bcd[3]=a%10;
我是LY 51系列0--9999数码管自加程序,希望对您有用。
这是电路。 <>
-
您先静态显示,两位数码管固定选择,WM不改变0x3f; 如果可以动态显示。
-
您是否将闩锁用于电路? 程序需要配合电路才能看,你们的数码管控制指令有问题吗? 似乎控件与显示器混淆了。
-
没错,你是在板上还是你自己做电路?
-
数字引脚连接到单片机的PX端口,PX端口由程序控制显示数字字符,如:数码管显示段)。
相应。 依次分配 PX 端口需要控制输出数字 0 9:
C0H、F9H、A4H、B0H、99H、92H、82H、F8H、80H、90H(共阳极)。
-
利用引脚输出高低电平控制数码管的8个子管的导通和断电平,达到数字和小数点显示的效果,通常要为每个数字制作一个换算表,这样在编程时就忽略了转换过程,达到快速编程的目的, 转换表一般采用枚举的方式,具体的转换编号与你电路中的连接方式是相关的,用二进制写出,然后转换成十六进制。
-
对于共阳极,一个数码管由8个二极管组成,它们的阳极连接到+5V电源,每个阴极连接到某个端口,如P1的8个引脚,当一个引脚输出低电平时,数码管对应的二极管亮亮。
问题补充:因为人眼有滞后,如果你给一个数码管第二次开机,然后给另一个数码管第二次开,并不断给几个数码管第二次开,因为人眼的滞后,它会显示你需要显示的数字, 当然,具体开机时间,要视数码管的位数等条件自行调整。
-
单片机原理及控制方法 从小白系列(16)LED数码管开始。
-
它可以以优化的方式简化。
1.设置延时功能。
延时功能具有使单片机实延的能力,该延时可以通过在本程序中使用for循环模式进行,如下所示:
void delay()
uinti,j;
for(i=100;i>0;i--)
for(j=1000;j>0;j--)
2.设置数码管显示阵列。
数组易于定义且易于访问。 所有元件均为同一类型,可在数码管显示程序中减少。 数组如下:
chara[10]={0xff,0x3,0x9f,0x25,0xd,0x99,0x49,0x41,0x1f,0x1,0x9};
3.设置数码管显示环路。
数码管显示循环无需反复书写数码管显示**,方便简洁。 具体如下:
for(int i=0;i<10;i++)
p0=a[i];
delay();
-
1. 一开始,让我们先打开 Keil。
2. 接下来,我们需要定义库函数,如果我们想实现动态数字灯光,这一步非常重要。
3. 接下来,让我们添加一个循环语句。
4. 最后,我们编写先前定义的延迟语句。
5. 最后,单击此处编译并生成十六进制文件。
6.如果这里没有错误警告,则表示我们的程序写得正确,那么我们就可以点亮动态数码管了。
-
是的,带来了硬件原理图。
例如,如果公共阳极数码管连接到P1端口,则七段数码管的编号一般为从上A到右B,C到下D,最后到左E和F,水平数码管的编号为G。 >>>More
原理:只是执行一些所谓的“无意义指令”,比如缩放或执行一个int自加法,简单来说,就像高中数学中的“乘法原理”一样,很容易快速增加上面提到的“无意义指令”的数量。 >>>More