#include //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint)//声明延时函数
void main(void)
{
uint i
uchar temp
while(1)
{
temp=0x01
for(i=0i<8i++) //8个流水灯逐个闪动
{
P1=~temp
delay(100)//调用延时函数
temp<<=1
}
temp=0x80
for(i=0i<8i++) //8个流水灯反向逐个闪动
{
P1=~temp
delay(100)//调用延时函数
temp>>=1
}
temp=0xFE
for(i=0i<8i++) //8个流水灯依次全部点亮
{
P1=temp
delay(100)//调用延时函数
temp<<=1
}
temp=0x7F
for(i=0i<8i++) //8个流水灯依次反向全部点亮
{
P1=temp
delay(100)//调用延时函数
temp>>=1
}
void delay(uint t) //定义延时函数
{
register uint bt
for(tt--)
for(bt=0bt<255bt++)
}
扩展资料
51单片机流水灯的源代码如下
#include<reg51.h>
#include<intrins.h>
void delay(int a)
{
int i
while(a--)for(i=0i<110i++)
}
main()
{
int i
while(1)
{
P0=0xfe
for(i=0i<8i++)
{
P0=_crol_(P0,1)
delay(500)
}
}
}
1、51单片机C语言实现循环8个流水灯左移三次,后右移三次。
例程:
#include<reg51.h> //51单片机头文件#include <intrins.h> //包含有左右循环移位子函数的库
#define uint unsigned int //宏定义
#define uchar unsigned char //宏定义
sbit beep=P2^3
void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200)大约延时200ms.
{ //delay(500)大约延时500ms.
uint x,y
for(x=zx>0x--)
for(y=110y>0y--)
}
void main() //主函数
{
uchar a,i,j
while(1) //大循环
{
a=0xfe //赋初值
for(j=0j<3j++) for(i=0i<8i++) //左移三次
{
P1=a //点亮小灯
beep=0 //开启蜂鸣器
delay(50) //延时50毫秒
beep=1 //关闭蜂鸣器
delay(50) //再延时50毫秒
a=_crol_(a,1) //将a变量循环左移一位
}
a=0x7f
for(j=0j<3j++) for(i=0i<8i++) //右移三次
{
P1=a //点亮小灯
beep=0 //开启蜂鸣器
delay(50) //延时50毫秒
beep=1 //关闭蜂鸣器
delay(50) //再延时50毫秒
a=_cror_(a,1) //将a变量循环右移一位
}
}
}
2、51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)