NORITAKE VFD grafik display?

Başlatan Maxim, 08 Mart 2009, 13:20:03

Maxim

yanlış anlama olmasın ,aynı başlık proton+ bölümde de var ,
fakat proton kullanmayanların oraya bakmayacağını düşündüğümden dolayı burayada aynısını açıyorum çünkü benin işime yarayacak başka derleyici kodlarıda iş görebilir diye düşünüyorum .

moderatör arkadaşlar illa birini sileceklerse ötekini silebilir .
-----------------------------------------

daha önce tecrübesi olan varmıdır ?
biraz farklı bir yapısı var ,
display henüz elime geçmedi ama önceden alıştırma yapayım diyorum .

Noritake GU256X64-372 modeli ,256 x 64 grafik ekran

data sheet
http://www.aasi.net/development/datasheets/LCD_VFD/gu256x64_372.pdf

burada çok benzer bir ürüne ait picbasic örnek kodu buldum ,
fakat benim bildiğim picbasic gibi değil yada ben anlamadım ne bileyim
http://www.noritake-itron.jp/kit/special0512/sample/gu256x64-pb.htm


Maxim

bugün bir çalışma yaptım ,
bulduğum örnek kodunu protona çevirmeye çalıştım ,%99 oldu
sadece sormak istediğim 2 nokta var .
orjinal kod ve çevirdiğim kod aşağıdadır .



orjinal satır:
rd=kk Mod &h100 : Gosub pwr0


mod ,komutunu ben mod alma olarak değerlendirdim acaba haklımıyım ?
PORTC=KK // $100 : GoSub pwr0


bir diğeri sleep komutu ,
neden kullanmışlar anlamamakla beraber onun yerine pause yani delayms kullandım .

'Sleep 3000
DelayMS 3000



proton+
Device 16F876A
XTAL 4

'======================================================
'GU256X64-900
'
'
'GU256X64    PIC-BASIC
' 1  D7      PORTC.7
' 3  D6      PORTC.6
' 5  D5      PORTC.5
' 7  D4      PORTC.4
' 9  D3      PORTC.3
'11  D2      PORTC.2
'13  D1      PORTC.1
'15  D0      PORTC.0
'17  WR      PORTA.2
'19  C/D     PORTA.3
'21  RD      -
'23  CS      PORTA.0
'25  FRP     -
'26  BL      PORTA.1
'============== 2005/12/5 =========

Dim I As Byte
Dim K As Byte
Dim KK As Byte

TRISA=%11110000
TRISB=%00000000
TRISC=%00000000
Low PORTA.0
High PORTA.1
High PORTA.2
High PORTA.3


LOOP:

PORTC=$0A : GoSub pwr1
PORTC=$00 : GoSub pwr0
PORTC=$0B : GoSub pwr1
PORTC=$04 : GoSub pwr0

GoSub gclr					

PORTC=$0E : GoSub pwr1		
PORTC=$00 : GoSub pwr0
PORTC=$0F : GoSub pwr1
PORTC=$08 : GoSub pwr0

'128x64,1024byte
For I=0 To 127
PORTC=$08 : GoSub pwr1
PORTC=LookUp I, [$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$7f,$80,$00,$00,$00,$00,$00,$1f,$ff,$fc,$00,$00,_
$00,$00,$00,$7f,$88,$af,$c0,$00,$00,$00,$01,$80,$00,$00,$30,$00,_
$00,$00,$00,$00,$00,$00,$06,$00,$00,$00,$00,$00,$00,$24,$91,$00,_
$00,$00,$09,$00,$40,$00,$00,$00,$00,$00,$40,$00,$08,$00,$04,$a0,_
$00,$06,$00,$0a,$00,$00,$00,$1a,$00,$10,$03,$40,$00,$00,$00,$02,_
$00,$00,$18,$00,$00,$00,$00,$00,$00,$4f,$c0,$00,$00,$00,$00,$00]
GoSub pwr0
Next I

