📄 light.c
字号:
/********************************************************************
//模 块 名 : 流水灯演示程序子函数
//创 建 者 : 杨 勇
日期 : 2007年4月29日 15:56
//修 改 者 :
日期 :
//功能描述 :
//其他说明 : 22.1184MHz晶振
//芯片型号 : AT89S52
//配 置 :
//版 本 : V1.0
********************************************************************/
#include <reg52.h> //包含51单片机的头文件
#define uint unsigned int
#define uchar unsigned char
/* 流水灯与单片机接口定义
LED1-------P1.0
LED2-------P1.1
LED3-------P1.2
LED4-------P1.3
LED5-------P1.4
LED6-------P1.5
LED7-------P1.6
LED8-------P1.7
*/
//对P1口位定义
sbit LED1 =P1^0;
sbit LED2 =P1^1;
sbit LED3 =P1^2;
sbit LED4 =P1^3;
sbit LED5 =P1^4;
sbit LED6 =P1^5;
sbit LED7 =P1^6;
sbit LED8 =P1^7;
/////////////////////////////////
void LedDisplay1(void);
void LedDisplay2(void);
void LedDisplay3(void);
void LedDisplay4(void);
void LedDisplay5(void);
void LedDisplay6(void);
void LedDisplay7(void);
void LedDisplay8(void);
void LedDisplay9(void);
void LedDisplay10(void);
void Delay(uchar Delay);
/*=============================================================================
//函 数 名: void LedDisplay1(void)
//参 数: 无
//返 回 值: 无
//函数功能: 8个LED一起闪动
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:10
===============================================================================*/
void LedDisplay1(void)
{
uchar i;
for(i=3;i>0;i--)
{
P1 =0xff;
Delay(100);
P1 =0x00;
Delay(100);
}
}
/*=============================================================================
//函 数 名: void LedDisplay2(void)
//参 数: 无
//返 回 值: 无
//函数功能: 8个LED轮流向下闪动
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:15
========================== =====================================================*/
void LedDisplay2(void)
{
uchar i;
P1 =0xfe;
for(i=7;i>0;i--)
{
Delay(100);
P1 <<=1;
}
}
/*=============================================================================
//函 数 名: void LedDisplay3(void)
//参 数: 无
//返 回 值: 无
//函数功能: 8个LED轮流向上闪动
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:16
========================== =====================================================*/
void LedDisplay3(void)
{
uchar i;
P1 =0x7f;
for(i=7;i>0;i--)
{
Delay(100);
P1 >>=1;
}
}
/*=============================================================================
//函 数 名: void LedDisplay4(void)
//参 数: 无
//返 回 值: 无
//函数功能: 8个LED轮流向下闪灭
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:20
========================== =====================================================*/
void LedDisplay4(void)
{
uchar i;
P1 =0x01;
for(i=7;i>0;i--)
{
Delay(100);
P1 <<=1;
}
}
/*=============================================================================
//函 数 名: void LedDisplay5(void)
//参 数: 无
//返 回 值: 无
//函数功能: 8个LED轮流向上闪灭
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:20
========================== =====================================================*/
void LedDisplay5(void)
{
uchar i;
P1 =0x80;
for(i=7;i>0;i--)
{
Delay(100);
P1 >>=1;
}
}
/*=============================================================================
//函 数 名: void LedDisplay6(void)
//参 数: 无
//返 回 值: 无
//函数功能: 8个LED一起闪动(快速)
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:10
===============================================================================*/
void LedDisplay6(void)
{
uchar i;
for(i=3;i>0;i--)
{
P1 =0xff;
Delay(30);
P1 =0x00;
Delay(30);
}
}
/*=============================================================================
//函 数 名: void LedDisplay7(void)
//参 数: 无
//返 回 值: 无
//函数功能: 8个LED轮流向下闪动(快速)
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:15
========================== =====================================================*/
void LedDisplay7(void)
{
uchar i;
P1 =0xfe;
for(i=7;i>0;i--)
{
Delay(30);
P1 <<=1;
}
}
/*=============================================================================
//函 数 名: void LedDisplay8(void)
//参 数: 无
//返 回 值: 无
//函数功能: 8个LED轮流向上闪动(快速)
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:16
========================== =====================================================*/
void LedDisplay8(void)
{
uchar i;
P1 =0x7f;
for(i=7;i>0;i--)
{
Delay(30);
P1 >>=1;
}
}
/*=============================================================================
//函 数 名: void LedDisplay9(void)
//参 数: 无
//返 回 值: 无
//函数功能: 8个LED轮流向下闪灭(快速)
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:20
========================== =====================================================*/
void LedDisplay9(void)
{
uchar i;
P1 =0x01;
for(i=7;i>0;i--)
{
Delay(30);
P1 <<=1;
}
}
/*=============================================================================
//函 数 名: void LedDisplay10(void)
//参 数: 无
//返 回 值: 无
//函数功能: 8个LED轮流向上闪灭(快速)
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:20
========================== =====================================================*/
void LedDisplay10(void)
{
uchar i;
P1 =0x80;
for(i=7;i>0;i--)
{
Delay(30);
P1 >>=1;
}
}
/*=============================================================================
//函 数 名: void Delay(uchar Delay)
//参 数: 延时时间
//返 回 值: 无
//函数功能: 延时函数
//编 写 者: 杨 勇
//编写日期: 2007年4月29日 16:05
===============================================================================*/
void Delay(uchar Delay)
{
uint i;
for(;Delay>0;Delay--)
{
for(i=1000;i>0;i--);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -