Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

SSD1305 Hakkında !

Başlatan HeCToR, 16 Haziran 2015, 13:11:14

HeCToR

Merhaba Arkadaşlar araştırmalarıma göre mikro c library içerisinde SSD1305 Bulunmamakta şimdi asıl sorum oled uygulaması yapan arkadaşlarım oldumu I2C üzerindenmi SPI üzerindenmi yoksa manuel datalar üzerindemi kontrol etmem mantıklı olur birde SSD1305 library olmadan kontrolunu sağlamam beni yorarmı ? Teşekkürler
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Gerekir

baran123

Şimdi baktım da aslında sabah yazacaktım.Senin bu modül-sürücü elinde nasıl mevcut ? direk modül halinde mi ? Modül halinde ise sana sunulan pinlerden iletişim sağlayabilirsin.Ben 1306 lı kullandım SPI pinleri vardı.Hız olarak da gayet iyi idi.Aslında I2C de varda SPI daha hızlı oluyor.Senin pdf de
http://www.allshore.com/pdf/SSD1305.pdf
I2C yada SPI da oluyormuş.SPI yapabilirsen gayet iyi olur tek Slave olsa CS low da tutulur MOSI-SCLK-D/C ile 3 pin kullanırsın.Ne ile süreceksin. ?

magic_gun

neden yorsunki ? kendi alet edevatını yapamayandan usta olurmu ?
1305 kullanımı ekteki kodda ama ben paralel kullandım dataları sadece spi dan gondermen yeterli olacaktır 
saygılarımla,,,
        LIST	P=16f876, F=INHX8M		
	
	

;      bank 0

       indf     equ    00h    ; adresing this location uses contain fsr 
       tmr0     equ    01h    ; timer 0
       pcl      equ    02h    ; program caunter  lsb
       status   equ    03h    ; status flags
       FSR      equ    04h    ; indrect data adres pointer
       port_a   equ    05h    ; porta data latch where written to p_a pins when read
       port_b   equ    06h    ; portb data latch where written to p_b pins when read
       PORT_B   EQU    06h
       port_c   equ    07h    ; portc data latch where written to p_c pins when read
       port_d   equ    08h    ; portd data latch where written to p_d pins when read
       PORT_E   EQU    08h
       port_e   equ    09h    ; porte data latch where written to p_e pins when read
       pclath   equ    0Ah    ; buffered register for the upper 5 bits of the program caunter
       intcon   equ    0Bh    ; int. config. reg.
       pir1     equ    0Ch    ; peripheral int. reg.
       pir2     equ    0Dh    ; peripheral int. reg.
       tmr1l    equ    0Eh    ; timer 1 lsb
       tmr1h    equ    0Fh    ; timer 1 msb
       t1con    equ    10h    ; timer 1 control reg.
       tmr2     equ    11h    ; timer 2
       t2con    equ    12h    ; timer 2 control reg.
       sspbuf   equ    13h    ; synchronus serial port recive buffer /transmit register
       sspcon   equ    14h    ; synchronus control register.
       ccpr1l   equ    15h    ; capture compare duty cycle  reg. lsb
       ccpr1h   equ    16h    ; capture compare duty cycle  reg. msb
       ccp1con  equ    17h    ; control reg.
       rcsta    equ    18h    ; serial err reg.
       txreg    equ    19h    ; sci transmit reg.
       rcreg    equ    1Ah    ; sci recive reg.
       ccpr2l   equ    1Bh    ; capture compare duty cycle  reg. lsb
       ccpr2h   equ    1Ch    ; capture compare duty cycle  reg. msb
       ccp2con  equ    1Dh    ; control reg.     
       adres    equ    1Eh    ; a/d result register.
       adcon0   equ    1Fh    ; adc control reg.
       opt_reg  equ    81h    
       tris_a   equ    85h    ; porta data latch where written to p_a pins when read
       tris_b   equ    86h    ; portb data latch where written to p_b pins when read
       tris_c   equ    87h    ; portc data latch where written to p_c pins when read
       tris_d   equ    88h    ; portd data latch where written to p_d pins when read
       tris_e   equ    89h    ; porte data latch where written to p_e pins when read
       pie1     equ    8Ch    ; peripheral int. reg.
       pie2     equ    8Dh    ; peripheral int. reg.
       pcon     equ    8Eh    ;
       pr       equ    92h    ; timer 2 period reg.
       sspadd   equ    93h    ; synchronus serial port adres register
       sspstat  equ    94h    ; synchronus serial port status
       adcon1   equ    9Fh    ; adc control reg.

