Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

pic16f84 ..saa1057 help

Status
Not open for further replies.

cesar35

Newbie level 5
Joined
Jul 15, 2009
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,372
hello help ..
I'm a project with a pll pic16f84 .. how do I modify the asm for the PIC16F628
required the archive estao here
thanks



has to move to PICBASIC Pro

; Ladeni SAA1057 s PIC16F84
; -------------------------
; (C) 1999-2001 Piratske radio - www.pira.cz
; mail@pira.cz
;
; Verze 5 - opakovany upload v danem intervalu
; Pro assembler MPASM - www.microchip.com
;
; Zapojeni: DAT 3 (OUT)
; DLEN 2 (OUT) TUNED 18 (OUT)
; CLB 1 (OUT) jumpery 6-13 (IN)

LIST P=PIC16F84

DAT EQU 4
DLEN EQU 3
CLB EQU 2
TUNED EQU 1
PORTA EQU 5
PORTB EQU 6
COUNT EQU 0Ch
WORKA EQU 0Dh
WORKB EQU 0Eh
CNT1 EQU 0Fh
CNT2 EQU 10h
CNT3 EQU 11h
TRISA EQU 85h
STATUS EQU 3
OPT EQU 81h
W EQU 0
f EQU 1
C EQU 0
Z EQU 2

CLRWDT
BCF PORTA,TUNED
BSF STATUS,5
CLRF TRISA
MOVLW B'01111111'
MOVWF OPT ;pull-ups and WDT on
BCF STATUS,5

START CLRWDT
CLRF PORTA
CLRF COUNT
MOVLW B'00100000'
MOVWF WORKA
MOVLW B'00111010'
MOVWF WORKB
SOUCET CLRWDT
MOVF PORTB,W
BCF STATUS,C
ADDWF WORKB,f
BTFSC STATUS,C
INCF WORKA
INCF COUNT
MOVLW 0Ah
SUBWF COUNT,W
BTFSS STATUS,Z
GOTO SOUCET
MOVLW 0xFF
MOVWF COUNT

