访问电脑版页面

导航:老古开发网手机版其他

单片机笔记——数码管显示(转)

导读:
关键字:

哈。最太懒了,都没来更新,夏天的阳光都把我晒化喽

继续更新我的笔记吧。

用到单片机就不可避免要涉及人机交互,而最简单的显示就是使用数码管了。它可以显示0-9的数字和部分因为字母。

我一般使用的是七段数码管,它的脚位从顶横顺着数分别为,a,b,c,d,e,f中间一横为g而小数点为h,由这几个就可以构成显示不同符号的码表:abcdefgh

下面是数码管显示的小程序

//该程序是通过按键控制数码管开始或停止在0-9加1显示

void Delay(unsigned char count)   //该延时子程序是12Mhz下的X*1ms延时
{
 unsigned char j;

 while(count-- != 0)
 {
  for(j=0;j<72;j++);
 }
}  


char Keyhit(void)
{
 P3=0xff;                               //P3口置高,在C51里这些默认定义的关键字都要大写
 if((P3^0xff)!=0)                    //通过P3的值与上全1判断有无按键
  Delay(10);                        //有按键则延时再判断,去抖动
 if((P3^0xff)!=0)
  return(1);
 else
  return(0);
}   
 

void LedPrint(void)          

{
 unsigned char i;
 P2 =0x0f;
 while(i<10)
 {
  P0=LedCode[i];
  P2&=0xfe;
  Delay(800);
  if(Keyhit())
  {
   P2 =0x0f;
   break;
  }
  i++;
  if(i==10) i=0;
 }
}

void main(void)
{
 unsigned int num=0;
 while(1)
 {
  if(Keyhit())
  {
   num++;
   num=num%2;
   while(Keyhit());
  }
  if(num==1)
   LedPrint();
 }

}

来源:   作者:  2006/9/25 16:50:53
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!