1到8循环一次响一声
#include <reg52.h>
#include<intrins.h>
sbit fm=P2^3;
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
int i;
P1=0xfe;
while(1)
{
for(i=8;i>0;i--)
delay(500);
P1=_crol_(P1,1);
fm=0;
delay(200);
fm=1;
}
}
14725836
/*
*实验效果:流水灯(一灯闪烁14725836)
*/
#include<reg52.h>
#include<intrins.h>
#include"delay.h"
void main()
{
int i;
while(1)
{
P1=0xfe;
for(i=0;i<3;i++)
{
delay(1000);
P1=_crol_(P1,3);
}
P1=0xfd;
for(i=0;i<3;i++)
{
delay(1000);
P1=_crol_(P1,3);
}
P1=0xfb;
for(i=0;i<3;i++)
{
delay(1000);
P1=_crol_(P1,3);
}
}
}
15263748
#include <reg52.h>
void delay (unsigned int xms);
void main()
{
int i=0;
while(1)
{
P1=0xfe;
for(i=0;i<2;i++)
{
delay(1000);
P1<<=4;
P1=P1|0x0f;
}
P1=0xfd;
for(i=0;i<2;i++)
{
delay(1000);
P1<<=4;
P1=P1|0x0f;
}
P1=0xfb;
for(i=0;i<2;i++)
{
delay(1000);
P1<<=4;
P1=P1|0x0f;
}
P1=0xf7;
for(i=0;i<2;i++)
{
delay(1000);
P1<<=4;
P1=P1|0x0f;
}
}
}
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
LED数码管显示
#include<reg52.h>
#define duan P0
#define uchar unsigned char
sbit wei1=P2^4;
sbit wei2=P2^5;
sbit wei3=P2^6;
sbit wei4=P2^7;
uchar code sz[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,};
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
while(1)
{
duan=sz[9];
wei1=0;
wei2=0;
wei3=0;
wei4=1;
delay(500);
duan=sz[7];
wei1=0;
wei2=0;
wei3=1;
wei4=0;
delay(500);
duan=sz[5];
wei1=0;
wei2=1;
wei3=0;
wei4=0;
delay(500);
duan=sz[3];
wei1=1;
wei2=0;
wei3=0;
wei4=0;
delay(500);
}
}
按下第1个键第1位数码管显示1;按下第2个键第2位数码管显示2;按下第3个键第3位数码管显示3;按下第4个键第4位数码管显示4;
/*实验效果:按下第1个键第1位数码管显示1;按下第2个键第2位数码管显示2;
按下第3个键第3位数码管显示3;按下第4个键第4位数码管显示4;
*/
#include<reg52.h>
#define duan P0
#define uchar unsigned char
sbit wei1=P2^4;
sbit wei2=P2^5;
sbit wei3=P2^6;
sbit wei4=P2^7;
sbit k1=P3^4;
sbit k2=P3^5;
sbit k3=P3^6;
sbit k4=P3^7;
uchar code sz[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e};
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
duan=0x00;
while(1)
{
if(k1==0)
{
delay(10);
if(k1==0)
{
while(k1==0);
wei1=1;
wei2=0;
wei3=0;
wei4=0;
duan=sz[1];
}
}
if(k2==0)
{
delay(10);
if(k2==0)
{
while(k2==0);
wei1=0;
wei2=1;
wei3=0;
wei4=0;
duan=sz[2];
}
}
if(k3==0)
{
delay(10);
if(k3==0)
{
while(k3==0);
wei1=0;
wei2=0;
wei3=1;
wei4=0;
duan=sz[3];
}
}
if(k4==0)
{
delay(10);
if(k4==0)
{
while(k4==0);
wei1=0;
wei2=0;
wei3=0;
wei4=1;
duan=sz[4];
}
}
}
}
按下第1个健松开按键第1个LED闪烁
/*实验效果:按下第1个键松开按键第1个LED闪烁
*/
#include<reg52.h>
#include<intrins.h>
sbit led1=P1^0;
sbit k1=P3^4;
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
P1=0xff;
while(1)
{
if(k1==0)
{
delay(10);
if(k1==0)
{
while(k1==0);
while(1)
{
led1=0;
delay(300);
led1=1;
delay(300);
}
}
}
}
}
第1个数码管及led动态显示1-8
/*实验效果:第1个数码管及led动态显示1-8
*/
#include<reg52.h>
#define uchar unsigned char
#include<intrins.h>
#define duan P0
#define led P1
sbit wei1=P2^4;
sbit wei2=P2^5;
sbit wei3=P2^6;
sbit wei4=P2^7;
uchar code sz[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
int i;
P1=0xfe;
while(1)
{
wei1=1;
wei2=0;
wei3=0;
wei4=0;
for(i=1;i<9;i++)
{
duan=sz[i];
delay(500);
P1=_crol_(P1,1);
}
}
}
第1个数码管闪烁"5"同时LED5闪烁(同步)
/*实验效果:第1个数码管闪烁“5”同时LED5闪烁(同步)
*/
#include<reg52.h>
#define uchar unsigned char
#define duan P0
#define led P1
sbit wei1=P2^4;
sbit wei2=P2^5;
sbit wei3=P2^6;
sbit wei4=P2^7;
uchar code sz[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
uchar code table[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
while(1)
{
wei1=1;
wei2=0;
wei3=0;
wei4=0;
duan=sz[5];
led=table[4];
delay(500);
led=table[8];
wei1=1;
wei2=0;
wei3=0;
wei4=0;
duan=sz[16];
delay(500);
}
}
第4位数码管上一次显示4321(用局部变量实现)
/*实验效果:第4位数码管上一次显示4321(用局部变量实现)
*/
#include<reg52.h>
#define uchar unsigned char
#define duan P0
sbit wei1=P2^4;
sbit wei2=P2^5;
sbit wei3=P2^6;
sbit wei4=P2^7;
uchar code sz[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
int i;
while(1)
{
for(i=4;i>0;i--)
{
duan=sz[i];
wei1=0;
wei2=0;
wei3=0;
wei4=1;
delay(500);
}
}
}
第一个LED显示b
#include<reg52.h>
#define duan P0
sbit wei1=P2^4;
sbit wei2=P2^5;
sbit wei3=P2^6;
sbit wei4=P2^7;
void main()
{
wei1=1;
wei2=0;
wei3=0;
wei4=0;
duan=0x7c;
while(1);
}
乐谱
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit voice=P2^3;
uchar code sound[]={
0xff,0x26, 0x20, 0x20, 0x20, 0x20, 0x20, 0x26, 0x10, 0x20, 0x10, 0x20, 0x80, 0x26, 0x20, 0x30, 0x20,0x30, 0x20, 0x39, 0x10, 0x30, 0x10, 0x30, 0x80, 0x26, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1c, 0x20,0x20, 0x80, 0x2b, 0x20, 0x26, 0x20, 0x20, 0x20, 0x2b, 0x10, 0x26, 0x10, 0x2b, 0x80, 0x26, 0x20,0x30, 0x20, 0x30, 0x20, 0x39, 0x10, 0x26, 0x10, 0x26, 0x60, 0x40, 0x10, 0x39, 0x10, 0x26, 0x20,0x30, 0x20, 0x30, 0x20, 0x39, 0x10, 0x26, 0x10, 0x26, 0x80, 0x26, 0x20, 0x2b, 0x10, 0x2b, 0x10,0x2b, 0x20, 0x30, 0x10, 0x39, 0x10, 0x26, 0x10, 0x2b, 0x10, 0x2b, 0x20, 0x2b, 0x40, 0x40, 0x20,0x20, 0x10, 0x20, 0x10, 0x2b, 0x10, 0x26, 0x30, 0x30, 0x80, 0x18, 0x20, 0x18, 0x20, 0x26, 0x20,0x20, 0x20, 0x20, 0x40, 0x26, 0x20, 0x2b, 0x20, 0x30, 0x20, 0x30, 0x20, 0x1c, 0x20, 0x20, 0x20,0x20, 0x80, 0x1c, 0x20, 0x1c, 0x20, 0x1c, 0x20, 0x30, 0x20, 0x30, 0x60, 0x39, 0x10, 0x30, 0x10
,0x20, 0x20, 0x2b, 0x10, 0x26, 0x10, 0x2b, 0x10, 0x26, 0x10, 0x26, 0x10, 0x2b, 0x10, 0x2b, 0x80,0x18, 0x20, 0x18, 0x20, 0x26, 0x20, 0x20, 0x20, 0x20, 0x60, 0x26, 0x10, 0x2b, 0x20, 0x30, 0x20,0x30, 0x20, 0x1c, 0x20, 0x20, 0x20, 0x20, 0x80, 0x26, 0x20, 0x30, 0x10, 0x30, 0x10, 0x30, 0x20
,0x39, 0x20, 0x26, 0x10, 0x2b, 0x10, 0x2b, 0x20, 0x2b, 0x40, 0x40, 0x10, 0x40, 0x10, 0x20, 0x10,
0x20, 0x10, 0x2b, 0x10, 0x26, 0x30, 0x30, 0x80,
0x00,
};
uchar zdjs=0, jp;
del(yj);
void main(void)
{
uint dpjs=0;
uchar yj;
TMOD=0x01,IE=0x82;
TH0=0xd8, TL0=0xef;
TR0=1;
while(1)
{
zdjs=0;
dpjs++; yj=sound[dpjs];
dpjs++; jp=sound[dpjs];
while(zdjs!=jp)
{
if(yj!=0xff)
{
if(yj!=0)
{
voice=!voice;
del(yj);
}
else
{
dpjs=0;
break;
}
}
else
{
voice=0;
del(jp);
}
}
}
}
time0() interrupt 1 using 1
{
TH0=0xd8, TL0=0xef;
zdjs++;
}
del(yj)
{
uchar yj2=2;
while(yj!=0)
{
while(yj2!=0)
{
yj2--;
}
yj2=2;
yj--;
}
}
流水灯(一灯闪烁14725836)
/*
*实验效果:流水灯(一灯闪烁14725836)
*/
#include<reg52.h>
#include<intrins.h>
#include"delay.h"
void main()
{
int i;
while(1)
{
P1=0xfe;
for(i=0;i<3;i++)
{
delay(1000);
P1=_crol_(P1,3);
}
P1=0xfd;
for(i=0;i<3;i++)
{
delay(1000);
P1=_crol_(P1,3);
}
P1=0xfb;
for(i=0;i<3;i++)
{
delay(1000);
P1=_crol_(P1,3);
}
}
}
流水灯报警
#include <reg52.h>
#include<intrins.h>
sbit fm=P2^3;
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
P1=0xfe;
while(1)
{
delay(500);
P1=_crol_(P1,1);
fm=0;
delay(200);
fm=1;
}
}
流水灯循环三次响三次停止
#include <reg52.h>
#include<intrins.h>
sbit fm=P2^3;
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
int i,k;
for(k=0;k<3;k++)
{
P1=0xfe;
for(i=0;i<8;i++)
{
delay(500);
P1<<=1;
P1=P1|0x01;
}
fm=0;
delay(500);
fm=1;
}
while(1);
}
流水灯循环移位15263748
/*实验效果:流水灯(15263748)
*/
#include<reg52.h>
#include<intrins.h>
void delay(unsigned int xms);
void main()
{
int i;
while(1)
{
P1=0xfe;
for(i=0;i<2;i++)
{
delay(1000);
P1=_crol_(P1,4);
}
P1=0xfd;
for(i=0;i<2;i++)
{
delay(1000);
P1=_crol_(P1,4);
}
P1=0xfb;
for(i=0;i<2;i++)
{
delay(1000);
P1=_crol_(P1,4);
}
P1=0xf7;
for(i=0;i<2;i++)
{
delay(1000);
P1=_crol_(P1,4);
}
}
}
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
流水灯组数间隔500
#include<reg52.h>
#define led P1
#define uint unsigned int
#define uchar unsigned char
uchar code table[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
int i;
while(1)
{
for(i=0;i<8;i++)
{
led=table[i];
delay(500);
}
}
}
数码管3,4闪烁66
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define duan P0
sbit wei1=P2^4;
sbit wei2=P2^5;
sbit wei3=P2^6;
sbit wei4=P2^7;
uchar code sz[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
while(1)
{
duan=sz[6];
wei1=0;
wei2=0;
wei3=1;
wei4=1;
delay(500);
duan=sz[6];
wei1=0;
wei2=0;
wei3=1;
wei4=1;
delay(500);
duan=sz[16];
wei1=0;
wei2=0;
wei3=1;
wei4=1;
delay(500);
}
}
数码管4,闪烁3
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define duan P0
sbit wei1=P2^4;
sbit wei2=P2^5;
sbit wei3=P2^6;
sbit wei4=P2^7;
uchar code sz[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
while(1)
{
duan=sz[3];
wei1=0;
wei2=0;
wei3=0;
wei4=1;
delay(500);
duan=sz[16];
wei1=0;
wei2=0;
wei3=0;
wei4=1;
delay(500);
}
}
··········
#include <reg52.h>
void delay (unsigned int xms);
void main()
{
int i;
while(1)
{
P1=0xfe;
for(i=0;i<4;i++)
{
delay(500);
P1<<=2;
P1=P1|0x03;
}
}
}
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}