微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 大神们来看看为什么要关闭所有数码管?P2=0xff这条

大神们来看看为什么要关闭所有数码管?P2=0xff这条

时间:10-02 整理:3721RD 点击:
还有下一条P0=0xff是消影吗?
void DisplaySecond(unsigned char s)
{
     P25=0;
     P26=1;
     P27=1;                 //P2.6引脚输出低电平, DS6点亮
     P0=Tab[s/10];          //显示十位
     delay();
     delay();
     delay();
     P25=1;
     P26=0;
     P27=0;                //P2.7引脚输出低电平, DS7点亮
     P0=Tab[s%10];         //显示个位
     delay();
     delay();
     delay();
         P2=0xff;              //关闭所有数码管
            P0=0xff;
         delay();
     delay();
     delay();
}
/******************************************************************
函数功能:显示分钟的子程序
入口参数:m
********************************************************************/
void DisplayMinute(unsigned char m)
{
      P25=0;
          P26=0;
          P27=1;           // P2.3引脚输出低电平, DS3点亮
      P0=Tab[m/10];    //显示个位
          delay();
      delay();
      delay();
      delay();
          P25=0;
          P26=1;
          P27=0;           // P2.4引脚输出低电平, DS4点亮
          P0=Tab1[m%10];
          delay();
      delay();
      delay();
          P2=0xff;         //关闭所有数码管
          P0=0xff;
          delay();
      delay();
      delay();
}

看样子秒和分切换会灭一下,就是全灭,屏蔽掉也没影响,只是视觉效果不好。

屏蔽掉就不能计时了,是不是每次动态扫描需要置初值啊?

只是人的眼睛视觉问题吧, 分辨不了 微妙级的转换, 并且关闭数码管 变化后还需要故意延时一下, 否则眼睛更是分不清 哪管子在点亮,   

屏蔽掉“P2=0xff;         //关闭所有数码管        P0=0xff;”,不影响计时
         

都是消影作用   不影响计时

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top