8051 MİKROKONTROLÖR AİLESİ

26
8051 MİKROKONTROLÖR AİLESİ Arş. Gör. Hüseyin ERDOĞAN

description

8051 MİKROKONTROLÖR AİLESİ. Arş. Gör. Hüseyin ERDOĞAN. ADRESLEME MODLARI. DOĞRUDAN (DIRECT) ADRESLEME DOLAYLI (INDIRECT) ADRESLEME SAKLAYICI (REGISTER) ADRESLEME İVEDİ (IMEDIATE)ADRESLEME İNDEKS (INDEX) ADRESLEME. DOĞRUDAN ADRESLEME. - PowerPoint PPT Presentation

Transcript of 8051 MİKROKONTROLÖR AİLESİ

Page 1: 8051 MİKROKONTROLÖR AİLESİ

8051 MİKROKONTROLÖR AİLESİ

Arş. Gör. Hüseyin ERDOĞAN

Page 2: 8051 MİKROKONTROLÖR AİLESİ

ADRESLEME MODLARI

• DOĞRUDAN (DIRECT) ADRESLEME• DOLAYLI (INDIRECT) ADRESLEME• SAKLAYICI (REGISTER) ADRESLEME• İVEDİ (IMEDIATE)ADRESLEME• İNDEKS (INDEX) ADRESLEME

Page 3: 8051 MİKROKONTROLÖR AİLESİ

DOĞRUDAN ADRESLEMEMOV A,70H ;70H adresinde tutulan sayıyı register A’ya yaz

MOV 60H,A ;Akümülatördeki veriyi 60H adresine yaz.PORT1 EQU 90H ;Assembler bu tanımdan sonra PORT1 gördüğü yere 90H değerini

;yerleştirirMOV PORT1,55H ;55H adresindeki veri Port1 den gönderilir.

Page 4: 8051 MİKROKONTROLÖR AİLESİ

DOLAYLI ADRESLEMEMOV 60H,#126 ;Bu komutla 60H adresinde 126 sayısını saklıyoruzMOV R0,#60H ;Bu komutla R0 içerisine 60H sayısını yazarak bu adresi işaret etmesini sağlıyoruz.MOV A,@R0 ;R0’ ın gösterdiği 60H adresindeki 126 sayısını A içerisine yazar

Page 5: 8051 MİKROKONTROLÖR AİLESİ

SAKLAYICI ADRESLEME

MOV R1,#20H ; R1 içerisine 20H yazMOV R5,50H ; 50H içeriğini R5 içerisine yazMOV R2,A ; Akümülatör içeriğini R2 içerisine yazMOV A,R6 ; A içine R6 içeriğini ata

MOV R0,A ;akümülatördeki veriyi R0’a yaz.

MOV PSW,#10H ;ikinci bank seçilir.MOV R4,B ;B akümülatöründeki veriyi R4 registerına yaz.

Page 6: 8051 MİKROKONTROLÖR AİLESİ

İVEDİ ADRESLEMEMOV A,#021H ; A’nın içerisine 21H sayısını yaz.

Page 7: 8051 MİKROKONTROLÖR AİLESİ

İNDEKS ADRESLEMELOOK-UP TABLE

LOOK_UP_TABLE: ;look-up table’dan veri çağırırken kullanacağımız isim

DB 00FFH ;Bu bölgeye başında DB komutu ile gereken veriler gelirDB 10011100B ;bu veriler direkt olarak sayılardır.Başka türlüDB 31 ;adreslenemeyeceğinden diğer adreslemelerdeki gibiDB 013H ;istenen veri yazılırken başına ‘#’ işareti konmasına gerek yoktur.

MOV DPTR,#LOOK_UP_TABLE ; Look-Up-Table başlangıç adresini DPTR; içerisine ata.

VEYA; (tablonun başlangıç adresi biliniyorsa)

MOV DPTR,#5000H ;5000H adresi DPTR içerisine yerleştirildi.

Page 8: 8051 MİKROKONTROLÖR AİLESİ

İNDEKS ADRESLEMELOOK-UP TABLE

