Verimliliği ve çok yönlülüğüyle tanınan STM8S105K4 mikrodenetleyici, tüketici elektroniği ve endüstriyel sistemlerdeki gömülü uygulamalar için sağlam bir tercihtir. Bu makale, mikrodenetleyicinin temel özellikleri, pin yapılandırması ve blok şemasına genel bir bakış sunmanın yanı sıra, IAR Embedded Workbench'te bir proje kurmaya yönelik adım adım bir kılavuz da içermektedir. Temel GPIO kontrolü için örnek kodlar ve programlama ile hata ayıklama talimatları içeren bu kılavuz, STM8S105K4 ile hızlı ve etkili bir şekilde çalışmaya başlamanıza yardımcı olacaktır.
Genel Bakış
STM8S105K4, STMicroelectronics tarafından üretilen ve STM8 ailesinin bir parçası olan 8 bitlik bir mikrodenetleyicidir. Performans, enerji verimliliği ve uygun fiyat arasında bir denge sağlayarak çok çeşitli uygulamalar için tasarlanmıştır. Gelişmiş çevre birimleri ve gömülü EEPROM'u sayesinde STM8S105K4, tüketici elektroniği, endüstriyel sistemler ve daha birçok alandaki genel amaçlı kontrol görevleri için uygundur.
Özellikler ve Teknik Özellikler
- Çekirdek: Harvard mimarisine sahip, 16 MHz'e kadar hızda çalışan 8 bit STM8 çekirdeği.
- Bellek:
- Flash bellek: 16 KB
- RAM: 1 KB
- EEPROM: 640 bayt
- Zamanlayıcılar:
- 16 bit gelişmiş kontrol zamanlayıcı (TIM1)
- 16 bit genel amaçlı zamanlayıcı (TIM2)
- 8 bit temel zamanlayıcı (TIM4)
- İletişim Arabirimleri:
- Çok yönlü bağlantı için UART, I²C ve SPI arayüzleri.
- Analog Özellikler:
- 5 kanala kadar 10 bit ADC
- Gelişmiş analog hassasiyet için dahili voltaj referansı
- GPIO:
- Programlanabilir pull-up, çıkış türü ve hız ayarlarına sahip çoklu I/O pini
- 38 adede kadar I/O bağlantı noktası (pakete bağlı olarak)
- Çalışma Gerilimi: 2,95 V ila 5,5 V
- Sıcaklık Aralığı: -40°C ila +85°C (endüstriyel sınıf)
- Paketleme: LQFP32 ve diğer kompakt paket seçeneklerinde mevcuttur.
Çam Yapılandırması
STM8S105K4, paketine bağlı olarak 48 adede kadar G/Ç pini sunar; bu pinler ADC girişi, PWM çıkışı, UART, SPI, I²C ve genel amaçlı dijital G/Ç gibi çeşitli işlevler için yapılandırılabilir. Önemli GPIO'lar şunlardır:
- Port A (PA0 ila PA7): Dijital G/Ç ve alternatif işlevler için yapılandırılabilir.
- Port B (PB0 ila PB7): Öncelikle G/Ç için kullanılır; belirli pinler alternatif işlevleri destekler.
- Port C, D ve E: PWM üretimi dahil olmak üzere ek I/O, analog giriş ve zamanlayıcı işlevlerini destekler.

Her bir pin, hem itme-çekme hem de açık drenaj modlarını destekleyerek giriş veya çıkış olarak ayrı ayrı yapılandırılabilir. Ayrıca, pinler ESD korumalıdır ve LED ile röle sürme uygulamaları için yüksek sürüş gücüne sahip çıkışlar sağlayabilir.
Blok Şeması

STM8S105K4'ün blok şeması şunları içerir:
- Çekirdek: Saat kontrolü, program sayacı ve 8 bit işlem için ALU içeren STM8 çekirdeği.
- Bellek Birimleri:
- Kod depolama için Flash bellek
- Veri saklama için EEPROM
- Genel amaçlı kullanım için SRAM
- Çevre Birimleri:
- Analog sinyal işleme için ADC
- Olay zamanlaması, PWM ve dalga formu üretimi için zamanlayıcılar (TIM1, TIM2 ve TIM4)
- Sensörler, ekranlar ve diğer modüllerle bağlantı için iletişim arayüzleri (UART, SPI ve I²C)
- Sistem Kontrolü:
- Dahili ve harici saat kaynaklarına sahip saat üretme birimi
- Sistem güvenilirliği için izleme zamanlayıcısı
- Düşük güç modlarına sahip güç yönetimi birimi
- G/Ç Kontrolü: Harici cihazlarla arayüz oluşturmak için GPIO yapılandırması ve yönetimi
Bu modüler mimari, gerçek zamanlı kontrolden seri iletişime kadar çeşitli görevlerin yerine getirilmesinde esneklik sağlar.
Uygulamalar
STM8S105K4 mikrodenetleyici, aşağıdakiler dahil olmak üzere çok çeşitli uygulamalar için idealdir:
- Tüketici Elektroniği: Ev aletleri, uzaktan kumandalar ve ekran kontrolü
- Endüstriyel Kontrol: Motor kontrolü, HVAC sistemleri ve PLC modülleri
- Otomotiv Uygulamaları: Sensör arayüzü, gösterge paneli kontrolü ve aydınlatma sistemleri
- Sağlık: Tıbbi cihazlar, izleme sistemleri ve taşınabilir sağlık ekipmanları
- IoT Cihazları: Akıllı sensörler, kablosuz modüller ve enerji ölçümü
Analog, dijital ve iletişim özelliklerinin birleşimiyle STM8S105K4, tasarımcıların çeşitli endüstrilerde verimli, çok yönlü ve uygun maliyetli gömülü sistemler oluşturmasına olanak tanır.
STM8S105K4 için bir IAR Projesi Oluşturma
Bu örnekte, STM8S105K4 mikrodenetleyiciyi kullanarak LED'i yakmak için bir IAR projesi oluşturacağız.
Gerekli Araçlar
Donanım Bileşenleri:
- STM8S105K4 Mikrodenetleyici
- ST-LINK/V2 Hata Ayıklayıcı ve Programlayıcı
- STM8S105K4 Geliştirme Kartı (isteğe bağlı)
- LED ve Direnç (1KΩ)
- Deney Kartı ve Atlama Kabloları
Yazılım Araçları:
- STM8 için IAR Embedded Workbench
- ST Visual Programmer (STVP)
Projeyi Oluşturma Adımları
Proje Klasörü Oluştur:
- "Proje" adında bir klasör oluşturun
testadlı bir klasör oluşturun ve bunun içindeuser.
- "Proje" adında bir klasör oluşturun
IAR Embedded Workbench'i açın:
- STM8 için IAR'ı açın (sürüm 9.40.2).
Yeni Proje Oluştur:
- Şuraya gidin
Project->Create New Project. - İletişim kutusunda
STM8 Series->Empty projectseçin veOK. - Dosyayı
.ewpdosyayıtest/userdosyayıtest.
- Şuraya gidin

