Mikrokontroler STM8S105C6 merupakan solusi yang tangguh, andal, dan hemat biaya untuk desain sistem tertanam, yang menawarkan kinerja unggul, fleksibilitas dalam dukungan periferal, serta konsumsi daya yang rendah. Baik untuk aplikasi industri, otomotif, maupun elektronik konsumen, mikrokontroler ini menyediakan semua fitur penting yang diperlukan untuk mengembangkan produk tertanam berkualitas tinggi. Dalam artikel ini, kami akan memperkenalkan mikrokontroler STM8S105C6 dan cara memprogramnya melalui UART.
Pengantar STM8S105C6
STM8S105C6 merupakan bagian dari keluarga mikrokontroler STM8S yang diproduksi oleh STMicroelectronics. Mikrokontroler ini didasarkan pada arsitektur inti STM8 dan dirancang untuk berbagai macam aplikasi dalam sistem tertanam, seperti otomotif, kontrol industri, otomatisasi rumah, dan elektronik konsumen. STM8S105C6 menggabungkan kinerja tinggi, konsumsi daya rendah, dan beragam periferal, menjadikannya solusi serbaguna dan hemat biaya untuk banyak aplikasi tertanam.
Fitur Utama STM8S105C6
- Inti: Inti STM8 8-bit dengan kemampuan pemrosesan berkecepatan tinggi.
- Kecepatan Jam: Mikrokontroler beroperasi pada frekuensi maksimum 16 MHz.
- Memori:
- Memori Flash: Memori Flash yang dapat diprogram dalam sistem sebesar 32 KB.
- RAM: 2 KB SRAM untuk penyimpanan data.
- Periferal:
- Port I/O: 16 pin I/O serbaguna.
- Timer: 2 timer 16-bit serbaguna, 1 timer pengawas.
- Antarmuka Komunikasi: UART (Universal Asynchronous Receiver-Transmitter) untuk komunikasi serial, SPI (Serial Peripheral Interface), I2C (Inter-Integrated Circuit).
- Fitur Analog: 1 ADC (Analog-to-Digital Converter) dengan 8 saluran, resolusi 10-bit.
- PWM (Pulse Width Modulation): Mampu menghasilkan sinyal PWM untuk mengontrol motor atau LED.
- Rentang Tegangan: Beroperasi dalam rentang tegangan 2,95V hingga 5,5V, sehingga cocok untuk berbagai konfigurasi catu daya.
- Konsumsi Daya Rendah: Dioptimalkan untuk operasi berdaya rendah, dengan beberapa mode hemat daya seperti Sleep, Wait, dan Halt.
- Alat Pengembangan: STM8S105C6 didukung oleh berbagai alat pengembangan, termasuk STVD (STM8 Development Environment) dari STMicroelectronics, IAR Embedded Workbench, dan IDE (Integrated Development Environment) pihak ketiga lainnya.
- Opsi Kemasan: STM8S105C6 tersedia dalam kemasan LQFP (Low-profile Quad Flat Package) 32-pin, sehingga ringkas dan mudah diintegrasikan ke dalam berbagai desain.
Spesifikasi STM8S105C6
| Feature | Specification |
|---|---|
| Core | 8-bit STM8 core |
| Clock Speed | Up to 16 MHz |
| Flash Memory | 32KB (in-system programmable) |
| SRAM | 2KB |
| Voltage Range | 2.95V to 5.5V |
| Timers | 2x 16-bit general-purpose timers |
| Watchdog Timer | Yes |
| Communication Interfaces | UART, SPI, I2C |
| Analog Features | 8-channel, 10-bit ADC |
| PWM Channels | Yes |
| Operating Temperature Range | -40°C to 125°C |
| Package Type | 32-pin LQFP |
Konfigurasi Pin STM8S105C6

Diagram Blok STM8S105C6

Cara Memprogram STM8 melalui UART
Selain menggunakan programmer STLINK, mikrokontroler STM8S105C6 juga dapat diprogram melalui antarmuka UART-nya dengan perangkat lunak Flash Loader Demonstrator untuk menulis program yang telah dikompilasi ke dalam mikrokontroler.
Alat yang Diperlukan:
- STVD-STM8 (Versi: 42.0.0)
- IAR Embedded Workbench IDE (Versi: 9.40.2)
- Flash Loader Demonstrator (Versi: 2.8.0)
- Papan Pengembangan STM8S105C6
Untuk penjelasan terperinci mengenai proses pemrograman, kami telah membaginya menjadi tiga langkah:
1. Mengaktifkan BootLoader
Sebelum melakukan pemrograman melalui UART, opsi "BootLoader Enable" harus diaktifkan pada chip. Secara default, opsi ini sudah diaktifkan pada chip baru. Namun, setelah program di-flash, opsi ini akan dinonaktifkan. Ada dua cara untuk mengaktifkan BootLoader:
- Menggunakan perangkat lunak ST LINK dan STVP (ST Visual Programmer) untuk mengubah OPTION BYTE chip.
- Mengubah OPTION BYTE melalui program.
Menggunakan ST LINK untuk Mengubah OPTION BYTE
Pertama, hubungkan ST LINK, papan pengembangan STM8, dan komputer, lalu buka perangkat lunak STVP (ST Visual Programmer). STVP terinstal secara otomatis saat lingkungan pengembangan STVD disiapkan. Ini adalah alat pemrograman grafis berfitur lengkap yang digunakan untuk memprogram memori flash mikrokontroler ST, sehingga Anda dapat membaca, mengedit, dan menulis ke FLASH, EEPROM, dan OPTION BYTE pada STM8.

Selanjutnya, ubah OPTION BYTE untuk mengaktifkan BootLoader. Di perangkat lunak STVP, buka tab OPTION BYTE dan temukan opsi BootLoader, yang biasanya terletak di bagian bawah daftar OPTION BYTE. Klik "BootLoader Disable" dan pilih "BootLoader Enable" dari menu dropdown. Setelah mengatur ini, klik "Program Current Tab" atau "Program All Tabs" di bilah alat untuk menulis OPTION BYTE ke mikrokontroler STM8, sehingga mengaktifkan BootLoader.
Menggunakan Program untuk Mengubah OPTION BYTE
Untuk mengaktifkan BootLoader melalui program, kompilasi kode berikut dan unggah ke STM8 menggunakan ST LINK:
FLASH_DeInit(); // Restore FLASH registers to default values
FLASH_Unlock(FLASH_MEMTYPE_DATA); // Unlock data EEPROM
// Program OPTION BYTE
FLASH_ProgramOptionByte(0x487e, 0x55);
FLASH_ProgramOptionByte(0x487f, 0xAA);
2. Pengaturan Lingkungan Pengembangan
Lingkungan Pengembangan STVD
Setelah dikompilasi menggunakan kompiler Cosmic di STVD, secara default akan dihasilkan berkas *.s19. Berkas ini dapat langsung di-flash ke mikrokontroler STM8 menggunakan perangkat lunak Flash Loader Demonstrator. Perangkat lunak ini juga mendukung proses flashing berkas *.hex dan *.bin. Berikut ini adalah cara mengonfigurasi STVD untuk menghasilkan ketiga format tersebut.
- Buka berkas proyek STVD dan buka tab Properti Proyek.
- Pilih tab Post-Build seperti yang ditunjukkan di bawah ini.

