Kính gởi: anh Hải Bắc !
Em tên là Trung, học ngành cơ khí. Em đang làm đồ án tốt nghiệp, hiện em đang gặp sự cố ở khâu truyền dữ liệu từ máy tính xuống vi điều khiển 89S52. Em đã làm đi làm lại nhiều lần nhưng không được.
Mong anh Hải Bắc xem giúp source code và hướng dẫn dùm em. Vào ngày 18 tháng 7 em bảo vệ đồ án tốt nghiệp, chỉ còn trục trặc ở khâu này thôi !
Anh có thể chỉ em:
• viết code cho visual basic truyền được khoảng 10 byte hex mà vi điều khiển nhận được
• viết code cho vi điều khiển 89S52 nhận đươc 10 byte hex do visual basic gởi
Và cho em hỏi :
• Khi vi điều khiển gởi đi nội dung “0FFh” thì máy tính nhận được ký tự gì, và ngược lại.
Cảm ơn anh Hải Bắc nhiều, thật sự em rất ngưỡng mộ anh, chúc anh luôn vui vẻ và hạnh phúc !
Code:
Code:
org 000h
ljmp main
org 0023h
ljmp ngat_noitiep
org 0030h
main: mov p1,#0
mov TMOD,#20h ; bo dinh thoi 1 che do 2
mov TH1,#-3 ; gia tri nap lai
setb Tr1 ; bo dinh thoi hoat dong
mov SCON,#01010010b
mov IE,#90h ; cho phep ngat noi tiep
sjmp $
ngat_noitiep:
mov p1,#0ffh
clr TI
reti
end
Code:
Code:
Private Sub cmdPause_Click()
MSComm1.Output = "0"
End Sub
Private Sub cmdPlay_Click()
MSComm1.Output = "1"
End Sub
Private Sub Form_Load()
With MSComm1
.Settings = "9600,N,8,1"
.RThreshold = 1
.SThreshold = 0
.InBufferSize = 1024
.OutBufferSize = 1024
.InputMode = comInputModeText
.ParityReplace = ""
.CommPort = 2
If .PortOpen = False Then
.PortOpen = True
End If
End With
End Sub
Private Sub MSComm1_OnComm()
Dim Buffer As String
Dim size As Byte
Dim c As Integer
Dim i As Integer
Dim chay As Integer
Text1.Text = ""
If MSComm1.CommEvent = comEvReceive Then ' n?u là s? ki?n truy?n
Buffer = MSComm1.Input
Text1.Text = Mid(Buffer, 1, 1)
End If
End Sub