久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: VB串口和單片機讀IC卡上位機源程序 [打印本頁]

作者: qyh123456    時間: 2017-10-8 11:33
標(biāo)題: VB串口和單片機讀IC卡上位機源程序
VB寫的串口和單片機讀卡程序 有需要的下


所有資料51hei提供下載:
自己寫的通過串口和單片機通訊的ic卡讀卡程序.rar (55.17 KB, 下載次數(shù): 73)


vb源程序如下:
  1. Attribute VB_Name = "IC卡管理自動記錄系統(tǒng)"
  2. Attribute VB_GlobalNameSpace = False
  3. Attribute VB_Creatable = False
  4. Attribute VB_PredeclaredId = True
  5. Attribute VB_Exposed = False
  6. Option Explicit
  7. Public inData As String '串口中斷時讀入的字符串
  8. Dim TEXT_OK As Boolean
  9. Dim text1_temp As String
  10. Dim t7 As String



  11. Private Sub Command2_Click()
  12. data1.Recordset.MovePrevious
  13. If data1.Recordset.BOF Then data1.Recordset.MoveFirst
  14. Text1.Text = data1.Recordset("卡號")
  15. Text2.Text = data1.Recordset("姓名")
  16. Text3.Text = data1.Recordset("班級")
  17. Text4.Text = data1.Recordset("余額")
  18. Text5.Text = data1.Recordset("日期")
  19. Text6.Text = data1.Recordset("時間")

  20. Text9.Text = Format(CStr(CStr((CSng(Text4.Text) * 100) \ 60)), "#00") & "小時" & Format(CStr(CStr((CSng(Text4.Text) * 100) Mod 60)), "#00") & " 分鐘"
  21. data1.UpdateRecord
  22. End Sub

  23. Private Sub Command3_Click()

  24. If data1.Recordset.EOF = False Then data1.Recordset.MoveNext
  25. If data1.Recordset.EOF Then data1.Recordset.MoveLast
  26. Text1.Text = data1.Recordset("卡號")
  27. Text2.Text = data1.Recordset("姓名")
  28. Text3.Text = data1.Recordset("班級")
  29. Text4.Text = data1.Recordset("余額")
  30. Text5.Text = data1.Recordset("日期")
  31. Text6.Text = data1.Recordset("時間")
  32. data1.UpdateRecord

  33. Text9.Text = Format(CStr(CStr((CSng(Text4.Text) * 100) \ 60)), "#00") & "小時" & Format(CStr(CStr((CSng(Text4.Text) * 100) Mod 60)), "#00") & " 分鐘"
  34. End Sub

  35. Sub 找卡號()
  36. Dim n, m As Integer
  37. data1.Refresh
  38. data1.Recordset.MoveLast
  39. m = data1.Recordset.RecordCount
  40. data1.Refresh
  41. data1.Recordset.MoveFirst

  42. For n = 1 To m Step 1
  43.     If Text1.Text = data1.Recordset("卡號") Then
  44.         Text1.Text = data1.Recordset("卡號")
  45.         'Text2.Text = data1.Recordset("姓名")
  46.         'Text3.Text = data1.Recordset("班級")
  47.     End If
  48.     data1.Recordset.MoveNext
  49. Next n
  50. End Sub




  51. Private Sub Command6_Click()
  52. Timer2.Enabled = True
  53. Command9.Enabled = True
  54. Command6.Enabled = False
  55. End Sub

  56. Private Sub Command7_Click()

  57. Text1.Text = ""

  58. Text2.Text = ""
  59. Text3.Text = ""
  60. Text4.Text = ""
  61. MSComm1.Output = "rr12345678" '把查詢命令發(fā)出到串口
  62. End Sub
  63. Private Sub Command8_Click()
  64. Dim NUM, n, m As Integer

  65. Call CACK_TEXT
  66. If TEXT_OK = True Then
  67.     NUM = Val(Text4.Text)
  68.     n = NUM \ 256
  69.     m = NUM - n * 256
  70.     'Call 寫入單片機
  71.    
  72.     Call 寫入數(shù)據(jù)庫
  73.     text1_temp = Text1.Text
  74.     Text1.Text = ""
  75. Else
  76.     n = MsgBox("請正確輸入", 5 + vbExclamation, "錯誤")
  77. End If

  78. End Sub
  79. Sub 寫入單片機()
  80. Dim adsafdds As String
  81. Dim yuer1, yuer2 As String
  82. yuer1 = Format(CStr(CStr((CSng(Text4.Text) * 100) \ 60)), "#00")
  83. yuer2 = Format(CStr(CStr((CSng(Text4.Text) * 100) Mod 60)), "#00")

  84. adsafdds = "ss" & Text1.Text & yuer1 & yuer2
  85. MSComm1.Output = adsafdds

  86. End Sub

  87. Private Sub Command9_Click()
  88. Timer2.Enabled = False
  89. Command6.Enabled = True
  90. Command9.Enabled = False
  91. End Sub

  92. Private Sub Form_Load()
  93. MSComm1.PortOpen = True
  94. MSComm1.RThreshold = 1
  95. Command8.Enabled = False
  96. Command6.Enabled = True
  97. Command9.Enabled = False
  98. End Sub
  99. Sub CACK_TEXT()
  100. TEXT_OK = False
  101. If (Len(Text1.Text) = 4 And Len(Text4.Text) < 6) Then TEXT_OK = True
  102. End Sub
  103. Sub 寫入數(shù)據(jù)庫()
  104. data1.Refresh
  105. data1.Recordset.MoveLast
  106. data1.Recordset.AddNew
  107. data1.Recordset("卡號") = Text1.Text
  108. 'data1.Recordset("姓名") = Text2.Text
  109. 'data1.Recordset("班級") = Text3.Text
  110. data1.Recordset("余額") = Text4.Text
  111. data1.Recordset("日期") = Date
  112. data1.Recordset("時間") = Time()
  113. data1.UpdateRecord

  114. End Sub


  115. Private Sub MSComm1_OnComm() '串口中斷
  116. 'On Error Resume Next
  117. Static bFlag As Boolean
  118. Static Xbyte As Long
  119. Select Case MSComm1.CommEvent '選擇事件
  120. Case comEvReceive '接收到字符
  121. Dim I As Integer
  122.         Dim InByte() As Byte '定義一個二進(jìn)制指針放接收到的數(shù)據(jù)
  123.         InByte = MSComm1.Input '數(shù)據(jù)轉(zhuǎn)移到指針
  124.         Dim j As Long
  125.         For j = 0 To UBound(InByte) '循環(huán)到指針上標(biāo)
  126.             
  127.             inData = inData & Chr(InByte(j)) '取出一個字節(jié)換為16進(jìn)制顯示用
  128.          
  129.         Next j
  130. DoEvents
  131.     Text1.SelText = inData '將剛收到的字符串顯示出來
  132.     inData = ""
  133. Text1.SelStart = Len(Text1.Text) '光標(biāo)置后
  134.   If Len(Text1.Text) = 10 Then
  135.     Call 計算
  136.     'Call 找卡號
  137.   End If
  138. Case comEventRxOver '接收緩沖區(qū)滿的處理
  139. MsgBox "接收緩沖區(qū)滿了!" '發(fā)出警告
  140. End Select

  141. End Sub

  142. Sub 計算()
  143. Dim temp As String
  144. Dim 標(biāo)志 As String
  145. Dim k As Integer
  146. Dim yuer1   As String
  147. Dim 余額    As Integer
  148. temp = Text1.Text

  149. 標(biāo)志 = Left(temp, 1)
  150. temp = Right(temp, Len(temp) - 2)
  151. Select Case 標(biāo)志
  152.     Case "s"
  153.         Text1.Text = Left(temp, 4)
  154.         
  155.     Case "r"
  156.         Text1.Text = ""
  157.         MsgBox "寫卡成功!!!!!"

  158.         GoTo 計算end
  159.     Case Else
  160.         Text1.Text = ""
  161.         MsgBox "通訊有誤??????"
  162.         GoTo 計算end
  163. End Select
  164.     temp = Right(temp, 4)
  165.     Text9.Text = Left(temp, 2) & "小時" & Right(temp, 2) & "分鐘"
  166.     Text4.Text = Format(CStr((CSng(Left(temp, 2) * 60 + CSng(Right(temp, 2)))) / 100), "#00.00")
  167. 計算end:
  168.    
  169. End Sub


  170. ……………………

  171. …………限于本文篇幅 余下代碼請從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一 |