Ana içeriğe git
Konu: [Yardım - AVR] LCD Zamanı Diyagramını Algıyarak Assemblerda Programı Yazmak  (36 Kez okunmuş)

[Yardım - AVR] LCD Zamanı Diyagramını Algıyarak Assemblerda Programı Yazmak

Merhabalar, elimde bir doküman mevcut lakin ben zaman diyagramını okumayı tam kavrayamadım.
Dokümandaki program çalışıyor lakin olayı özümseme gibi bir kaygım var. Çünkü bu zamanlama diyagramını öğrenmek istiyorum.
Mesela zaman diyagramında üst kenar lojik 1 , alt kenar lojik 0 mı temsil ediyor ? Eğer öyleyse zaman diyagramında data olarak gösterilen diyagramda hem lojik 0 hem lojik 1 aynı zaman aralığında mevcut nedir bunun mantığı ?
Eğer yine üst kenar lojik 1 alt kenar lojik 0 ise RS pini komut yazarken o, data yazarken 1 yapılıyor ama grafikte RS lojik 1 den başlıyor bu nasıl mümkün oluyor ?
Sanırım zaman diyagramının terminolojisi hakkında bir fikrim olmadığı için saçmalıyor olabilirim, lütfen acemiliğime verin.

Yardım edecek arkadaşlara şimdiden teşekkür ederim.

Zaman Diyagramı



Program Kodu :
Kod: [Seç]
.INCLUDE "M32DEF.INC"
.EQU LCD_DPRT = PORTA
.EQU LCD_DDDR = DDRA
.EQU LCD_DPIN = PINA
.EQU LCD_CPRT = PORTB
.EQU LCD_CDDR = DDRB
.EQU LCD_CPIN = PINB
.EQU LCD_RS = 0
.EQU LCD_RW = 1
.EQU LCD_EN = 2

LDI R21,HIGH(RAMEND)
OUT SPH,R21
LDI R21,LOW(RAMEND)
OUT SPL,R21

LDI R21,0xFF;
OUT LCD_DDDR, R21
OUT LCD_CDDR, R21
CBI LCD_CPRT,LCD_EN
CALL DELAY_2ms
LDI R16,0x38
CALL CMNDWRT
CALL DELAY_2ms
LDI R16,0x0E
CALL CMNDWRT
LDI R16,0x01
CALL CMNDWRT
CALL DELAY_2ms
LDI R16,0x06
CALL CMNDWRT
LDI R16,'H'
CALL DATAWRT
LDI R16,'i'
CALL DATAWRT
HERE: JMP HERE
;-------------------------------------------------------
CMNDWRT:
OUT LCD_DPRT,R16
CBI LCD_CPRT,LCD_RS
CBI LCD_CPRT,LCD_RW
SBI LCD_CPRT,LCD_EN
CALL SDELAY
CBI LCD_CPRT,LCD_EN
CALL DELAY_100us
RET
DATAWRT:
OUT LCD_DPRT,R16
SBI LCD_CPRT,LCD_RS
CBI LCD_CPRT,LCD_RW
SBI LCD_CPRT,LCD_EN
CALL SDELAY
CBI LCD_CPRT,LCD_EN
CALL DELAY_100us
RET
;-------------------------------------------------------
SDELAY: NOP
NOP
RET
;-------------------------------------------------------
DELAY_100us:
PUSH R17
LDI R17,60
DR0:
CALL SDELAY
DEC R17
BRNE DR0
POP R17
RET
;-------------------------------------------------------
DELAY_2ms:
PUSH R17
LDI R17,20
LDR0:
CALL DELAY_100US
DEC R17
BRNE LDR0
POP R17
RET

Devre Şeması :