单片机流水灯制作(C语言版)
//51单片机
//流水灯显示,循环移动
#include <reg51.h>
#include <intrins.h> //循环左移函数头
#define uint unsigned int
void delay(void); //声明delay函数
void main(void)
{
uint temp = 1;
while(1)
{
P1 = temp;
temp = _crol_(temp,1); //循环左移
//temp = _cror_(temp,1); //循环右移
delay(); //调用延迟函数
}
}
//隔灯闪烁
/*#include <reg51.h>
#define uint unsigned int
void delay(void);
void main(void)
{
P1 = 0;
while(1)
{
P1 = 170;
delay();
P1 = 85;
delay();
}
}*/
//只有p1.0灯亮
/*#include <reg51.h>
#define uint unsigned int
sbit P1_0 = P1^0 ;
void delay(void);
void main(void)
{
P1 = 0;
while(1)
{
P1_0 = 1;
delay();
P1_0 = 0;
delay();
}
}*/
//多彩灯效果
/*#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
void delay(void);
void main(void)
{
uint a;
uint temp = 1;
P1 = temp;
while(1)
{
//循环左移
for(a=0;a<7;a++)
{
temp = _crol_(temp,1);
delay();
P1 = temp;
}
//循环右移
for(a=0;a<7;a++)
{
temp = _cror_(temp,1);
delay();
P1 = temp;
}
//隔灯闪烁
for(a=0;a<3;a++)
{
P1 = 170;
delay();
P1 = 85;
delay();
}
//全部同时闪烁
for(a=0;a<3;a++)
{
P1 = 0;
delay();
P1 = 255;
}
}
}*/
//延迟函数
void delay(void)
{
uint i,j;
for(i=50;i>0;i--)
{
for(j=200;j>0;j--)
{
;
}
}
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。