PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp cổng COM và LPT

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

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...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 03-03-2007, 06:04 PM   #1
kiethnt
Nhập môn đệ tử
 
Tham gia ngày: Sep 2006
Bài gửi: 7
:
file đính kèm

mình quên upload file đính kèm. Xin lổi nha
File Kèm Theo
File Type: zip ser_sim_en.zip (21.0 KB, 258 lần tải)
kiethnt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-03-2007, 07:17 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Bạn nên tìm hiểu thuật toán hiện thực giao thức trong mã nguồn (không quá khó khăn với mã nguồn C), sau đó tìm hiểu cách thực hiện những công việc liên quan đến cổng RS-232 (serial port) cho Windows NT/2000/XP, vì những hệ điều hành này không cho phép truy xuất trực tiếp phần cứng theo cách mà chương trình mẫu đã sử dụng. Về giao tiếp RS-232 trên Windows thì box này chính là nơi bạn có thể tìm thông tin, ngohaibac đã giới thiệu cho một số ngôn ngữ rồi.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-03-2007, 11:36 PM   #3
vdt
Đệ tử 1 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 15
:
Delphi

Có ai lập trình điều khiển bằng Delphi không? Do lịch sử để lại, thời mình đi học chỉ đựoc dạy Pascal, thế nên sau này cũng vẫn theo con đường cũ mà dùng Delphi.
Mình thấy viết chương trình điều khiển bằng VB thì đơn giản thật, nhưng khi dân kỹ thuật dùng thì vẫn thấy thế nào ấy. Dùng VC thì là Pro nhất, nhưng với mình thì sẽ mất rất nhiều thời gian để học. Thế nên mình phải sử dụng Delphi.
Hiện mình có một số thư viện để viết cho cổng RS232 bằng Delphi, đây cũng là những thư viện free và mình download trên net cả thôi, nhưng mình thấy dùng khá ổn định và dễ dàng. Mình xin đóng góp lên đây để mọi ngừoi tham khảo nhé.
Chúc mọi người vui vẻ
File Kèm Theo
File Type: zip cport-3.10.zip (201.7 KB, 768 lần tải)
vdt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-04-2008, 09:53 AM   #4
hochoi2006
Nhập môn đệ tử
 
Tham gia ngày: Apr 2008
Bài gửi: 1
:
Thumbs up Thank!

Trích:
Nguyên văn bởi vdt View Post
Có ai lập trình điều khiển bằng Delphi không? Do lịch sử để lại, thời mình đi học chỉ đựoc dạy Pascal, thế nên sau này cũng vẫn theo con đường cũ mà dùng Delphi.
Mình thấy viết chương trình điều khiển bằng VB thì đơn giản thật, nhưng khi dân kỹ thuật dùng thì vẫn thấy thế nào ấy. Dùng VC thì là Pro nhất, nhưng với mình thì sẽ mất rất nhiều thời gian để học. Thế nên mình phải sử dụng Delphi.
Hiện mình có một số thư viện để viết cho cổng RS232 bằng Delphi, đây cũng là những thư viện free và mình download trên net cả thôi, nhưng mình thấy dùng khá ổn định và dễ dàng. Mình xin đóng góp lên đây để mọi ngừoi tham khảo nhé.
Chúc mọi người vui vẻ

Thank! Thank! Thank!
hochoi2006 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-04-2007, 08:50 PM   #5
hoangthongd
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 1
:
Red face truyen du lieu so dung VC++

chao cac bac!
em chi moi tap tanh ve VC++ va dung MScomm de giao tiep voi vdk 89s52.
truyen du lieu thi ca hai ben dieu nhan duoc. khi truyen kieu CString thi du lieu truyen khong co sai sot. tuy nhien, em muon truyen theo kieu so, chang han nhu truyen con so nguyen 234 thi lai truyen sai het ca ben vdk va PC.
em thay cac bac kha ranh ve van de nay nen xin cac bac giup em voi
dieu nay rat can thiet cho em vi em dang lam de tai mon hoc.
xin bac nao biet giup em voi
hoangthongd vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-01-2008, 09:31 AM   #6
salem_tdh1
Nhập môn đệ tử
 
