Stránka 1 z 1

Časový zaznamenávač událostí s PIC

Napsal: 09 kvě 2009, 10:19
od markoni
Zdravím
Potřeboval bych nějaký program na zaznamenání nějaké události moje úvaha je taková:
program v například v PIC16F84 by vytvářel minuty a ty by přičítal a zapisoval do proměnné a jak by nastala nějaká událost zvenčí tak ta hodnota proměnné by se zkopírovala do eepromky obsažené v PIC16F84 a tu bych si přečetl na PC dělal někdo z vás něco takového abych nemusel já psát program a pak pracně ladit díky

Napsal: 09 kvě 2009, 21:27
od miromatus
Zdravím , pozri KTE 6/2003 miniškola 16F84 lekcia 21 , je tam popisovaný program záznam času pri stlačení tlačidla.

Napsal: 10 kvě 2009, 06:44
od markoni
miromatus píše:Zdravím , pozri KTE 6/2003 miniškola 16F84 lekcia 21 , je tam popisovaný program záznam času pri stlačení tlačidla.

Ten časopis jsem si kupoval v trafice ale bohužel nepravidelně tak nevím jestli toto číslo mám nevíte náhodou kdybych ho neměl kde ho sehnat když ne v papírové podobě tak v elektronické?díky mimochodem je veliká škoda že přestal vycházet .

Napsal: 10 kvě 2009, 07:39
od stepa
markoni píše:
miromatus píše:Zdravím , pozri KTE 6/2003 miniškola 16F84 lekcia 21 , je tam popisovaný program záznam času pri stlačení tlačidla.

Ten časopis jsem si kupoval v trafice ale bohužel nepravidelně tak nevím jestli toto číslo mám nevíte náhodou kdybych ho neměl kde ho sehnat když ne v papírové podobě tak v elektronické?díky mimochodem je veliká škoda že přestal vycházet .

Odkazy na stazeni jsou na foru.

Napsal: 10 kvě 2009, 09:34
od miromatus
Hodil som celú školu pic 16f84 z kte sem http://www.upnito.sk/download.php?dwTok ... 15f2afbf2b .

Napsal: 14 kvě 2009, 17:20
od markoni
Můžete mi někdo napsat rutinu na hodiny a zápis do eeprom ? sice mám staženou celou školu programovaní co mě poskytl miromatus ale nemohu se dobrat správného chodu díky

Kód: Vybrat vše

LIST P = 16F84, R = DEC
#INCLUDE <P16F84.INC>
 __CONFIG 0x3FF9

RAM EQU  H'0C'
RBF EQU RAM
RBF1 EQU RAM+1
NUM EQU RAM+2
NUM1 EQU RAM+3
TMP EQU RAM+4
TM1 EQU RAM+5
TM2 EQU RAM+6
JEDN EQU RAM+7
DES EQU RAM+8
HOD EQU RAM+9
MIN EQU RAM+10
SEC EQU RAM+11
POM EQU RAM+12
ADRDD EQU RAM+13
HEX EQU RAM+14
TMR EQU RAM+15
MEM_W EQU RAM+16
MEM_S EQU RAM+17
#define Q PORTB,0
#define RS PORTB,1
#define RW PORTB,2
#define E PORTB,3
#define BF RBF,3
 ORG 0
 GOTO START
  ORG 4
  START BSF STATUS,RP0
MOVLW B'01110001'
MOVWF TRISB
MOVLW B'11000001'
MOVWF OPTION_REG
BCF STATUS,RP0

 INTR MOVWF MEM_W
    SWAPF STATUS,W
    MOVWF MEM_S
     BCF STATUS,RP0
 CAS_1    NOP
     NOP
     NOP
     NOP
     NOP
     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
     CLRF SEC
     INCF MIN,F
     MOVFW MIN
     XORLW 60
     BTFSS STATUS,Z
     GOTO CAS_1
     CLRF MIN
     INCF HOD,F
     MOVFW HOD
     XORLW 24
      BTFSC STATUS,Z
      CLRF HOD
      goto CAS_1
      ;MOVLW 132
      ;CALL Z_CAS
      ;CAS_1 BCFINTCON,T0IF
      SWAPF MEM_S,W
      MOVWF STATUS
      SWAPF MEM_W,F
      SWAPF MEM_W,W
     RETFIE

   SAVE MOVWF EEADR ;obsah registru W do registru EEADR
      MOVFW NUM
      MOVWF EEDATA;obsah registru NUM do registru EEDATA
      BSF STATUS,RP0 ;banka 1
      BSF EECON1,WREN ;zápis do EEPROM povolen
      MOVLW H'55'
      MOVWF EECON2;první zápis bezpečnostního kódu
      MOVLW H'AA'
      MOVWF EECON2;druhý zápis bezpečnostního kódu
      BSF EECON1,WR
      BTFSS EECON1,EEIF ;je zápis ukončen?
      GOTO $-1 ;ne,čekej
      BCF EECON1,EEIF;bit EEIF vynulován
      BCF EECON1,WREN ;zápis do EEPROM zakázán
      BCF STATUS,RP0 ;banka 0
      RETURN

 LOAD MOVWF EEADR ;obsah registru W do registru EEADR
       BSF STATUS,RP0 ;banka 1
       BSF EECON1,RD;přečti data
       BCF STATUS,RP0;banka 0
       MOVFW EEDATA
      MOVWF NUM ;zapiš data do registru NUM
      RETURN
end



jak to mám dát do hromady aby to fungovalo?

Napsal: 14 kvě 2009, 22:46
od caven
to je nějak trošku blbě zapsané to přerušení ne ??

ty máš na začátku programu skok na adresu kde začíná přerušení ? A poté s tím pracuješ ???

Napsal: 15 kvě 2009, 19:00
od markoni
Já jsem to jen okopíroval s té školy potřeboval bych poradit nebo sem hodit celý program kdo to už řešil tak by mě ušetřil čas jak to mám udělat protože nemám na to dost času díky
a jak se dávají více řádkové komentáře tak aby jsem nemusel na každý řádek dávat ;