Comunicación serial con Visual Basic 2008

Hola META estoy intentando mandartelo otra vez pero no me deja el fileup. de todas maneras paso ha decirte lo sigiente el otro ordenador que tenia se me ha estropeado,que donde tenia instalado el proteus 7.5
ahora estoy tabajando con otro ordenador que tengo intalado el proteus 6.9.Por si no se te habre el isis te
pongo como estan conectado el pic 16f88 PORTB,7 PULSADOR PORTB,6 SALIDA RELE PORTA0,1,2,3,4 ENTRADA DE INTERRUPTORES DE DIRECCION PORTA,6 SALIDA USAR Y PORTA,7 ENTRADA USAR.
A

Ahora miro haber si me deja para poner el asm. de todas formas ten presente que si que es de 32 pulsadores y A ewnciende a apaga y asi susesibamente b,c,d,e.hata ahora

2032-88.http://www.fileupyours.com/view/303869/PORT SERIE%zip
 
Última edición:
;*****************************RS485-P16.asm **************************************
;Sistema de gobierno desde el ordenador o desde el mismo puesto
;Joè Benjumea,4-4-2011
;Con este programa se puede comunicar con el ordenador 32 aparatos
; asignandole a cada uno su direccion.La direccion se toma de los 5
;bit de menos peso de portA
; ==================================================================.
;
; ZONA DE DATOS **********************************************************************

LIST P=16F88
INCLUDE <P16F88.INC>


__CONFIG _CONFIG1, _CP_OFF & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _INTRC_IO
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF



CBLOCK 0x0C
TeclaPulsada ; .
ENDC


#DEFINE Pulsador PORTB,7
#DEFINE Luz PORTB,6
llaves EQU 0x0E
TECLA_A EQU 'A'
TECLA_B EQU 'B'
TECLA_C EQU 'C'
TECLA_D EQU 'D'
TECLA_E EQU 'E'
TECLA_F EQU 'F'
TECLA_G EQU 'G'
TECLA_H EQU 'H'
TECLA_I EQU 'I'
TECLA_J EQU 'J'
TECLA_K EQU 'K'
TECLA_L EQU 'L'
TECLA_M EQU 'M'
TECLA_N EQU 'N'
TECLA_Ñ EQU 'Ñ'
TECLA_O EQU 'O'
TECLA_P EQU 'P'
TECLA_Q EQU 'Q'
TECLA_R EQU 'R'
TECLA_S EQU 'S'
TECLA_T EQU 'T
TECLA_U EQU 'U'
TECLA_V EQU 'V'
TECLA_W EQU 'W'
TECLA_X EQU 'X'
TECLA_Y EQU 'Y'
TECLA_Z EQU 'Z'
TECLA_1 EQU '1'
TECLA_2 EQU '2'
TECLA_3 EQU '3'
TECLA_4 EQU '4'
TECLA_5 EQU '5'



; ZONA DE CÓDIGOS ********************************************************************

ORG 0
goto Inicio
ORG 4
goto INTER
Inicio

call RS232_Inicializa
bsf STATUS,RP0
bsf Pulsador
bcf Luz
movlw b'10111111'
movwf TRISB
movlw b'10011111'
movwf TRISA
movlw b'01100000'
movwf OSCCON
movlw b'00000000'
movwf ANSEL
bcf STATUS,RP0
movlw b'10001000'
movwf INTCON
clrf PORTB
clrf PORTA
movf PORTA,W ; cargue el registro llaves perono me funciona bien
andlw b'00011111'
movwf llaves
Principal
call RS232_LeeDato
call TesteaTeclado
goto Principal



TesteaTeclado




movwf TeclaPulsada
xorlw TECLA_P
btfsc STATUS,Z
goto ALA_P
CALL RS232_LeeDato
movf TeclaPulsada,w
xorlw TECLA_Q
btfsc STATUS,Z
goto ALA_Q

movf TeclaPulsada,w
xorlw TECLA_C
btfsc STATUS,Z
goto ALA_C

movf TeclaPulsada,W
xorlw TECLA_D
btfsc STATUS,Z
goto ALA_D

movf TeclaPulsada,w
xorlw TECLA_E
btfsc STATUS,Z
goto ALA_E

movf TeclaPulsada,w
xorlw TECLA_F
btfsc STATUS,Z
goto ALA_F