For I=0 To 127
PORTC=$08 : GoSub pwr1
PORTC=LookUp I,[$08,$b0,$00,$00,$00,$00,$00,$00,$07,$00,$00,$00,$00,$00,$00,$00,_
$61,$48,$00,$00,$00,$00,$00,$00,$18,$00,$00,$0d,$80,$00,$00,$00,_
$04,$80,$27,$ff,$ff,$ff,$e8,$00,$61,$bf,$ff,$66,$ff,$f3,$07,$a6,_
$1c,$67,$f9,$bf,$d2,$08,$70,$70,$66,$d8,$9f,$f0,$00,$15,$ac,$0c,_
$33,$3f,$6c,$00,$2d,$40,$03,$03,$5d,$ef,$c0,$1b,$00,$00,$10,$91,_
$2a,$50,$37,$c0,$00,$00,$0d,$60,$51,$2d,$00,$00,$00,$16,$c0,$98,_
$2d,$80,$00,$02,$00,$00,$3c,$4c,$48,$00,$9b,$b0,$42,$01,$07,$23,_
$00,$7f,$64,$5e,$d9,$61,$01,$c9,$27,$d6,$da,$82,$00,$08,$00,$6c]
GoSub pwr0
Next I

For I=0 To 127
PORTC=$08 : GoSub pwr1
PORTC=LookUp I,[$7f,$bb,$ff,$b1,$40,$80,$d0,$32,$18,$d4,$00,$4a,$2d,$30,$04,$09,_
$40,$00,$00,$00,$00,$06,$20,$80,$24,$00,$00,$00,$00,$00,$92,$40,_
$00,$00,$00,$00,$00,$00,$00,$09,$00,$00,$00,$00,$00,$00,$00,$24,_
$00,$00,$0d,$20,$00,$00,$00,$00,$00,$00,$6f,$f6,$d8,$00,$00,$00,_
$08,$0f,$f4,$9f,$df,$ff,$00,$00,$05,$77,$2f,$f2,$67,$da,$f4,$00,_
$03,$f9,$ff,$df,$d8,$25,$b7,$80,$7f,$9f,$f6,$ff,$ff,$ff,$ba,$c0,_
$1c,$6f,$bf,$fb,$6f,$dc,$d6,$f8,$63,$f9,$ff,$de,$da,$67,$ff,$d6,_
$7f,$9f,$ff,$ff,$ff,$fe,$da,$7e,$1c,$6d,$ff,$ff,$f7,$df,$77,$b7]
GoSub pwr0
Next I

For I=0 To 127
PORTC=$08 : GoSub pwr1
PORTC=LookUp I,[$61,$f5,$ff,$ff,$fe,$b3,$ff,$db,$7f,$be,$ff,$ff,$ff,$fe,$da,$f6,_
$2d,$65,$ff,$ff,$ff,$df,$ff,$7d,$73,$f3,$7f,$ff,$fe,$fb,$7f,$df,_
$7f,$bc,$ff,$ff,$ff,$fe,$cb,$f7,$2d,$c1,$bf,$ff,$ff,$a7,$fe,$fd,_
$77,$a1,$6f,$ff,$ff,$f9,$7f,$bf,$7e,$ce,$ff,$ff,$fd,$fe,$07,$f7,_
$37,$c0,$7d,$ff,$ff,$83,$f9,$fe,$7f,$20,$3f,$ff,$ff,$f9,$ff,$bf,_
$5f,$85,$bf,$ff,$fe,$ef,$0d,$ff,$6b,$83,$ed,$ff,$fb,$0f,$ef,$ef,_
$7d,$a0,$3f,$ff,$ff,$fb,$e7,$ff,$7e,$80,$3e,$ff,$fe,$ff,$61,$ff,_
$6f,$80,$2d,$ff,$e9,$2f,$f0,$ff,$75,$82,$3e,$ff,$ff,$ff,$d0,$7f]
GoSub pwr0
Next I

