原创 51 数码管静态显示 实验(四)

2008-5-11 23:00 3496 8 8 分类: MCU/ 嵌入式

pdf


这里通过51单片机控制数码管的静态显示.详细介绍见附件.


平台:FDR51开发板


#include
/********************数码管常量****************************/
unsigned char code table[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90};           //LED段码
unsigned char code position[]={1,2,4,8}; //LED选位码 
/********************延时函数*************************
  延时t毫秒
******************************************************/


void  delay_ms(unsigned char t)
{
 unsigned char t2=126;
 while(t--)while(t2--); 
}


/**************  数码管显示函数  ************************************
参数: dat 待显示的数据     pos 显示该数据的位置
*************************************************************/


void led_display(unsigned char dat ,unsigned char pos)                 
{        
 unsigned int dat1=dat%10;  //一个数码管只能显示到9,此处用于防止溢出      
 P0=table[dat1]|position[pos];
 delay_ms(2); 

/****************************************************************
              主函数
    效果:依次点亮一个数码管,
******************************************************************/
void main()
{
 unsigned char t="0",
 time=90,
 position=0; 
 while(1)
 {
  t++;
  t=t%4;                //l令t为0~99;
  position++;
  position=position%4;
  time=255;
  while(time--)led_display(t,position);  
 }
}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /3 下一条