#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint);
void ring_up();
void ring_down();
uchar light(uchar);
void stream(uchar);
void light_1();
void light_2();
void light_3();
void light_4();
void light_5();
void light_6();
void light_7();
void light_8();
sbit P1_1=P1^0;
sbit P1_2=P1^1;
sbit P1_3=P1^2;
sbit P1_4=P1^3;
sbit P1_5=P1^4;
sbit P1_6=P1^5;
sbit P1_7=P1^6;
sbit P1_8=P1^7;
sbit BEEP=P2^3;
uchar temp=0xfe;
uchar tp1=0xfe;
uchar tp2=0xfc;
uchar tp3=0xf8;
uchar tp4=0xf0;
uchar tp5=0xe0;
uchar tp6=0xc0;
uchar tp7=0x80;
uchar tp8=0x00;
void main()
{
//<1>第一个灯管以间隔200ms闪烁
/*
while(1)
{
P1_1=0;
delay(2); //200ms;
P1_1=1;
delay(2);
}
*/
//<2>由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器发声。
/*
while(1)
{
P1=temp;
delay(5);
ring_up();
temp=_crol_(temp,1);//犯了一个C语法错误,如果没有temp=的话temp值是不会改变的,led1将一直亮
ring_down();
}
*/
//<3>8个发光管来回流动,并发出滴滴声.
/*
while(1)
{
int n1,n2;
for(n1=0;n1<7;n1++)
{
P1=temp;
delay(1);
ring_up();
temp=_crol_(temp,1);
ring_down();
}
for(n2=0;n2<7;n2++)
{
P1=temp;
delay(1);
ring_up();
temp=_cror_(temp,1);
ring_down();
}
}
*/
//<4>8个发光管演示8位二进制数累加过程
while(1)
{
P1=0xff;
P1_1=0;
delay