Di kotak teks Perintah, tambahkan perintah berikut setelah perintah yang sudah ada:
chex -fi -o$(OutputPath)$(TargetSName).hex $(OutputPath)$(TargetSName).sm8
chex -o$(OutputPath)$(TargetSName).bin $(OutputPath)$(TargetSName).sm8
Klik OK untuk mengonfirmasi. Setelah proses kompilasi selesai, akan dihasilkan tiga format file yang berbeda.
Lingkungan Pengembangan IAR
Lingkungan pengembangan IAR tidak menggunakan kompiler Cosmic, sehingga tidak dapat menghasilkan berkas *.s19. Namun, lingkungan ini dapat menghasilkan dua format lainnya. Untuk mengonfigurasinya di IAR:
- Buka berkas proyek IAR dan buka properti proyek.
- Pilih tab Output Converter.

Selanjutnya, centang opsi "Generate additional output". Pada menu tarik-turun "Output format", pilih "Intel extended" untuk menghasilkan berkas *.hex atau "Binary" untuk menghasilkan berkas *.bin. Pilih opsi "Override default" dan masukkan nama berkas serta format yang diinginkan pada kotak teks. Klik "OK" untuk mengonfirmasi. Setelah proses kompilasi selesai, format berkas yang dipilih akan dihasilkan.
3. Pemrograman dengan Flash Loader Demonstrator
Flash Loader Demonstrator adalah alat pengunduh ISP dari ST, yang dapat digunakan untuk memprogram mikrokontroler STM32 atau STM8 melalui UART. Alat ini mendukung proses flashing berkas *.s19, *.hex, dan *.bin. Berikut ini adalah cara menggunakannya untuk memprogram mikrokontroler STM8:
- Hubungkan papan pengembangan STM8 ke komputer melalui UART dan instal perangkat lunak Flash Loader Demonstrator. Setelah instalasi, buka perangkat lunak tersebut, dan antarmuka utama akan muncul.
- Pilih port UART yang sesuai yang terhubung ke papan pengembangan STM8 di bawah menu tarik-turun Port Name.
- Di menu tarik-turun Echo, pilih Echo Mode untuk STM8S atau Disable untuk STM8L.

Selanjutnya, reset papan pengembangan STM8 dan segera klik tombol Next. Anda harus mengklik dalam waktu satu detik agar Flash Loader Demonstrator dapat menerima data dari BootLoader STM8. Jika berhasil, perangkat lunak akan beralih ke layar pemilihan perangkat STM8.
Jenis perangkat ditentukan oleh chip STM8 dan ukuran memori FLASH internalnya. Untuk mikrokontroler STM8S, pilih STM8_XXK dari menu tarik-turun. Untuk STM8L, pilih STM8L_XXK. Berdasarkan STM8S105C6 pada papan pengembangan kami, yang memiliki memori FLASH internal sebesar 32 KB, pilih STM8_32K dari menu tarik-turun.

Kemudian, klik Next, dan perangkat lunak akan meminta Anda untuk memilih berkas yang akan di-flash. Di kotak Download from file, telusuri jalur berkas program yang akan di-flash. Klik Next, dan berkas tersebut akan ditulis ke memori FLASH internal mikrokontroler STM8. Setelah proses flashing berhasil, perangkat lunak akan menampilkan pesan "Operasi pengunduhan selesai dengan sukses."
Terakhir, klik Tutup untuk keluar dari perangkat lunak Flash Loader Demonstrator. Atur ulang papan pengembangan STM8, dan mikrokontroler akan menjalankan program sesuai alur yang telah ditentukan. Perlu diperhatikan bahwa program telah disalin ke memori FLASH, dan Anda perlu mengatur ulang perangkat agar penunjuk melompat ke program pengguna dan memulai eksekusi. Jika Anda ingin program berjalan secara otomatis setelah proses flashing, centang opsi Lompat ke program pengguna.
Aplikasi Umum
- Otomotif: Unit kontrol, sensor, dan layar.
- Industri: Pengendalian proses, sistem otomatisasi, dan pengendali motor.
- Elektronik Konsumen: Perangkat pintar, remote control, dan peralatan rumah tangga kecil.
- Otomatisasi Rumah: Sistem rumah pintar, meteran energi, dan sistem keamanan.




