基于51單片機的高精度稱(chēng)重系統的研制
本系統采用MSComm控件實(shí)現VB與單片機之間的數據交換,具有程序實(shí)現簡(jiǎn)便,程序模塊化,工作可靠等優(yōu)點(diǎn),并能滿(mǎn)足多數情況下的工控要求。使用MSComm控件主要是通過(guò)事件來(lái)處理串行口的交互??丶腛nComm事件負責捕獲或處理這些通訊事件和通訊錯誤。
2.2.1 MSCOMM屬性設置
MSComml.CommPort=1 '設置端口1
MSComml.Settings="2400,N,8,1" '2400 b/s,無(wú)校驗,8位數據位,1位停止位
MSComml.InputLen=1 '一次從緩沖區中接收一個(gè)字節
MSComml.InBufferSize=1024 '接口收緩沖區大小
MSComml.PortOpen=Ture '打開(kāi)端口
MSComml.Rthreshold=1 '接收一個(gè)字節觸發(fā)一次ONCOMM事件
2.2.2 ONCOMM事件響應程序
Private Sub MSComml_OnComm()
Dim buffer As Variant '由緩沖區接收到的數據用Variant格式接收
Dim arr()As Byte '定義二進(jìn)制數組
Dim i As Integer
Dim receivester As string '定義輸出到接收文本框中的字符變量
'下段程序是comEvReceive事件觸發(fā)后,將數據存入相應的數組,并在接收文本框中顯示
Select Case MSComml.CommEvent CasecomEvReceive buffer=MSComml.Inpute
arr=buffer接收緩沖區內數據variant變量?jì)?BR> arr=buffer '轉換為二進(jìn)制數并送入相應數組
For i=1to8
receivester arr(i)
Text1.Text=Text1.Text&receiverstr&"."
'在接收框中顯示文本
Next i
End Select
End Sub
3 結束語(yǔ)
本重量測量系統,充分發(fā)揮了AT89S52單片機強大的控制能力和計算機的數據處理能力,通過(guò)稱(chēng)重傳感器和24位分辨率的A/D轉換器實(shí)現了對重量的高精度測量。系統在電子秤的實(shí)際應用中收到了滿(mǎn)意的效果。
51單片機相關(guān)文章:51單片機教程
稱(chēng)重傳感器相關(guān)文章:稱(chēng)重傳感器原理
評論