Microcontrolador STM8S105K4: Visão geral, principais recursos e aplicações práticas

O microcontrolador STM8S105K4, conhecido por sua eficiência e versatilidade, é uma escolha sólida para aplicações embarcadas em eletrônicos de consumo e sistemas industriais. Este artigo fornece uma visão geral de seus principais recursos, configuração de pinos e diagrama de blocos, juntamente com um guia passo a passo para configurar um projeto no IAR Embedded Workbench. Com código de exemplo para controle GPIO básico e instruções sobre programação e depuração, este guia ajudará você a começar a usar o STM8S105K4 de forma rápida e eficaz.

Visão geral

O STM8S105K4 é um microcontrolador de 8 bits da STMicroelectronics, parte da família STM8. Ele foi projetado para uma ampla gama de aplicações, oferecendo um equilíbrio entre desempenho, eficiência energética e preço acessível. Com seus periféricos avançados e EEPROM embutida, o STM8S105K4 é adequado para tarefas de controle de uso geral em eletrônicos de consumo, sistemas industriais e muito mais.

Características e especificações

  • Núcleo: Núcleo STM8 de 8 bits com arquitetura Harvard, operando a até 16 MHz.
  • Memória:
    • Memória flash: 16 KB
    • RAM: 1 KB
    • EEPROM: 640 bytes
  • Temporizadores:
    • Temporizador de controle avançado de 16 bits (TIM1)
    • Temporizador de uso geral de 16 bits (TIM2)
    • Temporizador básico de 8 bits (TIM4)
  • Interfaces de comunicação:
    • Interfaces UART, I²C e SPI para conectividade versátil.
  • Recursos analógicos:
    • ADC de 10 bits com até 5 canais
    • Referência de tensão interna para maior precisão analógica
  • GPIO:
    • Vários pinos de E/S com configurações programáveis de pull-up, tipo de saída e velocidade
    • Até 38 portas de E/S (dependendo do pacote)
  • Tensão de operação: 2,95 V a 5,5 V
  • Faixa de temperatura: -40 °C a +85 °C (grau industrial)
  • Embalagem: Disponível em LQFP32 e outras opções de embalagem compacta.

Configuração do pino

O STM8S105K4 oferece até 48 pinos de E/S, dependendo do pacote, que podem ser configurados para várias funções, como entrada ADC, saída PWM, UART, SPI, I²C e E/S digital de uso geral. Os principais GPIOs incluem:

  • Porta A (PA0 a PA7): configurável para E/S digital e funções alternativas.
  • Porta B (PB0 a PB7): Usada principalmente para E/S com pinos específicos que suportam funções alternativas.
  • Portas C, D e E: Suporte para E/S adicional, entrada analógica e funções de temporizador, incluindo geração de PWM.
STM8S105K4 LQFP48 pinout
STM8S105K4 LQFP48 pinout

Cada pino pode ser configurado individualmente para entrada ou saída, com suporte para os modos push-pull e open-drain. Além disso, os pinos são protegidos contra ESD e capazes de saídas de alta potência para aplicações de acionamento de LED e relé.

Diagrama de blocos

STM8S105K4 block diagram
STM8S105K4 block diagram

O diagrama de blocos do STM8S105K4 inclui:

  • Núcleo: núcleo STM8 com controle de clock, contador de programa e ALU para processamento de 8 bits.
  • Unidades de memória:
    • Memória flash para armazenamento de código
    • EEPROM para retenção de dados
    • SRAM para uso geral
  • Periféricos:
    • ADC para processamento de sinais analógicos
    • Temporizadores (TIM1, TIM2 e TIM4) para temporização de eventos, PWM e geração de formas de onda
    • Interfaces de comunicação (UART, SPI e I²C) para conectividade com sensores, displays e outros módulos
  • Controle do sistema:
    • Unidade de geração de relógio com fontes de relógio internas e externas
    • Temporizador watchdog para confiabilidade do sistema
    • Unidade de gerenciamento de energia com modos de baixo consumo
  • Controle de E/S: Configuração e gerenciamento de GPIO para interface com dispositivos externos

Esta arquitetura modular permite flexibilidade no tratamento de uma variedade de tarefas, desde controle em tempo real até comunicação serial.

Aplicações

O microcontrolador STM8S105K4 é ideal para uma ampla gama de aplicações, incluindo:

  1. Eletrônicos de consumo: eletrodomésticos, controles remotos e controle de telas
  2. Controle industrial: controle de motores, sistemas HVAC e módulos PLC
  3. Aplicações automotivas: interface de sensores, controle do painel e sistemas de iluminação
  4. Saúde: dispositivos médicos, sistemas de monitoramento e equipamentos portáteis de saúde
  5. Dispositivos IoT: sensores inteligentes, módulos sem fio e medição de energia

Com sua combinação de recursos analógicos, digitais e de comunicação, o STM8S105K4 permite que os projetistas criem sistemas embarcados eficientes, versáteis e econômicos em vários setores.

Criando um projeto IAR para STM8S105K4

Neste exemplo, vamos criar um projeto IAR para acender o LED usando o microcontrolador STM8S105K4.

Ferramentas necessárias

Componentes de hardware:

  • Microcontrolador STM8S105K4
  • Depurador e programador ST-LINK/V2
  • Placa de desenvolvimento STM8S105K4 (opcional)
  • LED e resistor (1KΩ)
  • Placa de ensaio e fios de ligação

Ferramentas de software:

  • IAR Embedded Workbench para STM8
  • ST Visual Programmer (STVP)

Passos para criar o projeto

Criar pasta do projeto:

    • Crie uma pasta chamada teste, dentro dela, crie outra pasta chamada user.

Abra o IAR Embedded Workbench:

    • Abra o IAR para STM8 (versão 9.40.2).

