Mikrokontroler STM8S105K4: Gambaran Umum, Fitur Utama, dan Aplikasi Praktis

Mikrokontroler STM8S105K4, yang terkenal karena efisiensi dan keserbagunaannya, merupakan pilihan yang tepat untuk aplikasi tertanam pada perangkat elektronik konsumen dan sistem industri. Artikel ini memberikan gambaran umum mengenai fitur-fitur utamanya, konfigurasi pin, dan diagram blok, serta panduan langkah demi langkah untuk menyiapkan proyek di IAR Embedded Workbench. Dengan kode contoh untuk kontrol GPIO dasar serta petunjuk pemrograman dan debugging, panduan ini akan membantu Anda memulai penggunaan STM8S105K4 dengan cepat dan efektif.

Gambaran Umum

STM8S105K4 adalah mikrokontroler 8-bit dari STMicroelectronics, yang merupakan bagian dari keluarga STM8. Mikrokontroler ini dirancang untuk berbagai macam aplikasi, dengan menawarkan keseimbangan antara performa, efisiensi daya, dan harga yang terjangkau. Berkat periferal canggih dan EEPROM terintegrasi yang dimilikinya, STM8S105K4 cocok untuk tugas-tugas kontrol umum dalam perangkat elektronik konsumen, sistem industri, dan lainnya.

Fitur dan Spesifikasi

  • Inti: Inti STM8 8-bit dengan arsitektur Harvard, beroperasi pada kecepatan hingga 16 MHz.
  • Memori:
    • Memori flash: 16 KB
    • RAM: 1 KB
    • EEPROM: 640 byte
  • Pengatur waktu:
    • Pengatur waktu kontrol lanjutan 16-bit (TIM1)
    • Timer serbaguna 16-bit (TIM2)
    • Timer dasar 8-bit (TIM4)
  • Antarmuka Komunikasi:
    • Antarmuka UART, I²C, dan SPI untuk konektivitas yang serbaguna.
  • Fitur Analog:
    • ADC 10-bit dengan hingga 5 saluran
    • Referensi tegangan internal untuk meningkatkan presisi analog
  • GPIO:
    • Banyak pin I/O dengan pengaturan pull-up, tipe output, dan kecepatan yang dapat diprogram
    • Hingga 38 port I/O (tergantung pada paket)
  • Tegangan Operasi: 2,95 V hingga 5,5 V
  • Rentang Suhu: -40°C hingga +85°C (kelas industri)
  • Kemasan: Tersedia dalam LQFP32 dan opsi kemasan kompak lainnya.

Konfigurasi Pin

STM8S105K4 menyediakan hingga 48 pin I/O tergantung pada jenis kemasannya, yang dapat dikonfigurasi untuk berbagai fungsi seperti input ADC, output PWM, UART, SPI, I²C, dan I/O digital serbaguna. GPIO utama meliputi:

  • Port A (PA0 hingga PA7): Dapat dikonfigurasi untuk I/O digital dan fungsi alternatif.
  • Port B (PB0 hingga PB7): Digunakan terutama untuk I/O dengan pin tertentu yang mendukung fungsi alternatif.
  • Port C, D, dan E: Mendukung I/O tambahan, input analog, dan fungsi timer, termasuk pembangkitan PWM.
STM8S105K4 LQFP48 pinout
STM8S105K4 LQFP48 pinout

Setiap pin dapat dikonfigurasi secara terpisah sebagai input atau output, dengan dukungan untuk mode push-pull dan open-drain. Selain itu, pin-pin tersebut dilengkapi perlindungan ESD dan mampu menghasilkan arus keluaran tinggi untuk aplikasi penggerak LED dan relai.

Diagram Blok

STM8S105K4 block diagram
STM8S105K4 block diagram

Diagram blok STM8S105K4 mencakup:

  • Inti: Inti STM8 dengan kontrol jam, penghitung program, dan ALU untuk pemrosesan 8-bit.
  • Unit Memori:
    • Memori flash untuk penyimpanan kode
    • EEPROM untuk penyimpanan data
    • SRAM untuk penggunaan umum
  • Periferal:
    • ADC untuk pemrosesan sinyal analog
    • Timer (TIM1, TIM2, dan TIM4) untuk pengaturan waktu peristiwa, PWM, dan pembangkitan gelombang
    • Antarmuka komunikasi (UART, SPI, dan I²C) untuk konektivitas dengan sensor, layar, dan modul lainnya
  • Kontrol Sistem:
    • Unit pembangkit jam dengan sumber jam internal dan eksternal
    • Timer watchdog untuk keandalan sistem
    • Unit manajemen daya dengan mode hemat daya
  • Kontrol I/O: Konfigurasi dan pengelolaan GPIO untuk berinteraksi dengan perangkat eksternal

Arsitektur modular ini memungkinkan fleksibilitas dalam menangani berbagai tugas, mulai dari kontrol waktu nyata hingga komunikasi serial.

Aplikasi

Mikrokontroler STM8S105K4 sangat cocok untuk berbagai macam aplikasi, antara lain:

  1. Elektronik Konsumen: Peralatan rumah tangga, remote control, dan pengendalian layar
  2. Kontrol Industri: Kontrol motor, sistem HVAC, dan modul PLC
  3. Aplikasi Otomotif: Antarmuka sensor, kontrol dashboard, dan sistem pencahayaan
  4. Kesehatan: Perangkat medis, sistem pemantauan, dan peralatan kesehatan portabel
  5. Perangkat IoT: Sensor pintar, modul nirkabel, dan pengukuran energi