ZNOVA CLRWDT
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS ;14 PULZU NA CLB
BCF PORTA,DAT
BSF PORTA,DLEN ;DLEN 1
CALL PULS ;0
BSF PORTA,DAT
CALL PULS ;1
CALL PULS ;2
BCF PORTA,DAT
CALL PULS ;3
BSF PORTA,DAT
CALL PULS ;4
CALL PULS ;5
CALL PULS ;6
BCF PORTA,DAT
CALL PULS ;7
BSF PORTA,DAT
CALL PULS ;8
BTFSS COUNT,7
BSF PORTA,DAT
BTFSC COUNT,7
BCF PORTA,DAT
CALL PULS ;9
BCF PORTA,DAT
CALL PULS ;10
CALL PULS ;11
CALL PULS ;12
CALL PULS ;13
BSF PORTA,DAT
CALL PULS ;14
BCF PORTA,DAT
CALL PULS ;15
BSF PORTA,DAT
CALL PULS ;16
BCF PORTA,DAT
BCF PORTA,DLEN
CALL PULS
NOP
NOP
NOP
BSF PORTA,DLEN
CALL PULS ;0
CALL PULS ;1
CALL PULS ;2
BSF PORTA,DAT
CALL PULS ;3
BCF PORTA,DAT
CALL PULS ;4
BTFSS WORKA,3
BCF PORTA,DAT
BTFSC WORKA,3
BSF PORTA,DAT
CALL PULS ;5
BTFSS WORKA,2
BCF PORTA,DAT
BTFSC WORKA,2
BSF PORTA,DAT
CALL PULS ;6
BTFSS WORKA,1
BCF PORTA,DAT
BTFSC WORKA,1
BSF PORTA,DAT
CALL PULS ;7
BTFSS WORKA,0
BCF PORTA,DAT
BTFSC WORKA,0
BSF PORTA,DAT
CALL PULS ;8
BTFSS WORKB,7
BCF PORTA,DAT
BTFSC WORKB,7
BSF PORTA,DAT
CALL PULS ;9
BTFSS WORKB,6
BCF PORTA,DAT
BTFSC WORKB,6
BSF PORTA,DAT
CALL PULS ;10
BTFSS WORKB,5
BCF PORTA,DAT
BTFSC WORKB,5
BSF PORTA,DAT
CALL PULS ;11
BTFSS WORKB,4
BCF PORTA,DAT
BTFSC WORKB,4
BSF PORTA,DAT
CALL PULS ;12
BTFSS WORKB,3
BCF PORTA,DAT
BTFSC WORKB,3
BSF PORTA,DAT
CALL PULS ;13
BTFSS WORKB,2
BCF PORTA,DAT
BTFSC WORKB,2
BSF PORTA,DAT
CALL PULS ;14
BTFSS WORKB,1
BCF PORTA,DAT
BTFSC WORKB,1
BSF PORTA,DAT
CALL PULS ;15
BCF PORTA,DAT
CALL PULS ;16
BCF PORTA,DLEN
CALL PULS
INCF COUNT
NOP
NOP
NOP
BTFSS COUNT,3
GOTO ZNOVA
BSF PORTA,DLEN ;DLEN 1
CALL PULS ;0
BSF PORTA,DAT
CALL PULS ;1
CALL PULS ;2
BCF PORTA,DAT
CALL PULS ;3
CALL PULS ;4
CALL PULS ;5
CALL PULS ;6
BSF PORTA,DAT
CALL PULS ;7
CALL PULS ;8
CALL PULS ;9
BCF PORTA,DAT
CALL PULS ;10
CALL PULS ;11
CALL PULS ;12
CALL PULS ;13
BSF PORTA,DAT
CALL PULS ;14
BCF PORTA,DAT
CALL PULS ;15
BSF PORTA,DAT
CALL PULS ;16
BCF PORTA,DAT
BCF PORTA,DLEN
CALL PULS
NOP
NOP
NOP
BSF PORTA,DLEN
CALL PULS ;0
CALL PULS ;1
CALL PULS ;2
BSF PORTA,DAT
CALL PULS ;3
BCF PORTA,DAT
CALL PULS ;4
BTFSS WORKA,3
BCF PORTA,DAT
BTFSC WORKA,3
BSF PORTA,DAT
CALL PULS ;5
BTFSS WORKA,2
BCF PORTA,DAT
BTFSC WORKA,2
BSF PORTA,DAT
CALL PULS ;6
BTFSS WORKA,1
BCF PORTA,DAT
BTFSC WORKA,1
BSF PORTA,DAT
CALL PULS ;7
BTFSS WORKA,0
BCF PORTA,DAT
BTFSC WORKA,0
BSF PORTA,DAT
CALL PULS ;8
BTFSS WORKB,7
BCF PORTA,DAT
BTFSC WORKB,7
BSF PORTA,DAT
CALL PULS ;9
BTFSS WORKB,6
BCF PORTA,DAT
BTFSC WORKB,6
BSF PORTA,DAT
CALL PULS ;10
BTFSS WORKB,5
BCF PORTA,DAT
BTFSC WORKB,5
BSF PORTA,DAT
CALL PULS ;11
BTFSS WORKB,4
BCF PORTA,DAT
BTFSC WORKB,4
BSF PORTA,DAT
CALL PULS ;12
BTFSS WORKB,3
BCF PORTA,DAT
BTFSC WORKB,3
BSF PORTA,DAT
CALL PULS ;13
BTFSS WORKB,2
BCF PORTA,DAT
BTFSC WORKB,2
BSF PORTA,DAT
CALL PULS ;14
BTFSS WORKB,1
BCF PORTA,DAT
BTFSC WORKB,1
BSF PORTA,DAT
CALL PULS ;15
BCF PORTA,DAT
CALL PULS ;16
BCF PORTA,DLEN
CALL PULS
BSF PORTA,TUNED
CLRF CNT1
CLRF CNT2
CLRF CNT3
CEKANI CLRWDT
INCF CNT1
BTFSS STATUS,Z
GOTO CEKANI2
INCF CNT2
BTFSC STATUS,Z
INCF CNT3
CEKANI2 BTFSS CNT3,5 ;CCCCCCCAAA 30 MIN.
GOTO CEKANI
MOVLW 0xFF
MOVWF COUNT
REPEAT CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS
CALL PULS ;14 PULZU NA CLB
BCF PORTA,DAT
BSF PORTA,DLEN ;DLEN 1
CALL PULS ;0
BSF PORTA,DAT
CALL PULS ;1
CALL PULS ;2
BCF PORTA,DAT
CALL PULS ;3
BCF PORTA,DAT
CALL PULS ;4
CALL PULS ;5
CALL PULS ;6
BSF PORTA,DAT
CALL PULS ;7
BSF PORTA,DAT
CALL PULS ;8
BTFSS COUNT,7
BSF PORTA,DAT
BTFSC COUNT,7
BCF PORTA,DAT
CALL PULS ;9
BCF PORTA,DAT
CALL PULS ;10
CALL PULS ;11
CALL PULS ;12
CALL PULS ;13
BSF PORTA,DAT
CALL PULS ;14
BCF PORTA,DAT
CALL PULS ;15
BSF PORTA,DAT
CALL PULS ;16
BCF PORTA,DAT
BCF PORTA,DLEN
CALL PULS
NOP
NOP
NOP
BSF PORTA,DLEN
CALL PULS ;0
CALL PULS ;1
CALL PULS ;2
BSF PORTA,DAT
CALL PULS ;3
BCF PORTA,DAT
CALL PULS ;4
BTFSS WORKA,3
BCF PORTA,DAT
BTFSC WORKA,3
BSF PORTA,DAT
CALL PULS ;5
BTFSS WORKA,2
BCF PORTA,DAT
BTFSC WORKA,2
BSF PORTA,DAT
CALL PULS ;6
BTFSS WORKA,1
BCF PORTA,DAT
BTFSC WORKA,1
BSF PORTA,DAT
CALL PULS ;7
BTFSS WORKA,0
BCF PORTA,DAT
BTFSC WORKA,0
BSF PORTA,DAT
CALL PULS ;8
BTFSS WORKB,7
BCF PORTA,DAT
BTFSC WORKB,7
BSF PORTA,DAT
CALL PULS ;9
BTFSS WORKB,6
BCF PORTA,DAT
BTFSC WORKB,6
BSF PORTA,DAT
CALL PULS ;10
BTFSS WORKB,5
BCF PORTA,DAT
BTFSC WORKB,5
BSF PORTA,DAT
CALL PULS ;11
BTFSS WORKB,4
BCF PORTA,DAT
BTFSC WORKB,4
BSF PORTA,DAT
CALL PULS ;12
BTFSS WORKB,3
BCF PORTA,DAT
BTFSC WORKB,3
BSF PORTA,DAT
CALL PULS ;13
BTFSS WORKB,2
BCF PORTA,DAT
BTFSC WORKB,2
BSF PORTA,DAT
CALL PULS ;14
BTFSS WORKB,1
BCF PORTA,DAT
BTFSC WORKB,1
BSF PORTA,DAT
CALL PULS ;15
BCF PORTA,DAT
CALL PULS ;16
BCF PORTA,DLEN
CALL PULS
NOP
NOP
NOP
INCF COUNT
BTFSS COUNT,3
GOTO REPEAT
CLRF CNT1
CLRF CNT2
CLRF CNT3
GOTO CEKANI
PULS BSF PORTA,CLB
BCF PORTA,CLB
RETURN
END

CONFIG B'11111111111111'
 

If you are going to post long sections of code, please use the 'Code' tag before and after it to preserve formatting. It would also help if you told us what the code is supposed to do and put far more comments in it.

However, without going into too much detail, it looks like you are trying to send something serially by bit-banging port bits. It is FAR simpler to use a loop and rotate the data into the carry flag to decide if a '1' or '0' is to be sent. You seem to do a bit test on every single bit of the data which is very inefficient.

Brian.
 

hello Brian.
want is subisttuir the pic16f84 for PIC16F628
as I do for this ....
 

The 16F628A is a cheaper device and has more 'built-in' peripherals but it looks like you are using a protocol similar to SPI which it doesn't support.

As far as code goes, you can use the 16F628A as a substitute for the 16F84 in almost all cases. The only thing you should beware of is the addressing at the bottom of the memory banks. Some extra locations are used in the '628 to access the extra peripherals.

Personally, I would never use a 16F84 these days, the 16F628A is so much easier to use.

Brian.
 

Brian. how I do it
I have to use the mplab not have much experience in asm
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top