For I=0 To 127
PORTC=$08 : GoSub pwr1
PORTC=LookUp I,[$7a,$c3,$9e,$ff,$ff,$ff,$e0,$3e,$7e,$00,$07,$7f,$e9,$bf,$f1,$17,_
$77,$c0,$1a,$ff,$ff,$ff,$e0,$df,$79,$40,$9d,$ff,$ff,$ff,$f7,$cb,_
$7e,$00,$06,$bf,$f6,$ff,$f7,$45,$77,$e0,$b3,$ff,$fb,$ff,$e3,$3e,_
$79,$44,$de,$ff,$df,$3f,$f9,$07,$7e,$12,$57,$df,$fe,$df,$f7,$c4,_
$7f,$e9,$bb,$7f,$fb,$ef,$f3,$f2,$7b,$c4,$ce,$f6,$ef,$0f,$f9,$9b,_
$7e,$3a,$67,$bf,$bf,$cb,$f4,$c7,$7d,$e9,$bb,$ff,$f9,$ef,$fb,$e1,_
$7f,$d6,$5e,$ee,$ef,$4f,$f3,$f8,$6f,$7f,$b7,$ff,$be,$a7,$fd,$f6,_
$7f,$f5,$ff,$ff,$ff,$f7,$fc,$e3,$7d,$bf,$ed,$bf,$ff,$df,$e0,$01]
GoSub pwr0
Next I

For I=0 To 127
PORTC=$08 : GoSub pwr1
PORTC=LookUp I,[$7f,$ff,$ff,$ff,$df,$23,$79,$f6,$77,$ef,$ff,$fe,$ff,$f1,$fd,$f3,_
$3e,$ff,$ff,$ff,$ff,$cb,$e8,$f1,$7f,$ff,$ff,$ff,$77,$a3,$78,$fa,_
$77,$bb,$fe,$db,$bf,$71,$fc,$d0,$3d,$df,$f7,$fd,$de,$c1,$ec,$23,_
$7f,$ee,$db,$6e,$ed,$82,$f0,$78,$6e,$f3,$3e,$b7,$33,$61,$74,$f2,_
$37,$7d,$c1,$ee,$cc,$43,$ba,$61,$7b,$aa,$00,$11,$83,$81,$f0,$00,_
$7d,$dc,$16,$ba,$60,$a1,$58,$46,$1e,$e0,$80,$ce,$1c,$42,$f8,$f1,_
$6f,$20,$02,$25,$8f,$85,$d0,$50,$75,$d8,$03,$33,$e2,$23,$6c,$0f,_
$3b,$60,$01,$dc,$74,$80,$f8,$03,$6e,$80,$3c,$cf,$98,$03,$d0,$12]
GoSub pwr0
Next I

For I=0 To 127
PORTC=$08 : GoSub pwr1
PORTC=LookUp I,[$7d,$b0,$7f,$73,$f6,$07,$2c,$1d,$3f,$40,$06,$de,$ff,$e9,$70,$0f,_
$76,$80,$03,$5f,$fd,$bb,$c8,$32,$3d,$90,$47,$fb,$ff,$5f,$b4,$5d,_
$3e,$60,$63,$5f,$ff,$ec,$68,$6f,$77,$80,$33,$df,$ff,$f7,$c0,$da,_
$3e,$90,$01,$bb,$ff,$db,$b3,$6f,$39,$64,$02,$df,$ff,$fc,$7c,$ff,_
$56,$a0,$07,$ef,$ff,$6f,$cb,$7f,$3f,$50,$01,$9f,$ff,$fb,$13,$ff,_
$11,$b0,$02,$7f,$ff,$fc,$ed,$fb,$1a,$60,$37,$cb,$ff,$67,$ff,$dc,_
$0d,$98,$09,$bf,$bb,$ff,$1b,$fb,$04,$d0,$06,$7d,$ff,$b9,$66,$e5,_
$0a,$74,$03,$9f,$dd,$d7,$ff,$4e,$05,$9a,$01,$f6,$ff,$ed,$12,$f9]
GoSub pwr0
Next I

