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