8051 mİkrokontrolÖr aİlesİ

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

Upload: linh

Post on 15-Jan-2016

31 views

Category:

Documents


0 download

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

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İ