;      hardware definitions
;---------------------------------;         
	 ;
	 c         equ     0      ;
	 dc        equ     1      ;
	 z         equ     2      ;
	 rp0       equ     5      ;
	 
				  ;
	 adif       equ    6      ;  A/D converter done
	 tmr1if     equ    0      ;  timer 1 over flow
	 tmr1on     equ    0      ;
	 adie       equ    6      ;
	 tmr1ie     equ    0      ;
	 gie        equ    7      ;
	 hlt        equ    7      ;

;---------------------------------;         



__config _XT_OSC & _WDT_ON & _PWRTE_ON & _BODEN_ON & _CP_OFF & _LVP_OFF






	cblock  0x020
       
        flash

	SAY1
        SAY2
        SAY3

        xxy
  
	endc 

#DEFINE	run_led 	PORTC,1	;	

;oled pins

#DEFINE	disp_rst 	PORTC,2	;
#DEFINE	disp_wr 	PORTC,3	; wr
#DEFINE	disp_dc 	PORTC,4	;



;------------------------------------------------------------


;------------------------------------------------------------

	org     0x0000          
	goto    start

;------------------------------------------------------------   
;------------------------------------------------------------   

	org     0x0005         ;

start ;----------------------------------

		  clrwdt

              

                  
		  BANKSEL TRISA
		 
		  clrf tris_a         ;A0-A& input
		  clrf tris_b          ;B0-B& output
		  movlw b'00000000'

;		  movwf tris_e         ;E0-E& output
		  clrf intcon          ;all int clear
		  movlw b'00000110'
                   
		  movwf adcon1     

		  clrf pie1            ;all flags clear
		  movlw b'10001111'    ;disables all int
		  movwf opt_reg        ;assigned wdt rate 1/128
	 
		  
		  movlw b'00000000'
		  movwf tris_c         ;port c high nible out low nible inputs
		  movlw b'00000000'
		  movwf tris_d         ;port d D2,D3 input others out
		 
                  bcf status,rp0       ;bank 0
                  BANKSEL PORTB

		  movlw b'10000000'    ;f/32 conv.& ad off
		  movwf adcon0
		  clrf pir1            ;clear all request
		  
		  
		  clrf status          ;ready  

                  bcf status,7   
		  clrf port_c
		  clrf port_d
		  clrf port_b
                  clrf port_a
                  
                  bsf disp_wr
                 
                  bsf port_c,0
                  bsf disp_rst


                  clrf flash

oled_reset 
                 

                bcf disp_rst
                call _5ms
                bsf disp_rst
                bsf port_c,1
                movlw 0xAF
                call send_cmd

                
disp_on
                  

 
                movlw 0xAE      ; panel off
                call send_cmd
set_disp

                movlw 0xD8       ;monocrome 
                call send_cmd
                movlw .0         ; send data ,??
                call send_cmd

                movlw 0xA8       ;multiplex
                call send_cmd
                movlw 0x3F
                call send_cmd

              
                

                
                movlw 0xD5      ;clock divide
                call send_cmd
               
                
                movlw 0x81     ;constrat
                call send_cmd
                

                
                movlw 0x82     ;bright
                call send_cmd
               


                movlw 0xA4      ;clear ram 
                call send_cmd
 
                movlw 0xA6
                call send_cmd    ; non inverse


                movlw 0xD3       ; ofset 0
                call send_cmd
                movlw 0
                call send_cmd
                
                movlw 0x40
                call send_cmd


                movlw 0x20       ;page

                call send_cmd
                movlw 0x10
                call send_cmd


                movlw 0xAF
                call send_cmd           

 
 

 
 
 
        call kg
       

        
        call xline

                
        
        call magic


dene
        
        clrwdt
       

        goto dene
kg


        movlw .125
        movwf flash
gonder
        clrwdt

        movlw b'10111101'
        call send_chr
        decfsz flash,1
        goto gonder

        return





send_cmd
      
       bcf disp_dc
       bcf disp_wr  
       movwf port_b
       nop
       nop
       nop
       nop
       nop
       bsf disp_wr
       
       
     
       
  
       return




send_chr



       bsf disp_dc
       bcf disp_wr  
       movwf port_b
       nop
       nop
       nop

       nop
       bsf disp_wr
               



       
       return

