Picproje Elektronik Sitesi

DERLEYİCİLER => PIC Assembly => Konuyu başlatan: ido2323 - 22 Ekim 2014, 22:13:48

Başlık: Bu ne?
Gönderen: ido2323 - 22 Ekim 2014, 22:13:48
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?

Başlık: Ynt: Bu ne?
Gönderen: fatih6761 - 22 Ekim 2014, 22:18:46
$ 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.
Başlık: Ynt: Bu ne?
Gönderen: ido2323 - 22 Ekim 2014, 22:27:23
son bi sorum daha var
MOVLW   .8 nokta olursa ne anlama gelir
Başlık: Ynt: Bu ne?
Gönderen: Kabil ATICI - 22 Ekim 2014, 22:30:48
onluk sayı sisteminde olduğunu ifade ediyor


yukarıdaki  ifade sanki grafik LCD için yazılmış programdan...
Başlık: Ynt: Bu ne?
Gönderen: RaMu - 22 Ekim 2014, 22:31:14
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.
Başlık: Ynt: Bu ne?
Gönderen: ido2323 - 22 Ekim 2014, 22:41:28
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
Başlık: Ynt: Bu ne?
Gönderen: Kabil ATICI - 22 Ekim 2014, 23:03:18
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.
Başlık: Ynt: Bu ne?
Gönderen: RaMu - 22 Ekim 2014, 23:08:29
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?
Başlık: Ynt: Bu ne?
Gönderen: ido2323 - 22 Ekim 2014, 23:32:48
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
Başlık: Ynt: Bu ne?
Gönderen: Kabil ATICI - 22 Ekim 2014, 23:55:52
8051 serisi mikrokontrollerda asm 'de tablodan veri alma... olay zaten 16 bit adresleme alanı olan DPTR'de...
Başlık: Ynt: Bu ne?
Gönderen: Extreme - 23 Ekim 2014, 21:01:41
Lütfen daha anlaşılır konu isimleriyle konularınızı açın.
Başlık: Ynt: Bu ne?
Gönderen: ahmets - 23 Ekim 2014, 22:28:22
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++;
   }