原创 从简单学起之二:数码管显示

2007-1-3 00:08 5218 10 10 分类: MCU/ 嵌入式



本程序在本站的试验板是通过,具体为在8 个LED数码管上显示“12345678”,本程序涉及了数组知识,以及用动态扫描的方法实现数字显示的知识。

include <REGX51.H>
unsigned char sstbl[16]= {
0xf9,/*1*/ 0xa4,/*2*/ 0xb0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xf8,/*7*/ 0x80,/*8*/ }; //数组定义段数据

unsigned char loc[8]={0x7f, 0xbf, 0xdf, 0xef, 0xf7,0xfb,0xfd,0xfe} ; //定义位数据 loc

void mDelay(int Dat) //延时子程序
{
  unsigned char j;
  for (;Dat>0;--Dat)
    for (j=255;j>0;--j);
}


main()
{
  char i ; //显示变量 i (代表要显示之数值)
  i="0" ; //令 i 等于 0
  for(;;){
    P2=0xff; //关闭数码管显示
    P0=sstbl ; //取得数组 sstbl 第 i+1 个数据并输出至PORTC (将数值显示于 LED 上)
    P2=loc[i++] ; //扫瞄第 i 个数码管
    if(i >=8) //若 i 大于等于 8 则
      i="0" ; //令 i = 0
    mDelay(5) ; //延时
}
}

文章评论0条评论)

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