PDA

View Full Version : Can I do this???



noobie
- 9th June 2006, 02:01
Hi all! I am currently making a program more flexible. Do not wan to hardcode a phone number inside my PIC16C745 chip but wan to sent it via Visual Basic(GUI) 6. I will like to find out if this way of programming my PIC is it workable. Take a look at the codes,it is a SMS routine that i used to sent out the sms. I only try a single digit. When i enter a digit in VB6, it will turn one of the bits of either register a or a1 high depending on what number is enter. any help is appreciated. Thanks!

UNbankED udata
a RES 1
a1 RES 1
D1 RES 1
D2 RES 1
D3 RES 1
SMS
bsf INTCON,GIE

CALL CALL_AT ; SET MESSAGE ON
MOVLW "C"
CALL COMMAND
MOVLW "M"
CALL COMMAND
MOVLW "G"
CALL COMMAND
MOVLW "F"
CALL COMMAND
MOVLW "="
CALL COMMAND
MOVLW "1"
CALL COMMAND
MOVLW 0X0D
CALL COMMAND
MOVLW 0X0A
CALL COMMAND
call DELAY1
call DELAY1
;*************************************************

CALL CALL_AT
MOVLW "C"
CALL COMMAND
MOVLW "M"
CALL COMMAND
MOVLW "G"
CALL COMMAND
MOVLW "S"
CALL COMMAND
MOVLW "="
CALL COMMAND
MOVLW "9"
CALL COMMAND
MOVLW "0"
CALL COMMAND
MOVLW "9"
CALL COMMAND
MOVLW "9"
CALL COMMAND
MOVLW "6"
CALL COMMAND
MOVLW "5"
CALL COMMAND
MOVLW "7"
CALL COMMAND
MOVLW "9"
CALL COMMAND
MOVLW 0X0D
CALL COMMAND
MOVLW 0X0A
CALL COMMAND
call DELAY1
call DELAY1
call DELAY1
BTFSS a1,2
goto $+3
call nine9
goto no0
BTFSS a1,1
goto $+3
call nine8
goto no0
BTFSS a,1
goto $+3
call nine1
goto no0
BTFSS a,2
goto $+3
call nine2
goto no0
BTFSS a,3
goto $+3
call nine3
goto no0
BTFSS a,4
goto $+3
call nine4
goto no0
BTFSS a,5
goto $+3
call nine5
goto no0
BTFSS a,6
goto $+3
goto no0
call nine6
BTFSS a,0
goto $+3
call nine0
goto no0
BTFSS a1,0
goto no0
call nine7
no0 CALL COMMAND


movlw 0x1a
call COMMAND
NOP
bcf INTCON,GIE
RETURN


CALL_AT
movlw "A"
CALL COMMAND
MOVLW "T"
CALL COMMAND
MOVLW "+"
CALL COMMAND
RETURN

nine1
MOVLW 31
return
nine2
MOVLW 32
return
nine3
MOVLW 33
return
nine4
MOVLW 34
return
nine5
MOVLW 35
return
nine6
MOVLW 36
return
nine7
MOVLW 37
return
nine8
MOVLW 38
return
nine9
MOVLW 39
return
nine0
MOVLW 30
return
COMMAND
banksel TXREG ;move data into TXREG
movwf TXREG
banksel PIR1
btfss PIR1,TXIF ;wait for data TX
goto $-1
gietx bcf INTCON,GIE ;disable interrupts
btfsc INTCON,GIE ;making SURE they are disabled!
goto gietx
;movwf txreg ;load data to be sent...
bsf INTCON,GIE ;re-enable interrupts
return ;tx_data unchanged.
;convert
; SUBWF nine
; btfsc STATUS,Z
; bsf PORTB,7
; MOVF a,W
; return
DELAY1

MOVLW 0X0a
MOVWF D3
H9 MOVLW 0Xe8
MOVWF D1
H01
MOVLW 0XEC
MOVWF D2
DECFSZ D2,1
GOTO $-1
DECFSZ D1,1
GOTO H01
DECFSZ D3,1
GOTO H9
return

BobK
- 9th June 2006, 19:46
Hi Noobie,

Have you wondered why there haven't been any replies to your question? It's because you are on the wrong forum. We are the PicBasic and PicBasicPro forum. Try www.microchip.com.

Have fun!

BobK

Archilochus
- 10th June 2006, 18:57
http://www.piclist.com also has tons of info.

Arch