⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 八段数码管显示程序.c

📁 8段
💻 C
字号:
#include"reg51.h"
#define LEDLEN 6
xdata unsigned char OUTBIT _at_ 0x8002; //位控制口
xdata unsigned char OUTSEG _at_ 0x8004; //段控制口
xdata unsigned char IN _at_ 0x8001;//键盘输入口
unsigned char LEDBUF(LEDLEN);
code unsigned char LEDMAP[]={//八段管的显示码
 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x7d,0x07,
 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
};
void delay(unsigned char CNT){
                     unsigned char i;
                     while(CNT--!=0)
                     for(i=100;i!=0;i--);
}
void display(){
              unsigned char i,j,pos,LED;
              pos=0X20;//(00100000;从左面开始检测)
              for(i=0;i<LEDLEN;i++)
              {
                 OUTBIT=0;//关闭所有的数码管;
                 LED=LEDBUF[i];
                 OUTSEG=LED;
                 OUTBIT=pos;
                 delay(1);
                 pos>>=1;//显示下一位
              }
              OUTBIT=0;


}
void main(){
            unsigned char i=0,j;
            while(1){
                       LEDBUF[0]=LEDMAP[i&0x0f];
                       LEDBUF[1]=LEDMAP[(i+1)&0x0f];
                       LEDBUF[2]=LEDMAP[(i+2)&0x0f];
                       LEDBUF[3]=LEDMAP[(i+3)&0x0f];
                       LEDBUF[4]=LEDMAP[(i+4)&0x0f];
                       LEDBUF[5]=LEDMAP[(i+5)&0x0f];
                       i++;
                       for(j=0;j<30;j++)
                       display();

}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -