page71

导航

蓝桥杯准备day3之数码管的静态与动态显示,练习

动态显示要点:

1.轮流单个点亮需要的数码管

2.点亮的时间间隔要短

3.需要消隐(每单独点亮一位后,就把所有数码管关一次。) 

动态显示(让8个数码管显示0~7的数字)

void SMG_dynamic ()
{
  unsigned char i;
  for(i=0; i<8 ; i++)
 {
  P2 = (P2 & 0x1f)| 0xe0;
  P0 = 0xff;              //先消隐,关段码
  P2 &= 0x1f;
  
  P2 = (P2 & 0x1f)| 0xc0;
  P0 = 0x01 << i;             //位码左右移
  P2 &= 0x1f;
  
  P2 = (P2 & 0x1f)| 0xe0;
  P0 = tab[i];
  P2 &= 0x1f;
  delay(20);
 }
}
 
静态显示的思路是
先使能com端,再选择数码管。只是对于这个开发板的过程相对复杂一点。
void SMG_static (unsigned char BIT,unsigned char value)
{
 unsigned char i=BIT,j=value;

 iniHC138(6);
 P0 = 0x01 << i;        //确定com端
 P2 &= 0X1F;
 
 iniHC138(7);
 P0 = j;                     //确定显示字
 P2 &= 0x1f;
}

posted on 2020-08-19 20:00  page71  阅读(141)  评论(0编辑  收藏  举报