movf TeclaPulsada,w
xorlw TECLA_G
btfsc STATUS,Z
goto ALA_G

movf TeclaPulsada,w
xorlw TECLA_H
btfsC STATUS,Z
goto ALA_H

movf TeclaPulsada,w
xorlw TECLA_I
btfsc STATUS,Z
goto ALA_I

movf TeclaPulsada,w
xorlw TECLA_J
btfsC STATUS,Z
goto ALA_J

movf TeclaPulsada,w
xorlw TECLA_K
btfsc STATUS,Z
goto ALA_K

movf TeclaPulsada,w
xorlw TECLA_L
btfsC STATUS,Z
goto ALA_L

movf TeclaPulsada,w
xorlw TECLA_M
btfsc STATUS,Z
goto ALA_M

movf TeclaPulsada,w
xorlw TECLA_N
btfsc STATUS,Z
goto ALA_N

movf TeclaPulsada,w
xorlw TECLA_Ñ
btfsc STATUS,Z
goto ALA_Ñ


movf TeclaPulsada,w
xorlw TECLA_O
btfsc STATUS,Z
goto ALA_O

movf TeclaPulsada,w
xorlw TECLA_A
btfsc STATUS,Z
goto ALA_A

movf TeclaPulsada,w
xorlw TECLA_B
btfsc STATUS,Z
goto ALA_B


movf TeclaPulsada,w
xorlw TECLA_R
btfsc STATUS,Z
goto ALA_R

movf TeclaPulsada,w
xorlw TECLA_S
btfsc STATUS,Z
goto ALA_S


movf TeclaPulsada,w
xorlw TECLA_T
btfsc STATUS,Z
goto ALA_T


movf TeclaPulsada,w
xorlw TECLA_U
btfsc STATUS,Z
goto ALA_U

movf TeclaPulsada,w
xorlw TECLA_V
btfsc STATUS,Z
goto ALA_V


movf TeclaPulsada,w
xorlw TECLA_W
btfsc STATUS,Z
goto ALA_W


movf TeclaPulsada,w
xorlw TECLA_X
btfsc STATUS,Z
goto ALA_X

movf TeclaPulsada,w
xorlw TECLA_Y
btfsc STATUS,Z
goto ALA_Y


movf TeclaPulsada,w
xorlw TECLA_Z
btfsc STATUS,Z
goto ALA_Z



movf TeclaPulsada,w
xorlw TECLA_1
btfsc STATUS,Z
goto ALA_1

movf TeclaPulsada,w
xorlw TECLA_2
btfsc STATUS,Z
goto ALA_2


movf TeclaPulsada,w
xorlw TECLA_3
btfsc STATUS,Z
goto ALA_3


movf TeclaPulsada,w
xorlw TECLA_4
btfsc STATUS,Z
goto ALA_4


movf TeclaPulsada,w
xorlw TECLA_5
btfsc STATUS,Z
goto ALA_5


return


;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INTER
movf PORTA,W
andlw b'00011111'
addwf PCL,F

goto A_final
goto B_final
goto C_final
goto D_final
goto E_final
goto F_final
goto G_final
goto H_final
goto I_final
goto J_final
goto K_final
goto L_final
goto M_final
goto N_final
goto Ñ_final
goto O_final
goto P_final
goto Q_final
goto R_final
goto S_final
goto T_final
goto U_final
goto V_final
goto W_final
goto X_final
goto Y_final
goto Z_final
goto UNO_final
goto DOS_final
goto TRES_final
goto CUATRO_final
goto CINCO_final

return

;^^+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


ALA_A

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x00
btfsc STATUS,Z
goto ALA_A_A
goto fin
ALA_B
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x01
btfsc STATUS,Z
goto ALA_B_B
goto fin

ALA_C

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x02
btfsc STATUS,Z
goto ALA_C_C
goto fin
ALA_D
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x03
btfsc STATUS,Z
goto ALA_D_D
goto fin

ALA_E

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x04
btfsc STATUS,Z
goto ALA_E_E
goto fin
ALA_F
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x05
btfsc STATUS,Z
goto ALA_F_F
goto fin

ALA_G

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x06
btfsc STATUS,Z
goto ALA_G_G
goto fin
ALA_H
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x07
btfsc STATUS,Z
goto ALA_H_H
goto fin

ALA_I

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x08
btfsc STATUS,Z
goto ALA_I_I
goto fin
ALA_J
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x09
btfsc STATUS,Z
goto ALA_J_J
goto fin


ALA_K

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0A
btfsc STATUS,Z
goto ALA_K_K
goto fin
ALA_L
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0B
btfsc STATUS,Z
goto ALA_L_L
goto fin


ALA_M

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0C
btfsc STATUS,Z
goto ALA_M_M
goto fin
ALA_N
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0D
btfsc STATUS,Z
goto ALA_N_N
goto fin



ALA_Ñ

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0E
btfsc STATUS,Z
goto ALA_Ñ_Ñ
goto fin
ALA_O
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0F
btfsc STATUS,Z
goto ALA_O_O
goto fin

ALA_P

movf PORTA,W
andlw B'00011111'
movwf llaves
xorlw 0X10
btfsc STATUS,Z
goto ALA_P_P
goto fin
ALA_Q
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0X11
btfsc STATUS,Z
goto ALA_Q_Q
goto fin


ALA_R

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x12
btfsc STATUS,Z
goto ALA_R_R
goto fin
ALA_S
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x13
btfsc STATUS,Z
goto ALA_S_S
goto fin

ALA_T

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x14
btfsc STATUS,Z
goto ALA_T_T
goto fin
ALA_U
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x15
btfsc STATUS,Z
goto ALA_U_U
goto fin

ALA_V

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x16
btfsc STATUS,Z
goto ALA_V_V
goto fin
ALA_W
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x17
btfsc STATUS,Z
goto ALA_W_W
goto fin

ALA_X

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x18
btfsc STATUS,Z
goto ALA_X_X
goto fin
ALA_Y
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x19
btfsc STATUS,Z
goto ALA_Y_Y
goto fin

ALA_Z

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1A
btfsc STATUS,Z
goto ALA_Z_Z
goto fin
ALA_1
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1B
btfsc STATUS,Z
goto ALA_1_1
goto fin

ALA_2

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1C
btfsc STATUS,Z
goto ALA_2_2
goto fin
ALA_3
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1D
btfsc STATUS,Z
goto ALA_3_3
goto fin


ALA_4

movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1E
btfsc STATUS,Z
goto ALA_4_4
goto fin
ALA_5
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1F
btfsc STATUS,Z
goto ALA_5_5
goto fin




;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

A_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_A_A

btfsc Luz
goto Apaga_A
bsf Luz
movlw 'A'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_A
bcf Luz
movlw 'a'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin




B_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_B_B
btfsc Luz
goto Apaga_B
bsf Luz
movlw 'B'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_B
bcf Luz
movlw 'b'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin

C_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_C_C
btfsc Luz
goto Apaga_C
bsf Luz
movlw 'C'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_C
bcf Luz
movlw 'c'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin



D_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_D_D
btfsc Luz
goto Apaga_D
bsf Luz
movlw 'D'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_D
bcf Luz
movlw 'd'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


E_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_E_E
btfsc Luz
goto Apaga_E
bsf Luz
movlw 'E'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_E
bcf Luz
movlw 'e'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin



F_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_F_F
btfsc Luz
goto Apaga_F
bsf Luz
movlw 'F'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_F
bcf Luz
movlw 'f'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin

G_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_G_G
btfsc Luz
goto Apaga_G
bsf Luz
movlw 'G'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_G
bcf Luz
movlw 'g'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin





H_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_H_H
btfsc Luz
goto Apaga_H
bsf Luz
movlw 'H'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_H
bcf Luz
movlw 'h'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin





I_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_I_I
btfsc Luz
goto Apaga_I
bsf Luz
movlw 'I'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_I
bcf Luz
movlw 'i'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin




J_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_J_J
btfsc Luz
goto Apaga_J
bsf Luz
movlw 'J'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_J
bcf Luz
movlw 'j'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin



K_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_K_K
btfsc Luz
goto Apaga_K
bsf Luz
movlw 'K'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_K
bcf Luz
movlw 'k'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin



L_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_L_L
btfsc Luz
goto Apaga_L
bsf Luz
movlw 'L'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_L
bcf Luz
movlw 'l'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


M_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_M_M
btfsc Luz
goto Apaga_M
bsf Luz
movlw 'M'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_M
bcf Luz
movlw 'm'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin





N_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_N_N
btfsc Luz
goto Apaga_N
bsf Luz
movlw 'N'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_N
bcf Luz
movlw 'n'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


Ñ_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_Ñ_Ñ
btfsc Luz
goto Apaga_Ñ
bsf Luz
movlw 'Ñ'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_Ñ
bcf Luz
movlw 'ñ'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


O_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_O_O
btfsc Luz
goto Apaga_O
bsf Luz
movlw 'O'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_O
bcf Luz
movlw 'o'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
;++++++++++++++++++++++++++++++++++++++++++++++++++++



P_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_P_P
btfsc Luz
goto Apaga_P
bsf Luz
movlw 'P'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_P
bcf Luz
movlw 'p'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


Q_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_Q_Q
btfsc Luz
goto Apaga_Q
bsf Luz
movlw 'Q'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_Q
bcf Luz
movlw 'q'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


R_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_R_R
btfsc Luz
goto Apaga_R
bsf Luz
movlw 'R'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_R
bcf Luz
movlw 'r'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


S_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_S_S
btfsc Luz
goto Apaga_S
bsf Luz
movlw 'S'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_S
bcf Luz
movlw 's'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin

T_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_T_T
btfsc Luz
goto Apaga_T
bsf Luz
movlw 'T'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_T
bcf Luz
movlw 't'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


U_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_U_U
btfsc Luz
goto Apaga_U
bsf Luz
movlw 'U'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_U
bcf Luz
movlw 'u'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin






V_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_V_V
btfsc Luz
goto Apaga_V
bsf Luz
movlw 'V'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_V
bcf Luz
movlw 'v'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin



W_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_W_W
btfsc Luz
goto Apaga_W
bsf Luz
movlw 'W'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_W
bcf Luz
movlw 'w'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin



X_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_X_X
btfsc Luz
goto Apaga_X
bsf Luz
movlw 'X'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_X
bcf Luz
movlw 'x'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin



Y_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_Y_Y
btfsc Luz
goto Apaga_Y
bsf Luz
movlw 'Y'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_Y
bcf Luz
movlw 'y'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


Z_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_Z_Z
btfsc Luz
goto Apaga_Z
bsf Luz
movlw 'Z'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_Z
bcf Luz
movlw 'z'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


UNO_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_1_1
btfsc Luz
goto Apaga_1
bsf Luz
movlw '1'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_1
bcf Luz
movlw '!'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


DOS_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_2_2
btfsc Luz
goto Apaga_2
bsf Luz
movlw '2'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_2
bcf Luz
movlw '"'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


TRES_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_3_3
btfsc Luz
goto Apaga_3
bsf Luz
movlw '3'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_3
bcf Luz
movlw '·'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


CUATRO_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_4_4
btfsc Luz
goto Apaga_4
bsf Luz
movlw '4'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_4
bcf Luz
movlw '$'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin


CINCO_final

btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
call Retardo_20ms
call Retardo_20ms
ALA_5_5
btfsc Luz
goto Apaga_5
bsf Luz
movlw '5'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_5
bcf Luz
movlw '%'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato






fin



bcf INTCON,RBIF
retfie




INCLUDE <RS232.88.INC>
INCLUDE <RETARDOS.INC>
END
 
Hola Meta,este ultimo que he puesto lo he mirado en el foro y se me descarga perfectamente,puede que
con el proteus no,pero ya te indique el conexxionado.PORTB,7 PULSADOR .PORTB,6 SALIDA RELE
PORTA,0,1,2,3,4 INTERRUPTORES DE DIRECCION PORTA 6,7 COMUNICACION CON PC.Cuando lo pruebes en el
proteus,no inporta como esten los interruptores lo pongas como lo pongas ,aprietas el pulsador y el mismo
te dice que direccion es.hasta ahora pepe
 
Hola:

Según en este enlace que pusiste, tengo entendido que quieres saber que al pulsar un botón de la interfaz del PC se apague o se encienda el Led???????'

Déjamelo claro, lo tengo casi olvidado por dejarlo muchos días.

Me alegro que usaras el 16F88.

Saludo.
 
HolaMETA el interfaz tendra 32 pulsadores de la A a la Z mas 1,2,3,4,5, los pulsadores del pc tendran que mandar siemore 1ºA 2ºB 3ºC 4ºD y asis asta la Z mas los numeros.
lo interesante es que cuando el texbox reciba "A" se encienda y "a" se apague eso mismo con todas las letras. si sigues teniendo alguna duda pregunta.pepe

