![]() |
|
![]() |
#1 |
Đệ tử 4 túi
Tham gia ngày: Jan 2007
Bài gửi: 79
: |
Mĩnh đã từng thử trên protues các mạch đơn giản như nhấp nháy led, hiện thị led 7 đoạn... chứ chưa bao giờ mô phỏng quá trình truyền nhận nên không biết. Mà mình nghĩ tốt nhất bạn nên làm 1 cái mạch thực , không quá khó đâu. Bạn làm cái mạch test hết sức bình thường gồm : nguồn, thạch anh, các led nối port v.vv... rầt bình thường. Còn phần mạch truyền lên máy tính thì bạn mắc đúng theo mạch trong trang sau đảm bảo OK http://www.winpicprog.co.uk/pic_tuto...s232_board.htm
Bạn cẩn thận khi vẽ mạch in thì coi chừng cái cổng COM bạn rất dễ vẽ ngược chân. Bạn chú ý. À, thêm một cái nữa . Nhiều người đã từng làm với protues đã nói rằng : mô phỏng với protues không phải lúc nào cũng đúng. |
![]() |
![]() |
![]() |
#2 |
Đệ tử 1 túi
Tham gia ngày: Nov 2007
Bài gửi: 22
: |
Thanks anh nhiều ! Cái này anh vẽ mạch in trên ORCARD ah
Em sẽ bắt tay vào làm ngay |
![]() |
![]() |
![]() |
#3 | |
Đệ tử 1 túi
Tham gia ngày: Nov 2007
Bài gửi: 22
: |
Trích:
Em trước đây chỉ làm với 8051 về cách hiển thị led đơn giản nên chỉ cắm trên bo chứ không làm mạch in giờ thời gian rất gấp nên gặp khó khăn . Khi em vẽ layout thì nó cứ đòi add linh kiện vào nhưng em không biết chọn thế nào mong anh giúp đỡ. Anh cho em hỏi thêm là mạch sau thì các chân rc0-rc7 là của pic hay chỉ là jum để pic cắm vào thôi à, nếu là jum thì khi hai chân rc6 và rc7 nối với chân của pic thì nối như thế nào, em vẫn chưa tưởng tượng ra |
|
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: Jul 2009
Bài gửi: 7
: |
giao tiếp máy tính
em đang làm bài tập về giao tiếp máy tính, sử dụng 16f877(ngôn ngữ C) qua cổng Com.Nhưng em gặp vấn đề là khi truyền tín hiệu từ 1 cảm biến đến máy tính hiển thị trên 1 textbox.Nhưng khi có 2 tín hiệu cảm biến truyền đển máy tính hiển thị trên 2 textbox thì em không biêt đó là dữ liệu của textbox nào khi nhận được.(em sử dụng ngat MSComm1_OnComm)>
Mong các Pro giải thích giúp em.Thanks |
![]() |
![]() |
![]() |
#5 |
Đệ tử 2 túi
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
: |
Bạn có thể cho mọi người xem code của bạn, sẽ dễ góp ý hơn.
Mình ko hiểu rõ ý bạn lắm, nhưng theo cách mình hay làm, nếu phải truyền 2 giá trị từ 2 cảm biến lên, thì ứng với mỗi cảm biến, cần có một ký tự đi trước để báo hiệu. Ví dụ thay vì truyền 1 byte của cảm biến 1, mình sẽ truyền 2 byte, byte đầu là '@' chẳng hạn, báo hiệu giá trị sắp nhận được là của cảm biến 1, sau đó truyền byte giá trị, với cảm biến 2 thì truyền '#' + giá trị, như vậy trên máy tính sẽ nhận biết dễ dàng giá trị nào của cảm biến nào thôi. |
![]() |
![]() |
![]() |
#6 | |
Nhập môn đệ tử
Tham gia ngày: Jul 2009
Bài gửi: 7
: |
Trích:
" Private Sub MSComm1_OnComm() Dim a As Variant If MSComm1.InBufferCount Then a = MSComm1.Input End If Text2.Text = a End Sub " Nhưng bây giờ bên VDK truyền byte bao hieu + byte gia tri thi ben VB em tách làm sao được chỉ lấy được byte gia tri thôi? |
|
![]() |
![]() |
![]() |
#7 |
Đệ tử 2 túi
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
: |
Theo mình có 2 cách:
- Cách 1: Đặt bộ đệm Mscomm1.RThreshold = 2, có nghĩa là sau khi nhận được 2byte mới xảy ra ngắt oncomm, khi đó ta đọc 2 byte này, kiểm tra byte đầu, và giá trị là byte sau. Có thể đọc 2 byte bằng cách sau: Code:
Privat Sub MSComm1_onComm() Dim buffer 'kiểu varriant Dim Arr() as byte ' mảng động If MSComm1.CommEvent = comEvReiceive then buffer=MSComm1.Input Arr = buffer If (Arr(0)="@")then .................... End Sub ![]() thay đổi nội dung bởi: npbaoduy, 18-12-2009 lúc 01:52 PM. |
![]() |
![]() |
![]() |
|
|