STM8S-LED
单片机源程序如下:
- #include "stm8s.h"
- #include "sysclock.h"
- /* Private defines -----------------------------------------------------------*/
- /* LED 端口定义 */
- #define LED_PORT GPIOA
- #define LED_1 GPIO_PIN_3
- #define LED_2 GPIO_PIN_4
- #define LED_3 GPIO_PIN_5
- #define LED_4 GPIO_PIN_6
- #define ON 0 /* 定义LED灯亮 -- 低电平*/
- #define OFF 1 /* 定义LED灯灭 -- 高电平*/
- /* Private function prototypes -----------------------------------------------*/
- /* Private functions ---------------------------------------------------------*/
- /*******************************************************************************
- * 名称: Delay
- * 功能: 简单的延时函数
- * 形参: nCount -> 延时时间数
- * 返回: 无
- * 说明: 无
- ******************************************************************************/
- void Delay(u32 nCount)
- {
- u32 i;
- for(i=0;i<nCount;i++);
- }
- /*******************************************************************************
- * 名称: LED_Init
- * 功能: LED外设GPIO引脚初始化操作
- * 形参: 无
- * 返回: 无
- * 说明: 无
- ******************************************************************************/
- void LED_Init(void)
- {
- //定义LED的管脚为输出模式
- GPIO_Init(LED_PORT, LED_1, GPIO_MODE_OUT_PP_HIGH_FAST );
- GPIO_Init(LED_PORT, LED_2, GPIO_MODE_OUT_PP_HIGH_FAST );
- GPIO_Init(LED_PORT, LED_3, GPIO_MODE_OUT_PP_HIGH_FAST );
- GPIO_Init(LED_PORT, LED_4, GPIO_MODE_OUT_PP_HIGH_FAST );
- }
- /*******************************************************************************
- * 名称: LED_Operation
- * 功能: LED 灯亮灭设置操作
- * 形参: led -> 要操作的led灯
- * state -> 亮还是灭
- * 返回: 无
- * 说明: 无
- ******************************************************************************/
- void LED_Config(GPIO_Pin_TypeDef led, u8 state)
- {
- if(ON == state)
- {
- GPIO_WriteLow(LED_PORT, led);
- }
- else
- {
- GPIO_WriteHigh(LED_PORT, led);
- }
- }
- /*******************************************************************************
- * 名称: LED_Show
- * 功能: 现流水灯
- * 形参: 无
- * 返回: 无
- * 说明: 无
- ******************************************************************************/
- void LED_Show(void)
- {
- LED_Config(LED_1, ON);
- LED_Config(LED_2, OFF);
- LED_Config(LED_3, OFF);
- LED_Config(LED_4, OFF);
- Delay(0x1ffff);
- LED_Config(LED_1, OFF);
- LED_Config(LED_2, ON);
- LED_Config(LED_3, OFF);
- LED_Config(LED_4, OFF);
- Delay(0x1ffff);
- LED_Config(LED_1, OFF);
- LED_Config(LED_2, OFF);
- LED_Config(LED_3, ON);
- LED_Config(LED_4, OFF);
- Delay(0x1ffff);
- LED_Config(LED_1, OFF);
- LED_Config(LED_2, OFF);
- LED_Config(LED_3, OFF);
- LED_Config(LED_4, ON);
- Delay(0x1ffff);
-
- }
- int main(void)
- {
-
- /* 系统时钟初始化 */
- SystemClock_Init();
- LED_Init();
-
- while (1)
- {
- /*放置你的代码*/
- LED_Show();
- }
-
- }
- #ifdef USE_FULL_ASSERT
- void assert_failed(u8* file, u32 line)
- {
- while (1)
- {
- }
- }
- #endif
复制代码
所有资料51hei提供下载:
STM8S_LED.zip
(252.8 KB, 下载次数: 12)
|