 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.96 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Čet Jan 29, 2009 7:09 pm Naslov sporočila: Zanimiv čip - SAA1064 |
|
|
Glede na tole debato sem sem sklenil, da si spišem še procedurce za AVR. Poiskal sem testni displej, katerega sem uporabljal pri pisanju PIC aplikacij.
Mogoče nekaj osnovnih podatkov o čipu.
Gre za philipsov driver za štiri 7 segmentne led displeje s skupno katodo. Upravlja se z I2C protokolom (2 pina) Displeji delajo v multiplex načinu. Sam čip skrbi za multipleksiranje. Ne potrebuje uporov v segmente. Za pogon dveh displejev poleg čipa ne potrebujemo ničesar več. Za pogon 4 displejev pa potrebujemo še dva NPN transistorja ter kondenzator 2.7n. "Cukrček" , ki mi je zelo všeč ter se da v praksi velikokrat koristno uporabiti je softwerska nastavitev osvetlitve. Tok na segmentih lahko nastavljamo v mejah od 3-21mA. To je zelo uporabno, če želimo uravnavati osvetlitev glede na svetlobo v prostoru, kjer je displej. (priložena testna aplikacija)
Namerno sem vzel mali 8 pinski mikrokontroler (Tiny13) Displej je priključen na PB0 (SCL) PB1(SDA) . Mikrokotroler poganja notranji oscilator 4.8Mhz. Za tak clock je tudi pisana testna aplikacija. Pri nižjem clocku ne bi smelo biti problemov. Pri višijem pa bo potrebno narediti korekicjo zaradi timingov.
V prilogi fotografije testnega displeja ter filmček, ki prikazuje osvetlitev glede na svetlobo. (kvaliteta ni najboljša - narejeno s fotoaparatom)
Testna koda - pisano v assemblerju. Komentarjev ni dosti - mi vzamejo preveč časa . Če koga kaj zanima- bom odgovoril na forumu. Zato prosim ne pisat pod zasebno.
Koda: |
;--------------------------------------------
;testni program
;I2C procedure za SAA1064
;Silvo
;www.elektronik.si
;29.01,09
;-------------------------------------------
#include "tn13def.inc"
.def stev=r1
.def Eni=r2
.def Des=r3
.def Sto=r4
.def Tis=r5
.def tmp=r16
.def Lbiti=r17
.def Hbiti=r18
#define SCL DDRB,0
#define SDA DDRB,1
.equ KontrolniR=0x60 ;kontrolni register SAA1064
.equ Enica=0x62
.equ Dtica=0x61
.equ Stica=0x64
.equ Ttica=0x63
.org 0x0
rjmp GProg
.org 0x10
TABELA: //0123456789AbcdEFPHI-
.db 126,40,182,186,232,218,222,56,254,250,252,206,134,174,214,212,244,236,68,128
GProg:
ldi tmp, low(ramend)
out SPL,tmp
ldi tmp,0b00110111 ;
sts KontrolniR,tmp
rcall LedInic ;inicializacija led displeja
ldi tmp,0b11
out ADMUX,tmp
ldi tmp,0b10100011
out ADCSRA,tmp
sbi ADCSRA,ADSC
ldi tmp,1
sts Ttica,tmp
ldi tmp,2
sts Stica,tmp
ldi tmp,3
sts Dtica,tmp
ldi tmp,4
sts Enica,tmp
Zanka:
rcall Pavza200mS
rcall LedInic
rcall Osvezi
in LBiti,ADCL ;branje AD vhoda
in Hbiti,ADCH
rcall HexDec
mov tmp,Sto
cpi tmp,4
breq St1
cpi tmp,5
breq St2
cpi tmp,6
breq St3
cpi tmp,7
breq St4
cpi tmp,8
breq St5
rjmp Zanka
St1:
ldi tmp,0b01010111
sts KontrolniR,tmp
rjmp Zanka
St2:
ldi tmp,0b01000111
sts KontrolniR,tmp
rjmp Zanka
St3:
ldi tmp,0b00110111
sts KontrolniR,tmp
rjmp Zanka
St4:
ldi tmp,0b00100111
sts KontrolniR,tmp
rjmp Zanka
St5:
ldi tmp,0b00010111
sts KontrolniR,tmp
rjmp Zanka
;-----------------------------------------------------------
;Pavza 200mS Oscilator 4,8Mhz
;-----------------------------------------------------------
Pavza200mS:
push r20
push r21
push r22
ldi r20,182
ldi r21,223
ldi r22,5
P_zanka2:
dec r20
brne P_zanka2
dec r21
brne P_zanka2
dec r22
brne P_zanka2
pop r20
pop r21
pop r22
nop
ret
;///////////////////////////////////////////////////////
;racunanje
;------------------------------------------------
;protvorba 10 bitne cifre v 4 registre za prikaz
;------------------------------------------------
HexDec:
clr Eni
clr Des
clr Sto
Clr Tis
NaTis:
cpi Hbiti,high(1000)
brlo NaSto
breq Enako
subi Lbiti,Low(1000)
sbci Hbiti,0
subi HBiti,high(1000)
inc Tis
rjmp NaTis
Enako:
cpi LBiti,low(1000)
brlo NaSto
subi Hbiti,high(1000)
subi Lbiti,Low(1000)
inc Tis
NaSto:
tst Hbiti
breq Enako0
subi Lbiti,100
sbci Hbiti,0
inc Sto
rjmp NaSto
Enako0:
cpi Lbiti,100
brlo NaDeset
subi Lbiti,100
inc sto
rjmp Enako0
NaDeset:
cpi Lbiti,10
brlo NaEna
subi Lbiti,10
inc Des
rjmp NaDeset
NaEna:
ret
;///////////////////////////////////////////////////////
;----------------------------------------------------
;procedure za displej
;-----------------------------------------------------
;osvezitev displeja
;-----------------------------------------------------
Osvezi:
rcall StartB
ldi tmp,0b01110000
rcall I2cTx
ldi tmp,1
rcall I2cTx
clr XH
ldi XL,Dtica
NasCif:
ld tmp,X+
rcall Znak
rcall I2cTx
cpi XL,Ttica+2
brne NasCif
rcall StopB
ret
Znak:
ldi ZH,high(tabela*2)
ldi ZL,low(tabela*2)
add ZL,tmp
lpm
mov tmp,r0
ret
;-----------------------------------------------------------
;inicializacija led displeja
;-----------------------------------------------------------
LedInic:
rcall StartB ;start bit
ldi tmp,0b01110000 ;naslov+vpis
rcall I2cTx
ldi tmp,0 ;vpisoval bom v kontrolni register
rcall I2cTx
lds tmp,KontrolniR
rcall I2cTx
rcall StopB ;stop bit
ret
;//////////////////////////////////////////////////////////////
;i2c procedura
;-----------------------------------------------------------
;procedura pošlje podatek dobljen v tmp na I2C vodilo
;-----------------------------------------------------------
I2cTx:
push tmp
ldi tmp,8
mov stev,tmp
pop tmp
NasBit:
rol tmp
brcs Bit1
sbi SDA
rjmp Clock
Bit1:
cbi SDA
Clock:
rcall Pavza5uS
cbi SCL
rcall Pavza5uS
sbi SCL
dec stev
brne NasBit
cbi SDA
rcall Pavza5uS
cbi SCL
rcall Pavza5uS
sbi SCL
sbi SDA
ret
StartB:
;--------- start bit
sbi SDA
rcall Pavza5uS
sbi SCL
ret
;-------
StopB:
;--------stop bit
cbi SCL
rcall Pavza5uS
cbi SDA
ret
;-----------------------------------------------------------
;Pavza 5uS Oscilator 4,8Mhz
;-----------------------------------------------------------
Pavza5uS:
push r20
ldi r20,4
P_zanka:
dec r20
brne P_zanka
pop r20
nop
ret
|
Opis: |
|
Velikost datoteke: |
406.93 KB |
Pogledana: |
9 krat |

