Zprovoznění hodin na PIC16F628A
Moderátor: Moderátoři
- markoni
- Příspěvky: 2312
- Registrován: 30 říj 2006, 00:00
- Bydliště: Poblíž Zlína
- Kontaktovat uživatele:
Zprovoznění hodin na PIC16F628A
Potřeboval bych aby mi šli hodiny na PIC16F628A frekvence krystalu 20 MHz na bázi přerušení prostě aby šly ti hodiny na pozadí s tím že v hlavním programu by jsem testoval teplotní čidlo DS18S20 určitě je nějaká rutina na ty hodiny nevíte kde? díky
http://ww1.microchip.com/downloads/en/D ... 40044G.pdf - študuj od strany 47 ...
Pak už to je jen otázkou vhodného zpracování v přerušení
EDIT: Teď mě tak napadá , pokud by si chtěl jednoduchost programu a vysokou přesnost hodin a jsi ochoten si za to připlatit , je vhodné použití specializovaného obvodu , např. DS3234 - http://datasheets.maxim-ic.com/en/ds/DS3234.pdf ...
- markoni
- Příspěvky: 2312
- Registrován: 30 říj 2006, 00:00
- Bydliště: Poblíž Zlína
- Kontaktovat uživatele:
Kód: Vybrat vše
INTR MOVWF MEM_W
SWAPF STATUS,W
MOVWF MEM_S
BCF STATUS,RP0
MOVLW 100
MOVWF TMR0
INCF TMR,F
MOVFW TMR
XORLW 100
BTFSS STATUS,Z
GOTO CAS_1
CLRF TMR
INCF SEC,F
MOVFW SEC
XORLW 60
BTFSS STATUS,Z
goto CAS
CLRF SEC
INCF MIN,F
MOVFW MIN
XORLW 60
BTFSS STATUS,Z
GOTO CAS
CLRF MIN
INCF HOD,F
MOVFW HOD
XORLW 24
BTFSC STATUS,Z
CLRF HOD
goto CAS_1
CAS MOVLW 132
CAS_1
BCF INTCON,T0IF
SWAPF MEM_S,W
MOVWF STATUS
SWAPF MEM_W,F
SWAPF MEM_W,W
RETFIE
Kde dělám chybu?
Kažodopádně , zkontroluj si inicializaci časovače , přerušení a nastavení předděličky , nebo sem rovnou napiš celý tvůj INIT blok
- markoni
- Příspěvky: 2312
- Registrován: 30 říj 2006, 00:00
- Bydliště: Poblíž Zlína
- Kontaktovat uživatele:
Kód: Vybrat vše
BSF STATUS,RP0
MOVLW B'00110001'
MOVWF TRISB
MOVLW B'11000101'
MOVWF OPTION_REG
BCF STATUS,RP0
MOVLW B'10100000'
MOVWF INTCON
a uvítal bych ten datashet PIC16F628A česky (já a angličtina to nejde do hromady pro mě bohužel
- markoni
- Příspěvky: 2312
- Registrován: 30 říj 2006, 00:00
- Bydliště: Poblíž Zlína
- Kontaktovat uživatele:
- Přílohy
-
screen0.JPG- (140.12 KiB) Staženo 126 x