//80C51程序——單片機的流水燈顯示//發(fā)光二極管的閃爍
本文引用地址:http://m.butianyuan.cn/article/201611/319716.htm-------------------------------------------------------------------
#include //包含reg52.h頭文件
#define uint unsigned int //宏定義uint的數(shù)據(jù)類型為unsigned int型
sbit D1=P1^2; //定義P1^2位
void main()
{
uintnum=50000;//定義num數(shù)據(jù)類型,并附初值
D1=0; //點亮發(fā)光二極管
while(num--);//延時
num=50000;//定義num數(shù)據(jù)類型,并附初值
D1=1; //點亮發(fā)光二極管
while(num--);//延時
}
--------------------------------------------------------------------
//發(fā)光二極管的閃爍
--------------------------------------------------------------------
#include //包含reg52.h頭文件
#define uint unsigned int //宏定義uint的數(shù)據(jù)類型為unsigned int型
#define uchar unsigned char //宏定義uchar的數(shù)據(jù)類型為unsigned char型
sbit D1=P1^0; //定義P1^0位
void delay(uint); //聲明延時子函數(shù)
void main()
{
while(1) //進(jìn)入死循環(huán)
{
D1=0; //點亮
delay(100); //延時(注:由于軟件延時誤差比較大,這里不寫具體時間,大家可以在keil里調(diào)試測出)
D1=1; //熄滅
delay(100);//延時
}
}
void delay(uint z)
{
uint x;//在子函數(shù)中定義局部變量x
uchar y; //在子函數(shù)中定義局部變量y
for(x=z;x>0;x--)
for(y=20;y>0;y--); //進(jìn)入一次嵌套循環(huán)
}
-------------------------------------------------------------------
//流水顯示
-------------------------------------------------------------------
#include //包含reg52.h頭文件
#include //包含intrins.h頭文件
#define uint unsigned int//宏定義uint的數(shù)據(jù)類型為unsigned int型
#define uchar unsigned char //宏定義uchar的數(shù)據(jù)類型為unsigned char型
uchar temp,num,num1; //定義temp,num1,num2
void delay(uint); //聲明延時子函數(shù)
void main()
{
temp=0xfe; //定義臨時變量temp
while(1)//進(jìn)入死循環(huán)
{
for(num1=0;num1<3;num1++) //循環(huán)三個來回
{
for(num=0;num<8;num++) //每一趟亮八次
{
P1=temp; //點亮第一個燈,即給P1^0低電位
delay(100);//延時
temp=_crol_(temp,1); //用左移函數(shù)左移一位
P1=0xff; //關(guān)閉燈
delay(100); //延時
}
}
for(num1=0;num1<3;num1++) //循環(huán)三個來回
{
for(num=0;num<8;num++)//每一趟亮八次
{
P1=temp; //點亮第一個燈,即給P1^0低電位
delay(100);//延時
temp=_cror_(temp,1); //用右移函數(shù)右移一位
P1=0xff; //關(guān)閉燈
delay(100); //延時
}
}
while(1);//以上程序死循環(huán)
}
}
void delay(uint z) //延時子函數(shù)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--); //進(jìn)入一次嵌套程序
}
評論