找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3020|回复: 2
收起左侧

51单片机四位数码管显示最后的数字“1”为什么显示不全

[复制链接]
ID:944932 发表于 2021-6-26 00:57 | 显示全部楼层 |阅读模式
51单片机四位数码管显示最后的数字“1”为什么显示不全,我换其他数字也是一样显示不全,我寻思这字形码也没错啊,前三个都是显示合适的。或者是电路的哪里不合适,求大佬解答
以下是简单的程序
#include<reg51.h>         
void delay(void)      
{
   unsigned char i;
        for(i=0;i<200;i++)  
           ;
}

void main(void)
{
   while(1)  
   {
     P2=0xff;  
         P0=0x99;      //4
         delay();


         P2=0xfe ;
         P0=0xb0;    //3
         delay();       

     P2=0xfd;
         P0=0xa4;     //2
         delay();


     P2=0xfb;  
         P0=0xf9;      //1
         delay();
     P2=0xff;          
   }
}

就是最后一位的1

就是最后一位的1
回复

使用道具 举报

ID:213173 发表于 2021-6-26 06:28 | 显示全部楼层

#include<reg51.h>         

void delay(void)      
{
        unsigned char i;
        for(i=0;i<200;i++)
                ;
}

void main(void)
{
        while(1)  
        {//驱动共阳数码管按如下顺序就不会出错
                P2=0x00;  //消隐  
                P0=0x99;  //段码
                P2=0x01;  //位码
                delay();  //延时
               
                P2=0x00;               
                P0=0xb0;    //3
                P2=0x02;
                delay();        
               
                P2=0x00;
                P0=0xa4;    //2
                P2=0x04;
                delay();
               
                P2=0x00;  
                P0=0xf9;    //1
                P2=0x08;   
                delay();
        }
}

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:944932 发表于 2021-6-26 20:44 | 显示全部楼层
wulin 发表于 2021-6-26 06:28
#include         

void delay(void)      

OK了,谢谢老哥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表