1. 测试代码照片
2. 流水灯视频
#include <reg51.h>
#define uchar unsigned char
uchar a;
void delay(unsigned int time)
{
unsigned int i, j;
for (i = 0; i < time; i++)
{
for (j = 0; j < 120; j++);
}
}
void main()
{
P1 = 0xfe;
while (1)
{
a = P1;
a = a << 1;
a = a | 0x01;
delay(300);
if (a == 0xff)
{
a = 0xfe;
}
P1 = a;
}
}
3. 独立按键视频(点亮4个灯)
#include <REGX51.H>
sbit KEY1 = P3^4;
sbit KEY2 = P3^5;
sbit KEY3 = P3^6;
sbit KEY4 = P3^7;
sbit LED1 = P1^0;
sbit LED2 = P1^1;
sbit LED3 = P1^2;
sbit LED4 = P1^3;
sbit LED5 = P1^4;
sbit LED6 = P1^5;
sbit LED7 = P1^6;
sbit LED8 = P1^7;
void delay_ms(unsigned int ms) {
unsigned int i, j;
for(i = 0; i < ms; i++)
for(j = 0; j < 123; j++);
}
void main() {
P1 = 0xFF;
while(1) {
if(KEY1 == 0) {
delay_ms(20);
if(KEY1 == 0) {
while(KEY1 == 0);
LED1 = ~LED1;
}
}
if(KEY2 == 0) {
delay_ms(20);
if(KEY2 == 0) {
while(KEY2 == 0);
LED3 = ~LED3;
}
}
if(KEY3 == 0) {
delay_ms(20);
if(KEY3 == 0) {
while(KEY3 == 0);
LED5 = ~LED5;
}
}
if(KEY4 == 0) {
delay_ms(20);
if(KEY4 == 0) {
while(KEY4 == 0);
LED7 = ~LED7;
}
}
}
}
4. 独立按键视频(点亮8个灯)
5. 数码管显示“000000”或者“111111”

6. 数码管显示“123456”

7. 数码管显示“11.12.13”

8. 数码管显示“HH8800”

#include<reg52.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit dula = P2^6;
sbit wela = P2^7;
u8 code table[] = {
0x3f,
0x06,
0x5b,
0x4f,
0x66,
0x6d,
0x7d,
0x07,
0x7f,
0x6f,
0x76
};
void delay(u16 i)
{
while(i--);
}
void main()
{
while(1)
{
wela=1; P0=0xfe; wela=0; P0=0xff;
dula=1; P0=table[10]; dula=0; delay(100);
wela=1; P0=0xfd; wela=0; P0=0xff;
dula=1; P0=table[10]; dula=0; delay(100);
wela=1; P0=0xfb; wela=0; P0=0xff;
dula=1; P0=table[8]; dula=0; delay(100);
wela=1; P0=0xf7; wela=0; P0=0xff;
dula=1; P0=table[8]; dula=0; delay(100);
wela=1; P0=0xef; wela=0; P0=0xff;
dula=1; P0=table[0]; dula=0; delay(100);
wela=1; P0=0xdf; wela=0; P0=0xff;
dula=1; P0=table[0] | 0x80; dula=0; delay(100);
}
}