📄 999.c
字号:
/*-------------------------------------------
项目名: C语言彩灯程序系列 [C语言学习]
程序名: 渐明渐暗的闪烁彩灯
编写人: 杜洋
初写时间: 2005年8月25日 22时
程序功能: 使LED彩灯由亮渐灭再由灭渐亮的闪烁
实现方法: 通过改变彩灯亮灭的时间长度来改变彩灯亮度
CPU说明: AT89S52型单片机 12MHZ晶体振荡器
接口说明: 8个LED彩灯接P1口
信息说明: 文件名-C彩灯
修改日志:
NO.1-2005年8月26日-修改了闪烁周期长度
-------------------------------------------*/
#include <AT89X51.h>
void delay (unsigned int d);
/* 彩灯主函数 实现彩灯的显示 */
void main (void)
{
unsigned char a, b; /* a控制延时长度 b控制循环周期 */
while (1)
{
P1 = 0xff;
a = 0x00;
for (b=500; b>0; b--) /* 定义半周期循环时间(次数)*/
{
a++;
delay (a); /* 延时长度随a而改变 */
P1 = 0x00;
a = ~a; /* a值取反 决定灯灭时的占空比 */
delay (a);
P1 = 0xff;
a = ~a; /* a值取反 使a回到原值继续循环 */
}
P1 = 0x00; /* 彩灯全亮 使灯达到最亮 */
a = 0x00;
for (b=500; b>0; b--)
{
a++;
delay (a);
P1 = 0xff;
a = ~a;
delay (a);
P1 = 0x00;
a = ~a;
}
P1 = 0xff;
}
}
void delay (unsigned int d) /* 延时功能函数--由d决定延时长度 */
{
unsigned char i;
while( --d != 0)
{
for(i = 0; i < 2; i++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -