Ayhan Yüksel. (Son güncelleme: 06.03.2013 Berat Doğan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları (06.03.2013)



Benzer belgeler
KOMUT TABLOSU İLE İLGİLİ AÇIKLAMALAR:

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

Mikrobilgisayar Mimarisi ve Programlama

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

BÖLÜM 4. Dahili veri hafıza transfer komutlarının genel yapısı, mov <hedef>, <kaynak> şeklindedir

Y. Müh. Ayhan Yüksel. (Son güncelleme: Zafer Đşcan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları ( )

8051 MİMARİSİ. Temel mimari yapısı Şekil 3.1 de görülmekte olan 8051 mikrodenetleyici ailesinin başlıca özellikleri aşağıda verilmiştir.

SAUEEE.ORG. Önce C 00 Sonrası C 00

BÖLÜM in Bellek Organizasyonu

ASSEMBLY DİLİNDE PROGRAMLAMA

LCD EKRANIN SÜRÜLMESİ VE FLASH/EE HAFIZASININ KULLANILMASI

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

MİKROİŞLEMCİ LABORATUARI UYGULAMA ÖRNEKLERİ

BÖLÜM MİKROİŞLEMCİSİ

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

Mikroişlemciler-IMikrodenetleyiciler. Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

PROGRAMCI KLAVUZU VE KOMUT SETLERİ

Adresleme Modları. Mikroişlemciler ve Mikrobilgisayarlar

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

8086 Mikroişlemcisi Komut Seti

BÖLÜM Mikrodenetleyicisine Giriş

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

UYGULAMA-2 1. ÖZET 2. UYGULAMALAR. 2.1 PORT2 nin kullanımı

BÖLÜM 6 Seri Port Đşlemleri

EEM 419-Mikroişlemciler Güz 2017

Mikrobilgisayar Mimarisi ve Programlama

Mikroişlemcili Sistemler ve Laboratuvarı

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

ADUC841 MİKRODENETLEYİCİ TABANLI GELİŞTİRME KARTININ TANITIMI:

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

MİKROBİLGİSAYAR SİSTEMLERİ VE ASSEMBLER

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

B.Ç. / E.B. MİKROİŞLEMCİLER

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

BÖLÜM 7 XTAL2 XTAL1. Vss. Şekil Mikrodenetleyicisi osilatör bağlantı şekli. Bir Makine Çevrimi = 12 Osilatör Periyodu

Alt Programdan Ana Programa Dönüş Adresine Donanım Tarafından Hesaplanması

MTM 305 MİKROİŞLEMCİLER

JZ TEST3 (7/3) 1 makine çevrimi süresi

Şekil. 64 Kelimelik Yığıtın Blok Şeması

Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR

(5 soru seçerek cevaplandırınız. Seçilen soru numaralarını yukarıdaki çizelgede işaretleyiniz) Sınav süresi 100 dakikadır. Başarılar dileriz.

Tıbbi Enstrumantasyon Tasarımı ve Uygulamaları

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

LCD (Liquid Crystal Display)

BM-311 Bilgisayar Mimarisi

8051 & ADuC8xx EĞİTİM NOTLARI Selim DİLMAÇ

Mikrobilgisayar Donanımı

İ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

XC8 ile PİC uygulamaları

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

8051 DONANIM ÖZELLİKLERİ

Çalışma Açısından Bilgisayarlar

2011 Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

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

Hacettepe Robot Topluluğu

BÖLÜM I GİRİŞ. 1- Merkezi İşlem Birimi(Central Processing Unit-CPU) 2- Hafıza (Memory) 3- Giriş/ Çıkış(I/O) Birimleri

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

Embedded(Gömülü)Sistem Nedir?

PIC16F877A nın Genel Özellikleri

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

DOKUMANLAR

MİKROİŞLEMCİLER LABORATUVARI İÇİN PROGRAM DERLEME VE YÜKLEME DOKÜMANI

Haftalık Ders Saati Okul Eğitimi Süresi

ACR-Net 100 Kullanım Kılavuzu

MİKROİŞLEMCİ MİMARİLERİ

İ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Ü

Mikrodenetleyiciler İ ZMİ R 8051 Uygulamaları

EEM 437 MİKROİŞLEMCİLER DERS NOTLARI

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1

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

Komutların Yürütülmesi

BÖLÜM 7 Kesmeler.

MTM 305 MĠKROĠġLEMCĠLER

Algılayıcılar / Transmitter

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

Özet DERS 5. Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma. Bayraklardaki Durumlar. İşaretli Çarpma

BM-311 Bilgisayar Mimarisi

Bölüm 9 A/D Çeviriciler

Mikroişlemci ile Analog-Sayısal Dönüştürücü (ADC)

ADUC814 MİNİKİT. RS-232 Ara Bağlantı Kablosu & ADuC8xx EĞİTİM NOTLARI Bölüm 9

ATB50. Bilgi Dokümanı. ATB50v1 GPRS / GPS Tabanlı Filo Yönetim Terminali. 1

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

Kesmeler (Interrupts)

MTM 305 MİKROİŞLEMCİLER

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

DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü

BİLGİSAYAR KONTROLLÜ KAMERALI ROBOT KOL PROJESİ

PIC Mikrodenetleyicileri

Bellekler. Mikroişlemciler ve Mikrobilgisayarlar

BQ Modbus Analog Giriş Kartı 6 Kanal 4 20mA. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Giris {\} /\ Suhap SAHIN

Transkript:

ADuC 841 μ-denetleyicisi Ayhan Yüksel (Son güncelleme: 06.03.2013 Berat Doğan) Tıbbi Enstrumantasyon Tasarım & Uygulamaları (06.03.2013) 1

Sunum Planı Mikrodenetleyici ADuC841 mikrodenetleyicisi ADuC 841 kullanımı Uygulama devresi Program derlemesi Bellek Dâhilî bellek Program belleği Veri belleği XRAM 8052 programlama dili Saklayıcılar Komutlar Örnek 2

µ-denetleyici Mikro (µ) denetleyici üzerinde bir mikroişlemciye ek olarak çeşitli çevre birimlerini (ADC, DAC, UART vs.) bulunduran bir entegre devredir. µ -denetleyiciler çok çeşitli yerlerde kullanılabilir: LCD ekran, tuş takımı olan çoğu cihazda, Otomobillerde (motor, fren sistemi vs.) Uzaktan kontrollü cihazlarda, Dijital kamera, cep telefonu, yazıcı, mp3 çalar, Çamaşır makinesi, bulaşık makinesi, Medikal cihazlar (hasta takip cihazları, ölçüm cihazları) 3

µ-denetleyici ADuC 841 iç yapısı 4

ADuC 841 mikrodenetleyicisi ADuC 841, 52 bacaklı SMD kılıf içerisinde, 8052 uyumlu 8-bit mikroişlemci, yüksek performanslı 12 bit ADC/DAC, Flash/EE/program/veri belleği bulunduran bir mikrodenetleyicidir. 5

ADuC 841 mikrodenetleyicisi ADuC841, 8 kanal 12 bit çözünürlüğe sahip ADC, 2 kanal 12 bit çözünürlüklü DAC, güç kaynağı göstergesi ve bandgap reference* gibi analog özelliklere de sahiptir. * Bandgap referansları, A/D çeviriciler, DRAM ler, flash hafıza devreleri gibi CMOS entegre devrelerinde, yüksek doğrulukları ve sıcaklıktan bağımsız olmaları nedeniyle sıklıkla kullanılmaktadır. 6

ADuC 841 mikrodenetleyicisi ADuC841, TIC (time interval counter), WDT (watchdog timer), 3 adet timer/counter ve 2 seri I/O portu da çip üzerinde bulunmaktadır (SPI/UART). Fabrika yazılımı; devre üzerinde seri yükleme, debug mod(uart ile) ve tek pin emulasyon modunu (EA pini ile) desteklemektedir. Besleme gerilimi (3V veya 5V) Düzgün çalışma sıcaklığı aralığı: (-40 C --- +85 C) 7

ADuC 841 µ-denetleyicisi uygulama devresi DAC1 DAC0 GND ADC1 ADC0 VDD TX RX GND UART-RS232 çevirici (ADM 3202) TX RX ADuC 841 3.3V regülatör (ADP 3335) Reset Debug SDATA P2.0 P2.1 P2.5 P2.6 P2.7 8

Uygulama devresi-bilgisayar bağlantısı TX RX Bilgisayar RS232 port RS232 Kablo GND Uygulama devresi, RS232-UART çeviricisi ile bilgisayara bağlanır. Bilgisayar-denetleyici bağlantısı, Seri port üzerinden veri alış-verişi ADuC 841 denetleyicisine program yüklenmesi ADuC 841 in program koşturmasına müdahale (debugging) amaçlarıyla yapılır. 9

Program Derleme (.asm) 8052 programlama dilinde program yazılır (deneme.asm) asm51 deneme.asm komutuyla derlenir hata yoksa; çıkış dosyaları üretilir. deneme.hex: makine kodunda derlenmiş program deneme.lst : derleme raporu hata varsa; hata deneme.lst dosyasından görülür, Program yeniden düzenlenir 10

BELLEK Genel Amaçlı Dâhilî RAM: 256 Byte Program Belleği: 62 kbyte elektriksel olarak silinebilen bellek Veri Belleği: 4 kbyte elektriksel olarak silinebilen bellek XRAM: 2 kbyte 11

Dahili RAM: Erişimin en hızlı olduğu bellek bölgesidir. Alt 128 byte lık bölüme doğrudan veya dolaylı olarak erişim yapılabilirken, üst 128 byte lık bölüme erişim yalnızca dolaylı olmalıdır. Dâhilî belleğin 20H-30H arasındaki bölümü bit adreslenebilir bölümdür. Buradaki her bitin adresi olup, tek bit gerektiği durumlarda kullanılabilir. 8052 işlemcisi 4 adet saklayıcı (register) bloğu içermektedir (RegBank 0-3) Bu bloklardan herhangi biri SFR ler (special function register) ile seçilebilir. http://www.8052.com/tutmemor.phtml 12

Dahili RAM: Lower 128 Bytes of Internal Data Memory PSW: Program Status Word (SFR) 13

Özel Đşlevli Saklayıcılar (SFRs): Özel işlevli saklayıcılar: - Giriş/Çıkış (I/O) portlarına erişim - Seri porta yazma veya seri porttan okuma - Baud rate ayarlama - Zamanlayıcıları ayarlama kontrol etme - Kesmeleri düzenleme gibi işlevleri yerine getirirler. http://www.8052.com/tutmemor.phtml 14

Program Belleği: Program belleğinde 8052 nin koştuğu program bulunmaktadır. ADuC841 denetleyicisi 62 KB elektriksel silinebilir flash bellek kullanmaktadır. Bu belleğe programın oluşturulması esnasında sabit veriler koyulabilir. MOVC komutu ile kod belleğinden buşekilde yazılmış bir veri okunabilir. Program belleği, programın koşması sırasında da okunup yazılabilir. 15

XRAM: ADuC841 denetleyicisi, 2 Kbyte harici bellek (XRAM) sağlamaktadır. XRAM, harici adres alanının alt 2 Kbyte lık kesiminde bulunmaktadır. Bu bellek bölgesine erişmek için CFG841 biti 1 olarak ayarlanmalıdır (MOV CFG841,#01H). Bu belleğe MOVX komutu ile erişilir. MOVX MOVX A,@DPTR Data pointer ın gösterdiği adresteki veri A saklayıcısına yüklenir. MOVX @DPTR,A A ın içeriği Data pointer ın gösterdiği adrese yüklenir. 16

8052 Programlama Dili - ADuC841, yapısında 8052 tabanlı mikroişlemci çekirdeği bulundurmaktadır. - 8052 işlemci 20 milyon işlem/saniye (MIPS) hızında çalışabilmektedir. Çoğu işlem tek çevrimde tamamlanabilmektedir. - Genel olarak komut yapısı aşağıdaki gibidir: ĐŞLEM hedef, kaynak (Đşlem sonucu hedef e yazılmaktadır. ) 17

8052 Programlama Dili Saklayıcılar Akümülatör ("A" ya da "ACC"): Bütün "operand" gerektiren işlemlerde kullanılabilir. 8 bitlik bir saklayıcıdır. B saklayıcısı ("B"): Akümülatör ile çarpma ve bölme işlemlerinde kullanılır. Bunun yanında, genel amaçlı bir saklayıcı gibi de kullanılır. Genel saklayıcılar (R0, R1, R2, R3, R4, R5, R6, R7): Çoğu işlemde operand olarak kullanılabilirler. Yalnız R0 ve R1, dolaylı adreslemede kullanılır. Bellekte bulunan saklayıcı gözleri arasında geçiş yapılabilir. 18

8052 Komut Seti Cebirsel komutlar Mantıksal komutlar Veri Aktarım komutları Đkililer üzerine uygulanan Dallanma komutları Diğer komutlar ADD ANL MOV CLR JMP NOP ADDC ORL MOVC SETB RET SUBB XRL MOVX CPL RETI INC CLR PUSH ANL CALL DEC CPL POP ORL CJNE MUL SWAP XCH MOV JC DIV RL XCHD JNC DA RLC JZ RR JNZ RRC DJNZ JNB JB JBC 19

8052 Komut Seti- MOV Biçim: MOV hedef, kaynak MOV A,R1 : R1 saklayıcısının içeriğini A ya kopyalar (Saklayıcı adresleme) R1 20H A 12H R1 20H A 20H MOV R7, #07H : Sabit bir değeri R7 saklayıcısına yazar (Đvedi Adresleme) R7 20H R7 07H MOV A,38H : Bir adresin (00H-7FH) içeriğini A ya kopyalar (Doğrudan Adresleme) 38H 0C8H A 07H 38H 0C8H A 0C8H MOV 22H,@R0 : R0 veya R1 saklayıcılarının gösterdiği adresin içeriğini 22H adresine kopyalar (dolaylı adresleme) R0 99H 22H 000H R0 99H 22H 0FFH 99H 0FFH 99H 0FFH 20

8052 Komut Seti- MOV MOVX A,@DPTR : Harici belleğe 16 bitlik DPTR saklayıcısı kullanılarak erişilir. Erişim dolaylı olarak yapılmaktadır. DPTR nin içeriğinin gösterdiği adresten bir byte ı akümülatöre yükler. DPTR 1000H DPTR 1000H 1000H 68H 1000H 68H A 00H A 68H MOVC A,@A+DPTR MOVC A,@A+PC : Kod belleğine DPTR veya PC saklayıcısı kullanılarak erişilir. Erişim dolaylı olarak yapılmaktadır. MOVC, kod belleğinden bir byte ı akümülatöre yükler. Byte ın yükleneceği kod belleğinin adresi Akümülatörün değerini DPTR veya PC ile toplayarak hesaplanır. PC kullanıldığında, PC akümülatörler toplanmadan önce 1 arttırılır. 21

8052 Komut Seti CLR, SET, CPL CLR: bir biti sıfırlar. SETB: bir biti birler. CPL: bir biti ters çevirir. CLR C SETB C CPL C C 1 C 0 C 0 C 1 C 0 C 1 CPL C C 1 C 0 XCH XCH A, R7 A ve R7 saklayıcılarının içeriklerini yer değiştirir. A 64H R7 32H A 32H R7 64H 22

ANL, ORL ANL A,#56H A 0F2H 1 1 1 1 0 0 1 0 A 52H 0 1 0 1 0 0 1 0 56H 0 1 0 1 0 1 1 0 ORL A,R0 A 64H 0 1 1 0 0 1 0 0 A 76H 0 1 1 1 0 1 1 0 R0 12H 0 0 0 1 0 0 1 0 R0 12H 0 0 0 1 0 0 1 0 23

RL,RLC,RR,RRC RL: veriyi bir bit sola öteler (en soldaki bit en sağa taşınır) RR: veriyi bir bit sağa öteler (en sağdaki bit en sola taşınır) RLC: veriyi elde (C) bitini kullanarak bir bit sola öteler (C biti operand ın en sağ bitine atanır) RRC: veriyi elde (C) bitini kullanarak bir bit sağa öteler (C biti operand ın en sol bitine atanır) RL A A 1 1 0 1 0 0 1 0 A 1 0 1 0 0 1 0 1 RR A A 1 0 1 0 0 1 0 1 A 1 1 0 1 0 0 1 0 RLC A RRC A A 1 1 0 1 0 0 1 0 C 0 A 1 0 1 0 0 1 0 0 C 1 A 1 0 1 0 0 1 0 0 C 1 A 1 1 0 1 0 0 1 0 C 0 24

MOVC MOVC A,@A+DPTR Data pointer ın gösterdiği adresin A kadar ötesindeki bir byte A saklayıcısına yüklenir. ÖRNEK IO0010: MOV DPTR, #TITLE MOV A,B INC B MOVC A,@A+DPTR JZ IO0020 CALL SENDCHAR JMP IO0010 TITLE: DB 10,10,13,' ',10,13 DB 'Analog Devices MicroConverter ADuC841',10,13 DB ' UART Demo Routine',10,13 25

DALLANMA Komutları JMP hedef: Koşulsuz Dallanma JZ hedef: A=0 ise dallan, JNZ hedef: A 0 ise dallan DJNZ Rn, rel: saklayıcıyı bir azalt, Rn 0 ise dallan TEKRAR: MOV A,B INC B MOVC A,@A+DPTR JZ CIKIS CALL SENDCHAR JMP TEKRAR CIKIS: POP B POP ACC CALL hedef: bir fonksiyonu çağır RET: çağrılan fonksiyondan geri dön RETI: çağrılan kesmeden geri dön BLINK: DELAY: DLY2: DLY1: MOV A,#010 ; set delay length CPL LED ; flash (complement) the red LED CALL DELAY ; call software delay JMP BLINK ; repeat indefinately MOV R5,A MOV R7,#090h MOV R6,#0FFh DJNZ R6,$ DJNZ R7,DLY1 DJNZ R5,DLY2 RET Not: (CALL komutu çağrıldıktan sonra mutlaka bir RET komutu çağrılmalıdır) 26

MATEMATĐKSEL ĐŞLEMLER ADD A,Rn ADDC A,Rn SUBB A,Rn INC A DEC A MUL AB DIV AB A+Rn A A +Rn+C A A-Rn A, (eğer Rn>A ise C=1) A+1 A A-1 A AxB A,B (yüksek anlamlı bayt B saklayıcısına, düşük anlamlı bayt A saklayıcına yazılır) A/B A,B (Bölüm A ya, kalan B ye yazılır) NOT: 8052, 8 bitlik bir programlama dilidir. Bir saklayıcı maksimum 255 (0xFF) değerini alabilir. Eğer işlem sonucu 255 ten büyükse, sonucun 256 ya bölümünden kalan gösterilir. 27

Örnek 2-255 arasındaki asal sayılar 30H adresinden başlayarak belleğe yazılacaktır. ASAL DONGU YAZ=30H 02H @YAZ R0=YAZ R2=03H R1=YAZ MOV B,R2 R2=0? R2=R2+1 E ÇIK SONRAKĐ YAZ EQU 30H mov 30H, #02H mov R0, #YAZ mov R1, #YAZ mov R2, #03 asal: mov r1, #YAZ dongu: mov B,R2 mov A,@R1 JZ asalyaz R1=R1+1 MOV A,@R1 A=0? XCH A,B DIV AB E MOV @R0,A R0=R0+1 A=R2 ASALYAZ xch A,B DIV AB XCH A,B JZ sonraki inc R1 jmp dongu asalyaz: mov A,R2 inc R0 mov @R0,A XCH A,B A=0? E sonraki: INC R2 MOV A,R2 JnZ asal jmp $ 28

Kaynaklar www.analog.com - ADuC 841 data sheet http://www.8052.com/set8051.php 29