STM8S105K4 Mikrodenetleyici: Genel Bakış, Temel Özellikler ve Pratik Uygulamalar

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.
STM8S105K4 LQFP48 pinout
STM8S105K4 LQFP48 pinout

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 block diagram
STM8S105K4 block diagram

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:

  1. Tüketici Elektroniği: Ev aletleri, uzaktan kumandalar ve ekran kontrolü
  2. Endüstriyel Kontrol: Motor kontrolü, HVAC sistemleri ve PLC modülleri
  3. Otomotiv Uygulamaları: Sensör arayüzü, gösterge paneli kontrolü ve aydınlatma sistemleri
  4. Sağlık: Tıbbi cihazlar, izleme sistemleri ve taşınabilir sağlık ekipmanları
  5. 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çinde user.

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 ve OK.
    • Dosyayı .ewp dosyayı test/user dosyayı test.
Create a new project on IAR Embedded Workbench IDE
Create a new project on IAR Embedded Workbench IDE

Proje Grubu Ekle:

    • Menüye gidin ve tıklayın Project -> Add Group.
    • Gruba ad verin userve tıklayın OK.
Add Project Group for STM8S105K4
Add Project Group for STM8S105K4

Ana Dosya Oluştur:

    • Şuraya gidin File -> New -> File'e gidin, ardından dosyayı main.c.
    • Ekle main.c adıyla user grubuna
Create a main.c file and add it to the user group
Create a main.c file and add it to the user group

IAR Ortamının Yapılandırılması

Proje Seçenekleri:

    • Hedefe yönel ve tıkla Project -> Options.

Hedef Cihazı Belirle:

    • [ General Options -> Target -> Device, STM8S105K4 (veya kendi cihaz modelinizi) seçin.
Set target device STM8S105K4 in project options
Set target device STM8S105K4 in project options

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.
Configure include path in CC Compiler Preprocessor
Configure include path in CC++ Compiler - Preprocessor

Hata Ayıklayıcıyı Kurma:

    • Burada Debugger -> Setup, Driver 'i ST-LINK.
    • Tıklayın OK 'i tıklayın.
Setup debugger driver as ST LINK
Setup debugger driver as ST-LINK

Kodu ekleyin ve projeyi derleyin:

    • Şuraya main.c, aşağıdaki kodu girin, ardından Project -> Rebuild All.
    • Eğer Total number of errors: 0 ve Total number of warnings: 0görüyorsanız, proje doğru şekilde kurulmuştur.
Add LED blinking code to main.c file for STM8S105K4 project
Add LED blinking code to main.c file for STM8S105K4 project

Başlık Dosyasını Dahil Et:

    • Başlık dosyasının IOSTM8S105K4.h IAR kurulum dizininde mevcut olduğundan emin olun:
      Software (E:) > IAR for STM8 > arm > inc > ST.
iostm8s105k4.h header file
iostm8s105k4.h header file

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ı

  • PE5LED1K 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ı

  1. 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.
  2. 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 Tabs seçeneğine gidin.
Modify the AFR7 for PD4
Modify the AFR7 for PD4

Paylaş:

Scroll to Top

Anında Fiyat Teklifi

Instant Quote