单位数码管显示7
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit LE = P2^7;
uchar code seg_code[] = {
0x3F,
0x06,
0x5B,
0x4F,
0x66,
0x6D,
0x7D,
0x07,
0x7F,
0x6F
};
void delay(uint ms) {
uint i, j;
for(i = ms; i > 0; i--)
for(j = 110; j > 0; j--);
}
void display_one() {
P0 = seg_code[7];
LE = 1;
delay(5);
LE = 0;
}
void main() {
while(1) {
display_one();
}
}
单位数码管轮播0-9

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code seg_code[] = {
0x3F,
0x06,
0x5B,
0x4F,
0x66,
0x6D,
0x7D,
0x07,
0x7F,
0x6F
};
void delay(uint ms) {
uint i, j;
for(i = ms; i > 0; i--)
for(j = 110; j > 0; j--);
}
void display_digit(uchar digit) {
P0 = seg_code[digit];
delay(5);
}
void main() {
uchar digit;
while(1) {
for(digit = 0; digit < 10; digit++) {
display_digit(digit);
delay(500);
}
}
}
6位数码管显示9

#include <reg52.h>
sbit dula=P3^4;
sbit wela=P1^6;
unsigned char code seg_code[] = {
0x3F,
0x06,
0x5B,
0x4F,
0x66,
0x6D,
0x7D,
0x07,
0x7F,
0x6F
};
void main()
{
wela=1;
P0=0xC0;
wela=0;
dula=1;
P0=seg_code[9];
dula=0;
while(1);
}