magic

     

        



;       M

        movlw	B'11111110'
	CALL	send_chr	
	movlw	B'00000100'
	CALL	send_chr	
	movlw	B'00011000'
        CALL	send_chr	
	movlw	B'00000100'
	CALL	send_chr	
	movlw	B'11111110'	
        CALL	send_chr
;       A
        
        MOVLW b'00000000'
        CALL	send_chr

        movlw	B'11111100'									
        CALL	send_chr	
	movlw	B'00010010'									
        CALL	send_chr	
	movlw	B'00010010'									
        CALL	send_chr	
	movlw	B'11111100'	     
        CALL	send_chr
;       G

        MOVLW b'00000000'
        CALL	send_chr

        movlw	B'01111100'									
        CALL	send_chr	
	movlw	B'10000010'									
        CALL	send_chr	
	movlw	B'10010010'									
        CALL	send_chr	
	movlw	B'01110100'	
        CALL	send_chr
;       i
        MOVLW b'00000000'
        CALL	send_chr

        movlw	B'10001000'									
        CALL	send_chr	
	movlw	B'11111010'									
        CALL	send_chr	
	movlw	B'10001000'									
        CALL	send_chr	
	movlw	B'00000000'	
        CALL	send_chr
        
;       c 

        movlw	B'01111100'									
        CALL	send_chr	
	movlw	B'10000010'									
        CALL	send_chr	
	movlw	B'10000010'									
        CALL	send_chr	
	movlw	B'01000100'									
        CALL	send_chr	
   
        movlw	B'00000000'									
        CALL	send_chr	
        
        return

xline
       

       

  
        movlw .64  
        movwf xxy
   

cizgi
        movlw .207
        call send_chr 
        call _5ms

        
        decfsz xxy,1
        goto cizgi
    
        return



;---------------------------

hayal etmeden basaramazsınız www.atariturkiye.com

HeCToR

@Baran Ekrem Hazır Modül Değil Yalnızca SSD1305 var oled üzerinde bütün pinleri açık durumda Ekteki resimdeki gibi Ben I2C üzerinden kullanmayı düşünüyorum @magic_gun Hocam Sizin tavsiyeniz nedir ? Saygılarımla...


Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Gerekir

magic_gun

I2C , SPI yada paralel kullanabilecegini 8 bit bus'tan belirlediğin muddetce bir sıkıntı olacağını zannetmiyorum zaten oled displaylerde hız konusunda  lcd ler gibi bir sıkıntı yok :) yanlız init rutininde her gönderdigin datanın ( SPI ve  I2C modunda) komut mu data mı oldugunu belirtmen lazım( 0x80)

not: oled grafik ekranlar gercekten keyifli nesneler hele ssd 1351 turevi ile calısıyorsan nacizane fikrim TFT 5-0 mağlup baslar
        page adressing modunda diger sayfayı ekrana getirmesi işlemcinin 3-5 clk saykılından az :)
 
        saygılarımla ,
        M.gun
hayal etmeden basaramazsınız www.atariturkiye.com

baran123

SPI yapabilirsin ama @magic_gun dediği gibi data/comman olayına dikkat et.D/C pinini kullanabilirsin.PDF'i iyice oku bu ssdler güzel döküman hazırlamış.

magic_gun

hayal etmeden basaramazsınız www.atariturkiye.com

HeCToR

Hocam Güzel Ancak ASM ile hiç aram yok  ;D
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Gerekir

magic_gun

ASM candır :)
Şaka bir tarafa insan hangi dile hakimse o kişiye o kolay gelir ama ne hikmetse sulandırılmış C türevlerine  bir türlü ısınamadım C surekası içinde sadece mikro C severim sebebi ise içine çok rahat ASM gömülebilmesi :)

   btfsc high_level ,matematik
   goto cnt
   
   void mth()
{
  bla ;
  bla ;
}

cnt

 
hayal etmeden basaramazsınız www.atariturkiye.com

HeCToR

Evet ASM Candır Hocam :D Keşke Bende Sizin Gibi İhtiyar Olsaydımda Şu an ASM'ye Hakim olabilseydim :D Gençlik İşte Her şeyin kolayı olsun C :D :D
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Gerekir

baran123

Alıntı YapGençlik İşte Her şeyin kolayı olsun C :D :D
:)