Tham gia ngày: Jan 2008
Bài gửi: 1
:
Trích:
Nguyên văn bởi hoangthongd View Post
chao cac bac!
em chi moi tap tanh ve VC++ va dung MScomm de giao tiep voi vdk 89s52.
truyen du lieu thi ca hai ben dieu nhan duoc. khi truyen kieu CString thi du lieu truyen khong co sai sot. tuy nhien, em muon truyen theo kieu so, chang han nhu truyen con so nguyen 234 thi lai truyen sai het ca ben vdk va PC.
em thay cac bac kha ranh ve van de nay nen xin cac bac giup em voi
dieu nay rat can thiet cho em vi em dang lam de tai mon hoc.
xin bac nao biet giup em voi
Mình chạy bài của Bắc thì thấy đúng tuốt nhưng mình định áp dụng thì vấp phải vấn đề giống hoangthongd. Mình muốn truyền và nhận dữ liệu dạng số để thực hiện tính toán sau này chứ không chỉ hiển thị mà không biết làm thế nào để chuyển đổi từ dạng string sang số cả. Rất mong mọi người giúp đỡ.
salem_tdh1 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-01-2008, 03:45 PM   #7
thanhlam220582
Nhập môn đệ tử
 
Tham gia ngày: Jan 2008
Bài gửi: 1
:
Trích:
Nguyên văn bởi salem_tdh1 View Post
Mình chạy bài của Bắc thì thấy đúng tuốt nhưng mình định áp dụng thì vấp phải vấn đề giống hoangthongd. Mình muốn truyền và nhận dữ liệu dạng số để thực hiện tính toán sau này chứ không chỉ hiển thị mà không biết làm thế nào để chuyển đổi từ dạng string sang số cả. Rất mong mọi người giúp đỡ.
bạn có chạy thử bài của anh Bắc viết bằng vb ko?mình chạy ko báo lỗi gì nhưng ko nhận đc dữ liệu về.mình ko bit có sai chỗ nào ko nữa.bạn chạy thử rồi chỉ cho mình với nhé.cám ơn nhiều
ah đây là link http://www.picvietnam.com/forum/showthread.php?t=869

thay đổi nội dung bởi: thanhlam220582, 24-01-2008 lúc 03:51 PM.
thanhlam220582 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-04-2007, 09:06 PM   #8
ngohaibac
Đệ tử 9 túi
 
ngohaibac's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: BKHN
Bài gửi: 231
:
Send a message via Yahoo to ngohaibac
Thám à,

Cậu xem về đọc ghi file trong VC++ nhé, mở MSDN ra mà xem. Thư viện với VC++ là fstream.h.

Còn việc hiển thị dữ liệu lên figure thì tìm component của VC++ ấy. Mình tìm cho sau nhé.

Chúc mày ok .
ngohaibac vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-05-2007, 11:16 PM   #9
Attiny
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 1
:
Sao em down cai link http://luckytoki.com/haibac/download...C/Terminal.zip

chương trình TERMINAL

của anh HẢI BẮC ko dược nhỉ nhờ các bác chi ZUM THANK!
Attiny vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-05-2007, 11:53 PM   #10
ngohaibac
Đệ tử 9 túi
 
ngohaibac's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: BKHN
Bài gửi: 231
:
Send a message via Yahoo to ngohaibac
Chương trình Terminal

Chương trình Terminal đây, các bạn download về nhà dùng nhé.

Chúc anh em luôn luôn ok .
File Kèm Theo
File Type: zip Terminal.zip (292.6 KB, 1397 lần tải)
ngohaibac vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-06-2007, 09:30 PM   #11
signin
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 6
:
Goi Anh Hai Bac!

Chương trình nhận dữ liệu từ máy tính của vi điều khiển
Code:
org	000h

	;  khoi tao UART
	; Thiet lap SMOD = 1, nghia la chia cho 16
		mov	a,87h		; 87h chinh la dia chi cua thanh ghi PCON
		setb	ACC.7		; SMOD =1, nghia la chia cho 32
		mov	87h,a	
	
		mov	SCON,#01010010b
					; SM0_SM1_SM2_REN_TB8_RB8_TI_RI
					;     0        1         0         1          0         0      1    0
					; UART 8 bit , cho phep nhan ki tu, set co ngat phat

		mov	TMOD,#00100000b
					; GATE_C/T_M1_M0_GATE_C/T_M1_M0
					;       0         0      1       0          0         0      0       0
					; Timer 1, mode 2 ( auto load )
		mov	TH1,#-3		; toc do thuc 19200 baud
		setb	TR1		; cho phep timer hoat dong
		
td:		mov	r0,#40h		; vi tri o nho bat dau luu
		
td1:		jnb	RI,$
		clr	RI
		mov	@r0,SBUF
		inc	r0
		jmp	td1

		
end

Chương trình gởi dữ liệu từ máy tính tới vi điều khiển:

Code:
Private Sub Form_Load()

RX_Counter = 0
' init for comport

With MSComm1
    .CommPort = 2               'chose COM2
    .Settings = "19200,N,8,1"    'baud 9600bps, none parity, 8 bit data, 1 bit stop
    .InBufferSize = 1024
    .InputLen = 0
    .RThreshold = 1
    .SThreshold = 1
    .OutBufferSize = 512
    .InputMode = comInputModeBinary
    '.InputMode = comInputModeText
    .PortOpen = True
