標(biāo)題:
stm8 GPIO輸出芯片流水燈控制源程序 IAR寫的
[打印本頁(yè)]
作者:
小馬駒
時(shí)間:
2018-4-2 16:15
標(biāo)題:
stm8 GPIO輸出芯片流水燈控制源程序 IAR寫的
適合stm8初學(xué)者
流水燈控制
源程序
單片機(jī)源程序如下:
/* 添加庫(kù)函數(shù)頭文件 */
#include "stm8s.h"
#define LED1_ON() GPIO_WriteLow(GPIOD , GPIO_PIN_2) //LED1亮
#define LED2_ON() GPIO_WriteLow(GPIOC , GPIO_PIN_7) //LED2亮
#define LED3_ON() GPIO_WriteLow(GPIOC , GPIO_PIN_6) //LED3亮
#define LED4_ON() GPIO_WriteLow(GPIOC , GPIO_PIN_3) //LED4亮
#define LED1_OFF() GPIO_WriteHigh(GPIOD , GPIO_PIN_2) //LED1滅
#define LED2_OFF() GPIO_WriteHigh(GPIOC , GPIO_PIN_7) //LED2滅
#define LED3_OFF() GPIO_WriteHigh(GPIOC , GPIO_PIN_6) //LED3滅
#define LED4_OFF() GPIO_WriteHigh(GPIOC , GPIO_PIN_3) //LED4滅
/*******************************************************************************
**函數(shù)名稱:void delay(unsigned int ms) Name: void delay(unsigned int ms)
**功能描述:大概延時(shí)
**入口參數(shù):unsigned int ms 輸入大概延時(shí)數(shù)值
**輸出:無(wú)
*******************************************************************************/
void delay(unsigned int ms)
{
unsigned int x , y;
for(x = ms; x > 0; x--) /* 通過(guò)一定周期循環(huán)進(jìn)行延時(shí)*/
for(y = 3000 ; y > 0 ; y--);
}
/*******************************************************************************
**函數(shù)名稱:void InitLED()
**功能描述:初始化LED函數(shù)
**入口參數(shù):無(wú)
**輸出:無(wú)
*******************************************************************************/
void InitLED()
{
//設(shè)置PD2為快速推挽輸出 ,LED1
GPIO_Init(GPIOD , GPIO_PIN_2 , GPIO_MODE_OUT_PP_LOW_FAST);
//設(shè)置PC7為快速推挽輸出 ,LED2
GPIO_Init(GPIOC , GPIO_PIN_7 , GPIO_MODE_OUT_PP_LOW_FAST);
//設(shè)置PC6為快速推挽輸出 ,LED3
GPIO_Init(GPIOC , GPIO_PIN_6 , GPIO_MODE_OUT_PP_LOW_FAST);
//設(shè)置PC3為快速推挽輸出 ,LED4
GPIO_Init(GPIOC , GPIO_PIN_3 , GPIO_MODE_OUT_PP_LOW_FAST);
}
/* 主函數(shù) */
int main(void)
{
//內(nèi)部時(shí)鐘為1分頻 = 16Mhz
CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);
InitLED(); //調(diào)用LED初始化函數(shù)
while(1)
{
LED1_ON(); //點(diǎn)亮LED1
LED2_ON(); //點(diǎn)亮LED2
LED3_ON(); //點(diǎn)亮LED3
LED4_ON(); //點(diǎn)亮LED4
delay(1000); //空跑大概延時(shí)
LED1_OFF(); //點(diǎn)滅LED1
LED2_OFF(); //點(diǎn)滅LED2
LED3_OFF(); //點(diǎn)滅LED3
LED4_OFF(); //點(diǎn)滅LED4
delay(1000); //空跑大概延時(shí)
}
}
復(fù)制代碼
所有資料51hei提供下載:
iar工程.7z
(264.06 KB, 下載次數(shù): 30)
2022-12-16 04:49 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1