|
Tài trợ cho PIC Vietnam |
Giao tiếp cổng COM và LPT RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển... |
|
Ðiều Chỉnh | Xếp Bài |
08-05-2015, 09:59 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Feb 2015
Bài gửi: 2
: |
Rs232 bằng PÍC6F877a gặp lỗi Erorr 8002 gì đó :(
Chào các anh chị, cac 1dong962 chí
Hiện là em dăng tìm hiểu về đề tài rs232 qua cổng COM giao tiếp máy tính bằng PIC 16F877A + VB6.0. Hiện yêu cầu đơn giản là vầy Bảng điều khiển em viết bằng VB có 2 nút ON và OFF Khi ON thi led1 và led2 luân phiên sáng tắt với khoảng thời gian delay Còn Off tì cOFF lun Hiện là em chỉ mới click trên giao diện VB chứ chưa qua đến nhấn nút bàn phím Em post code PIC và code VB cho các anh chị tham khảo và chỉnh sửa dùm em Em cám ơn nhiều ạ!!!!! Code PIC #include <16F877A.h> #use delay(clock=20000000) #use RS232(baud = 9600,parity=N,xmit=PIN_C6,rcv=PIN_C7) #fuses hs,nowdt,noprotect,nolvp,put #byte portd=0x08 #byte porta=0x05 #bit led1=portd.0 #bit led2=portd.1 char z,a; #int_rda void dieukhien() { z=getchar(); if(z=='a') a=0; else if (z=='s') a=1; } void main() { portd=0x00; setup_ccp1(CCP_PWM); // cài dat CCP1 là cong xuat PWM setup_timer_2(T2_DIV_BY_4, 124, 1); // cài dat timer_2 có tan so 10KHz ( tan so xung PWM) set_pwm1_duty(0); enable_interrupts(INT_RDA); switch(a) { case 1: { portd=0b00000001; delay_ms(8000); portd=0b00000010; delay_ms(8000); } break; case 2: { portd=0x00; delay_ms(8000); } break; } } Private Sub cmd_disconnect_Click() MSComm1.PortOpen = False End Sub Private Sub cmd_end_Click() End End Sub Private Sub cmd_off_Click() MSComm1.Output = "a " End Sub Private Sub cmd_on_Click() MSComm1.Output = " s " End Sub Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.InputLen = 1 MSComm1.PortOpen = True MSComm1.RThreshold = 1 End Sub Code VB |
|
|