Criar um novo projeto:

    • Vá para Project -> Create New Project.
    • Na caixa de diálogo, selecione STM8 Series -> Empty projecte clique em OK.
    • Salve o .ewp arquivo na test/user e nomeie-o test.
Create a new project on IAR Embedded Workbench IDE
Create a new project on IAR Embedded Workbench IDE

Adicionar grupo de projetos:

    • Selecione o menu e clique em Project -> Add Group.
    • Nomeie o grupo usere clique em OK.
Add Project Group for STM8S105K4
Add Project Group for STM8S105K4

Criar um arquivo principal:

    • Vá para File -> New -> Filee salve-o como main.c.
    • Adicionar main.c ao user grupo.
Create a main.c file and add it to the user group
Create a main.c file and add it to the user group

Configurando o ambiente IAR

Opções do projeto:

    • Selecione e clique Project -> Options.

Definir dispositivo de destino:

    • Em General Options -> Target -> Device, selecione STM8S105K4 (ou o modelo específico do seu dispositivo).
Set target device STM8S105K4 in project options
Set target device STM8S105K4 in project options

Configurar caminhos de inclusão:

    • Em C/C++ Compiler -> Preprocessor, adicione o caminho "$PROJ_DIR$\..\user".
    • Esta sintaxe especifica o caminho do arquivo de inclusão dentro do diretório do projeto.
Configure include path in CC Compiler Preprocessor
Configure include path in CC++ Compiler - Preprocessor

Configurar o depurador:

    • Em Debugger -> Setup, defina o Driver para ST-LINK.
    • Clique em OK para salvar a configuração.
Setup debugger driver as ST LINK
Setup debugger driver as ST-LINK

Adicione o código e compile o projeto:

    • Em main.c, insira o seguinte código e vá para Project -> Rebuild All.
    • Se você vir Total number of errors: 0 e Total number of warnings: 0, o projeto está configurado corretamente.
Add LED blinking code to main.c file for STM8S105K4 project
Add LED blinking code to main.c file for STM8S105K4 project

Incluir arquivo de cabeçalho:

    • Certifique-se de que o arquivo de cabeçalho IOSTM8S105K4.h está disponível no diretório de instalação do IAR:
      Software (E:) > IAR for STM8 > arm > inc > ST.
iostm8s105k4.h header file
iostm8s105k4.h header file

Escrever, baixar e depurar código

O código a seguir alterna um LED conectado ao pino PE5 com um loop de atraso para fazer o LED piscar.

				
					#include "iostm8s105k4.h"  // Ensure this header file exists in your project

int main(void) {
    int i, j;  // Variables for delay loop

    // Configure PE5 as an output pin
    PE_DDR |= 0x20;   // Set bit 5 of PE_DDR (PE5) to 1 to configure as output
    PE_CR1 |= 0x20;   // Set bit 5 of PE_CR1 to 1 for push-pull mode
    PE_CR2 &= ~0x20;  // Set bit 5 of PE_CR2 to 0 for low speed

    // Main loop
    while (1) {
        PE_ODR ^= 0x20;  // Toggle PE5 (connected to LED)

        // Simple delay loop
        for (i = 0; i < 100; i++) {
            for (j = 0; j < 1000; j++) {
                // Empty loop for delay
            }
        }
    }
}

				
			

Conexões de hardware

  • PE5LEDResistor 1KTerra

Após carregar o código e iniciar o programa, você deverá ver o LED no PE5 piscando, confirmando que a configuração do projeto está completa.

Acione um sinalizador passivo com STM8S105K4

Neste exemplo, o pino PD4 do microcontrolador STM8S105K4 é usado para acionar um sinalizador sonoro passivo. A função do sinalizador sonoro é uma função alternativa do PD4. Ao configurar o bit AFR7, podemos habilitar a função alternativa para o PD4, o que permite que ele acione o sinalizador sonoro.

Execução de código

				
					/* Includes */
#include "user.h"

/* Function Prototypes */
void HalBeep_Init(BEEP_Frequency_TypeDef beep_fre);

/* Main Function */
void main(void)
{
    /* Clock, LED, and Timer Initialization */
    HalCLK_Config();
    HalLed_Init();
    HalTimer1_Init();
    // HalUART2_Init(); // Uncomment if UART is required
    
    /* Buzzer Initialization */
    HalBeep_Init(BEEP_FREQUENCY_2KHZ); // Initialize the buzzer at 2kHz
    BEEP_Cmd(ENABLE); // Enable the buzzer
    enableInterrupts(); // Enable interrupts

    while (1)
    {
        // Main loop - insert additional code here if needed
    }
}

/* Buzzer Initialization Function */
void HalBeep_Init(BEEP_Frequency_TypeDef beep_fre)
{
    BEEP_DeInit(); // Reset the BEEP registers to their default values
    BEEP_Init(beep_fre); // Initialize the BEEP with the specified frequency
}

				
			

Programação e configuração da função do sinal sonoro PD4

  1. Grave o programa usando o ST-Link e o software STVP:
    • Use o programador ST-Link e o software oficial STVP para gravar o arquivo hex no microcontrolador.
  2. Etapas para gravação e configuração no STVP:
    • Etapa 1: Abra o software STVP, selecione a opção "PROGRAM MEMORY" (MEMÓRIA DO PROGRAMA), vá para File -> Opene localize o arquivo hexadecimal salvo.
    • Etapa 2: Selecione a opção "OPTION BYTE" e modifique o bit AFR7 para habilitar a função alternativa para PD4.
    • Etapa 3: No menu do software, vá para Program -> All Tabs para fazer o flash dos bytes do programa e da opção.
Modify the AFR7 for PD4
Modify the AFR7 for PD4

Compartilhar em:

Rolar para cima

Instant Quote