MOV A , SANIYE ;SANIYE program içinde deger alan bir değişkendir. ;Bu değişken ile öteleme değeri A registerına atanmış olur.

; Bu aşamda Look-Up-Table’ daki istenilen degere artık erişilebilir.MOVC A,@A+DPTR ;Look-Up-Table’ın başlangıç adresi ile akümülatörde

;bulunan tablo içerisinde istenilen değere gitmeyi ;sağlayan öteleme değeri toplanır. Bu toplam sonucu

;gitmek istediğimiz adres değeridir. Komutun icrası ;ile adreste yer alan bu bilgi akümülatore aktarılmış olur.

Page 9: 8051 MİKROKONTROLÖR AİLESİ

İNDEKS ADRESLEMELOOK-UP TABLE

Page 10: 8051 MİKROKONTROLÖR AİLESİ

İNDEKS ADRESLEMEMOV A,SAYICIMOV DPTR,# DISPLAY_TABLOSU ;look up table'ın başlangıç adresi DPTR'ye atanır

MOVC A,@A+DPTR ;A ya tablonun istenen değeri atanır.

DISPLAY_TABLOSU: ;Hanede görünecek olanı seçen tablodurDB 00000000B ;0 GörünürDB 00000001B ;1 GörünürDB 00000010B ;2 GörünürDB 00000011B ;3 GörünürDB 00000100B ;4 GörünürDB 00000101B ;5 GörünürDB 00000110B ;6 GörünürDB 00000111B ;7 GörünürDB 00001000B ;8 GörünürDB 00001001B ;9 Görünür

Bu değerler sırasıyla 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F değerlerinin 7-segment LEDdisplay için düzenlenmiş halidir.

Page 11: 8051 MİKROKONTROLÖR AİLESİ

PROGRAMLAMADİREKTİFLER

EQU

SAYAC EQU 45HARTIM EQU 32……MOV A,SAYAC

Page 12: 8051 MİKROKONTROLÖR AİLESİ

PROGRAMLAMADİREKTİFLER

DATA

SON_DEGER DATA 45H

Page 13: 8051 MİKROKONTROLÖR AİLESİ

PROGRAMLAMADİREKTİFLER

CODE

RESET CODE 00HTIMERO_KESMESI CODE 0BH

Page 14: 8051 MİKROKONTROLÖR AİLESİ

PROGRAMLAMADİREKTİFLER

ORG

ORG 001BH ; Timer1 kesme adresiINC 32H ; 32H ‘ın içeriğini bir arttırMOV A,32H ; 32H akümülatöre yazRETI ; kesmeden geri dön

Page 15: 8051 MİKROKONTROLÖR AİLESİ

PROGRAMLAMADİREKTİFLER

INCLUDE

#INCLUDE 7_SEGMENT.ASM

Page 16: 8051 MİKROKONTROLÖR AİLESİ

PROGRAMLAMADİREKTİFLER

DB

TEK_SAYILAR: DB 1,2,3,5,7,11,13,17,19YAZI: DB ‘LCD EKRANINA YAZ’

Page 17: 8051 MİKROKONTROLÖR AİLESİ

PROGRAMLAMADİREKTİFLER

DW

TABLO: DW 2004,’G’, 1900,45,’F’

Page 18: 8051 MİKROKONTROLÖR AİLESİ

PROGRAMLAMADİREKTİFLER

END

ANA_PROGRAM:……END

Page 19: 8051 MİKROKONTROLÖR AİLESİ

KOMUT SETİ8051 Komut Seti anlatımında kullanılan operandlar ve anlamları

Page 20: 8051 MİKROKONTROLÖR AİLESİ
Page 21: 8051 MİKROKONTROLÖR AİLESİ
Page 22: 8051 MİKROKONTROLÖR AİLESİ
Page 23: 8051 MİKROKONTROLÖR AİLESİ
Page 24: 8051 MİKROKONTROLÖR AİLESİ
Page 25: 8051 MİKROKONTROLÖR AİLESİ
Page 26: 8051 MİKROKONTROLÖR AİLESİ