For I=0 To 127
PORTC=$08 : GoSub pwr1
PORTC=LookUp I,[$02,$64,$44,$7f,$e6,$b8,$a5,$2c,$00,$9a,$27,$bb,$3d,$4f,$5a,$56,_
$00,$1b,$92,$dc,$fb,$e4,$81,$78,$00,$04,$45,$ff,$a6,$30,$00,$a4,_
$00,$08,$b3,$63,$19,$0a,$49,$10,$00,$03,$16,$dc,$c8,$80,$01,$e0,_
$00,$04,$4b,$bb,$61,$20,$04,$80,$00,$00,$93,$64,$8c,$00,$01,$00,_
$00,$00,$0c,$ca,$40,$00,$06,$00,$00,$00,$00,$33,$20,$00,$14,$01,_
$00,$00,$03,$00,$00,$00,$28,$0b,$00,$00,$00,$08,$00,$00,$10,$3c,_
$00,$00,$00,$00,$00,$00,$81,$68,$00,$00,$00,$00,$00,$00,$01,$80,_
$00,$00,$00,$00,$00,$02,$00,$60,$00,$00,$00,$00,$00,$00,$00,$00]
GoSub pwr0
Next I

PORTC=$01 : GoSub pwr1	'ON

'Sleep 3000 ' ???
DelayMS 3000

PORTC=$0C : GoSub pwr1	
PORTC=$00 : GoSub pwr0
PORTC=$0D : GoSub pwr1
PORTC=$00 : GoSub pwr0

GoSub tclr					

PORTC=$0E : GoSub pwr1
PORTC=$00 : GoSub pwr0
PORTC=$0F : GoSub pwr1
PORTC=$00 : GoSub pwr0

For I=0 To 18	'TYPE : GU256X64-900"
PORTC=$08 : GoSub pwr1
PORTC=LookUp I,[$54,$59,$50,$45,$20,$3A,$20,$47,$55,$32,$35,$36,$58,$36,$34,$2D,$39,$30,$30]
GoSub pwr0
Next I

For K=0 To 5						
KK=(k+2)*$80							
PORTC=$0E : GoSub pwr1

'PORTC=kk Mod $100 : GoSub pwr0 ' ????
PORTC=KK // $100 : GoSub pwr0

PORTC=$0F : GoSub pwr1
PORTC=KK/$100 : GoSub pwr0
For I=K * 21 + $30 To K * 21 + $30+20
PORTC=$08 : GoSub pwr1
PORTC=I : GoSub pwr0
Next I
Next K

PORTC=$02 : GoSub pwr1					'ON

'Sleep 3000 ' ???
DelayMS 3000

PORTC=$03 : GoSub pwr1	'ON

End					

gclr:			
PORTC=$0E : GoSub pwr1	
PORTC=$00 : GoSub pwr0
PORTC=$0F : GoSub pwr1
PORTC=$04 : GoSub pwr0
'Sleep 10 ' ???
DelayMS 10
For I=0 To $07ff
PORTC=$08 : GoSub pwr1
PORTC=$00 : GoSub pwr0
Next I
Return

tclr:				
PORTC=$0E : GoSub pwr1
PORTC=$00 : GoSub pwr0
PORTC=$0F : GoSub pwr1
PORTC=$00 : GoSub pwr0
'Sleep 10 ' ???
DelayMS 10
For I=0 To $03ff
PORTC=$08 : GoSub pwr1
PORTC=$20 : GoSub pwr0
Next I
Return

pwr0:					'C/D="0"
Low PORTA.3		'RA3=C/D="0"
Low PORTA.2		'RA2=WR="0"
High PORTA.2	'RA2=WR="1"
Return
 
pwr1:					'C/D="1"
High PORTA.3	'RA3=C/D="1"
Low PORTA.2		'RA2=WR="0"
High PORTA.2	'RA2=WR="1"
Return



orjinal kod:
http://www.noritake-itron.jp/kit/special0512/sample/gu256x64-pb.htm

Maxim