Mám pár nejasnosti : Rozdělení registru.když se pokusím připojit diodu na vývod RA1 tak mám použít banku 0 port a nebo banku 1 trisa .To je jako 0 zavřeny 1 otevřený nebo se použivá jiná adresa . Jak mám poznat do jaké adresy co ukládat.
Jsou věci, které by se měli dodržet. INIT procesoru, bez toho se asi neobejdeš. A program by měl někde končit a ne dojet na konec paměti a po resetu, co jiného mu zbude, zase od začátku. Příkaz GOTO $ zůstane stát na tomto řádku.
On se totiž procesor asi tak rychle resetuje, že svítí všechny.
Chtěl bych se zeptat na vyvojové prostředí MPLAB: když spustím program tak bych chtěl vidět co se děje uvnitř procesoru a jestli se dá krokovat program.
V položce Debugger/Select Tool zvol MPLAB SIM. Musíš mít pochopitelně nastaveno správně Configure/Select device na typ PIC.
Pak můžeš simulovat běh programu, po krocích nebo s pomocí breakpointů.
Pomocí View/Watch si můžeš zobrazit libovolný registr PIC při break nebo při krokování.
Další možnost je v případě, že máš ICD2 nebo PicKit2 a PIC, který má interní debugging. Pak můžeš krokovat a používat break v reálném zapojení s PIC.
Pokud pustíš RUN, tak žádnou akci procesoru neuvidíš, protože procesor jede plnou rychlostí. Jedinou změnu uvidíš, až program zastavíš nebo až se program zastaví na breaku. F7 - budeš krokovat program příkaz po příkazu, pak uvidíš, co se v procesoru děje.
; ------------------------
; movlw b’10100000’ ; povolena všechna přerušení a od přetečení TMR0
; movwf INTCON
; bsf INTCON,TOIE ; 1=povoleno přerušení při přetečení TMR0
; bsf INTCON,INTE ; 1=povoleno přerušení z portu RB0/INT
; bsf INTCON,GIE ; 1=povolena všechna nemaskovaná přerušení
[/code]
protože třeba PORTA jsou po resetu nastaveny jako AD převodníky.
A všechny vývody, kromě RA0, jsou teď v LOG 0.
BSF PORTB,LED
Příkaz BSF ti nastaví příslušný vývod do LOG 1, teď port RB0.
Tady máš zakladní nastavení procesoru a popis, co se děje, když tam dopíšeš co chceš, tak by ti to mohlo fungovat.
Inicializace je pochopitelně součástí programu. Pod tímto pojmem rozuměj nastavení registrů, které ovlivňují činnost procesoru. Je to třeba určení, které porty jsou vstupní a které výstupní pomocí registru TRIS. Další je třaba zapnutí AD převodníku apod. Některé periferie jsou po resetu defaultně zapnuty, některé vypnuty. Pokud chceš například používat některou bránu jako digitální vstup/výstup, musíš obvykle v registru ANSEL vypnout analogovou funkci. Podobně je to s analogovým komparátorem, který je často také nutno vypnou. Určuješ také například jestli bude povoleno přerušení a od kterého zdroje. Všechny tyto informace najdeš v datasheetu. Tam je napsáno, jak se po resetu nastaví jednotlivé registry, co je zapnuto a co vypnuto. Například předdělička je po resetu vždy připojena k WDT, i když je WDT vypnuto konfiguračním slovem. Když ji chceš použít s TMR0, tak ji musíš přepnout pomocí bitu v OPTION_REG.¨
Mimochodem, ten tvůj program “pokus” by měl být funkční, pokud tam nemáš někde zkrat. Po resetu se ale nenulují PORTA, PORTB. Proto je opravdu vhodné udělat napřed clear PORTB, jak bylo již řečeno.
CHtěl jsem střídavý proud z trafa 220V na 17V zkoušet usměrňovat prostě jen pokusi .Jen bych se chtěl zeptat , když jsem 17 V propojil můstkovým usměrňovačem proč se mě na vývodech plus a minus napětí zvetšílo na 33,5V ? Já myslel že tam bude pořád těch 17V. Čim to teda je?
Pokud usměrníš střídavé napětí, tak se jeho efektivní hodnota nezmění. Správně bys tedy měl naměřit napětí stejné, pokud nepoužiješ filtrační kondenzátor. Problém je asi v měřáku. Ten tvůj nejspíš pro měření střídavého napětí používá jednocestný usměrňovač.
Zdravím všechny
Hrozně dlouho jsem tu nebyl nezbývalo mě moc času. Moc jsem se dopředu neposunul s tým asemblerem pro pic .Našel jsem knihu bity do bytu je pěkně napsaná . Ale nevým jestli to můžu použít i pro pic jestli to není jen pro asembler. Ještě jsem našel na internetu youtube.com/watch?v=dviLoLkEQrk .Ten program je myslím napsaný v cečku , šlo by to i pro asembler nebo je to lepší zapojit na kontaktní pole ?
Cau, to co si nasel je docela zajimava vec , ten program mel priponu .BAS , takze asi bascom, a do toho “proteus design suite” nahraval HEX takze by tam nemel bejt problem , ASM ,C ci neco jinyho, chtel sem to hned prudnout ale nenasel sem to jako FREE
EDIT: uz sosam,skusim az zejtra , ja to mam na dlouho