Hi all !
I am trying to do a phone dialing with the pic, and I
don't get that works.
It just executes the first number of my look-up
tables( num. 2). as it proceeds
telefone1: addwf
PCL,f
dt 2,3,8,1,8,4,1,0ff ; number it to be dialing.
I have
expense a long time with this, and it doesn't work.
How the remaining of the numbers is not
placed to proceed in the look-up tables?
Can anybody help
me?
I will be very thankful.
look may codes
;My first project with pic
;Phone Dialing for alarm system.
LIST P=16F84,c=90,n=0,f=inhx8m
INCLUDE "C:\MPS16B\P16F84.INC"
__CONFIG _CP_OFF & _XT_OSC & _PWRTE_ON &
_WDT_OFF
PORT_A EQU
05h
PORT_B EQU
06h
trisa
EQU
85h
trisb
EQU 86h
discagem
EQU 13h
;---------------------Pgm bits I/O
----------------------------------
#define rele1 PORT_B,0
#define rele2
PORT_B,1
#define led
PORT_B,3
;--------------------------------------------------------------------
start:
movlw
B'00000000'
movwf
INTCON
clrf
PORT_B
clrf
PORT_A
bsf
STATUS,rp0
movlw
0x00
movwf
trisb
movlw
0xFF
movwf
trisa
bcf
STATUS,rp0
goto wait_flash
telefone1: addwf
PCL,f
dt
2,3,8,1,8,4,1,0ffh
;the number will be dialing
; just realize the first number of the table (number 2)
;----------------------------------------------------------
wait_flash:
btfsc PORT_A,0 ;wait to
gate
goto wait_flash
bsf
led
;led
on
bsf
rele1
;get the
phoneline
call
DLY_3SEG
;--------- started to dialer
-------------------------------
main: call
telefone1
;call the table
movwf discagem
inic1: bsf
rele2
DISC_1: bcf rele1
bcf
led
decfsz discagem,1
goto
go_dialing
goto end_num
go_dialing: call
MS_33
bsf
rele1
bsf
led
call
MS_33
goto DISC_1
end_num: bcf
rele2
;phoneline
off
call
MS_66
goto main