C51单片机控制8位数码管显示数字1-8

keil uVision4界面:

#include<reg51.h>                                        
//包含8051单片机寄存器定义的头文件
#define uchar unsigned char
//共阳极数码管段码表
uchar code dis_code1[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};
//共阳极数码管位控码表
uchar code dis_code2[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};                               

void delay(int x)                                        //延时函数
{
     int i,j;
    for(i=x;i>0;i--)
    for(j=120;j>0;j--);
}
void main()
{
     int a;
    for(a=0;a<8;a++)
    {                                
        P0=dis_code1[a];                             //P0口输出段码
        P2=dis_code2[a];                             //P2口输出位控码
        delay(5);                                     //延时,控制每位显示的时间
        P2=0x00;                                     //消影
    }
}

proteus仿真界面:

物联沃分享整理
物联沃-IOTWORD物联网 » C51单片机控制8位数码管显示数字1-8

发表评论