/*************************************************************************
源码基础来自网络,仅供初学参考。
本人邮箱:160273120@QQ.com
用最笨的办法点亮六个LED,一亮一灭
*************************************************************************/
#include "ALL_Includes.h"
//定义CPU内部时钟
#define SYS_CLOCK 16
void CLOCK_Config(u8 SYS_CLK);
void All_Congfig(void);
/****************************************************************/
int main(void)
{
All_Congfig();
while(1)
{
LED_ON();
FAB_ON();
PLED_ON();
delay_ms(500);
LED_OFF();
FAB_OFF();
PLED_OFF();
delay_ms(500);
}
}
/**************************************************************/
/**************************************************************
int main(void)
{
u8 t;
u8 keytimer=0; //按下时间统计
u8 dbclick=0; //多次按标记
u8 lclick=0; //长按标记
u8 runt=0;
Stm32_Clock_Init(9); //系统时钟设置
delay_init(72); //延时初始化
LED_Init(); //初始化与LED连接的硬件接口
KEY_Init(); //初始化与按键连接的硬件接口
while(1)
{
t=KEY_Scan(1); //得到键值
if(t==1) //KEY0按下
{
keytimer++;
if(keytimer>40)lclick=1;
runt=0;
}else //此时按键已经松开了
{
if((lclick==0)&&(keytimer>3)) //短按,至少要80ms
{
dbclick++;
}
if(runt>30) //松开连续超过300ms了
{
if(dbclick==1)//单按
{
LED0=0;//LED0亮
LED1=1;
}
if(dbclick==2)//双按
{
LED1=0;//LED1亮
LED0=1;
}
if(dbclick==3)//三次按
{
LED1=1;//全灭
LED0=1;
}
dbclick=0;
}
keytimer=0; //按下时间清零
lclick=0; //长按标志清零
}
if(lclick) //长按处理
{
LED0=LED1=0; //两个LED都亮
}
runt++;
delay_ms(10);
}
}
*****************************************************/
void All_Congfig(void)
{
CLOCK_Config(SYS_CLOCK);//系统时钟初始化
LED_Init();
FAB_Init();
PLED_Init();
}
/*********************************************
函数功能:系统内部时钟配置
输入参数:SYS_CLK : 2、4、8、16
输出参数:无
备 注:系统启动默认内部2MHZ
*********************************************/
void CLOCK_Config(u8 SYS_CLK)
{
//时钟配置为内部RC,16M
CLK->CKDIVR &=~(BIT(4)|BIT(3));
switch(SYS_CLK)
{
case 2: CLK->CKDIVR |=((1<<4)|(1<<3)); break;
case 4: CLK->CKDIVR |=(1<<4); break;
case 8: CLK->CKDIVR |=(1<<3); break;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
stm8s003f3p6点亮六个LED灯,IAR工程包
共47个文件
h:12个
c:9个
o:6个
5星 · 超过95%的资源 需积分: 50 260 下载量 73 浏览量
2013-12-05
13:51:43
上传
评论 6
收藏 97KB RAR 举报
温馨提示
stm8s003f3p6点亮六个LED灯,IAR工程包 给初学STM的一个参考,LED的连接请看程序。
资源推荐
资源详情
资源评论
收起资源包目录
LED_V1.2.rar (47个子文件)
System
stm8s.h 112KB
stm8s_type.h 3KB
My_Lib
delay - 副本
delay.c 766B
delay.h 349B
delay
delay.c 766B
delay.h 349B
Pled - 副本
PLED.H 425B
PLED.c 996B
Pled
PLED.H 425B
PLED.c 996B
FAB - 副本
FAB.C 1KB
fab.H 483B
LED - 副本
led.h 549B
led.c 2KB
FAB
FAB.C 1KB
fab.H 483B
LED
led.h 549B
led.c 2KB
User
main.c 3KB
ALL_Includes.h 453B
MyType.h 346B
Project
LED.dep 7KB
LED.dep.eww 157B
Backup (2) of LED.ewp 40KB
settings
LED.dep.wsdt 5KB
LED.ewp.wsdt 3KB
LED.dni 1KB
LED.cspy.bat 1KB
LED.dbgdt 6KB
Backup of LED.ewp 40KB
LED.ewp 42KB
LED.ewd 11KB
Debug
List
Exe
LED.hex 1KB
LED.out 31KB
Obj
USART.o 9KB
FAB.o 6KB
USART.pbi.cout 11KB
spi.pbi.cout 11KB
PLED.o 6KB
delay.o 5KB
LED.pbd.browse 116KB
main.pbi.cout 10KB
led.o 6KB
led.pbi.cout 11KB
LED.pbd 342B
delay.pbi.cout 10KB
main.o 8KB
共 47 条
- 1
ken_lai
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页