当前位置:首页 > 单片机 > 单片机
[导读]在学习动态显示时,发现有一个问题,数字是正常显示了,但是好几个数字上面,某些不应该亮的地方,有一些微微亮,导致数字显示不是很清楚,代码如下(说明:数码管可以显示8个数字,共阳,P3用于选择亮哪一个,P0用于

在学习动态显示时,发现有一个问题,数字是正常显示了,但是好几个数字上面,某些不应该亮的地方,有一些微微亮,导致数字显示不是很清楚,代码如下(说明:数码管可以显示8个数字,共阳,P3用于选择亮哪一个,P0用于输出数字):


#include

#define uchar unsigned char

//随手抄来的,虽然我只显示0-7

uchar code table[] = {

0xC0,0xF9,0xA4,0xB0,

0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,

0xC6,0xA1,0x86,0x8E

};

uchar i;

void main()

{

P3 = 0xFF;

P0 = 0xFF;

while(1)

{

for(i=0;i<8;i++)

{

//共阳,P3用于选择亮哪一个,P0用于输出数字,不同开发板不一样

P3 = 0xFF & (~( 1 << (i%8) ));//选择使用哪一个数码管

P0 = table[i];//数码管代码

}

}

}


后来仔细看了代码,才发现书上有延时的代码,也就是设置完成后,延时1到2毫秒,本来以为没什么用,没想到 一加上,效果立杆见影啊,修改后如下:

#include

#define uchar unsigned char

void delay1ms()

{

uchar j;

for(j=110;j>0;j--)

;

}

//随手抄来的,虽然我只显示0-7

uchar code table[] = {

0xC0,0xF9,0xA4,0xB0,

0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,

0xC6,0xA1,0x86,0x8E

};

uchar i;

void main()

{

P3 = 0xFF;

P0 = 0xFF;

while(1)

{

for(i=0;i<8;i++)

{

//共阳,P3用于选择亮哪一个,P0用于输出数字,不同开发板不一样

P3 = 0xFF & (~( 1 << (i%8) ));//选择使用哪一个数码管

P0 = table[i];//数码管代码

/************加上延时后,数码管马上变清晰了**************/

delay1ms();

delay1ms();//试了下,2毫秒效果比较好

}

}

}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对工业以太网的认识,本文将对工业以太网的原理、工业以太网的关键技术以及工业以太网要解决的问题予以介绍。

关键字: 以太网 工业以太网 指数

为增进大家对工业以太网的认识,本文将对工业以太网网络优势、工业以太网和IOLINK的区别予以介绍。

关键字: 以太网 工业以太网 指数

为增进大家对工业以太网的认识,本文将对工业以太网的优势、工业以太网缺点、工业以太网的维护予以介绍。

关键字:

Apr. 23, 2024 ---- 随着节能成为AI推理服务器(AI Inference Server)优先考量,北美客户扩大存储产品订单,带动QLC Enterprise SSD需求开始攀升。然而,目前仅Solidi...

关键字: SSD AI 服务器

为增进大家对二极管的认识,本文将对续流二极管、续流二极管的工作原理以及二极管在工业产品中的应用予以介绍。

关键字: 二极管 指数 续流二极管

通过本文,您将了解到二极管反接是否有电压以及二极管在电子电路中的应用。

关键字: 二极管 指数 稳压电路

为增进大家对二极管的了解,本文将对ESD二极管和TVS二极管之间的区别予以介绍。

关键字: ESD TVS 二极管 指数

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

为增进大家对嵌入式的认识,本文将对嵌入式、嵌入式工作相关的内容予以介绍。

关键字: 嵌入式 指数 嵌入式技术
关闭
关闭