STM32 LCD kütüphanesi yazmak için STM32CubeMX ayarlarının yapılması ve Keil µVision da alt programlarının yazılması LCD ekranın yapısının incelenmesi

STM32 LCD kütüphanesi İçerik

  1. LCD pinlerini belirleme
  2. STM32F103C8T6 de kullanılacak pinleri belirleme
  3. STM32CubeMX de STM32F103C8T6 mikroişlemcinin gerekli konfigürasyon ayarlarının yapılması
  4. Keil µVision da programlarının yazılması
    1. µSec bekletme işlemlerini yapabilmek için TIM1 ile timer interrupt kullanılarak alt program yazılması
    2. 8 bitlik verilerin 4’er bitlk halinde LCD ekrana göndermek için 4 bitlik veri gönderme alt programın yazılması
    3. 8 bitin ilk 4 bit veya son 4 bitlik halinde gönderebilmek için LCD ye gerekli komutların yazılabilmesi için komut gönderme alt programı yazılması
    4. mikroişlemcideki verilerin LCD ye gönderebilmek için veri gönderme alt prorgramın yazılması
    5. LCD 2 satır ve 16 sutundan oluştuğu LCD ye yazılan verilerin bu satırların ve sutunların içerisinde kalması için satır ve sutun kontrolü yapan kursor alt programı yazılması
    6. LCD ye yazılan verilerin silebilmek için slme alt programı yazılması
    7. LCD nin çalışabilmesi için başlangıçta bazı ayarlarının ayaralanıp şartlanması lazım bun için şartlama alt programı yazılması
    8. LCD ye verilerin uzun string şeklinde yazabilmek için string yazma alt programı yazılması
  5. Devre bağlantılarının yapılması
  6. devrenin çalıştırılması

Liqued Crystal Display (LCD) 2×16

STM32 LCD Kütüphanesi ve Liqued Crystal Display (LCD) 2x16

Liqued Crystal Display (LCD) 2(Satır) X 16(Sütun) Pin Bağlantıları
1->VSS (GND)
2->VDD (+5V)
3->VE (+5V) Contrast
4->RS (INPUT) PA_2
5->R/W (GND)
6->EN (INPUT) PA_1
7->D0 (GND)
8->D1 (GND)
9->D2 (GND)
10->D3 (GND)
11->D4 PA_4
12->D5 PA_5
13->D6 PA_6
14->D7 PA_7
15->BL_ANOT (+5V)
16->BL_KATOT (GND)

STM32CubeMX STM32 LCD Kütüphanesi Ayarları

STM32 LCD Kütüphanesi kodlarını yazmaya başlamadan önce STM32F103C8T6 nın önce System Core ayarları kısmından GPIO ayarlarını yapıyoruz aşağıdaki resimde görüldüğü gibi PA_1, PA_2, PA_4, PA_5, PA_6, PA_7 pinlerini GPIO_Output yapıyoruz. isteğe bağlı olarak User Label adlerını değiştirebilirsiniz.

Yine System Core ayarları kısmından SYS ayarına gelerek Debug yazan yeri Serial Wire seçiyoruz. Nedeni seri haberleşme yapabilmek için.

Tekrar System Core ayarları kısmından RCC ayarına gelerek High Speed Clock (HSE) yazan yeri Crystal/Ceramic Resoator seçiyoruz. Nedeni mikroişlemcimizi maximum 72 MHz hızında çalıştırabilmek için.

Timers ayarları kısmından TIM1 ayarına gelerek NVIC Settings kısmında bir şey seçmemize gerek yok

Yine Timers ayarları kısmından TIM1 ayarına gelerek Parameter Settings kısmında µSec şeklinde bekletme yapabilmek için timer interrupt kullanmamız gerekiyor bunuda 1 µSec şekilinde ayarlamak için prescaler 72-1 den 71 seçiyoruz auto reload register ise maximum 65536-1 den 65635 seçiyoruz.

Clock Configration ayarları kısmında HCLK(MHz) olan yere 72 yazıyoruz ve karşımıza gelen ekrana ok diyoruz bu şekilde mikroişlemcimiz 72MHz hızında çalışmış olacak.

Project Manager ayarları kısmında

Project Name yazan yere projemizin adını

Project Location yazan kısımdan projenin kayıt olacağı yeri seçiyoruz (kayıt edilecek yolda türkçe karakter ve boşluk olmamasına dikkat edin yoksa hata alırsınız)

Toolchain / IDE yazan yerden MDK-ARM seçiyoruz

Yine Project Manager ayarları kısmında sol ortada olan Code Generator seçiyoruz ve karşımıza gelen ekranın üst tarafında STM32Cube MCU packages and embedded software packs kısmından ortadaki olan Copy only the necessary library files seçiyoruz

Sağ yukarıda facebook simgesinin altındaki GENERATE CODE yazan yere tıklıyoruz ve STM32CubeMX bizim için ayarladığımız formatda gerekli kodları ve kütüphaneleri oluşturuyor.

Karşımıza gelen ekranda Open Project diyoruz ve bizim için derlenen kodlar µVision MDK ARM programı karşımıza geliyor.

MDK ARM STM32 LCD Kütüphanesi

STM32 LCD Kütüphanesi için gerekli ayarlamaları yaptıktan sonra şimdi STM32 LCD Kütüphanesi kodlarımızı yazmaya başlayabiliriz.

LCD ekranın hangi pinlerini kullanılacağını belirledikten sonra kod yazarken işlem kolaylığı olması için LCD pinlerini define komutu ile şartlanması

STM32 LCD Kütüphanesi define tanımlamaları

STM32 LCD Kütüphanesi için en başta, LCD ekranda gerekli komutların onaylanması için belirli bir süre lojik 1 de kalması gerekmektedir bunun için STM32F103C8T6 nın Timer kesmesini kullanarak 1µSec cinsinden bekleme ayarlanamsı STM32CubeMX de ayarlandıktan sonra sayma içlemini başlatıp istediğimiz sayıya ulaşana kadar, sürenin delay_us alt programı ile kontrolünü sağlıyoruz.

STM32 LCD Kütüphanesi alt sayıcı programı

LCD ekrana 4 bitlik veri gönderme

STM32 LCD Kütüphanesi LCD ekrana 4 bitlik veri gönderme

LCD ekrana 8 Bitlik verinin önce ilk 4 bit sonra son 4 bit şeklinde 4 er bitlik halinde gönderilmesi

STM32 LCD Kütüphanesi LCD ekrana 8 bitlik verileri 4 bitlik veriler halinde gönderebilmek için alt komut programı

STM32 LCD Kütüphanesi LCD ekranda yazdırmak istediğimiz verilerin gönderen alt program

STM32 LCD Kütüphanesi LCD ekrandaki verilerin silinmesi

STM32 LCD Kütüphanesi LCD ekran kursor ayarlarınması

STM32 LCD Kütüphanesi LCD ekranın başlangıçta yapılan bazı şartlanma ayarları

STM32 LCD Kütüphanesi Benzer www.cihancalli.com.tr Adresindeki Girişimcilik Yazıları

Diğer Web Sayfalarımız

Leave a Reply

Your email address will not be published. Required fields are marked *