单数码管循环怎么显示0到9?

单数码管循环怎么显示0到9?,第1张

方法如下:

#include "reg51.h"

#define uchar unsigned char

#define uint unsigned int

uchar code table_numberP[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}    

uchar code table[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}

uint n

uint ge

void main()

{

ge = 0

TMOD = 0x01

TH0 = (65536-45872)/256

TL0 = (65536-45872)%256

EA = 1

ET0 = 1

TR0 = 1

while(1)

}

void T0_time()interrupt 1

{

TH0 = (65536-45872)/256

TL0 = (65536-45872)%256

n++

if(n%20 == 0)

{

if(ge<=9){

P1 = table_numberP[0]

P0 = table[ge]

ge++

if(ge == 10){

ge = 0

}

}

}

}

函数中的P2 = LED_CODE[led]led++可以删去,没有任何的意义

,因为定时和循环显示都在中断函数里面完成了,主函数只是起了一个初始化的作用,led++影响LED_CODE[led]的值,它使LED_CODE[10] = { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 }数组中的10个值依次赋给P2,依次显示0--9的数字,即当led = 0时,P2接受0xC0,对应数码显示0,当led = 1时,P2接受LED_CODE[1]=0xF9,对应显示1,依次类推,从而显示0--9。

数码管显示数字的步骤为:

1、使数码管的公共端接地(共阴极)上。

2、将显示码送到单片机的P0口,向数码管的各个段输出不同的电平,使单个数码管循环显示0-9这10个数字。

完成上述步骤后,确定段选:1、判断是共阴数码管还是共阳数码管。(写程序,简单的就写看是全0亮还是全1亮。)

2、判断出是共阴还是共阳之后,判断Yo~Y7分别对应数码管的哪一位。例如全1亮。那就先给数码管赋值1111 1110.不亮的就是Y0。

具体程序如下:

#include <reg51.h>

#define uchar unsigned char

sbit P20=P2^0

void delay_ms(unsigned int ms) //1ms延时

{

uchar a

while(ms--)

for(a=123a>0a--)

}

uchar code tab[]={0x3F,0x06,0x5B,0x4F,0x66,

0x6D,0x7D,0x07,0x7F,0x6F}

void main()

{

while(1)

{ uchar b

P20=0

P0=tab[b]

delay_ms(1000)//1s延时

b++

if(b==10)

b=0

}

}

扩展资料:

数码管原理

数码管常用段数一般为7段有的另加一个小数点,还有一种数码管是类似于3位“+1”型。数码管位数有半位,1,2,3,4,5,6,8,10位等。数码管根据LED的接法不同分为共阴和共阳两类,了解数码管的这些特性,数码管对编程是很重要的。

因为不同类型的数码管,除了数码管的硬件电路有差异外,数码管编程方法也是不同的。数码管的发光原理是一样的,只是数码管的电源极性不同而已。

数码管颜色有红,绿,蓝,黄等几种。数码管广泛用于仪表,时钟,车站,家电等场合。选用数码管时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用数码管内部引脚图片。

数码管引脚定义每一笔划都是对应数码管一个字母表示数码管DP是小数点。数码管透过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是数码管动态驱动。每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应。

尽管实际上各位数码管并非同时点亮LED数码管,但只要数码管扫描的速度足够快,数码管给人的印象就是一组稳定的显示资料,数码管不会有闪烁感,数码管动态显示的效果和静态显示是一样的,数码管能够节省大量的I/O口,而且数码管功耗更低。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11059949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存