用容柵作為傳感器的數(shù)顯量具,它的數(shù)據(jù)處理部分是一個(gè)模塊,模塊上設(shè)置了一個(gè)串行接口,用此接口和單片機(jī)連接可以對(duì)其功能進(jìn)行擴(kuò)展,如增加某些控制功能,或用此模塊開(kāi)發(fā)自己的長(zhǎng)度測(cè)量或控制儀器。本文以BJ200卡尺模塊為例給出它與51單片機(jī)的接口電路和接口程序。引腳: 圖1 、數(shù)顯模塊引腳圖圖1示出了接口的相對(duì)位置,1為負(fù)1.5V;2為數(shù)據(jù)信號(hào);3為同步信號(hào);4為0V,即接地端。如果不使用電池,而采用穩(wěn)壓電源,可將電源電壓提高為1.8~2.0V,以提高其抗干擾能力。數(shù)據(jù)格式: 串行口的數(shù)據(jù)是二進(jìn)制碼,約0.2秒輸出一次,每次輸出兩組數(shù)據(jù),第一組為絕對(duì)相移,不受人工控制,對(duì)測(cè)量沒(méi)有意義,第二組為相對(duì)相移,是相對(duì)于零位置的相移,即是我們所要采集的數(shù)據(jù)。一組數(shù)據(jù)24位,低位在前,高位在后,最后一位是符號(hào)位。最后一位為“1”表示數(shù)據(jù)為負(fù)數(shù),以補(bǔ)碼輸出,為“0”表示數(shù)據(jù)為正數(shù),以原碼輸出。若用D作為此數(shù)據(jù)的十進(jìn)制表示,則最終測(cè)得的位移量“l(fā)”可表示如下:
與8051接口: 信號(hào)電平轉(zhuǎn)換電路: 電路見(jiàn)圖2。由于模塊使用負(fù)2V電源,所以它的輸出信號(hào)需經(jīng)過(guò)轉(zhuǎn)換才能和8051相容。R2、Q2、U1D和U1E對(duì)數(shù)據(jù)信號(hào)進(jìn)行變換,輸出用DATA表示;R1、Q1和U1A對(duì)同步信號(hào)進(jìn)行變換,輸出用CLK表示;CLK后面的電路用來(lái)給單片機(jī)提供一個(gè)中斷信號(hào),信號(hào)未傳送時(shí),INT信號(hào)為低電平,信號(hào)傳送期間,由于R3、C1積分電路的作用,INT保持高電平,信號(hào)傳送完畢,INT又回到低電平,單片機(jī)設(shè)為脈沖中斷方式,檢測(cè)到這個(gè)脈沖下降沿即轉(zhuǎn)入中斷服務(wù)程序,從串行口讀入數(shù)據(jù)。與8051接口電路: 電路見(jiàn)圖3,其中DATA、CLK、INT各端分別和圖2中同名端口相連。MC14053是3刀雙擲模擬開(kāi)關(guān),我們選用其中一組;MC14557是長(zhǎng)達(dá)64位的可變移位寄存器,移位位數(shù)由L1、L2、L4、L8、L16、L32的接法決定,在此接成24位((16 4 2 1) 1=24),其輸出端接到8051的串行口。8051復(fù)位后,P1.7置0,MC14557的時(shí)鐘端接至模塊同步信號(hào)CLK。數(shù)據(jù)傳送完畢,INT產(chǎn)生負(fù)跳變,單片機(jī)轉(zhuǎn)入中斷服務(wù)程序,將P1.7置1,MC14557時(shí)鐘端接至8051的串行時(shí)鐘,程序分三次將24位數(shù)據(jù)讀入單片機(jī),數(shù)據(jù)通信任務(wù)完成。此后,即可對(duì)數(shù)據(jù)進(jìn)行各種加工處理,達(dá)到工作要求。編程: 為了和以上電路配合,程序中先將P1.7置0,主程序中開(kāi)放外中斷,中斷方式設(shè)為脈沖方式。8051采用串行通信方式0從MC14557讀取數(shù)據(jù),一次讀取8位,需三次讀完24位。程序中用到R0、R1寄存器,數(shù)據(jù)讀入后按高位在前的順序存入30H、31H、32H單元,即30H的最高位為符號(hào)位?!?------------開(kāi)始----------------CLR P1.7 ;MC14557時(shí)鐘接到模塊同步信號(hào)MOV IE, #81H ;開(kāi)放外中斷0SETB IT0 ;中斷方式置為脈沖方式;以下為數(shù)據(jù)接收子程序: MOV IE, #00H ;禁止中斷MOV SCON,#00H ;串行通信方式0SETB P1.7 ;將MC14557的時(shí)鐘轉(zhuǎn)為CPU控制MOV R0,#32HMOV R1,#03H ;分三次讀取數(shù)據(jù)L0:SETB REN ;開(kāi)始接收數(shù)據(jù)JNB RI,$MOV A,SBUF ;數(shù)據(jù)從緩沖區(qū)移至RAM單元MOV @R0,ACLR RIDEC R0DJNZ R1,L0CLR P1.7 ;MC14557時(shí)鐘轉(zhuǎn)換到CLKRET除了本例所用的串行讀取數(shù)據(jù)方式以外,還可以使用串入并出寄存器將模塊輸出的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),再讀入單片機(jī)。此接口電路已用于筆者設(shè)計(jì)的數(shù)顯測(cè)厚儀,用來(lái)測(cè)量光學(xué)玻璃元件的厚度。在這個(gè)儀器中,筆者利用采集的數(shù)據(jù)添加了公差輸入、絕對(duì)/相對(duì)測(cè)量方式轉(zhuǎn)換、超差報(bào)警等功能,以滿足用戶的要求。
單片機(jī)相關(guān)文章
更多 >>- 納祥科技NX6806 一款國(guó)產(chǎn)替代PCF8591的單片機(jī)拓展
- 基于可見(jiàn)光定位技術(shù)的智能車導(dǎo)航系統(tǒng)設(shè)計(jì)
- Microchip推出PIC18-Q24 系列單片機(jī)
- 一種低功耗電流/頻率轉(zhuǎn)換電路零偏補(bǔ)償方法
- 板卡上電時(shí)序控制系統(tǒng)的設(shè)計(jì)和仿真
- 掃盲:?jiǎn)纹瑱C(jī)的I/O口驅(qū)動(dòng)的作用分析
- 教程:如何用51單片機(jī)實(shí)現(xiàn)交通信號(hào)燈
- 教程:基于51單片機(jī)的矩陣鍵盤設(shè)計(jì)