|
Opis: |
|
Velikost datoteke: |
414.73 KB |
Pogledana: |
22 krat |

|
Opis: |
Film - regulacija osvetlitve |
|
 Download |
Ime datoteke: |
P1290054.ZIP |
Velikost datoteke: |
3.16 MB |
Downloadano: |
27 krat |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Obelix Član

Pridružen-a: Pon 19 Maj 2008 13:59 Prispevkov: 1881 Aktiv.: 9.05 Kraj: Maribor
|
Objavljeno: Pet Jan 30, 2009 9:07 am Naslov sporočila: |
|
|
Vidim, da imaš tudi tiskanino za displej. Si jo pripravljen deliti z nami ?
Lep pozdrav, Andrej
|
|
Nazaj na vrh |
|
 |
BojanR Član

Pridružen-a: Tor 08 Apr 2008 9:52 Prispevkov: 693 Aktiv.: 3.31 Kraj: Vnanje Gorice
|
Objavljeno: Pet Jan 30, 2009 11:02 am Naslov sporočila: |
|
|
Kakšno leto dni nazaj sem tudi sam uporabil ta driver in mi dela super. Poganjam 1,2 inča visoke Kinghbright visokosvetilne LED displaye. Pa fino je, ker se da regulirat tok. Tako da lahko display sveti z zmanjšano svetilnostjo do interupta, potem pa zasveti v polnem sijaju.
Opis: |
|
Velikost datoteke: |
183.59 KB |
Pogledana: |
8 krat |

|
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.96 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pet Jan 30, 2009 5:17 pm Naslov sporočila: |
|
|
Obelix je napisal/a: |
Vidim, da imaš tudi tiskanino za displej. Si jo pripravljen deliti z nami ?
Lep pozdrav, Andrej |
Mislim, da je tiskanina celo nekje na forumu. Sicer jo bom skušal poiskati.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.96 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pet Jan 30, 2009 5:46 pm Naslov sporočila: |
|
|
V prilogi tiskanina v PDF ter Layout formatu. Mislim, da je dobra, kajti na tej na fotografiji sem delal neke popravke. Elementi niso označeni. (itak ni nič kaj gor) 2x transistor BC847 ter kondenzator 2.7n ter upor 0 (mostič) pri transistorju. Zraven kondezatorja se še prilotajo ustrezni upori za določitev naslova. (glej datasheet). Displej je v enem kosu CA56-11EWA (kupljeni v C*onradu). Morda bi bilo smiselno displejsko ploščo narisat za klasične displeje.
Opis: |
Tiv v PDF ter Layout formatu |
|
 Download |
Ime datoteke: |
saa1064.zip |
Velikost datoteke: |
28.5 KB |
Downloadano: |
16 krat |
Opis: |
|
 Download |
Ime datoteke: |
SAA1064.pdf |
Velikost datoteke: |
129.14 KB |
Downloadano: |
11 krat |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 491 dni
Powered by phpBB © 2001, 2005 phpBB Group
|