1.protues中绘制如下电路图
?2.使用Keil4软件编写程序,将编写好的程序编译生成一个hex文件,将hex文件加载到protues中的AT89C51芯片中,对电路图进行仿真运行,即可以查看Keil4中编写的程序与其对应功能实现的情况。
彩灯设计样式①
//彩灯从上往下依次循环亮灭
#include<reg52.h>
#include<intrins.h>
void delay()
{
unsigned char i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}
void main()
{
P1=0xfe;//1111 1110
while(1)
{
P1=_crol_(P1,1);//循坏左移一位
delay();
}
}
彩灯设计样式②
//彩灯从下往上依次循环亮灭
#include<reg52.h>
#include<intrins.h>
void delay()
{
unsigned char i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}
void main()
{
P1=0x7f;//0111 1111
while(1)
{
P1=_cror_(P1,1);//循坏右移
delay();
}
}
彩灯设计样式③
//彩灯从上往下间隔一个循环亮灭
#include<reg52.h>
#include<intrins.h>
void delay()
{
unsigned char i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}
void main()
{
P1=0xfe;
while(1)
{
P1=_crol_(P1,2);
delay();
}
}
彩灯设计样式④
//彩灯从下往上间隔一个循环亮灭
#include<reg52.h>
#include<intrins.h>
void delay()
{
unsigned char i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}
void main()
{
P1=0x7f;
while(1)
{
P1=_cror_(P1,2);
delay();
}
}
彩灯样式⑤
//彩灯从上往下相邻两个依次循环亮灭
#include<reg52.h>
#include<intrins.h>
void delay()
{
unsigned char i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}
void main()
{
P1=0x3f;
while(1)
{
P1=_crol_(P1,2);
delay();
}
}
彩灯设计样式⑥
//前四个彩灯从上往下依次循坏亮灭
//后四个彩灯从下往上一次循坏亮灭
#include<reg52.h>
#include<intrins.h>
void delay()
{
unsigned char i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}
void main()
{
unsigned int a[4]={0x7e,0xbd,0xdb,0xe7};
unsigned char i;
while(1)
{
for(i=0;i<4;i++)
{
P1=a[i];
delay();
}
}
}
|