|
Sayfa 2 Toplam: 2
PIC Assembly Kodu
;------------------------------16x2 LCD'ye Yazı
Yazdırma----------------------------
;---------------------------Tuna Bulut tarafından
yazıldı---------------------------
LIST P=16F628A
INCLUDE "P16F628A.INC"
__CONFIG
_XT_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF
CBLOCK H'20'
MESAJ
KRKTR
TEMP
SAYAC1
SAYAC2
ENDC
#DEFINE RS PORTA,0
#DEFINE E PORTA,1
;-------------------------BAĞLANTILAR----------------------------
;RS=RA0
;E=RA1
;D4..D7=RB0..RB3
;----------------------------------------------------------------
MOVLW H'07'
MOVWF CMCON
;COMPARATOR ÖZELLİĞİ KAPALI VE PORTA I/O İÇİN AKTİF MODDA
CLRF PORTB ;PORTB Yİ SIFIRLA
;GİRİŞ-ÇIKIŞ TANIMLAMALARI
BANKSEL TRISA ;BANK1 E GEÇİŞ YAP
CLRF TRISA ;PORTA NIN BÜTÜN PİNLERİNİ ÇIKIŞ YAP
CLRF TRISB ;PORTB NİN BÜTÜN PİNLERİNİ ÇIKIŞ YAP
MOVLW H'80'
MOVWF OPTION_REG
BANKSEL PORTB ;TEKRAR
BANK0 A GEÇ
CLRF PORTB ;PORTB Yİ SIFIRLA
CLRF PORTA
;---------------------KOMUT GÖNDERME
MAKROSU------------------------------------
KMT MACRO
CALL KISA_GECIKME
BCF RS
BSF E
NOP
BCF E
NOP
ENDM
;--------------------MESAJ GÖNDERME
MAKROSU-------------------------------------
MSJ MACRO
CALL KISA_GECIKME
BSF RS
BSF E
NOP
BCF E
NOP
ENDM
;------------------KURSÖRÜ BAŞA
AL------------------------------------------
MOVLW D'02'
MOVWF PORTB
KMT
;-----------------LCD'Yİ 4 BİT 2 SATIRA AYARLA,
B'00101000'-----------------
CALL UZUN_GECIKME
MOVLW B'00000010' ;ÖNCE
ÜST 4 BİTİ GÖNDER
MOVWF PORTB
KMT
MOVLW B'00001000' ;SONRA
ALT 4 BİTİ
MOVWF PORTB
KMT
;------------------EKRANI VE KURSÖRÜ
AÇ-------------------------------------
CALL UZUN_GECIKME
CLRF PORTB ;ÜST 4 BİTİ GÖNDER
KMT
MOVLW B'00001110' ;ALT
4 BİTİ GÖNDER
MOVWF PORTB
KMT
;-----------------ARTIŞ SAĞA
DOĞRU-----------------------------------------
CALL UZUN_GECIKME
CLRF PORTB ;ÜST 4 BİTİ GÖNDER
KMT
MOVLW B'00000110' ;ALT
4 BİTİ GÖNDER
MOVWF PORTB
KMT
;-----------------EKRANI TEMİZLE-------------------------------------------
CALL UZUN_GECIKME
CLRF PORTB ;ÜST 4 BİTİ GÖNDER
KMT
MOVLW B'00000001' ;ALT
4 BİTİ GÖNDER
MOVWF PORTB
KMT
CALL UZUN_GECIKME
;-----------------BİRİNCİ MESAJI
GÖNDER-------------------------------------------
CLRF KRKTR
MSJ_GONDER
MOVF KRKTR,W
CALL MESAJ1 ;MESAJI ÇAĞIR
MOVWF TEMP ;KARAKTERİ DEĞİŞKENE AT
XORLW H'00' ;KARAKTER
UZUNLUĞU(D'12')
İLE XOR İŞLEMİ YAP
BTFSC STATUS,Z ;İŞLEM
SONUCU 1 SE 2. MESAJI YAZ
GOTO M_DEVAM
SWAPF TEMP,F ;DEĞİŞKENİN
ALT 4 BİTİYLE ÜST 4 BİTİNİ ARALARINDA DEĞİŞTİR
MOVF TEMP,W
MOVWF PORTB
MSJ
SWAPF TEMP,F ;DEĞİŞKENİN
ALT 4 BİTİYLE ÜST 4 BİTİNİ ARALARINDA DEĞİŞTİR
MOVF TEMP,W
MOVWF PORTB
MSJ
INCF KRKTR,F ;KRKTR
DEĞİŞKENİNİ 1 ARTIR
GOTO MSJ_GONDER
;----------------İKİNCİ MESAJI
GÖNDER---------------------------------------------
M_DEVAM
CLRF KRKTR
;-----İKİNCİ SATIRA GEÇ---------
MOVLW B'00001100'
MOVWF PORTB
KMT
CLRF PORTB
KMT
;-------------------------------
MSJ_GONDER2
MOVF KRKTR,W
CALL MESAJ2 ;MESAJI ÇAĞIR
MOVWF TEMP ;KARAKTERİ DEĞİŞKENE AT
XORLW H'00' ;KARAKTER
UZUNLUĞU(D'5')
İLE XOR İŞLEMİ YAP
BTFSC STATUS,Z ;İŞLEM
SONUCU 1 SE SONSUZ DÖNGÜYE GİR
SNSZ_DONGU
GOTO SNSZ_DONGU
SWAPF TEMP,F ;DEĞİŞKENİN
ALT 4 BİTİYLE ÜST 4 BİTİNİ ARALARINDA DEĞİŞTİR
MOVF TEMP,W
MOVWF PORTB
MSJ
SWAPF TEMP,F ;DEĞİŞKENİN
ALT 4 BİTİYLE ÜST 4 BİTİNİ ARALARINDA DEĞİŞTİR
MOVF TEMP,W
MOVWF PORTB
MSJ
INCF KRKTR,F ;KRKTR
DEĞİŞKENİNİ 1 ARTIR
GOTO MSJ_GONDER2
;----------------------------------------------------------------------------------
MESAJ1
ADDWF PCL,F
DT "www.t-robot.info",0 ;Tırnak
içindeki karakterleri ve 0 rakamını döndürür
MOVF PCL,W
RETURN
MESAJ2
ADDWF PCL,F
DT "LCD
UYGULAMASI",0 ;Tırnak içindeki karakterleri ve 0 rakamını döndürür
MOVF PCL,W
RETURN
;-------------------25 MS'LİK
GECIKME-----------------------------------
UZUN_GECIKME
MOVLW H'FF'
MOVWF SAYAC1
DONGU1
MOVLW D'33'
MOVWF SAYAC2
DONGU2
DECFSZ SAYAC2,F
GOTO DONGU2
DECFSZ SAYAC1,F
GOTO DONGU1
RETURN
;------------------255 US'LİK
GECİKME-----------------------------------
KISA_GECIKME
MOVLW H'FF'
MOVWF SAYAC1
DONGU3
DECFSZ SAYAC1,F
GOTO DONGU3
RETURN
END
Isis simülasyon dosyalarını buradan indirebilirsiniz.
<< Başa Dön < Önceki 1 2 Sonraki > Sona Git >> |
Lütfen sorularınızı foruma yazın
Yazan:: Tuna (Kayıtlı ) Tarih: 30-08-2008 16:26
İyi çalışmalar...
» Yorumu cevapla...