Deney 2. Seri İletişim Uygulamaları

Benzer belgeler
Deney 4. Gerçek Zamanlı Kesme Uygulamaları

MİKROBİLGİSAYAR LABORATUVARI DENEY RAPORU

Deney 2. Kesme Uygulamaları

Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Mühendislik Fakültesi, Biyomedikal Mühendisliği, Bölümü Tel:

BÖLÜM 6 Seri Port Đşlemleri

BÖLÜM Mikrodenetleyicisine Giriş

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

SOKKIA LINK PROGRAMI KULLANILARAK SOKKIA ELEKTRONIK TOTAL STATION CIHAZLARINA ( 10K VE 30RK SERILERI) DATA GÖNDERME VE ALMA İŞLEMİ

Code Composer Studio İndirilmesi ve Kurulması

SERNET ET485CAS x2 RS485/RS422 Seri Kanal Sunucu KULLANICI KILAVUZU. Telif Hakkı Uyarısı. >>> Otomasyon Ürünleri

RF İLE ÇOK NOKTADAN KABLOSUZ SICAKLIK ÖLÇÜMÜ

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

SERNET ET232CAS x2 RS232 Seri Kanal Sunucu KULLANICI KILAVUZU. Telif Hakkı Uyarısı. >>> Otomasyon Ürünleri

4 ANALİZ VE MODELLEME

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

C ile Gömülü Sistemler için Yazılım Geliştirme Eğitimi. Apr 10,

MTM 305 MİKROİŞLEMCİLER

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

ZTerminal KULLANMA KILAVUZU. yazılımı. USB Terminal

Bir motorun iç yapısı çok farklı gözükse bile, motorun uç davranışını bu iki türün birisi cinsinden tanımlamak her zaman mümkündür.

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

SERNET ET232CAS x2 RS232 Seri Kanal Sunucu KULLANICI KILAVUZU. Telif Hakkı Uyarısı. >>> Otomasyon Ürünleri

BETİ GSM/GPRS MODEM KULLANIM KILAVUZU

BÖLÜM 7 Kesmeler.

CP1E-ARGOX AS8000-R SERI PORT HABERLEŞMESİ GENEL BILGI BAĞLANTI ŞEMASI HABERLEŞME AYARLARI RXD KOMUTU HABERLEŞME PROGRAMI

TOPCON RECEIVER UTILITY (TRU)

Radyo Frekans Ayarları Klavuzu - ( )

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI MİKROİŞLEMCİLİ A/D DÖNÜŞTÜRÜCÜ

Barcode Ware. Kullanım Kılavuzu

e-tartı LTR3 Firmware Upgrade Yazılım Güncelleme Moduler Connection LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0.

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

MICROPROCESSORS ESA 86/88-3 KULLANIM KLAVUZU

Microsoft Outlook 2003 Kurulumu

RF Tabanlı Durum Kontrol Özelliğine Sahip LCD Gösterge RF Based LCD Display With Status Check

TEMEL BİLGİ TEKNOLOJİLERİ SORU-CEVAP ÇALIŞMA NOTLARI

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

DS150E Kullanıcı El Kitabı. Dangerfield June V3.0 Delphi PSS

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ. Uzaktan Kumanda Edilen Lamba Dimmer inin Gerçekleştirilmesi

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

ZS-SU-4500 SDI-12 USB ÇEVİRİCİ KULLANIM KILAVUZU

Harita güncelleme direktifleri

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

Kurulum Dökümanı. v

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR?

MODBUS PROTOKOLÜ ÜZERİNDEN KABLOLU VE KABLOSUZ ENERJİ İZLEME SİSTEMİ

4K HDMI Genişletici Set, 4K2K/60 Hz

OSI REFERANS MODELI-II

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

WiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman

GIGABYTE Slate PC'yi ilk kez kullanmak

446 GÖMÜLÜ SİSTEM TASARIMI. Lab 9 UART

DENEY-1. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Computer Networks 5. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

DENEY II RAPORU MİKROİŞLEMCİ UYGULAMALARI LABORATUVARI

Mikroişlemcili Sistemler ve Laboratuvarı

V1000-CP1E MODBUS HABERLEŞMESİ

Smartnet PRO-W Kullanım Kılavuzu

LCD (Liquid Crystal Display)

Scream! e gelen veri akışlarından bazılarını diğer bir kurum yada bilgisayarla paylaşmak için kullanılabilir.

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Seri Haberleşme (RS232) Uygulaması

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

BÖLÜM in Bellek Organizasyonu

Kurulum Dökümanı * v * Bu döküman FortiLogger versiyonu için hazırlanmıştır.

User [Şirket adını. LTr Kullanım Kılavuzu. yazın]

Hacettepe Robot Topluluğu

D-Link DSL-6740U KOLAY KURULUM KILAVUZU. TEKN K SERV S ve DESTEK. Kablosuz N300 ADSL/ADSL2+ VDSL/VDSL2 Router (D-Smart İnternet Kullanıcıları için)

İSTİHDAM VE SOSYAL UYUM İÇİN DİJİTAL BECERİLER

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

BİLGİ TEKNOLOJİLERİ EĞİTİM KILAVUZU

Grove Parmak İzi Okuyucu Sensör ile Arduino Uno

icono Kullanıcı Kılavuzu

HDMI GENİŞLETİCİ SET, FULL HD

BESLEME KARTI RF ALICI KARTI

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA

SPEEDSENSE KONFİGÜRASYON ARACI KULLANIM KILAVUZU

IFD8520 ADRESLENEBİLİR RS-485/RS-422 İZOLELİ ÇEVİRİCİ KULLANIM KILAVUZU

İvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır.

Hesap bilgilerinizi b7project yolu ile aldığınıza emin olun. Bu kılavuzu takip ederek b7project render çiftliğine bağlanın. Connection Intructions

idea rsbasic KOMUTLARI

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI

MY PANEL METER KULLANIM KILAVUZU

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

AC750 WiFi Menzil Genişletici RE200 Kurulum Dokümanı

SpamTitan CD'den kurulum

TachoMobile Server Uygulaması Kullanım Kılavuzu

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Genius OPA nin GnConfiguration.ini dosyası içindeki kullandığı parametreler.

Barcode Ware. Kullanım Kılavuzu

IMDS KURULUM KILAVUZU (AIOS TEDARİKÇİLERİ İÇİN HAZIRLANMIŞTIR)

HUNRobotX - Makaleler - Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı. Makaleler Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı

PIC16F877A nın Genel Özellikleri

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz;

Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz.

E5_C ile NB PANEL ARASI RS485 MODBUS HABERLEŞMESİ

Transkript:

Deney 2 Seri İletişim Uygulamaları Deneyin Amacı Seri iletişimin anlaşılması Seri iletişimin ayarlarının ve yazmaçlarının anlaşılması Program beklemeli seri iletişim kavramının anlaşılması Kesme tabanlı seri iletişim kavramının anlaşılması Deney Öncesi Yapılması Gerekenler 1. Seri iletişim kavramının araştırılması. 2. MC9S12 ailesi mikrodenetleyicilerde seri iletişim ve yazmaçların araştırılması. MC9S12C ailesi veri dökümanı (Ninova üzerinde bulunmaktadır) 13ncü kısmının (shf 385-413) okunması. Gereken Malzemeler 1. CSM-12C32 Deney Kiti Referans Belgeler [R1] MC9S12C Family Datasheet Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 1

Deney İçeriği Bir mikrodenetleyinin çevre birimleri ile haberleşebilmesi için paralel ve seri iletişim arayüzleri bulunmaktadır. Paralel iletişimde gönderilecek kelime boyu büyüdükçe kullanılması gereken kablo miktarı ve maliyet artmaktadır. Bu sebeple yüksek bant genişliği ile haberleşme gerektirmeyen çevre birimleri ile iletişim için seri iletişim arayüzü kullanılır. Seri iletişim arayüzünün kullanımında Kontrol yazmacı: İletişim hızı, alıcı ve vericinin etkinleştirilmesi, alıcı ve verici kesme hizmetlerinin etkinleştirilmesi gibi ayarlar için kullanılır. Durum yazmacı: Alıcının okunmaya veya vericinin yeni veriye hazır olduğu gibi seri iletişim arayüzünün durumu hakkında bilgi veren yazmaçlardır. Veri yazmacı: Alıcıdan verinin okunduğu ve vericiye verinin yazıldığı yazmaçtır. Bu yazmaçlardaki herbir bitin ne için kullanıldığı MC9S12C ailesi veri dokümanında bulunmaktadır. Seri iletişim arayüzü bir program içerisinde iki farklı şekilde kullanılabilir: 1. Program beklemeli: Program akışı veri aktarmak için vericinin hazır olmasını veya veri almak için bekler. Bu bekleme sırasında ilgili yazmaçlar sürekli kontrol edilir (polling). Veri gönderildikten veya alındıktan sonra program akışına devam eder. Saat hızı 8 Mhz olan bir mikrodenetleyiciyi bu şekilde bekletmek verimli değildir. Fakat bazı durumlarda programın akışını durdurup beklemesi gerekebilir. 2. Kesme tabalı: Kontrol yazmacında gerekli kesmeler etkinleştirildikten sonra program akışı durdurulmaz. Veri gönderimi için verici hazır olduğunda veya veri alımı için alıcı hazır olduğunda kesme sinyali üretilir. Program içerisindeki kesme hizmet programı gerekli işlemleri yerine getirir. Böylece mikrodenetleyici veri göndermek veya almak için beklemek ve durum yazmaçlarını kontrol etmek zorunda kalmaz. Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 2

Deneyde Yapılacaklar Bölüm 1 Seri iletişim arayüzü kullanarak karakter dizinin gönderilmesi Bu kısımda mikrodenetleyici üzerindeki seri iletişim arayüzü kullanarak, bilgisayar ile iletişim sağlanacaktır. Amaç seri iletişim arayüzünde sadece verici kısmı kullanarak bilgisayara karakter dizisinin gönderilmesidir. Bilgisayar tarafında hyperterminal programı kullanılacaktır. Bunun için öncelikle bilgisayarınızdaki hyperterminal programını başlatınız. Yeni bağlantıya bir isim verdikten sonra bağlantı noktası olarak COM1 portunu seçiniz. Daha sonra bağlantı ayarları olarak aşağıdaki şekilde görüldüğü gibi seçiniz. Şekil 1 - Hyperterminal bağlantı ayarları Daha sonra Code Warrior üzerinden bir assembly projesi başlatarak main.asm dosyasını aşağıdaki değiştirip, init_sci ve sendtext altprogramlarini tamamlayınız. init_sci altprogramında bağlantı ayarlarını 9600 bps (baud) olacak şekilde sci hız yazmaçlarına yazınız. Alıcıyı etkinleştirmek ve bağlantının 8 veri biti, paritesiz ve 1 dur biti olması için ise sci kontrol yazmacını kullanınız. Yazmaç bitlerinin ne manaya geldiği ekte anlatılmıştır. Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 3

sendtext altprogramı X yazmacında gönderilen adresten başlayarak karakterleri hafızadan okuyup, sci durum yazmacından vericinin gönderime hazır olduğunu kontrol ederek NULL (sıfır) karakteri gelene kadar gönderecektir. ;***************************************************************** ;* This stationery serves as the framework for a * ;* user application (single file, absolute assembly application) * ;* For a more comprehensive program that * ;* demonstrates the more advanced functionality of this * ;* processor, please see the demonstration applications * ;* located in the examples subdirectory of the * ;* Freescale CodeWarrior for the HC12 Program directory * ;***************************************************************** ; export symbols XDEF Entry ABSENTRY Entry this as application entry point ; export 'Entry' symbol ; for absolute assembly: mark ; include derivative specific macros INCLUDE 'mc9s12c32.inc' ROMStart EQU $4000 ; absolute address to place my code/constant data ; variable/data section ifdef _HCS12_SERIALMON ORG $3FFF - (RAMEnd - RAMStart) else ORG RAMStart endif ; Insert here your data definition. Message DC.B "Sacma ey goz eskden gonlumdeki odlara su, kim bu denlu tutusan odlara kilmaz care su",0 ; code section ORG ROMStart Entry: ; remap the RAM & EEPROM here. See EB386.pdf ifdef _HCS12_SERIALMON ; set registers at $0000 CLR $11 ; INITRG= $0 ; set ram to end at $3FFF LDAB #$39 STAB $10 ; INITRM= $39 ; set eeprom to end at $0FFF LDAA #$9 STAA $12 ; INITEE= $9 LDS #$3FFF+1 ; See EB386.pdf, initialize the Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 4

