Med udgangspunkt i AN557 fra Michrochip, vil jeg lave en test af dette med at udnytte porte til både in- og output - denne AppNote er vel et skoleeksempel herpå - ikk' ?
Da jeg er "ny" vedr. ASM og PIC's vil jeg gennemgå koden lidt efter lidt og kun medtage en mindre del af koden - så jeg forstår dens opbygning og funktion.
Jeg har afprøvet min ELEKTRONISKE opstilling med styring af hver enkelt af de 4 cifre samt hver enkelt segment herpå - det lyser klart, når ciffer og segment lægges direkte til +.
Dette skulle så styres via 16F84 på 4 Mhz.
I første omgang vil jeg bare have de 4 cifre til at vise 4321 via interrupt - ikke andet og det fungerer perfekt i simulatoren, MEN når jeg afprøver det elektronisk vises overhovedet ingen cifre, MEN jeg kan meget kortvarigt se cifrene ved tilslutning/afbrydelse af driftsspændingen !!!!
Det må være et timingsproblem - jeg har målt med stopuret i simulatoren, at interruptet kommer hvert 5.009 mSec og et ciffer 'står tændt' til næste interrupt indtræffer - iflg. simulatoren i hvert fald !
Hvert ciffer (her 1'nerne) opdateres i interruptet med denne kode:
clrf PORTA ; sluk alle cifre movf Cif1,W ; get 1'erne i w Call DisplayOut ; her bestemmes hvilke segmenter, der skal være tændt (=1) for at svare til værdien i Cif1 ; og de tilsvarende bit lægges på PORTB bsf PORTA,0 ; tænd ciffer for 1'erne
Jeg ved godt det er en 'amatør-kode', men sådan må det vel være til en start !
Det jeg forestiller mig er galt er, at hvert enkelt ciffer IKKE er tændt længe nok til at øjet kan opfatte det som værende tændt.
Jeg synes dog ikke den oprindelige koden i AN-557 gør noget mht delay efter hvert ciffer er opdateret.
Har nogen en ide til hvad jeg kan gøre ?
Mvh KS