C51单片机循环显示共阳极数码管0-9和共阴极数码管5201314(动态)

keil uVision4界面:

#include<reg51.h>                                //包含8051单片机寄存器定义的头文件
//共阳极数码管0到9
unsigned char seg1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//共阴极数码管5、2、0、1、3、1、4
unsigned char seg2[]={0x6d,0x5b,0x3f,0x06,0x4f,0x06,0x66};
void delay(int x)                               //延时函数
{
  int i,j;
  for(i=x;i>0;i--)    
  for(j=120;j>0;j--);
}
void main()                                        //主函数
{
  int y,z;
  P0=0x00;
  P2=0x00;
    while(1)
      {
         for(y=0;y<10;y++)           //for循环,y起始值为0,当y<10,进行下面括号的循环命令
              {                                                  //每做完一次循环y就加1
             P0=seg1[y];                     //P0口循环显示
             delay(800);                    //时间间隔
             P0=0xff;                        //消影      
           } 
         for(z=0;z<7;z++)            //z起始值为0,当z<7,进入循环,做完一次循环z就加1
           {  
             P2=seg2[z];                    //P2口循环显示
             delay(800); 
             P2=0x00;                         //消影
           }            
      }
}    

proteus仿真界面:

物联沃分享整理
物联沃-IOTWORD物联网 » C51单片机循环显示共阳极数码管0-9和共阴极数码管5201314(动态)

发表回复