hướng dẫn giao tiếp RS232 với pic16f877a bằng VB 6.0 các vấn đề lieen quan đến RS232 trong PIC aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Trang 1→ 16 Next >
sgesvn
Moderator
Số bài viết: 2,313
Đã được thích: 2,955
Lập trình giao tiếp VB6 với VĐK qua RS232
Thảo luận trong 'VB'
Đang xem chủ đề này ( Thành viên: 0, Khách: 1)
Bài viết dưới đây sẽ hướng dẫn chi tiết các bạn mới làm quen với vi điều khiển và tìm hiểu về giao tiếp giữa VĐK với máy tính (PC) qua cổng nối tiếp RS232. (Mình sẽ làm trực tiếp với PIC16F877a vì nó khá thông dụng và nhiều code tham khảo cho các bạn)
Các bước cần chuẩn bị:
Phần mềm mô phòng Proteus Các bạn có thể download tại đây: Proteus 7.10 Cho Anh Em Đây | Cộng đồng cơ điện tử Việt Nam | Mechatronics
Phần mềm CCS
Các bạn có thể downlaod tại đây:
Phần Mềm Ccs 4.114 (update) | Cộng đồng cơ điện tử Việt Nam | Mechatronics
Phần mềm COM ảo COM AO.rar Eltima Software Virtual Serial Port Driver 6.9.rar Eltima Software Virtual Serial Port Driver 7.1.289.rar Mình khuyên các bạn nên dùng bản 6.9 vì bản 7.1 không biết sao mình dùng trên win7 bị lỗi
Phần mềm VB6 Thảo luận Soft, Tool VB6 Cho Cơ Điện Tử | Cộng đồng cơ điện tử Việt Nam | Mechatronics Tiếp theo là một số tài liệu cho các bạn tham khảo
Các tài liệu và ứng dụng về PIC:
Tổng hợp Project cơ bản với PIC 16F877A | Cộng đồng cơ điện tử Việt Nam | Mechatronics
Nội quy diễn đàn: Bạn nên đọc trước khi tham gia diễn đàn Hướng dẫn sử dụng diễn đàn: Những hướng dẫn chung nhất khi sử dụng diễn đàn Yahoo đóng góp ý kiến về forum:
Trang chủ Diễn đàn Kỹ thuật Máy tính Công cụ lập trình VB
Diễn đàn Trang chủ
Tìm kiếm Có gì mới?
Download Video
Đăng nhập hoặc Đăng ký
Trang 2dungvt , LêQuốcQuân , caonhan_2004 và 19 others thích bài này.
#1
sgesvn
Moderator
Số bài viết: 2,313
Đã được thích: 2,955
Tài liệu học ccs:
Tài liệu học CCS | Cộng đồng cơ điện tử Việt Nam | Mechatronics
Tài liệu về lập trình giao tiếp cổng COM giaotrinhDLDK.pdf
Chủ đề cùng chuyên mục:
Cần giúp cần giúp bài tập matlab Giúp mình lỗi này với.
Cấu Trúc Chương Trình Ngắt Trong VB6 cần giúp về VB!!!!
thắc mắc về cáp chuyển đổi com sang usb Giáo trình VB của SSDG
Cần mọi người giúp về điều khiển 8led
Cần giú về lỗi run time error '424'
Lập trình VB giao tiếp với MT
Tiếp theo sẽ là ví dụ giao tiếp giữa PIC16F877a với PC qua RS232. PC có nhiệm vụ gửi lệnh bất tắt các LED thông qua PIC, PIC có nhiệm vụ lấy giá trị nhiệt độ từ LM35 gửi lên PC
Lập trình với PIC
Để PIC có thể sử dụng giao tiếp rs232 các bạn phải sử dụng:
Mã:
#use rs232 (options)
Với option là một số lựa chọn cơ bản như sau:
Mã:
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)
baud: tốc độ truyền parity: Giao thức truyền Xmit: Chân gửi trên VĐK rcv: Chân nhận trên VĐK Các lệnh nhận dữ liệu từ PC:
Mã:
value = getc() value = fgetc(stream) value=getch() value=getchar()
Tất cả các giá trị nhận về đều là 8 bít
Các lệnh gửi dữ liệu lên PC:
Mã:
putc (cdata) putchar (cdata) fputc(cdata, stream) Các dữ liệu gửi đi cũng là 8 bít
muachung.vn
05 quần lót nữ
cotton viền ren Chất liệu cotton mềm,co giãn, thấm hút tạo
cảm giác dễ chịu khi mặc, chỉ 85.000đ Mua
Hạt Mắc ca nhập ÚC Tốt cho tim mạch
31%
Cung cấp năng lượng, giảm cholesterol, ngừa bệnh tim mạch, huyết
áp, tốt cho thai Mua ngay
Trang 3Kích thước: 594 bytes
terminal.rar
maivu89 , nguyenpuc , dungvt và 10 others thích bài này.
#2
Mã:
putc('*');
for(i=0; i<10; i++) putc(buffer[i]);
putc(13);
Ngoài ra còn có thể sử dụng lệnh Printf (stream)
ví dụ:
Mã:
byte x,y,z;
printf("HiThere");
printf("RTCCValue=>%2x\n\r",get_rtcc());
printf("%2u %X %4X\n\r",x,y,z);
printf(LCD_PUTC, "n=%u",n);
Để hiểu hơn về các lệnh này các bạn vui lòng đọc help của ccs
Còn đây là code truyền giá trị nhiệt độ và nhận lệnh bật tắt LED bằng ccs:
Mã:
switch (data) {
case '1':
{ RB0=1;
break;
} case '2':
{ RB1=1;
break;
} case '3':
{ RB2=1;
break;
} case '4':
{ RB3=1;
break;
} { RB4=1;
break;
} case '6':
{ RB5=1;
break;
} case '7':
{
Các file đính kèm:
Tiếp tục là viết gia diện trên VB
Các bạn sử dụng các button. label, shape của VB6 đề tạo một giao diện như hình vẽ:
Trang 4Kích thước: 72.9 KB
Test_VB.rar
changnhoc123 , htulipden , will_cs và 7 others thích bài này.
#3
sgesvn
Moderator
Số bài viết: 2,313
Đã được thích: 2,955
Đ1 ~Đ8 là lệnh bật hoặc tắt các đèn từ 1 đến 8
Một ô text đề ghi giá trị nhận được từ PIC gửi lên
Thiết lập các giá trị cổng COM Mã:
Private Sub Form_Load()
i = 0 ' cai dat thong so cho cong com " COMFIG FOR COM PORT "
Timer2.Enabled = False With MSComm1
.CommPort = 1 'cong COM 1 .Settings = "9600,N,8,1" 'Baudrate=9600,Ko KT chan le,frame 8 bit,1 bit stop .InBufferSize = 1024 'Bo dem 1024 byte thi day
.InputLen = 0 'Doc toan bo gia tri bo dem .RThreshold = 1 'Cho phep ngat khi su kien Receiver o MSCOMM .SThreshold = 0 'Ko cho phep ngat khi su kien Send o MMSCOMM .OutBufferSize = 512
.InputMode = comInputModeText .PortOpen = True 'Mo cong COM End With
End Sub Các lệnh gửi dữ liệu xuống PIC ví dụ:
Mã:
MSComm1.Output = "0"
Đoạn code nhận dữ liệu từ PIC gửi lên:
Mã:
Private Sub MSComm1_OnComm() Dim StringIn As String
If MSComm1.CommEvent = comEvReceive Then StringIn = MSComm1.Input
Text2.Text = Asc(StringIn)
End If End Sub
Các file đính kèm:
Trang 5Moderator
Số bài viết: 2,313
Đã được thích: 2,955
Khời động phần mềm COM ảo, add kết nối giữa COM1 và COM2
Chạy mô phỏng trên proteus
Chạy VB6
Kết quả:
Trang 6tuanhat108 , minhtrieu200 , toi ngu kinh và 10 others thích bài này.
#4
Quynh con , toi ngu kinh , VinhCòi và 3 others thích bài này.
#5
sgesvn
Moderator
Số bài viết: 2,313
Đã được thích: 2,955
sgesvn
Moderator
Chưa kịp xem lại bài chỉ cả, đang say sưa viết bài đã có anh vào ném gạch rồi thông cảm vì tớ không muốn có bài nào đó chèn vào đoạn đầu nên del đi rồi, và sửa lại code cho nó hợp lý nhé (Vì code lấy từ một project giám sát thiết bị
từ ngày xưa, nó gồm nhiều cái trong đó nên khi xóa bớt đi nó vẫn còn thế Mã:
void main() {
enable_interrupts(int_RDA);
enable_interrupts(global);
setup_ADC(ADC_clock_internal);
setup_ADC_ports(AN0);
set_ADC_channel(0);
set_tris_b(0);
set_tris_a(0b1);
set_tris_c(0x80);
set_tris_d(0);
PORTB=0;
porta=0;
portc=0;
portd=0;
while(1) { x=read_ADC();
x=x/2.049;
putc(x);
chuc=x/10;
dv=x%10;
portd=swap(chuc)+dv;
} }
Hi vong có gì thắc mắc hoặc góp ý thêm, hoặc phát triển để gửi nhiều byte mọi người viết bài tại thread này và cùng nhau thảo luận
Trang 7June , phamennho và Admin thích bài này.
#6
Đã được thích: 2,955
#7
phamennho
Kỹ sư
Số bài viết: 261
Đã được thích: 58
#8
dovanhieu
Super Moderator
Số bài viết: 1,305
Đã được thích: 1,779
June thích bài này.
#9
sgesvn
Moderator
Số bài viết: 2,313
Đã được thích: 2,955
cám ơn anh về bài viết. anh có thể làm với 89 được không ? (vẫn là bài trên)
card màn hình anh có thể mua hộ em ?
Khi nào mua máy mình phải học cái này mới được. Hay!
ĐT: 0165 764 0498 094 814 2824
phamennho said: ↑
Làm việc với 89 thì bạn đọc tài liệu ở #1: giao tiep may tinh[codientu.org].pdf Phần ví dụ đấy, có đầy đủ cho bạn, tớ không cài trìn biên dịch nên không sửa code cho bạn giống như trên được, nhưng đại loại giống nhau, ở đó còn hướng dẫn truyền 2 hay nhiều byte. Dùng code đó có vấn đề gì bạn lại đưa lên đây thảo luân, vì phần nhận trên VB ở đó chưa được tối ưu cho lắm
Card màn hình thì có thể mua cho bạn, nhưng bạn đang ở đâu? Hỏi để biết xem có mua hộ được không chứ ở
xa thì quang tèo
dovanhieu said: ↑
Không có máy tính mà lại post bài được hả bạn, nhà nhóm reporter dạo này trầm vậy
cám ơn anh về bài viết. anh có thể làm với 89 được không ? (vẫn là bài trên) card màn hình anh có thể mua hộ em ?
Khi nào mua máy mình phải học cái này mới được. Hay!
Trang 8david0bom và sgesvn thích bài này.
#10
dovanhieu Super Moderator
Số bài viết: 1,305
Đã được thích: 1,779
Kiểu dáng thời trang, lưng thun co giãn, thoái mái vận động, chỉ 175.000đ Xem ngay!
Quần ôm bó, tôn dáng gợi cảm, giúp bạn luôn tự tin và thoải mái, chỉ 99.000đ Mua ngay!
Em tranh thủ mượn máy bạn post bài lên diễn đàn, em vẫn chưa mua được máy. Thành viên của nhóm còn chưa được nhiều. Mà em lại chưa mua được nên nhóm hơi trầm. Nhưng tháng tới có lẽ khác, sẽ nhộn nhịp hơn nhiều đấy anh ạ.
ĐT: 0165 764 0498 094 814 2824
Tags: pic 16f877a, vb6, visualbasic 6.0, giao tiếp vđk và máy tính, VĐK với máy tính (PC)
Chia sẻ trang này
Đăng ký | Đăng nhập
Cộng đồng Cơ điện t…
Quần joggers denim bo ống
30%
muachung.vn
3 quần mặc trong váy phối ren
muachung.vn
Bạn cần biết
Tuyển nhân sự 2015
HD sử dụng diễn đàn Nội quy diễn đàn Thông báo từ diễn đàn Chú ý trước khi đặt câu hỏi Cách đặt câu hỏi
21 people like this Be the first of your friends.
Like
Trang 9những vẫn đề liên quan đến kỹ thuật.
Website thuộc quyền sở hữu của Công ty TNHH Công nghệ FilTechPlus
Chúng tôi không chịu trách nhiệm về nội dung đăng tải của người dùng.
OUR LINKS
Điện tử cơ bản
Vi điều khiển CAD/CAM/CNC
THÔNG TIN Thông báo chung Bản tin công nghệ
HD sử dụng forum
Trang chủ Diễn đàn Kỹ thuật Máy tính Công cụ lập trình VB
Bông tai hạt tròn 1 lớn 1 nhỏ siêu hot
muachung.vn Bông tai đang được săn lùng với thiết
kế độc đáo, ấn tượng. 65.000đ/ 5 đôi. Sở hữu ngay
Máy mài móng cho thú cưng
30%
muachung.vn Cắt móng cho thú cưng dễ dàng và nhanh chóng, không tổn thương móng, chỉ 85.000đ Xem ngay!
Tour Du lịch Khách sạn Giá RẺ
Đà Lạt muachung.vn Đặt phòng, book tour dễ dàng và thuận tiện. Chất lượng tuyệt hảo. Ưu đãi cực lớn XEM NGAY
Trang 10FOLLOW US Tài liệu điện tử
Tài liệu cơ khí Share ACC VIP
Thắc mắc Góp ý Tài nguyên diễn đàn Liên hệ Quảng cáo LIÊN KẾT BẠN BÈ
FilTech.com.vn
echipkool.net
vietdesigner.net
Hacking & Security
Máy lọc nước Hải Phòng
diendan.shpt.info