c语言程序stm8s,stm8s的c语言编程例程.doc

本文介绍了如何使用STM8S微控制器通过编程控制GPIO端口实现LED灯的亮灭和按照一定频率闪烁,以及同时控制蜂鸣器发声。通过配置时钟频率,可以调整灯闪烁的频率。示例代码详细展示了如何初始化端口、设置延时函数以及配置时钟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实例一:控制灯的亮灭(或者蜂鸣器响,只要连接相应端口就可以了):

#include "stm8s.h"//头文件

#define ulong unsigned long

///

void delay(ulong i)

{ulong j;

for(j=0;j

{;}

}延时函数

void main(void)主函数

{

GPIO_DeInit(GPIOD);

GPIO_Init(GPIOD, GPIO_PIN_1, GPIO_MODE_OUT_PP_LOW_FAST);

while(1)

{

GPIO_WriteHigh(GPIOD, GPIO_PIN_1);

delay(10000);

delay(10000);

delay(10000);

GPIO_WriteLow(GPIOD, GPIO_PIN_1);

delay(10000);

delay(10000);

delay(10000);

}

}

第二步:控制灯按照一定的频率闪烁:频率可以使用时钟!

Stm8启动时,主时钟默认为HSIRC时钟的8分频,HSIRC是可以提供一个低成本的16MHz时钟源,

#include "stm8s.h"//头文件

void CLK_Configuration(void);

void main(void)主函数

{

GPIO_DeInit(GPIOD);

GPIO_Init(GPIOD, GPIO_PIN_1, GPIO_MODE_OUT_PP_LOW_FAST);

CLK_Configuration();

while(1)

{

GPIO_WriteReverse(GPIOD, GPIO_PIN_1);

}

}

void CLK_Configuration(void)

{

/* Fmaster = 16MHz */

CLK_HSIPrescalerConfig( CLK_PRESCALER_HISDIV1);

}

例题三:灯闪亮的同时蜂鸣器响

#include "stm8s.h"//头文件

#define ulong unsigned long

///

void delay(ulong i)

{ulong j;

for(j=0;j

{;}

}延时函数);

void main(void)主函数

{

GPIO_DeInit(GPIOD);

GPIO_DeInit(GPIOB);

GPIO_Init(GPIOD, GPIO_PIN_1, GPIO_MODE_OUT_PP_LOW_FAST);

GPIO_Init(GPIOB, GPIO_PIN_0,GPIO_MODE_OUT_PP_LOW_FAST );

while(1)

{

GPIO_WriteHigh(GPIOD, GPIO_PIN_1);

delay(10000);

delay(10000);

GPIO_WriteLow(GPIOD, GPIO_PIN_1);

delay(10000);

delay(10000);

GPIO_WriteHigh(GPIOB, GPIO_PIN_0);

delay(10000);

delay(10000);

GPIO_WriteLow(GPIOB, GPIO_PIN_0);

delay(10000);

delay(10000);

}

}

时钟控制器功能强大而且灵活易用。其目的在于使用用户在获得最好性能的同时,亦能保证消耗的功率最低。

用户可以独立管理各个时钟源,并将它们分配到CPU或者各个外设。主时钟和CPU的时钟均带有分频器。

主时钟源:

四种时钟源可以作为主时钟源:

1.1—24MHz高速外部晶体振荡器(HSE)

2.最大24MHz高速外部时钟信号(HSE user-ext)

3.16MHz高速内部RC振荡器(HSI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值