基于VB的霍爾傳感器性能測(cè)試系統(tǒng)設(shè)計(jì)
2.3 VB通訊控件的程序設(shè)計(jì)
Private Sub Form_Lopad() ;串行口初始化程序
Comm1.CommPort=1 ;設(shè)置串行口1
Comm1.Settings=”9600,n,8,1” ;設(shè)置波特率、奇偶校驗(yàn)、數(shù)據(jù)位和停止位
Comm1.InputLen=0 ;讀接收緩沖區(qū)的數(shù)據(jù)
Comm1.InBufferSize=255 ;設(shè)置接收緩沖區(qū)的大小
Comm1.OutBufferSize=255 ;設(shè)置發(fā)送緩沖區(qū)的大小
Comm1.PortOpen=True ;打開串行口1
Comm1.Sthreshold=1 ;緩沖區(qū)空觸發(fā)
Comm1.Rthreshold=1 ;數(shù)據(jù)進(jìn)入接收緩沖區(qū)觸發(fā)接收事件
End Sub ;程序結(jié)束
以上是VB的串行口的初始化程序,還有數(shù)據(jù)發(fā)送和接收程序,數(shù)據(jù)發(fā)送程序是計(jì)算機(jī)向單片機(jī)發(fā)送控制命令和數(shù)據(jù),接收程序是接收單片機(jī)檢測(cè)的數(shù)據(jù)。
2.4 單片機(jī)串行通訊程序設(shè)計(jì)
單片機(jī)與計(jì)算機(jī)進(jìn)行串行通訊,需要對(duì)AT89C52的串行口控制器SCON設(shè)置,使SCON=50H,工作在串行方式1的10位異步通訊方式,使AT89C52的中斷允許寄存器IE的中斷位EA=1,允許串行口中斷。串行口的初始化程序如下:
CXK: MOV TH1,#0FDH ;設(shè)置波特率
MOV TL1,#00H ;
MOV TMOD,#20H ;設(shè)置定時(shí)器2的工作方式為2
MOV TCON,#40H ;定時(shí)器啟動(dòng)
SETB ES ;串行口允許中斷
MOV SCON,#50H ;設(shè)置串行口工作方式為1
RET
3.需要注意的幾個(gè)方面
3.1磁場(chǎng)強(qiáng)度的產(chǎn)生與調(diào)節(jié)
在圖2中,電源E應(yīng)該保持穩(wěn)定,調(diào)節(jié)磁場(chǎng)強(qiáng)度的電位器采用數(shù)字式電位器,可以精確地調(diào)節(jié)場(chǎng)強(qiáng)。在使用前,用高一級(jí)精度的場(chǎng)強(qiáng)儀來測(cè)量數(shù)字電位器不同阻值下的磁場(chǎng)強(qiáng)度,把二者相對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)在計(jì)算機(jī)中,作為調(diào)節(jié)磁場(chǎng)強(qiáng)度的依據(jù)。
3.2溫度的測(cè)量與控制
用熱敏電阻作為溫度傳感器,熱敏電阻的靈敏度高,熱慣性小,可以快速正確地測(cè)量到溫度值。電加熱器使用電阻絲通220V交流電供熱,為了減少加熱器的熱慣性和便于溫度控制,將電阻絲繞在一個(gè)平面上,并用一個(gè)小風(fēng)扇,使測(cè)試系統(tǒng)中的溫度分布均勻和使霍爾傳感器的溫度比較快地達(dá)到穩(wěn)定狀態(tài),采用單回路閉環(huán)控制系統(tǒng)。由于霍爾電勢(shì)溫度系數(shù)α是指溫度變化1℃時(shí)的變化情況,所以系統(tǒng)溫度的測(cè)量和控制有比較高的要求。
4.結(jié)束語
在霍爾傳感器性能測(cè)試系統(tǒng)的設(shè)計(jì)中,充分發(fā)揮了單片機(jī)和計(jì)算機(jī)的作用,充分發(fā)揮了VB的圖形功能,使測(cè)試系統(tǒng)具有相當(dāng)友好的用戶界面。
評(píng)論