deney5 föyü - Alper BAYRAK - Abant İzzet Baysal Üniversitesi

Abant İzzet Baysal Üniversitesi
Elek.-Elekt. Müh. Bölümü
Mikroişlemciler Laboratuvarı I
Deney 5
Amaç:
Bu deneyin amacı, öğrencilere LCD kullanımını öğretmektir.
Deney 1 :
1. ISIS programını açın.
2. Şekil 1'deki tasarımı oluşturun.
Şekil 1. Deney tasarımı
3. Projeyi, masaüstünde oluşturmuş olduğunuz bir klasörün içine kaydedin.
4. Aynı klasörün içine “LCD.asm”, isim ve uzantısı ile, bir dosya oluşturun.
5. Source->Add/remove source files seçeneğini tıklayın ve Şekil 2'deki gibi asm dosyanızı
projeye ekleyin.
Abant İzzet Baysal Üniversitesi
Elek.-Elekt. Müh. Bölümü
Mikroişlemciler Laboratuvarı I
Şekil 2.
6. Source seçeneğinin altında, eklemiş olduğunuz dosyayı açın ve aşağıdaki programı yazın.
;LCD_DATA
LCD_RS
LCD_RW
LCD_E
SAYAC
EQU
EQU
EQU
EQU
EQU
P0
P2.0
P2. 1
P2.2
30H
;Reset Vektör adresi
ORG 0000H
LJMP ANA
;Ana program baş/angıcına dallan
ORG 0030H
;Pro gram başlangıcı
ANA:
LCALL
RESETLEME
LCALL
LINE1
MOV
DPTR,#MESAJ
;DPTR-MESAJ'ın ROM bellekteki başlangıç adresi
MOV
SAYAC,#15
;Döngü sayısı
TEKRAR:
CLR
A
CLR
C
;elde yI sıfırla
MOVC
A,@A+DPTR
;Mesajdaki karakteri A ya al
LCALL
DATA_GONDER
;LCD ye gönder
INC
DPTR
;Sonraki karakter için DPTR yi artır.
DJNZ
SAYAC,TEKRAR
JMP
$
;bulunduğu noktaya sonsuz döngü
; LCD 1.satır başlangıç adresini seçen alt yordam
Abant İzzet Baysal Üniversitesi
Elek.-Elekt. Müh. Bölümü
Mikroişlemciler Laboratuvarı I
LINE1:
CLR
LCALL
RET
MOV
LCD_RS
CLOCK
LCD_DATA,128
; A daki veriyi LCD ye veri gönder
DATA_GONDER:
MOV
LCD_DATA,A
SETB
LCD_RS
LCALL
CLOCK
RET
; LCD için Enable darbesi üreten alt yordam
CLOCK:
CLR
LCD_RW
CLR
LCD_E
LCALL
DELAY
SETB
LCD_E
LCALL
DELAY
CLR
LCD_E
LCALL
DELAY
RET
; Yazılımla LCD yi resetle yen altyordam
RESETLEME:
MOV
LCD_DATA,#30H
CLR
LCD_RS
LCALL
CLOCK
MOV
LCD_DATA,#30H ;30h komutunu LCD ye gönder
CLR
LCD_RS
LCALL
CLOCK
MOV
LCD_DATA,#30H
CLR
LCD_RS
LCALL
CLOCK
MOV
LCD_DATA,#3CH ;Fonksiyon belirleme
CLR
LCD_RS
LCALL
CLOCK
MOV
LCD_DATA,#0CH ;LCD aç
CLR
LCD_RS
LCALL
CLOCK
MOV
LCD_DATA,#01H ;LCDsII
CLR
LCD_RS
LCALL
CLOCK
MOV
LCD_DATA,#06H ;Giris modu
CLR
LCD_RS
LCALL
CLOCK
RET
;Gecikme altyordamı
Abant İzzet Baysal Üniversitesi
Elek.-Elekt. Müh. Bölümü
Mikroişlemciler Laboratuvarı I
DELAY:
LOOP1:
NOP
NOP
NOP
NOP
DJNZ
RET
MESAJ:
END
MOV
NOP
R7,#5
R1,LOOP1
DB
'Merhaba Dunya'
7.
Kodu derleyin.
8.
Mikrodenetleyicinin üzerine çift tıklayarak, Şekil 3'deki gibi hex dosyasını
mikrodenetleyiciye yükleyin.Şekil 3.
Şekil 3.