Pero tu no hace falta que lo agas todo lo que de momento necesiti saber es el codigo para cuando el texbox
reciba "A" se encienda en un color mas ò menos rojizo y cuando reciba "a" se apague en un colort menos
intenso ò como este orijinalmente en blanco,pepe
 
Última edición:
Código:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.IO.Ports; // No olvidar aquí.

// http://social.msdn.microsoft.com/Forums/es-es/devcommes/thread/c0d40d0d-f867-4afc-8772-ffa51c432f9c

namespace Puerto_Serie
{
    public partial class Form1 : Form
    {
        // Utilizaremos un string como buffer de recepcion
        string Recibidos;

        public Form1()
        {
            InitializeComponent();
            // Abrir puerto mientra se ejecute la aplicación
            if (!serialPort1.IsOpen)
            {
                try
                {
                    serialPort1.Open();
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
            // Ejecutar la funcion Recepcion por disparo del Evento 'DataReived'
            serialPort1.DataReceived += new
            System.IO.Ports.SerialDataReceivedEventHandler(Recepcion);
        }
        // Al recibir los datos
        private void Recepcion(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            // Acumular los carácteres recibidos a nuestro 'buffer' (string)
            Recibidos += serialPort1.ReadExisting();
            // Invocar o llamar al proceso de tramas
            this.Invoke(new EventHandler(Actualizar));
        }
        // Procesar los datos recibidos en el buffer y extraer tramas completas
        private void Actualizar(object s, EventArgs e)
        {
            // Asignar el valor de la trama al textBox
            richTextBox1.Text = Recibidos;
        }

        private void button_000A_Click(object sender, EventArgs e)
        {
            byte[] mBuffer = new byte[4];
            mBuffer[0] = 0x0; // Es el número 0.
            mBuffer[1] = 0x0;
            mBuffer[2] = 0x0;
            mBuffer[3] = 0x41; // Es la letra A.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
            textBox_000A.BackColor = Color.Red;
        }

        private void button_000B_Click(object sender, EventArgs e)
        {
            byte[] mBuffer = new byte[4];
            mBuffer[0] = 0x0; // Es el número 0.
            mBuffer[1] = 0x0;
            mBuffer[2] = 0x0;
            mBuffer[3] = 0x42; // Es la letra B.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
            textBox_000B.BackColor = Color.Red;
        }

        private void button_000C_Click(object sender, EventArgs e)
        {
            byte[] mBuffer = new byte[4];
            mBuffer[0] = 0x0; // Es el número 0.
            mBuffer[1] = 0x0;
            mBuffer[2] = 0x0;
            mBuffer[3] = 0x43; // Es la letra C.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
            textBox_000C.BackColor = Color.Red;
        }

        private void button_000D_Click(object sender, EventArgs e)
        {
            byte[] mBuffer = new byte[4];
            mBuffer[0] = 0x0; // Es el número 0.
            mBuffer[1] = 0x0;
            mBuffer[2] = 0x0;
            mBuffer[3] = 0x44; // Es la letra D.
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
            textBox_000D.BackColor = Color.Red;
        }
    }
}

Este código era de 4 bytes que no me sale.

¿Entonces quiere hacerlo por byte cada botón?
 
si habiamos quedado que como tenias dificultades para hacerlo con 4 bites lo hariamos con 1 A,B,C,D,E,F
encendido a,b,c,d,e,f, apagado esto es refiriendome al texbox por supuesto los pulsadores siempre mandaran A,B,C,D,E,F
 
¿Cómo llamarás el nombre de los botones que puedes leer a simple vista?
Nombres que te guste para cada botón.

pic-26594.jpg


Saludo.
 
Cada bonton no importa yo habia pensado ponerle off/on.1 off/on.2 y asi el resto lo inportante es el texbox
que se tendria que dejar en blanco, pero una vez terminado el interfaz poder escribir en ellos para ponerle el
nombre de la estancia donde ira instalado "sala,1" "pasillo" ecetera y esto no es posible habra que pensar ponerle algo por ejem "1" "2" "3" enfin lo que te parezca
 
esto era una de las cosas que te dije que faltaban,lo ideal es que el texbox pudiera quedarse en blanco,pero
una vez echo el ejecutable poder poner el nombre que a cada cual quiera

si meta si te acuerdas cada boton hace eso, si esta apagado lo enciende y si esta encendido lo apaga
 
Última edición:
Atrás
Arriba