stack pointer else LDS #RAMEnd+1 ; initialize the stack pointer endif CLI ; enable interrupts mainloop: l1: JSR initsci LDX #Message JSR sendtext BRA l1 initsci: sendtext: ; SCI hız yazmacının ayarlarını 9600 baud ; SCI kontrol yazmacının ayarlarını yapın ; SCI vericisini aktif hale getirin RTS ; SCI durum yazmacı degerlerinden vericinin yeni veri ; icin hazır olup olmadığını kontrol ederek ; NULL (0) karakterine kadar olan karakterleri tek tek ; gönderin RTS ;************************************************************** ;* Interrupt Vectors * ;************************************************************** ORG $FFFE DC.W Entry ; Reset Vector Programı yazıp derledikten sonra CSM12C32 kartına yükleyip Real-time debugger programını sonlandırın. Hyperterminal programını yukarıda anlatıldığı şekilde ayarladıktan sonra kartın reset düğmesine basarak yüklediğiniz programı çalıştırın. Program çalıştığında hyperterminal ekranında gönderilen karakter dizisi görünecektir. Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 5

Bölüm 2 Bilgisayarın seri iletişim arayüzünden gönderdiği karakterlerin programbeklemeli olarak okunup belleğe yazılması Bu kısımda seri iletişim arayüzünün vericisi ile birlikte alıcısı da kullanılacaktır. Hyperterminal programına girilen karakter dizisi ENTER tuşuna basılıncaya veya hafıza ayırılan yer doluncaya kadar okunacak ve hafızaya yazılacaktır. ;**************************************************************** ;* This stationery serves as the framework for a * ;* user application (single file, absolute assembly application) * ;* For a more comprehensive program that * ;* demonstrates the more advanced functionality of this * ;* processor, please see the demonstration applications * ;* located in the examples subdirectory of the * ;* Freescale CodeWarrior for the HC12 Program directory * ;***************************************************************** ; export symbols XDEF Entry ABSENTRY Entry ; export 'Entry' symbol ; include derivative specific macros INCLUDE 'mc9s12c32.inc' ROMStart EQU $4000 ; absolute address to place my code/constant data ; variable/data section ifdef _HCS12_SERIALMON ORG $3FFF - (RAMEnd - RAMStart) else ORG RAMStart endif ; Insert here your data definition. Buffer DS.B 16 Message DC.B "Karakter dizisi giriniz: ",0 ; code section ORG ROMStart Entry: ; remap the RAM & EEPROM here. See EB386.pdf ifdef _HCS12_SERIALMON ; set registers at $0000 CLR $11 ; INITRG= $0 ; set ram to end at $3FFF LDAB #$39 STAB $10 ; INITRM= $39 Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 6

; set eeprom to end at $0FFF LDAA #$9 STAA $12 ; INITEE= $9 endif mainloop: l1: LDS LDS CLI #$3FFF+1 #RAMEnd+1 JSR initsci LDX #Message JSR sendtext LDX #Buffer JSR waittext LDX #Buffer JSR sendtext BRA l1 ; enable interrupts initsci: ; SCI hız yazmacının ayarlarını 9600 baud ; SCI kontrol yazmacının ayarlarını yapın ; SCI vericisini ve alıcısını aktif hale getirin RTS sendtext: ; SCI durum yazmacı degerlerinden vericinin yeni veri ; icin hazır olup olmadığını kontrol ederek ; NULL (0) karakterine kadar olan karakterleri tek tek ; gönderin RTS waittext: ; Durum yazmacından gelen verinin hazır olup ; olmadığını kontrol edip, hazırsa okuyun ; Alınan karakter sayısı bellek_boyu-1 den küçük ; ise belleke yaz ; Okunan karakter ENTER tuşu ise veya alınan karakter ; sayısı bellek_boyu-1 olmuş ise son karakter olarak ; NULL yazılıp programa geri dön ;************************************************************** ;* Interrupt Vectors * ;************************************************************** ORG $FFFE DC.W Entry ; Reset Vector Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 7

Raporda İstenenler Herbir bölümde kullanılan yazılımın dökümünü veriniz. Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 8

Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 9

Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 10

Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 11

Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 12

Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 13

Son Değişiklik : 21.11.2007, Hazırlayan: MK Sayfa 14