Proje Grubu Ekle:
- Menüye gidin ve tıklayın
Project->Add Group. - Gruba ad verin
userve tıklayınOK.
- Menüye gidin ve tıklayın

Ana Dosya Oluştur:
- Şuraya gidin
File->New->File'e gidin, ardından dosyayımain.c. - Ekle
main.cadıylausergrubuna
- Şuraya gidin

IAR Ortamının Yapılandırılması
Proje Seçenekleri:
- Hedefe yönel ve tıkla
Project->Options.
- Hedefe yönel ve tıkla
Hedef Cihazı Belirle:
- [
General Options->Target->Device,STM8S105K4(veya kendi cihaz modelinizi) seçin.
- [

Dahil Etme Yollarını Yapılandır:
- Şuraya
C/C++ Compiler->Preprocessor,"$PROJ_DIR$\..\user". - Bu sözdizimi, proje dizini içindeki dahil etme dosyası yolunu belirtir.
- Şuraya

Hata Ayıklayıcıyı Kurma:
- Burada
Debugger->Setup,Driver'iST-LINK. - Tıklayın
OK'i tıklayın.
- Burada

Kodu ekleyin ve projeyi derleyin:
- Şuraya
main.c, aşağıdaki kodu girin, ardındanProject->Rebuild All. - Eğer
Total number of errors: 0veTotal number of warnings: 0görüyorsanız, proje doğru şekilde kurulmuştur.
- Şuraya

Başlık Dosyasını Dahil Et:
- Başlık dosyasının
IOSTM8S105K4.hIAR kurulum dizininde mevcut olduğundan emin olun:Software (E:) > IAR for STM8 > arm > inc > ST.
- Başlık dosyasının

Kod Yazma, İndirme ve Hata Ayıklama
Aşağıdaki kod, PE5 pinine bağlı bir LED'i bir gecikme döngüsüyle kontrol ederek LED'in yanıp sönmesini sağlar.
#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
}
}
}
}
Donanım Bağlantıları
- PE5 → LED → 1K Direnç → Toprak
Kodu yükleyip programı başlattıktan sonra, PE5 üzerindeki LED'in yanıp söndüğünü görmelisiniz; bu, proje kurulumunun tamamlandığını gösterir.
STM8S105K4 ile Pasif Sesli Uyarı Cihazını Çalıştırma
Bu örnekte, STM8S105K4 mikrodenetleyicisinin PD4 pini pasif bir sesli uyarı cihazını çalıştırmak için kullanılıyor. Sesli uyarı işlevi, PD4’ün alternatif işlevlerinden biridir. AFR7 bitini yapılandırarak PD4 için bu alternatif işlevi etkinleştirebiliriz; bu sayede PD4, sesli uyarı cihazını çalıştırabilir.
Kod Yürütme
/* 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
}
PD4 sesli uyarı cihazının programlanması ve yapılandırılması
- Programı ST-Link ve STVP Yazılımı ile Yükleyin:
- ST-Link programlayıcıyı ve resmi STVP yazılımını kullanarak hex dosyasını mikrodenetleyiciye yükleyin.
- STVP'de Yazma ve Yapılandırma Adımları:
- Adım 1: STVP yazılımını açın, "PROGRAM MEMORY" seçeneğini seçin,
File -> Open'e gidin ve kaydedilmiş hex dosyasını bulun. - Adım 2: "OPTION BYTE" seçeneğini seçin ve PD4 için alternatif işlevi etkinleştirmek üzere AFR7 bitini değiştirin.
- Adım 3: Yazılım menüsünde
Program -> All Tabsseçeneğine gidin.
- Adım 1: STVP yazılımını açın, "PROGRAM MEMORY" seçeneğini seçin,





