Pic 16F88 .... seriova linka

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
zdendii
Příspěvky: 2
Registrován: 31 led 2010, 00:00

Pic 16F88 .... seriova linka

#1 Příspěvek od zdendii »

Dobrej :)

Potrebuju helpnout s jednim programkem.....

Svym zpusobem púotrebuju podprogram, kde po stisku tlacitka (je jich 17 program na rozpoznavani mam hotovy) se odesle po seriove lince 8bajtů z paměti EEPROM. tzn. tlacitko 1 - pamet eeprom 00 - 07hex, tlacitko 2 - pamet eeprom 08 - 0Fhex. Dekuji za pomoc!
Uživatelský avatar
mikollar
Příspěvky: 1477
Registrován: 26 pro 2004, 00:00
Bydliště: Košice - okolie

#2 Příspěvek od mikollar »

ak sa ti nikto neozval resp. neozve, po 2.2. budem mat cas
Uživatelský avatar
zdendii
Příspěvky: 2
Registrován: 31 led 2010, 00:00

#3 Příspěvek od zdendii »

Ok sice to potrebuju do 2.2 :)) ale to nevadi nejak to posoupnu....kdyby to slo....potreboval bych helpnout s takym skolnim projektem....kdyz by to casove vyslo...dokonce bych i zaplatil :) sak se ozvy treba na icq 267565592 dakujem!
Uživatelský avatar
mikollar
Příspěvky: 1477
Registrován: 26 pro 2004, 00:00
Bydliště: Košice - okolie

#4 Příspěvek od mikollar »

Kód: Vybrat vše

   
LIST P=16F88, R=DEC
   INCLUDE<P16F88.INC>
   
;------------------------------------------------------------
;      cpu init


#DEFINE kolo   20h
#DEFINE adresa   21h

;------------------------------------------------------------
org 0x2100
de 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF

de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
;------------------------------------------------------------
   org   0
goto   INIT
   org 0x04
   retfie;
;
;------------------------------------------------------------
BANK0
      BCF       STATUS,RP0          ; RAM PAGE 0
      BCF       STATUS,RP1          ; RAM PAGE 0
      return

BANK1
      BSF       STATUS,RP0          ; RAM PAGE 1
      BCF       STATUS,RP1          ; RAM PAGE 1
      return

BANK2
      BCF       STATUS,RP0          ; RAM PAGE 2
      BSF       STATUS,RP1          ; RAM PAGE 2
      return

BANK3
      BSF       STATUS,RP0          ; RAM PAGE 3
      BSF       STATUS,RP1          ; RAM PAGE 3
      return


INIT
      CALL      BANK1
      MOVLW      b'11011111'
      MOVWF      TRISB

; Boot Baud Rate = 9600, No Parity, 1 Stop Bit
;
        MOVLW      0x19              ; 0x19=9600 bps (0x0C=19200 bps)
        MOVWF      SPBRG
        MOVLW      b'00100100'       ; brgh = high (2)
        MOVWF       TXSTA             ; enable Async Transmission, set brgh

        CALL      BANK0

        MOVLW       b'10010000'       ; enable Async Reception
        MOVWF       RCSTA
   
;***************************************************

START   
      MOVLW      .0  ;od ktorej adresy bude citat
      MOVWF       adresa
      CALL      EEREAD
      GOTO      START



EEREAD
      CALL      BANK0
      MOVLW       .9
      MOVWF       kolo


NEXT   
      CALL      BANK0
      DECFSZ      kolo,f
      GOTO      POKRACUJ
      RETURN
      
      
POKRACUJ MOVFW      adresa
      
      CALL      BANK2
   
      MOVWF       EEADR          ; adresa EEPROM z W
      ; to read
      CALL      BANK3
      
      BCF       EECON1, EEPGD   ; Point to Data memory
      BSF       EECON1, RD       ; EE Read
   
      CALL      BANK2
      
      MOVF       EEDATA, W       ; data
   
      CALL      BANK0


      MOVWF      TXREG   

      CALL      BANK1
CAKAJ     BTFSS       TXSTA,TRMT      ; (1) transmission is complete if hi
        GOTO       CAKAJ

        CALL      BANK0

      INCF       adresa,f
      
      GOTO      NEXT
      return

      GOTO       START

      end
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“