Herkese hayırlı akşamlar.
incfsz kolon_ind, f---- yazmaç içeriğini 1 arttır 0 ise komut atla
goto $+2 ---Burada ne diyor?
$ işareti bulunulan satır anlamına geliyor. Adres olarak iki satır aşağı (iki komut da olabilir tam hatırlamıyorum) atla, git, oradan devam et demek istiyor.
son bi sorum daha var
MOVLW .8 nokta olursa ne anlama gelir
onluk sayı sisteminde olduğunu ifade ediyor
yukarıdaki ifade sanki grafik LCD için yazılmış programdan...
fatih6761 dediği gibi,
+... kadar sonraki komuta atla demektir,
goto $+0 ;dersen olduğu satırda takılı kalır,
genelde etiket kullanmadan goto ile yakındaki satırlara gitmek için kullanılır.
incfsz kolon_ind, f---- yazmaç içeriğini 1 arttır 0 ise komut atla
goto $+2 ---Burada ne diyor?
;açıklama yazabilirsin
;daha fazla açıklama yazabilirsin
1 KOMUT
;istediğin kadar açıklama yazabilirsin
2 KOMUT ;işte yukarıdaki goto $+2 tam buraya atlar.
evet grafik lcd ile çalışmak istiyorum bi kod buldum anlamaya çalışıyorum, düzenledim kod sorunsuz çalışıyor fakat şu SHOW_WG yi kullanmak istiyorum ama .inc uzantılı olarak eklemeden, çünkü tam anlaşılır bir düzen var burada;
tam 8x8 = 64 bit
DB 080h,000h,000h,000h,000h,000h,000h,000h
teşekkürler
list p=18f4550
#include <P18F4550.INC>
CONFIG FOSC = HS
;************************************************************
; DE???KENLER
Count equ 0x000
sayac1 equ 0x002
sayac2 equ 0x004
sayac3 equ 0x006
kolon_ind ;equ 20h;
tablo_ind ;equ 21h;
LCD_CS ;equ 25h;
LCD_PAGE ;equ 26h;
LCD_ADR ;equ 27h;
LCD_DATA ;equ 28h;
COUNTER1 ;equ 29h;
COUNTER2 ;equ 2Ah;
COUNTER3 ;equ 2Bh;
TEMP ;equ 2Ch;
satir ;equ 0x22
;************************************************************
org 00000h ; Reset noktas?
goto Start
;************************************************************
;program kodu burada çal???yor.
org 00020h ; Program?n ba?lang?ç adresi
Start
;********** SOL EKRANI SEÇMEYE YARAYAN MAKRO*********
CSA MACRO
BSF CS1
BCF CS2
ENDM
;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
;***********SA? EKRANI SEÇMEYE YARAYAN MAKRO**********
CSB MACRO
BCF CS1
BSF CS2
ENDM
;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#define RST PORTC,0 ;
#define E PORTC,1 ;
#define DI PORTC,2 ;
#define CS1 PORTC,5 ;
#define CS2 PORTC,6 ;
#define RDWR PORTC,7 ;
;============================================================
clrf PCLATH ; pc sayac?n?n ;yüksek bitini s?f?rla
;port tan?mlamalar? yap?l?yor.
;banksel TRISC;
clrf TRISC
clrf TRISD
clrf TRISE
movlw b'11111111'
movwf LATB
movlw b'00111111'
movwf LATA
movlw b'10001001'
movwf ADCON1
;banksel PORTC; bcf STATUS, RP0
;**********kurulum bitti******************
movlw b'01000000'
movwf ADCON0
;*********glcd kurulumu*******************
CSA ;1. entegre aktif
bcf DI ; komut yazma moduna ;geç
call LCD_ON ; glcd ;aç bcf RDWR ; glcd yazma modunda
bcf RST ; glcd haf?zas?n? ;s?f?rla
call Pause ;bekle
bsf RST ; glcd ;s?f?rlama i?lemini etkinle?tir.
call Pause ;bekle
bcf DI ; komut yazma moduna ;geç
;************************************************************; grefik lcdler 128 sutun ve 64 sat?r noktadan olu?ur
;sat?rlar? taraken bir seferde 8 it gönderilir yani grafik ;lcdler 64/8 =8 sat?rdan olu?ur
;buda demek oluyoruki her bir sat?rda 128 bitlik veri ;göndercek kod düzenlemek gerkir bunu yaparkende
; her 64 bitte bir çipseti de?i?tirmek gerekli a?a??daki kod ;bu i?i yapar.
scan ;
CSA; 1. entegre AKT?F
call LCD_ON ;
movlw b'10111000' ; 184 komutu 0 ;sütüna giden komut
movwf LCD_PAGE ;
call LCDPage ; kordinat? glcdye ;i?le
movlw b'01000000' ; 64 KOMUTU 0 ;SATIR BA?I
movwf LCD_ADR ;
movf LCD_ADR, w ;
call Adress ;
CSB; 2. entegre AKT?F
call LCD_ON ; call LCD_ON ; glcd aç
movlw b'10111000' ; 184 komutu 0 ;sütüna giden komut
movwf LCD_PAGE ;
call LCDPage ; kordinat? glcdye ;i?le
movlw b'01000000' ; 64 KOMUTU 0 ;SATIR BA?I
movwf LCD_ADR
movf LCD_ADR, w ;
call Adress ;
MOVLW .8 ;grafik lcd 8 sat?rdan olu?ur
MOVWF satir
movlw .2
movwf tablo_ind
bir_artir
;
call SendDataTOGLCD ;glcd veri gönder
incf LCD_PAGE,f ;
CSA;
movf LCD_PAGE,w
call LCDPage
movf LCD_ADR,w ;
call Adress
CSB;
movf LCD_PAGE,w
call LCDPage
movf LCD_ADR,w ;
call Adress
decfsz satir
GOTO bir_artir
son
; sleep
goto son
LCDPage
bsf E
;nop
movf LCD_PAGE, w
movwf PORTD
;nop
bcf E
return
LCD_ON;glcd nin aktif olan entegresini komut/veri yazmak ;için kullan?ma açar
bsf E
;nop
movlw b'00111111' ; 63 komutu (lcd aç)
movwf PORTD
;nop
bcf E
return
Adress;
bsf E
;nop
movwf PORTD
;nop
bcf E
return
ByteToLCD
bsf DI
;nop
bsf E
;nop
movwf PORTD
;nop
bcf E
;nop
bcf DI
;
return
Pause
;--------------------------------------------
;movlw .25
; movwf COUNTER1
movlw h'ff'
MOVWF sayac1
DONGU11
movlw h'ff'
MOVWF sayac2
DONGU12
DECFSZ sayac2,F ;sayac2'nin de?erini 1 azalt s?f?r olursa "DECFSZ sayac1,F" komutuna atla
GOTO DONGU12
DECFSZ sayac1,F ;sayac1'nin de?erini 1 azalt s?f?r olursa "DECFSZ sayac1,F" döngüden ç?k
GOTO DONGU11
RETURN
;------------------------------------------
P2
movlw .255
movwf COUNTER2
P3
decfsz COUNTER2, f
goto P3
decfsz COUNTER1, f
goto P2
return
SendDataTOGLCD;karekter bilgisini lcd ye gönderiri
CSA; 1. entegre aktif
movlw .64
movwf COUNTER1
SC1 ;1. entegre yazd?r
call TabSim
call ByteToLCD
incfsz kolon_ind, f
goto $+2
incf tablo_ind,f
decfsz COUNTER1, f
goto SC1
CSB; 2. entegre aktif
movlw .64
movwf COUNTER1
SC2 ;2. entegreyi yazd?r
call TabSim
call ByteToLCD
incfsz kolon_ind, f
goto $+2
incf tablo_ind,f
decfsz COUNTER1, f
goto SC2
return
;************************************************************; glcd gösterilecek resmin verileri bu alanda tablodan al?n?r
;************************************************************;
org 0x01Fc
TabSim ;tablo bilgilerini gir 2 parçadan olu?acak ayarla
movf tablo_ind,w
movwf PCLATH
tabloya_git
movf kolon_ind,w
addwf PCL, f
; ekranda benim haz?rlad???m 2 adet kod var.
;hangisini göstermek isterseniz onu kullanabilir veya kendi ;resim dosyan?z? olu?turup
;inc uant?s?yla kaydettikten sonra a?a??daki gibi include ;deyiminden sonra
;ekleyebilirisniz. görmek istedi?iniz resmi seçtikten sonra ;di?er resmin tan?lama saty?r?n?n önüne ";" sembolünü
;koyma?y unutmay?n: kolay gelsin.
;include sunger bob(128 x 64).inc
;include kelebek.inc
SHOW_WG:
DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 003h,0E0h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,003h,0E0h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,003h,0E0h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,003h,0E0h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 003h,0E0h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,003h,0E0h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,003h,0E0h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,003h,0E0h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 003h,0E0h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,003h,0E0h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,003h,0E0h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,00Fh,0FFh,0FFh,0F0h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,00Fh
DB 0FFh,0FFh,0F0h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,00Fh,0FFh,0FFh
DB 0F0h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,00Fh,0FFh,0FFh,0F0h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,00Fh,0FFh,0FFh,0F0h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 003h,0E0h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,003h,0E0h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,003h,0E0h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,003h,0E0h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 003h,0E0h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,003h,0E0h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,003h,0E0h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,003h,0E0h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 003h,0E0h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,003h,0E0h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,080h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,001h
DB 080h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,001h,080h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,001h,080h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,000h,000h,000h,000h,000h,000h,000h
DB 000h,001h,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
DB 0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
end
pic18'de hatırladığım kadarı ile tablodan veri almak için
MOVLW upper manzara1
movwf TBLPTRU,A
MOVLW high manzara1
movwf TBLPTRH,A
MOVLW low manzara1
movwf TBLPTRL,A
gibi adresi tanımlaman
ve
TBLRD*+ ; TABLAT oku ve işaretçisini artır
MOVF TABLAT, W ; değerini al
bu şekilde de tablodan veri alman gerekir.
Pic16'daki kodu doğrudan öyle pic18 uyarlaman sıkıntı olabilir.
İşlemcinin asm kod tablosuna bir bak.
Verdiğin glcd kodunu bende denemiş çalıştırmıştım,
üstünden epey zaman geçti tabiki.
.inc kullanmanın ne mahsuru var?
ASM kullanmak zorunda mısın?
evet biraz uzun iş olacak ama sudoku çözmekten daha keyifli durdu malum ama uyumak lazım yeter bu kadar hayırlı geceler.
MOV A,SAYICI
MOV 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
;tablodur
DB 00000000B ;0 Görünür
DB 00000001B ;1 Görünür
DB 00000010B ;2 Görünür
DB 00000011B ;3 Görünür
DB 00000100B ;4 Görünür
DB 00000101B ;5 Görünür
DB 00000110B ;6 Görünür
DB 00000111B ;7 Görünür
DB 00001000B ;8 Görünür
DB 00001001B ;9 Görünür
8051 serisi mikrokontrollerda asm 'de tablodan veri alma... olay zaten 16 bit adresleme alanı olan DPTR'de...
Lütfen daha anlaşılır konu isimleriyle konularınızı açın.
Konu başındaki sorunun cevabı "if".
Asm yerine C ile yazılsaydı aşağıdaki gibi olacaktı,
incfsz kolon_ind, f
goto $+2
incf tablo_ind,f
if (++kolon_ind == 0)
{
tablo_ind++;
}