摘 要:針對普通轉(zhuǎn)速表存在體積大、精度低等問題。給出以單片機(jī)為核心的紅外轉(zhuǎn)速表的組成系統(tǒng)結(jié)構(gòu)及設(shè)計(jì)方法。論述信號(hào)檢測、數(shù)據(jù)保護(hù)、時(shí)間讀取、參數(shù)選擇和以PIC16F873單片機(jī)為核心實(shí)現(xiàn)轉(zhuǎn)速、日歷時(shí)鐘等電路的組成原理及程序設(shè)計(jì)分析。該系統(tǒng)可通過功能擴(kuò)展廣泛應(yīng)用到其他領(lǐng)域。
關(guān)鍵詞:PIC16F873;轉(zhuǎn)速表;日歷時(shí)鐘;程序設(shè)計(jì)
中圖分類號(hào):TP368.1;TP274 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1004373X(2008)1617703
Design of Infrared and Digital Tachometer Based on PIC16F873
ZUO Cuihong
(Weihai Vocational College,Weihai,264210,China)
Abstract:In view of the shortcomings of big volume,bad accuracy and so forth of common tachometer,a systematic structure and designing method for infrared and digital tachometer centering on single chip computer are presented.Signal detection,protection of data,time controlling and the choice of parameters are discussed.On the basis of PIC16F873,circuit principle for rotational speed and calendar clocks can be realized.By functional enlargement,this system can also be used in other fields.
Keywords:PIC16F873;tachometer;calendar clock;program design
關(guān)于里轉(zhuǎn)速表的設(shè)計(jì)已經(jīng)有很多可供參考,但大部分都是由機(jī)械式或模擬數(shù)字電路來實(shí)現(xiàn)的,存在著體積大、精度低、不直觀、功耗大、功能少等缺點(diǎn)。 由于單片機(jī)具有體積小、控制功能強(qiáng)等特點(diǎn),故它在控制方面得到了廣泛的應(yīng)用。本紅外數(shù)字轉(zhuǎn)速控制系統(tǒng)就以PIC16F873單片機(jī)為核心來實(shí)現(xiàn),由于利用了單片機(jī)內(nèi)部的E.2PROM,使系統(tǒng)電路簡單可靠,而且該系統(tǒng)還具有功能多、功耗小、直觀準(zhǔn)確、可顯示時(shí)間、轉(zhuǎn)速等優(yōu)點(diǎn)。
該轉(zhuǎn)速控制系統(tǒng)包括:信號(hào)檢測、數(shù)據(jù)處理、輸出顯示和其他4部分。 這4部分通過對單片機(jī)各功能引腳編程協(xié)調(diào)工作。其完成對信號(hào)的輸入、處理、輸出及保護(hù),最終實(shí)現(xiàn)對轉(zhuǎn)速的檢測控制。
1 硬件系統(tǒng)的設(shè)計(jì)
1.1 PIC16F873 簡介
美國Microchip Technology公司推出的PIC16F87X中檔系列單片機(jī)。該單片機(jī)內(nèi)含有A/D,PWM,E.2PROM等豐富的接口模塊和FLASH程序存儲(chǔ)器。由于采用在線串行編程、低壓編程技術(shù)。其內(nèi)部自帶電荷泵升壓電路。因而實(shí)現(xiàn)讀寫操作時(shí)不需外加高電壓;同時(shí)PIC16F873具有IAP功能。可實(shí)現(xiàn)在應(yīng)用中編程。PIC16F87X還可以方便地在線多次編程調(diào)試。特別適用于在產(chǎn)品的開發(fā)階段使用。具有實(shí)用、低價(jià)、周期短、指令集小、低功耗、高速度、功能強(qiáng)和簡單易學(xué)等特點(diǎn)。
該系統(tǒng)以PIC16F873單片機(jī)為核心。與其他的檢測和控制元件等相結(jié)合來達(dá)到目的。單片機(jī)采用PIC16F873芯片。將檢測到的脈沖信號(hào)經(jīng)過一定的處理送到CPU中,然后使用適當(dāng)?shù)乃惴▽π盘?hào)脈沖進(jìn)行數(shù)據(jù)處理。再經(jīng)過轉(zhuǎn)化之后送至輸出部分。達(dá)到顯示的目的。為節(jié)省能源該系統(tǒng)應(yīng)在低功耗條件下工作,所以對單片機(jī)采用了凍結(jié)運(yùn)行方式。該方式的具體運(yùn)行情況是:當(dāng)有轉(zhuǎn)動(dòng)脈沖信號(hào)或按鍵輸入時(shí)就以中斷的形式喚醒CPU工作,平時(shí)沒有脈沖信號(hào)或按鍵中斷。CPU則處于凍結(jié)方式。因此大大降低了系統(tǒng)的功耗。其具體結(jié)構(gòu)見圖1。
1.2 系統(tǒng)信號(hào)檢測
轉(zhuǎn)速系統(tǒng)的信號(hào)檢測有很多種方法。每一種都有它自己的特點(diǎn)。紅外數(shù)字轉(zhuǎn)速表采用的紅外線探頭有直射式和反射式2種。直射式探頭、發(fā)光管和受光管在被測物的兩邊,發(fā)光發(fā)出的光線直接照射到受光管上,當(dāng)被測物運(yùn)動(dòng)時(shí),阻擋光線,產(chǎn)生計(jì)數(shù)信號(hào),這種探頭經(jīng)常用作光電計(jì)數(shù)器。反射探頭、發(fā)光管和受光管在被測物的同側(cè),當(dāng)探頭接近物體時(shí),接收到紅外光的脈沖信號(hào),用它測轉(zhuǎn)速比較方便。
測量轉(zhuǎn)速的探頭根據(jù)測量距離可以采用透鏡系統(tǒng),也可以不采用透鏡系統(tǒng)。當(dāng)被測物體距探頭15 cm以內(nèi),無需采用透鏡。在設(shè)計(jì)探頭時(shí),可以采用小功率發(fā)光管5GL和光敏受光管3DU5C。不加透鏡接收反射光的探頭組裝時(shí)2管并列放置,2個(gè)管子的中心夾角很小,使他們在100~150 mm處相交。這種探頭靠近物體上漫反射的光線工作,對全黑物體的接收靈敏度很低,對白色物體和鏡面反射物體接收最靈敏,還能接收到其他顏色的發(fā)射光,但相應(yīng)的探頭距離要近些。
測量轉(zhuǎn)速的探頭經(jīng)常采用透鏡系統(tǒng)。根據(jù)光學(xué)的折射反射原理發(fā)射管和接收管都固定在探測架上,通過透鏡聚焦。在探測架中間用半透膜使發(fā)射的紅外線向轉(zhuǎn)動(dòng)物體折射,而且又能使從轉(zhuǎn)動(dòng)物體反射回來的紅外線通過半透膜射向接收管,半透膜上最好涂一層只能透過膜個(gè)單色波長的物質(zhì),或用單色性很好的濾色玻璃片制作。使它只能通過固定波長的紅外線(例如0.93 μm),這樣對抗散射光的干擾更有利。
為了提高紅外線的反射能力,通常在轉(zhuǎn)動(dòng)物體上貼上一小片紅外線反射紙,這樣發(fā)射效果極好。有時(shí)用鏡面、鋁箔、潔白平面的紙、白油漆等也能提高反射性能。當(dāng)轉(zhuǎn)動(dòng)物體轉(zhuǎn)到使反射紙恰好對著從發(fā)光管發(fā)出的紅外線時(shí),接收管接收到光信號(hào),從單位時(shí)間內(nèi)收到的光信號(hào)的次數(shù)便可測出轉(zhuǎn)速。
在測量遠(yuǎn)距離轉(zhuǎn)動(dòng)物體時(shí),可用中功率或大功率發(fā)光二極管(HL系列發(fā)光二極管),還可以采用砷化鎵單異質(zhì)結(jié)激光二極管(如2EJD系列),這種管子的峰值波長為0.930 μm,輸出功率為2~10 W,額定工作電流為15~45 A,發(fā)射距離超過十幾米。相應(yīng)的接收管仍可采用硅光三極管3DU5C。
在此,接收管檢測到的轉(zhuǎn)速信號(hào)經(jīng)過整形后再輸入單片機(jī)的RB4。
1.3 輸出顯示
該系統(tǒng)采用16位雙行LCD液晶顯示器。同時(shí)顯示轉(zhuǎn)速、日歷時(shí)鐘,并對顯示器進(jìn)行電源供電控制以達(dá)到節(jié)能的目的。
1.4 掉電數(shù)據(jù)保護(hù)
考慮到系統(tǒng)如果掉電數(shù)據(jù)將丟失,為了使CPU 中所產(chǎn)生的數(shù)據(jù)能夠在系統(tǒng)上電復(fù)位時(shí)能繼續(xù)使用,需對該數(shù)據(jù)進(jìn)行保存。PIC16F873單片機(jī)內(nèi)部的E.2PROM,其擦寫周期壽命一般都能達(dá)到10萬次以上。
掉電、程序保護(hù)采用PIC16F873單片機(jī)內(nèi)部的看門狗。用其來檢測系統(tǒng)是否有掉電或供電電源電壓是否達(dá)到標(biāo)準(zhǔn)值。以達(dá)到保護(hù)的目的。
1.5 時(shí)間的讀取
當(dāng)CPU將系統(tǒng)檢測到的脈沖信號(hào)進(jìn)行計(jì)算時(shí),需要用到時(shí)間變量來求轉(zhuǎn)速等值。這里采用內(nèi)部具有秒、分、時(shí)、星期、日、月、年的美國Dallas 半導(dǎo)體公司生產(chǎn)的DS1302 日歷時(shí)鐘芯片完成。 它經(jīng)過一個(gè)簡單的串行接口與微處理器通信。 實(shí)時(shí)時(shí)鐘/ 日歷提供秒、分、時(shí)、日、周、月和年等信息。 對于小于31天的月,月末的日期自動(dòng)進(jìn)行調(diào)整,還包括了閏年校正的功能。 時(shí)鐘的運(yùn)行可以采用24 h 或帶AM(上午) / PM(下午) 的12 h 格式。 使用串行通信,僅需3根線:RST(復(fù)位);I/O(數(shù)據(jù)線);SCL K(串行時(shí)鐘)。簡化了與微處理器的通信,數(shù)據(jù)可以以每次1個(gè)字節(jié)或多達(dá)31 字節(jié)的多字節(jié)的形式傳送至?xí)r鐘RAM 或從其中送出。
程序可以對DS1302 進(jìn)行初始化設(shè)置。并可控制時(shí)鐘的起動(dòng)/ 停止。 在芯片上電時(shí),RST必須是低電平,當(dāng)有VCC電源供電時(shí),可以對電池充電。可選擇1~4個(gè)二極管,1~8 kΩ 的充電電阻,以控制充電的強(qiáng)弱。DS1302芯片原理如圖2所示。
通過把RST驅(qū)動(dòng)至高電平來啟動(dòng)所有的數(shù)據(jù)傳送,RST輸入有兩種功能。首先,RST接通控制邏輯。允許地址/ 命令序列送入移位寄存器。其次,RST提供了中止單字節(jié)或多字節(jié)數(shù)據(jù)傳送的手段。
2 軟件系統(tǒng)的設(shè)計(jì)
由于該系統(tǒng)主要用電池供電,考慮到經(jīng)濟(jì)上的可行性,必須盡可能降低電路功耗,故把光電信號(hào)的輸入方式設(shè)成外部中斷1輸入,并且在軟件上將該系統(tǒng)設(shè)置成凍結(jié)方式。這時(shí)到CPU 內(nèi)部去的時(shí)鐘信號(hào)被門控電路所封鎖,CPU進(jìn)入凍結(jié)狀態(tài)。但內(nèi)部時(shí)鐘信號(hào)仍繼續(xù)供給中斷系統(tǒng)。定時(shí)器和串行口、CPU狀態(tài)被完整保存。如程序狀態(tài)字( PSW) 、累加器(A)及所有其他寄存器均保留凍結(jié)前的狀態(tài),各端口引腳也仍保持凍結(jié)前的邏輯狀態(tài)。當(dāng)外部中斷到來時(shí)。引起硬件對PCON位清“0”,從而結(jié)束凍結(jié)運(yùn)行方式。
系統(tǒng)軟件采用模塊化結(jié)構(gòu)設(shè)計(jì),以PICC語言為編程工具,注意有效地利用單片機(jī)硬件資源。由于采用模塊化技術(shù),使系統(tǒng)程序更加簡潔,占用內(nèi)存容量少。主程序工作流程見圖3。
為了實(shí)現(xiàn)系統(tǒng)功能,每次上電后首先對顯示器、DS1302及中斷口和定時(shí)器初始化,然后顯示日歷時(shí)鐘。當(dāng)有鍵按下時(shí)CPU 進(jìn)行鍵盤中斷處理,依功能鍵分類判斷是否修改時(shí)鐘,并進(jìn)行相應(yīng)的功能處理;當(dāng)有轉(zhuǎn)速信號(hào)進(jìn)入時(shí)CPU 也將進(jìn)行相應(yīng)的中斷處理,否則系統(tǒng)經(jīng)過所設(shè)定的ns后自動(dòng)進(jìn)入凍結(jié)狀態(tài)。下面給出中斷處理程序流程圖(見圖4)。
3 結(jié) 語
本設(shè)計(jì)給出了單片機(jī)控制的紅外數(shù)字轉(zhuǎn)速表的設(shè)計(jì)方法、原理、信號(hào)檢測、數(shù)據(jù)保護(hù)及時(shí)間讀取等問題。該系統(tǒng)可應(yīng)用在自行車、摩托車汽車以及電機(jī)上等需要轉(zhuǎn)速測量的場合,并可通過功能擴(kuò)展廣泛應(yīng)用到其他領(lǐng)域。
參 考 文 獻(xiàn)
[1]樊尚春.傳感器技術(shù)及其應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2004.
[2]單成祥.傳感器的理論與設(shè)計(jì)基礎(chǔ)及其應(yīng)用[M].北京:國防工業(yè)出版社,1999.
[3]吳興惠,王彩君.傳感器與信號(hào)處理[M].北京:電子工業(yè)出版社,1998.
[4]雷思孝,李伯成,雷向莉.單片機(jī)原理及實(shí)用技術(shù)(凌陽16位單片機(jī)原理及應(yīng)用)[M].西安:西安電子科技大學(xué)出版社,2004.
[5]羅亞非.凌陽十六位單片機(jī)應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2003.
[6]何立民.單片機(jī)應(yīng)用技術(shù)選編[M].北京:北京航空航天大學(xué)出版社,1998.
[7]王福瑞.單片微機(jī)測控系統(tǒng)設(shè)計(jì)大全[M].北京:北京航空航天大學(xué)出版社,1999.
[8]胡漢才.單片機(jī)原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,1996.
[9]何信龍,李雪銀.PIC16F87X 快速上手[M].北京:清華大學(xué)出版社,2002.
[10]李學(xué)海.PIC單片機(jī)實(shí)用教程\\.北京:北京航空航天大學(xué)出版社,2002.
作者簡介 左翠紅 女,1966年出生,副教授/高級(jí)工程師。主要研究方向?yàn)殡娮訉W(xué)與信息系統(tǒng)。