📄 ledcon.c
字号:
/*-------------------------------------------
项目名: C语言彩灯程序系列 [ARM学习]
程序名: 渐明渐暗的彩灯
编写人: 杜洋
初写时间: 2006年1月16日 14时
程序功能: 使LED彩灯由亮渐灭再由灭渐亮的闪烁
实现方法: 通过改变彩灯亮灭的时间长度来改变彩灯亮度(占空比控制)
CPU说明: ARM7TDMI-S 12MHZ
实验设备: {采用SmartARM2200教学实验开发平台}
接口说明: 4个LED彩灯接P2.28~P2.31口
信息说明: 文件名-1221LED
修改日志:
NO.1-2006年1月16日-修改了闪烁周期长度(20)
-------------------------------------------*/
#include "config.h"
#define LEDCON 0xf0000000
void delay (uint8 d) /* 延时功能函数--由d决定延时长度 */
{
uint8 i;
while( --d != 0)
{
for(i = 0; i < 20; i++);
}
}
/* 彩灯主函数 实现彩灯的显示 */
int main (void)
{ uint8 a, b; /* a控制延时长度 b控制循环周期 */
IO2DIR = LEDCON; // 配置LED控制I/O方向
while (1)
{
IO2SET = 0xf0000000;
a = 0x00;
for (b=250; b>0; b--) /* 定义半周期循环时间(次数)*/
{
a++;
delay (a); /* 延时长度随a而改变 */
IO2CLR = 0xf0000000;
a = 255-a; /* a值取反 决定灯灭时的占空比 */
delay (a);
IO2SET = 0xf0000000;
a = 255-a; /* a值取反 使a回到原值继续循环 */
}
a = 0x00;
for (b=250; b>0; b--)
{
a++;
delay (a);
IO2SET = 0xf0000000;
a = 255-a;
delay (a);
IO2CLR = 0xf0000000;
a = 255-a;
}
}
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -