Hola, soy nuevo en esto de programar aplicaciones en visual basic para pc,lo que estoy tratando de lograr es conectar un PIC16F876A via serie RS232C con un formato 96158N1 con la computadora, pero no pasa nada, lo que deberia hacer seria que al marcar uno de los ocho items en la ventana de la pc me encendiece un led correspondiente al item en el puerto B del micro.
Aca les dejo el prgrama del micro y el de la pc.
Desde ya muchas gracias.
PIC
PD: tambien les adjunto el programa de la pc
PD: el micro Corre a 12MHz
Aca les dejo el prgrama del micro y el de la pc.
Desde ya muchas gracias.
Código:
PC
<Microsoft.VisualBasic.ComClass()> <System.Serializable()> Public Class Form1
Dim dato As Byte
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = ("Entrenadora")
End Sub
Private Sub LED1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LED1.CheckedChanged
If LED1.Checked = True Then
dato = dato + 1
Else
dato = dato - 1
End If
End Sub
Private Sub LED2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LED2.CheckedChanged
If LED2.Checked = True Then
dato = dato + 2
Else
dato = dato - 2
End If
End Sub
Private Sub LED3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LED3.CheckedChanged
If LED3.Checked = True Then
dato = dato + 4
Else
dato = dato - 4
End If
End Sub
Private Sub LED4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LED4.CheckedChanged
If LED4.Checked = True Then
dato = dato + 8
Else
dato = dato - 8
End If
End Sub
Private Sub LED5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LED5.CheckedChanged
If LED5.Checked = True Then
dato = dato + 16
Else
dato = dato - 16
End If
End Sub
Private Sub LED6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LED6.CheckedChanged
If LED6.Checked = True Then
dato = dato + 32
Else
dato = dato - 32
End If
End Sub
Private Sub LED7_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LED7.CheckedChanged
If LED7.Checked = True Then
dato = dato + 64
Else
dato = dato - 64
End If
End Sub
Private Sub LED8_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LED8.CheckedChanged
If LED8.Checked = True Then
dato = dato + 128
Else
dato = dato - 128
End If
End Sub
Private Sub Bsend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bsend.Click
' Send strings to a serial port.
Using com1 As IO.Ports.SerialPort = _
My.Computer.Ports.OpenSerialPort("COM1")
com1.WriteLine(dato)
End Using
MsgBox(dato, 0, "Sebitronic")
End Sub
Private Sub Bclose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bclose.Click
End
End Sub
End Class
PIC
Código:
LIST P=16F876A
#INCLUDE "P16F876A.INC"
LOOP MOVLW B'10010000'
MOVWF RCSTA
BSF STATUS,5
CLRF TRISB
MOVLW B'00000100'
MOVWF TXSTA
MOVLW D'75'
MOVWF SPBRG
BCF STATUS,5
LOOP1 MOVF RCREG,W
MOVWF PORTB
GOTO LOOP1
END
PD: tambien les adjunto el programa de la pc
PD: el micro Corre a 12MHz
Adjuntos
Última edición por un moderador: