proteus仿真 数码管显示不全

2019-07-18 10:27发布

6个数码管从“0”到“F”间隔1秒亮
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
uchar num;
uchar code table[]={  //code编码表 table[]数组
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x11};
void delay(uint z);
void main()
{
    wela=1;
    P0=0xc0;
    wela=0;
    while(1)
    {
        for(num=0;num<16;num++)
            {
                dula=1;
                P0=table[num];
                dula=0;
                delay(1000);   
            }
    }
如图,“F”显示不全,其它也有几个数显示不全, 单独显示“F”的时候没问题。
请教各位前辈是什么原因?

RTX截图未命名11.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
mhx321
1楼-- · 2019-07-18 13:40
你再看一下程序的位选和段选的电平的,结合数据码管段选的数字码,是否正确!还有就是看你的数码管是选用的是共阴还是共阳的,这都有可能导致显示不正确
武力戡乱
2楼-- · 2019-07-18 14:06
1、速度
2、清屏

一周热门 更多>