?? 八段數碼管顯示程序.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 + -