Mình đang làm cái mạch điều khiển bật tắt led bằng cách giao tiếp VXL với máy tính, mạch giao tiếp VXl 89C51 qua cổng RS233với máy tính mình đã làm rối, code để nạp vào con 89 mình cũng đã viết xong, giờ chỉ còn phần code cho visual basic 6.0 là mình ko biết viết thôi. MÌnh tự học visual basic,thấy tài liêu trên mạng nhiều lắm ,nhưng ko có ví dụ.Bạn nào có đoạn code thì viết cho mình nhé, nhìn vào đó mình sẽ hiểu hơn về visual basic!!
Thông báo
Collapse
No announcement yet.
giúp mình về visual basic 6.0
Collapse
X
-
Nguyên văn bởi trungBK Xem bài viếtẶc ặc ăc, sao ko ai giúp mình vậy! Mình tự học nên thật sự cảm thấy kho khăn quá
bạn thử cái này xem sao, ctrinh nay mình viết để xuất dòng chữ lên lcd
Private Sub Form_Load()
Text.FontSize = 10
MSComm1.CommPort = 1
MSComm1.Settings = "115200,n,8,1"
MSComm1.InputLen = 0
MSComm1.PortOpen = True
MSComm1.InputMode = comInputModeText
'che do modetext se truyen du lieu dang ANSI, vi du khi truyen
'so 0 thi may se truyen gi tri hex la 30h
'che do binary se truyen chinh xac gia tri,vi du khi truyen so 9
'thi gia tri se truyen la 9 thay vi 39h trong che do text
End Sub
Private Sub OK_Click()
MSComm1.Output = "`" 'TRUYEN MA BAO HIEU BAT DAU
MSComm1.Output = Left(Text.Text, 16) 'TRUYEN 16 KI TU = 1 DONG LCD
MSComm1.Output = "|" ' TRUYEN MA BAO HIEU KET THUC CHUOI
Text.Text = ""
Text.SetFocus
End Sub
Private Sub Text_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
OK_Click
End If
End Sub
bạn cần tạo 1 textbox (trong ctrinh minh lấy tên là text), và 1 command button (mình đặt tên là OK)
lưu ý là phải có sự bắt tay giữa VDK và softvb6
trong chương trình vb6, trước khi truyền nội dung nó sẽ truyền kí tự "`" để báo cho VDK biết là nó bắt đầu truyền, và khi kết thúc thì nó truyền kí tự "|" để báo cho VDK biết là đã truyền hết nội dung. (bạn có thể tự định nghĩa cách bắt tay riêng của bạn,tùy thích)
Cố gắng đọc kĩ bài của a Ngô Hải Bắc.chúc bạn thành công
Comment
-
mình biết chương trình như vậy ko biết có đúng ko nhỉ:
Private Sub Check1_Click()
If Check1.Value = vbChecked Then
MSComm1.Output = 1
Else
MSComm1.Output = 0
End If
End Sub
Private Sub Check2_Click()
If Check2.Value = vbChecked Then
MSComm1.Output = 2
Else
MSComm1.Output = 0
End If
End Sub
Private Sub MSComm1_OnComm()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,81,"
MSComm1.InputLen = 0
MSComm1.PortOpen = True
MSComm1.InputMode = comInputModeBinary
End Sub
với 2 led được đặt ở chân P1.6 và P1.7
nhưng mà nó cứ báo cái lỗi này.chọn nút nào cũng thế, bạn nào sửa giúp mình nhéAttached Files
Comment
-
sua cai dong nay lai xem sao "9600,N,8,1"Nguyên văn bởi trungBK Xem bài viếtMSComm1.Settings = "9600,N,81,"
Comment
-
Chương trình báo lỗi là do vầy nè bạn: Khai báo cổng thuộc thính cổng COM , bạn phải đặt trong : Private Sub Form1_Load() ( chứ ko phải trong Private Sub MSComm1_OnComm() - vì Oncomm là Sự kiện NGẮT khi nhận giá trị Từ VĐK gởi lên PC ); Chỉ mở cổng COM1 : MSComm1.PortOpen = True , khi đã thiết lập hết thuộc tính cho cổng COM1Nguyên văn bởi trungBK Xem bài viếtmình biết chương trình như vậy ko biết có đúng ko nhỉ:
Private Sub MSComm1_OnComm() ' bị Sai
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,81,"
MSComm1.InputLen = 0
MSComm1.PortOpen = True ' Bị Sai
MSComm1.InputMode = comInputModeBinary
End Sub
CODE Viết lại:
Private Sub Form1_Load()
MSComm1.CommPort = 1 ' chọn COM1
MSComm1.PortOpen = False ' trước tiên là đóng cổng COM 1 đã ( lệnh này ko có cũng được )
MSComm1.Settings = "9600,N,8,1,"
MSComm1.InputLen = 0 ' Đọc toàn bộ đệm
MSComm1.InputMode = 1 ' Kiểu truyền là nhị phân
MSComm1.PortOpen = True ' Chỉ mở cổng COM sau khi Thiết lập hết
End Sub
Chúc bạn thành công!
My department's Website: www4.hcmut.edu.vn/~thietbidien/trangchu
Motorola-FreeScale's MCU 68HC11 & HCS12X Supporter
Comment
-
Mình có đoạn code này góp vui cùng các bạn :
'Khoi tao giao tiep RS232
Public Sub Init_Com()
frmMain.MSComm.CommPort = 1
frmMain.MSComm.Settings = "9600,N,8,1"
frmMain.MSComm.InputLen = 0
End Sub
Public Sub Set_TTI(Set_Str As String)
frmMain.MSComm.PortOpen = True
frmMain.MSComm.Output = Set_Str & Chr$(13)
frmMain.MSComm.PortOpen = False
End Sub
' Doc du lieu tu TTI
Public Function Read_TTI() As String
Dim s As String
frmMain.MSComm.PortOpen = True
frmMain.MSComm.Output = "Read?" & Chr$(13)
Delay (1)
s = frmMain.MSComm.Input
s = Mid(s, 5, 4)
frmMain.MSComm.PortOpen = False
Read_TTI = s
End Function
hatran318@yahoo.com.vn
Comment
-
Các bác cho em hỏi một tí. là khi mình muốn truyền 1 byte dạng số hex (ví dụ: 01h xuống cổng cóm trong Vb thì ta phải định dạng dữ liệu như thế nào để 89c51 có nhận được byte đó dưới dạng số hẽ như ý của mình.
Em có làm thử nhưng không được như ý muốn. code em viết cho lệnh xuất giá trị ra com như vấy có đúng không:
Mscomm1.output= "1"
89c51 nhận được số này là: 71h (khồng như ý muốn là 01h)
mong các bác chỉ giúm em.
Comment
-
Bạn đã sai rồi. Đơn giản như sau : Mscomm1.output= chr(01h), các số bạn muốn truyền bạn cho vào chr(x). Chú ý: nó chỉ là số 1 byte.Nguyên văn bởi mrhahung_87 Xem bài viếtCác bác cho em hỏi một tí. là khi mình muốn truyền 1 byte dạng số hex (ví dụ: 01h xuống cổng cóm trong Vb thì ta phải định dạng dữ liệu như thế nào để 89c51 có nhận được byte đó dưới dạng số hẽ như ý của mình.
Em có làm thử nhưng không được như ý muốn. code em viết cho lệnh xuất giá trị ra com như vấy có đúng không:
Mscomm1.output= "1"
89c51 nhận được số này là: 71h (khồng như ý muốn là 01h)
mong các bác chỉ giúm em.
email:mahaco@fpt.vn
Comment
-
cam on bac,em lam theo va chay duoc roi nhung co mot dieu la goi nhung so >15 thi nhan luc duoc dung luc khong. vay thi em phai khac phuc the nao? con de may tinh nhan duoc mot byte do vxl goi den thi phai khai bao nhu the nao? em thu lam nhu bai cua Ngohaibac nhung may tinh khong nhan duoc. vay ai da lam ve cai nay roi thi xin giup do gium!
Comment
Bài viết mới nhất
Collapse
-
bởi vi van phamSau hàng chục năm, không biết có ai còn nghĩ gì về tôi? Riêng tôi, nhớ nhiều về dientuviet nam. net. Ngày ấy tìm 1 người bạn đam mê về điện từ khó như trúng số độc đăc. Tôi đã trúng số độc đắc khi được mời về dientuvietnam.net...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 22:43 -
-
bởi FotiniChào mọi người.
Cấu trúc khung giàn của tôi sử dụng một động cơ servo tích hợp trên mỗi trục (https://www.oyostepper.es/category-8...integrado.html), với một dây nối đất chung.
Việc kích hoạt từng trục riêng lẻ hoạt động tốt, nhưng...-
Channel: Điện tử dành cho người mới bắt đầu
18-06-2026, 14:03 -
-
Trả lời cho Cấu hình chiến game "quốc dân" cho nền tảng AM5: Lựa chọn tối ưu ngân sách với Ryzen 5 7500Fbởi kumarbrMình đồng ý với hướng build AM5 bằng 7500F, nhưng nếu có thể cố thêm ngân sách thì nên lên RX 7600 ngay từ đầu. 4GB VRAM của RX 6500 XT bắt đầu khá chật với nhiều game mới, còn RX 7600 sẽ dùng thoải mái hơn trong vài năm tới.
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 15:49 -
-
bởi theidiotcatTrong thời buổi vật giá leo thang, việc sắm một bộ máy tính chơi game đáp ứng đủ tiêu chí "ngon, bổ, rẻ" là ưu tiên hàng đầu của nhiều bạn trẻ. Lúc này, combo sử dụng vi xử lý AMD Ryzen 5 7500F kết hợp cùng card màn hình Radeon...
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 10:16 -
-
bởi theidiotcatAMD Ryzen 9 9950X3D không chỉ là một bộ vi xử lý đơn thuần; nó là lời khẳng định về sức mạnh của kiến trúc Zen 5 kết hợp cùng công nghệ 3D V-Cache đột phá. Trong bối cảnh thị trường linh kiện PC cạnh tranh khốc liệt, đây được xem...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:21 -
-
bởi theidiotcatBộ đôi Ryzen 9 9950X3D2 và Radeon RX 9070 XT 16GB là sự kết hợp phần cứng cao cấp nhất của AMD hiện nay. Đây không chỉ là một dàn máy tính để giải trí thông thường, mà là công cụ làm việc mạnh mẽ dành cho những ai có nhu cầu xử lý cường...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:09 -


Comment