久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
VB串口和單片機讀IC卡上位機源程序
[打印本頁]
作者:
qyh123456
時間:
2017-10-8 11:33
標(biāo)題:
VB串口和單片機讀IC卡上位機源程序
VB寫的串口和單片機讀卡程序 有需要的下
0.png
(43.51 KB, 下載次數(shù): 91)
下載附件
2017-10-8 20:55 上傳
所有資料51hei提供下載:
自己寫的通過串口和單片機通訊的ic卡讀卡程序.rar
(55.17 KB, 下載次數(shù): 73)
2017-10-8 11:33 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
vb源程序如下:
Attribute VB_Name = "IC卡管理自動記錄系統(tǒng)"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public inData As String '串口中斷時讀入的字符串
Dim TEXT_OK As Boolean
Dim text1_temp As String
Dim t7 As String
Private Sub Command2_Click()
data1.Recordset.MovePrevious
If data1.Recordset.BOF Then data1.Recordset.MoveFirst
Text1.Text = data1.Recordset("卡號")
Text2.Text = data1.Recordset("姓名")
Text3.Text = data1.Recordset("班級")
Text4.Text = data1.Recordset("余額")
Text5.Text = data1.Recordset("日期")
Text6.Text = data1.Recordset("時間")
Text9.Text = Format(CStr(CStr((CSng(Text4.Text) * 100) \ 60)), "#00") & "小時" & Format(CStr(CStr((CSng(Text4.Text) * 100) Mod 60)), "#00") & " 分鐘"
data1.UpdateRecord
End Sub
Private Sub Command3_Click()
If data1.Recordset.EOF = False Then data1.Recordset.MoveNext
If data1.Recordset.EOF Then data1.Recordset.MoveLast
Text1.Text = data1.Recordset("卡號")
Text2.Text = data1.Recordset("姓名")
Text3.Text = data1.Recordset("班級")
Text4.Text = data1.Recordset("余額")
Text5.Text = data1.Recordset("日期")
Text6.Text = data1.Recordset("時間")
data1.UpdateRecord
Text9.Text = Format(CStr(CStr((CSng(Text4.Text) * 100) \ 60)), "#00") & "小時" & Format(CStr(CStr((CSng(Text4.Text) * 100) Mod 60)), "#00") & " 分鐘"
End Sub
Sub 找卡號()
Dim n, m As Integer
data1.Refresh
data1.Recordset.MoveLast
m = data1.Recordset.RecordCount
data1.Refresh
data1.Recordset.MoveFirst
For n = 1 To m Step 1
If Text1.Text = data1.Recordset("卡號") Then
Text1.Text = data1.Recordset("卡號")
'Text2.Text = data1.Recordset("姓名")
'Text3.Text = data1.Recordset("班級")
End If
data1.Recordset.MoveNext
Next n
End Sub
Private Sub Command6_Click()
Timer2.Enabled = True
Command9.Enabled = True
Command6.Enabled = False
End Sub
Private Sub Command7_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
MSComm1.Output = "rr12345678" '把查詢命令發(fā)出到串口
End Sub
Private Sub Command8_Click()
Dim NUM, n, m As Integer
Call CACK_TEXT
If TEXT_OK = True Then
NUM = Val(Text4.Text)
n = NUM \ 256
m = NUM - n * 256
'Call 寫入單片機
Call 寫入數(shù)據(jù)庫
text1_temp = Text1.Text
Text1.Text = ""
Else
n = MsgBox("請正確輸入", 5 + vbExclamation, "錯誤")
End If
End Sub
Sub 寫入單片機()
Dim adsafdds As String
Dim yuer1, yuer2 As String
yuer1 = Format(CStr(CStr((CSng(Text4.Text) * 100) \ 60)), "#00")
yuer2 = Format(CStr(CStr((CSng(Text4.Text) * 100) Mod 60)), "#00")
adsafdds = "ss" & Text1.Text & yuer1 & yuer2
MSComm1.Output = adsafdds
End Sub
Private Sub Command9_Click()
Timer2.Enabled = False
Command6.Enabled = True
Command9.Enabled = False
End Sub
Private Sub Form_Load()
MSComm1.PortOpen = True
MSComm1.RThreshold = 1
Command8.Enabled = False
Command6.Enabled = True
Command9.Enabled = False
End Sub
Sub CACK_TEXT()
TEXT_OK = False
If (Len(Text1.Text) = 4 And Len(Text4.Text) < 6) Then TEXT_OK = True
End Sub
Sub 寫入數(shù)據(jù)庫()
data1.Refresh
data1.Recordset.MoveLast
data1.Recordset.AddNew
data1.Recordset("卡號") = Text1.Text
'data1.Recordset("姓名") = Text2.Text
'data1.Recordset("班級") = Text3.Text
data1.Recordset("余額") = Text4.Text
data1.Recordset("日期") = Date
data1.Recordset("時間") = Time()
data1.UpdateRecord
End Sub
Private Sub MSComm1_OnComm() '串口中斷
'On Error Resume Next
Static bFlag As Boolean
Static Xbyte As Long
Select Case MSComm1.CommEvent '選擇事件
Case comEvReceive '接收到字符
Dim I As Integer
Dim InByte() As Byte '定義一個二進(jìn)制指針放接收到的數(shù)據(jù)
InByte = MSComm1.Input '數(shù)據(jù)轉(zhuǎn)移到指針
Dim j As Long
For j = 0 To UBound(InByte) '循環(huán)到指針上標(biāo)
inData = inData & Chr(InByte(j)) '取出一個字節(jié)換為16進(jìn)制顯示用
Next j
DoEvents
Text1.SelText = inData '將剛收到的字符串顯示出來
inData = ""
Text1.SelStart = Len(Text1.Text) '光標(biāo)置后
If Len(Text1.Text) = 10 Then
Call 計算
'Call 找卡號
End If
Case comEventRxOver '接收緩沖區(qū)滿的處理
MsgBox "接收緩沖區(qū)滿了!" '發(fā)出警告
End Select
End Sub
Sub 計算()
Dim temp As String
Dim 標(biāo)志 As String
Dim k As Integer
Dim yuer1 As String
Dim 余額 As Integer
temp = Text1.Text
標(biāo)志 = Left(temp, 1)
temp = Right(temp, Len(temp) - 2)
Select Case 標(biāo)志
Case "s"
Text1.Text = Left(temp, 4)
Case "r"
Text1.Text = ""
MsgBox "寫卡成功!!!!!"
GoTo 計算end
Case Else
Text1.Text = ""
MsgBox "通訊有誤??????"
GoTo 計算end
End Select
temp = Right(temp, 4)
Text9.Text = Left(temp, 2) & "小時" & Right(temp, 2) & "分鐘"
Text4.Text = Format(CStr((CSng(Left(temp, 2) * 60 + CSng(Right(temp, 2)))) / 100), "#00.00")
計算end:
End Sub
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
作者:
zqy181818
時間:
2017-10-8 22:25
請教一下用什么單片機好。
作者:
todaljy
時間:
2017-11-17 13:37
真是不錯
作者:
todaljy
時間:
2017-11-17 13:37
刷卡器和單片機連接,然后單片機再和VB通過串口連接嗎?
作者:
roger615
時間:
2017-11-25 16:20
正在學(xué)習(xí)IC卡的單片機和上位機通信,多謝分享。
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精品一区二区在线播放
|
久久久久久久97
|
免费av网站在线观看
|
狠狠躁日日躁夜夜躁2022麻豆
|
一级特黄色片
|
久久久久久中文字幕
|
国产麻豆视频
|
国 产 黄 色 大 片
|
天天干狠狠操
|
操小妹影院
|
韩日视频
|
日韩精品成人免费观看视频
|
中文字幕二区
|
国产一区二区三区免费
|
91av免费在线观看
|
四虎wz
|
中文字幕综合网
|
激情丁香
|
日韩精品一区二区三区中文在线
|
欧美理论在线观看
|
在线观看小视频
|
激情视频网址
|
少妇一级淫片免费观看
|
日韩毛片在线
|
久草视频在线播放
|
麻豆一区二区
|
国产免费一区二区
|
福利视频导航大全
|
亚洲男人在线
|
国产午夜免费视频
|
国产aⅴ爽av久久久久成人
|
伊人久久网站
|
一区二区三区四区av
|
黄色av免费看
|
91久久久久久久久
|
国产1级片
|
欧美午夜片
|
涩涩久久
|
国产999视频
|
亚洲综合区
|
日本一级大毛片a一
|