Dengan kombinasi fitur analog, digital, dan komunikasi, STM8S105K4 memungkinkan para perancang untuk menciptakan sistem tertanam yang efisien, serbaguna, dan hemat biaya di berbagai industri.

Membuat Proyek IAR untuk STM8S105K4

Dalam contoh ini, kita akan membuat proyek IAR untuk menyalakan LED menggunakan mikrokontroler STM8S105K4.

Alat yang Diperlukan

Komponen Perangkat Keras:

  • Mikrokontroler STM8S105K4
  • Debugger dan Programmer ST-LINK/V2
  • Papan Pengembangan STM8S105K4 (opsional)
  • LED dan Resistor (1KΩ)
  • Papan prototipe dan kabel jumper

Alat Perangkat Lunak:

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

Langkah-langkah untuk Membuat Proyek

Buat Folder Proyek:

    • Buat folder bernama test, dan di dalamnya, buat folder lain bernama user.

Buka IAR Embedded Workbench:

    • Buka IAR untuk STM8 (versi 9.40.2).

Buat Proyek Baru:

    • Buka Project -> Create New Project.
    • Di kotak dialog, pilih STM8 Series -> Empty project, lalu klik OK.
    • Simpan .ewp file di test/user dan beri nama test.
Create a new project on IAR Embedded Workbench IDE
Create a new project on IAR Embedded Workbench IDE

Tambahkan Grup Proyek:

    • Arahkan kursor ke menu dan klik Project -> Add Group.
    • Beri nama grup user, lalu klik OK.
Add Project Group for STM8S105K4
Add Project Group for STM8S105K4

Buat File Utama:

    • Buka File -> New -> File, lalu simpan sebagai main.c.
    • Tambahkan main.c ke user grup.
Create a main.c file and add it to the user group
Create a main.c file and add it to the user group

Mengonfigurasi Lingkungan IAR

Opsi Proyek:

    • Arahkan dan klik Project -> Options.

Tentukan Perangkat Tujuan:

    • Di General Options -> Target -> Device, pilih STM8S105K4 (atau model perangkat spesifik Anda).
Set target device STM8S105K4 in project options
Set target device STM8S105K4 in project options

Konfigurasikan Jalur Include:

    • Di C/C++ Compiler -> Preprocessor, tambahkan jalur "$PROJ_DIR$\..\user".
    • Sintaks ini menentukan jalur file include di dalam direktori proyek.
Configure include path in CC Compiler Preprocessor
Configure include path in CC++ Compiler - Preprocessor

Pengaturan Debugger:

    • Di Debugger -> Setup, atur Driver ke ST-LINK.
    • Klik OK untuk menyimpan konfigurasi.
Setup debugger driver as ST LINK
Setup debugger driver as ST-LINK

Tambahkan Kode dan Bangun Proyek:

    • Di main.c, masukkan kode berikut, lalu buka Project -> Rebuild All.
    • Jika Anda melihat Total number of errors: 0 dan Total number of warnings: 0, proyek telah dikonfigurasi dengan benar.
Add LED blinking code to main.c file for STM8S105K4 project
Add LED blinking code to main.c file for STM8S105K4 project

Sertakan Berkas Header:

    • Pastikan berkas header IOSTM8S105K4.h tersedia di direktori instalasi IAR:
      Software (E:) > IAR for STM8 > arm > inc > ST.
iostm8s105k4.h header file
iostm8s105k4.h header file

Menulis, Mengunduh, dan Memperbaiki Kesalahan Kode

Kode berikut mengaktifkan dan menonaktifkan LED yang terhubung ke pin PE5 menggunakan loop penundaan agar LED tersebut berkedip.

				
					#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
            }
        }
    }
}

				
			

Koneksi Perangkat Keras

  • PE5LEDResistor 1KGround

Setelah mengunggah kode dan menjalankan program, Anda seharusnya melihat LED pada PE5 berkedip, yang menandakan bahwa pengaturan proyek telah selesai.

Mengendalikan Beeper Pasif Menggunakan STM8S105K4

Dalam contoh ini, pin PD4 pada mikrokontroler STM8S105K4 digunakan untuk menggerakkan bunyi bip pasif. Fungsi bunyi bip merupakan fungsi alternatif dari pin PD4. Dengan mengonfigurasi bit AFR7, kita dapat mengaktifkan fungsi alternatif untuk pin PD4, sehingga pin tersebut dapat menggerakkan bunyi bip.

Eksekusi Kode

				
					/* 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
}

				
			

Pemrograman dan Pengaturan Fungsi Bunyi Peringatan PD4

  1. Tulis ulang program menggunakan ST-Link dan perangkat lunak STVP:
    • Gunakan programmer ST-Link dan perangkat lunak STVP resmi untuk mem-flash berkas hex ke mikrokontroler.
  2. Langkah-langkah untuk Menginstal dan Konfigurasi di STVP:
    • Langkah 1: Buka perangkat lunak STVP, pilih opsi "PROGRAM MEMORY", buka File -> Open, dan temukan file hex yang telah disimpan.
    • Langkah 2: Pilih opsi "OPTION BYTE" dan ubah bit AFR7 untuk mengaktifkan fungsi alternatif pada PD4.
    • Langkah 3: Di menu perangkat lunak, buka Program -> All Tabs untuk mem-flash baik program maupun byte opsi.
Modify the AFR7 for PD4
Modify the AFR7 for PD4

Bagikan ke:

Scroll to Top

Instant Quote