End With

'init for edit boxes
For i = 0 To 10
    Text1.Item(i).Text = i
    Text1.Item(i).Alignment = 2
Next

End Sub

Private Sub cmdSend_Click()

Dim BytesToSend(10) As Byte

'Store the data in a byte array
For i = 0 To 10
    BytesToSend(i) = Val("&h" & Text1.Item(i).Text)
Next

'Send the data to the port
MSComm1.Output = BytesToSend()

End Sub
Em có download chương trình Giao tiếp RS232 trên PC bằng Visual Basic ( do anh Hải Bắc viết ) về dùng!


Em truyền dữ liệu từ vi điều khiển 89S52 lên máy tính thì nhận đúng nhưng gởi dữ liệu từ máy tính xuống vi điều khiển thì vi điều khiển không nhận được!

Kính mong anh Hải Bắc xem dùm source code của Visual Basic, vi điều khiển của em viết đúng không? Nhờ anh Hải Bắc chỉ giúp!

Hiện nay em đang làm đồ án tốt nghiệp nhưng gặp sự cố ở khâu truyền dữ liệu từ máy tính xuống vi điều khiển.

Em hiện đang học ngành cơ khí.

@ngohaibac: em nhớ để code giữa 2 tag code nhé. Cho người đọc dễ nhìn em ạ.

thay đổi nội dung bởi: ngohaibac, 22-06-2007 lúc 04:28 PM.
signin vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-06-2007, 04:38 PM   #12
ngohaibac
Đệ tử 9 túi
 
ngohaibac's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: BKHN
Bài gửi: 231
:
Send a message via Yahoo to ngohaibac
Trích:
Nguyên văn bởi signin View Post
Chương trình nhận dữ liệu từ máy tính của vi điều khiển
.................................................. .........
1. Về chương trình truyền trên PC em không có hàm ngắt OnComm à ?Thế thì làm sao xử lý được dữ liệu truyền lên nhỉ ?

SThreshold = 0 để không xảy ra sự kiện ngắt truyền. RThreshold = 1 là khi có 1 byte trong bộ đệm nhận thì sẽ xảy ra sự kiện nhận dữ liệu.

2. Còn chương trình ở VĐK làm sao em biết là vi điều khiển nhận được hay chưa ? vì khi em nhận được dữ liệu thì chỉ có ghi dữ liệu vào trong RAM thôi mà. Em có thể test bằng cách cho một cổng nối với Led để test. Khi nhận được dữ liệu thì setb để led sáng.

Chương trình của em là hoàn toàn dùng kiểu Polling, chờ khi cờ RI = 1 thì ghi dữ liệu. Cách này không tối ưu, sao em không dùng ngắt nhỉ ? như thế sẽ làm được nhiều việc hơn.

Chương trình cũng không có đoạn lệnh gửi dữ liệu lên PC mà?

Chúc em thành công.
ngohaibac vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-06-2007, 10:44 PM   #13
master_boot
Nhập môn đệ tử
 
Tham gia ngày: Jun 2007
Bài gửi: 1
:
Thumbs up

Anh ơi anh có thể cho em code của trương trình không?em đang làm đề tài cơ sở về "viết chương trình đường truyền file giữa 2 máy tính bằng ngôn ngữ C" em muốn tham khảo thêm anh giup em trong thời gian ngắn nhất nhé em mới vào nghề mà nếu được anh mail vào hòm thư: virus_batdiet_k5d@yahoo.com cảm ơn anh nhiều
master_boot vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-06-2007, 04:26 PM   #14
ngohaibac
Đệ tử 9 túi
 
ngohaibac's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: BKHN
Bài gửi: 231
:
Send a message via Yahoo to ngohaibac
Source code ngay trong file đính kèm của bài 1 mà bạn:
http://www.picvietnam.com/forum//sho...47&postcount=1

Chúc bạn thành công.
ngohaibac vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-07-2007, 06:33 PM   #15
signin
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 6
:
Cam on anh Hai Bac nhieu!
signin vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
Cho hỏi về giao tiếp RS232 của PIC16F877A enti Giao tiếp cổng COM và LPT 31 25-03-2016 10:14 PM
Giao tiếp RS232 trên PC qua Matlab ngohaibac Giao tiếp cổng COM và LPT 47 18-11-2015 03:51 PM
giao tiep RS232 voi C dangngoc Giao tiếp cổng COM và LPT 9 26-02-2012 02:25 AM
cần mua bộ thu GPS có giao tiếp RS232 kienvq Tìm mua sản phẩm 15 17-03-2011 11:25 PM
Help! Dùng C để giao tiếp RS232 dandiennang Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 6 15-03-2009 06:41 PM


Múi giờ GMT. Hiện tại là 12:19 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam