Mình làm hoài mà từ mô phỏng đến mạch thực tế vẫn không chạy được, ai biết sai chỗ nào chỉ giúp mình với.
Mạch sử dụng PIC 16F877A, giao tiếp với cổng COM qua MAX232.
CODE C cho PIC
CODE VB
[CODE]
Nguyên lý mạch điều khiển:
Mạch sử dụng PIC 16F877A, giao tiếp với cổng COM qua MAX232.
CODE C cho PIC
Code:
#include <16f877a.h>
#use delay (clock=20000000)
#use rs232(baud=9600,parity=n,xmit=PIN_C6,rcv=PIN_C7)
#byte portb=0x06
#byte trisb=0x86
#byte portc=0x07
#byte trisc=0x87
void main()
{
trisb=0;
while(true)
{
portb = 0x00;
putc(0x00);
delay_ms(100);
portb = 0xff;
putc(0xff);
delay_ms(100);
}
}
CODE VB
Code:
Private Sub cmdClear_Click()
Text1.Text = ""
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdSend_Click()
MSComm1.Output = Text2.Text
End Sub
Private Sub Form_Load()
cmdSend.Caption = "&Send"
Text1.Text = ""
Text2.Text = ""
Text1.Enabled = False
cmdExit.Caption = "&Exit"
With MSComm1
.Settings = "9600,N,8,1"
.CommPort = 4
.RThreshold = 1
.SThreshold = 0
.InputMode = comInputModeText
.InputLen = 0
.Handshaking = comNone
.InBufferSize = 1024
.OutBufferSize = 1024
If .PortOpen = False Then
.PortOpen = True
End If
End With
End Sub
Private Sub MSComm1_OnComm()
Dim Buffer As Variant
If MSComm1.CommEvent = comEvReceive Then
Text1.Text = Text1.Text + MSComm1.Input
End If
End Sub
Nguyên lý mạch điều khiển:

Comment