新闻中心

EEPW首页>嵌入式系统>设计应用> 80C51单片机程序(2)

80C51单片机程序(2)

作者: 时间:2016-11-22 来源:网络 收藏
//80C51程序——单片机流水灯显示

//发光二极管的闪烁

本文引用地址://m.amcfsurvey.com/article/201611/319716.htm

-------------------------------------------------------------------

#include //包含reg52.h头文件

#define uint unsigned int//宏定义uint的数据类型为unsigned int型
sbit D1=P1^2;//定义P1^2位
void main()
{

uintnum=50000;//定义num数据类型,并附初值
D1=0;//点亮发光二极管

while(num--);//延时

num=50000;//定义num数据类型,并附初值
D1=1;//点亮发光二极管

while(num--);//延时
}

--------------------------------------------------------------------

//发光二极管的闪烁

--------------------------------------------------------------------

#include //包含reg52.h头文件
#define uint unsigned int //宏定义uint的数据类型为unsigned int型
#define uchar unsigned char //宏定义uchar的数据类型为unsigned char型
sbit D1=P1^0; //定义P1^0位
void delay(uint); //声明延时子函数
void main()
{
while(1) //进入死循环
{
D1=0; //点亮
delay(100); //延时(注:由于软件延时误差比较大,这里不写具体时间,大家可以在 keil里调试测出)
D1=1; //熄灭
delay(100); //延时
}
}
void delay(uint z)
{
uint x; //在子函数中定义局部变量x
uchar y; //在子函数中定义局部变量y
for(x=z;x>0;x--)
for(y=20;y>0;y--); //进入一次嵌套循环

}

-------------------------------------------------------------------

//流水显示

-------------------------------------------------------------------

#include //包含reg52.h头文件
#include //包含intrins.h头文件
#define uint unsigned int //宏定义uint的数据类型为unsigned int型
#define uchar unsigned char //宏定义uchar的数据类型为unsigned char型
uchar temp,num,num1; //定义temp,num1,num2
void delay(uint); //声明延时子函数

void main()
{
temp=0xfe;//定义临时变量temp
while(1)//进入死循环
{
for(num1=0;num1<3;num1++)//循环三个来回
{
for(num=0;num<8;num++)//每一趟亮八次
{
P1=temp;//点亮第一个灯,即给P1^0低电位
delay(100);//延时
temp=_crol_(temp,1);//用左移函数左移一位
P1=0xff;//关闭灯
delay(100);//延时
}
}
for(num1=0;num1<3;num1++)//循环三个来回
{
for(num=0;num<8;num++)//每一趟亮八次
{
P1=temp;//点亮第一个灯,即给P1^0低电位
delay(100);//延时
temp=_cror_(temp,1);//用右移函数右移一位
P1=0xff;//关闭灯
delay(100);//延时
}
}
while(1);//以上程序死循环
}
}

void delay(uint z)//延时子函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);//进入一次嵌套程序
}



关键词:80C51单片机程

评论


技术专区

关闭