一、准备工作
1. 基于STC15系列库的工程模板
参考:51单片机工程模板的建立(基于STC15系列库)-优快云博客
2. Keil编译器
二、程序编写
1. 新建 led.c 和 led.h 文件并存放于 user/led 文件夹下;
2. 新建 user.c 和 user.h 文件并存放于 user 文件夹下;
3. 将 user.c 文件 led.c 文件添加进工程分组 user 组别下;
4. 将 user.h 文件目录和 led.h 文件目录添加进头文件检索目录内;
5. 在 main.c 文件中添加以下代码内容;
#include "user.h"
void main()
{
User_Init(); //上电初始化,在该函数内实现上电后所需要的所有初始化操作
while(1)
{
LED_OnOrOff(LED_ON); //打开LED
delay_ms(500);
LED_OnOrOff(LED_OFF); //关闭LED
delay_ms(500);
}
}
6. 在 led.c 函数中添加以下代码内容;
#include "led.h"
//设置LED电路引脚
#define LED_Px GPIO_P1
#define LED_Py GPIO_Pin_0
//设置LED引脚为推挽输出模式
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.Mode = GPIO_OUT_PP;
GPIO_InitStructure.Pin = LED_Py;
GPIO_Inilize(LED_Px, &GPIO_InitStructure);
}
//制作开关LED的驱动函数
void LED_OnOrOff(unsigned char LED_Sta)
{
if(LED_Sta)
{
GPIO_PIN_Set(LED_Px, LED_Py);
}
else
{
GPIO_PIN_ReSet(LED_Px, LED_Py);
}
}
//制作GPIO的初始化函数
void GPIO_Init(void)
{
LED_Init(); //对LED引脚初始化
}
7. 在 led.h 文件中添加以下代码内容;
#ifndef __LED_H__
#define __LED_H__
#include "gpio.h"
//宏定义灯的开关标识符号,便于程序理解
#define LED_ON 0
#define LED_OFF 1