Download - 8051 MİKROKONTROLÖR AİLESİ
![Page 1: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/1.jpg)
8051 MİKROKONTROLÖR AİLESİ
Arş. Gör. Hüseyin ERDOĞAN
![Page 2: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/2.jpg)
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İ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/3.jpg)
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İ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/4.jpg)
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İ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/5.jpg)
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İ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/6.jpg)
İVEDİ ADRESLEMEMOV A,#021H ; A’nın içerisine 21H sayısını yaz.
![Page 7: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/7.jpg)
İ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İ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/8.jpg)
İ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İ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/9.jpg)
İNDEKS ADRESLEMELOOK-UP TABLE
![Page 10: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/10.jpg)
İ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İ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/11.jpg)
PROGRAMLAMADİREKTİFLER
EQU
SAYAC EQU 45HARTIM EQU 32……MOV A,SAYAC
![Page 12: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/12.jpg)
PROGRAMLAMADİREKTİFLER
DATA
SON_DEGER DATA 45H
![Page 13: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/13.jpg)
PROGRAMLAMADİREKTİFLER
CODE
RESET CODE 00HTIMERO_KESMESI CODE 0BH
![Page 14: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/14.jpg)
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İ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/15.jpg)
PROGRAMLAMADİREKTİFLER
INCLUDE
#INCLUDE 7_SEGMENT.ASM
![Page 16: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/16.jpg)
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İ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/17.jpg)
PROGRAMLAMADİREKTİFLER
DW
TABLO: DW 2004,’G’, 1900,45,’F’
![Page 18: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/18.jpg)
PROGRAMLAMADİREKTİFLER
END
ANA_PROGRAM:……END
![Page 19: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/19.jpg)
KOMUT SETİ8051 Komut Seti anlatımında kullanılan operandlar ve anlamları
![Page 20: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/20.jpg)
![Page 21: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/21.jpg)
![Page 22: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/22.jpg)
![Page 23: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/23.jpg)
![Page 24: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/24.jpg)
![Page 25: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/25.jpg)
![Page 26: 8051 MİKROKONTROLÖR AİLESİ](https://reader036.vdocuments.site/reader036/viewer/2022062314/5681499e550346895db6dfd2/html5/thumbnails/26.jpg)