基于霍爾元件的轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于霍爾元件的轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于霍爾元件的轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于霍爾元件的轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于霍爾元件的轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目錄摘要iabstractii1 緒論11.1 研究目的及意義11.2 轉(zhuǎn)速測(cè)量方法11.3 開發(fā)軟件研究32 系統(tǒng)硬件設(shè)計(jì)62.1 整體框架設(shè)計(jì)62.2 信號(hào)采集系統(tǒng)設(shè)計(jì)62.3 單片機(jī)處理系統(tǒng)設(shè)計(jì)102.4 led顯示143 系統(tǒng)軟件設(shè)計(jì)153.1 主程序設(shè)計(jì)153.2 系統(tǒng)初始化163.3 定時(shí)計(jì)數(shù)子程序183.4 顯示子程序194 系統(tǒng)調(diào)試及分析214.1 硬件調(diào)試214.2 軟件調(diào)試224.3 綜合調(diào)試235 總結(jié)24參考文獻(xiàn)25附錄26致謝27武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文)摘要隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,微型計(jì)算機(jī)的應(yīng)用已經(jīng)滲透到人們生產(chǎn)、生活的各個(gè)領(lǐng)域。單片微型計(jì)算機(jī)作為微型計(jì)算機(jī)的

2、一個(gè)重要分支,以其體積小、可靠性高、靈活方便等特點(diǎn)得到廣泛應(yīng)用。現(xiàn)代控制技術(shù)是以微控制器為核心的技術(shù),由此構(gòu)成的控制系統(tǒng)成為當(dāng)今工業(yè)控制的主流系統(tǒng)。本文是基于霍爾元件的轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì),設(shè)計(jì)中采用霍爾元件作為傳感器,將轉(zhuǎn)速信號(hào)轉(zhuǎn)換為變化的脈沖電信號(hào),完成信號(hào)的采集。然后,經(jīng)過放大和整形電路,將模擬信號(hào)轉(zhuǎn)化為適合單片機(jī)測(cè)量的ttl/cmos兼容數(shù)字信號(hào)。最后,利用單片機(jī)處理,計(jì)算出轉(zhuǎn)動(dòng)的頻率值,并在led顯示器上顯示出來。本次設(shè)計(jì)主要完成了以下工作,對(duì)protues硬件電路設(shè)計(jì)和keil的c語(yǔ)言軟件開發(fā),以及對(duì)霍爾元件的原理研究與應(yīng)用,最終完成整個(gè)系統(tǒng)的設(shè)計(jì)。關(guān)鍵詞:霍爾元件;單片機(jī);轉(zhuǎn)速測(cè)量;

3、信號(hào)處理;ledabstractwith the rapid development of computer technology, micro-computer applications have penetrated into the production and all areas of people's life. single-chip micro-computer as an important branch of micro-computer, with its small size, high reliability, flexibility ,are so widel

4、y used. modern control technology is based on micro-controller core technology, which constitutes the control system into the mainstream of today's industrial control systems. this paper is based on the speed of the hall element measurement system design, design with hall element as sensor and w

5、ill speed signals are converted to change the pulse signal, complete signal collection. then, after amplifier and plastic circuits, analog signal into the single chip microcomputer measure for the ttl/cmos compatible with digital signal. finally, using single chip computer processing, calculated the

6、 rotating frequency value, and in led display displayed.this design has the following main finish work, the protues hardware circuit design and the c language keil software development, as well as to the hall element theory and application, finally completes the whole system design.key words: hall e

7、lement; mcu; speed measurement; signal processing; led281 緒論1.1 研究目的及意義目前國(guó)內(nèi)外測(cè)量電機(jī)轉(zhuǎn)速的方法很多,按照不同的理論方法,先后產(chǎn)生過模擬測(cè)速法(如離心式轉(zhuǎn)速表、用電機(jī)轉(zhuǎn)矩或者電機(jī)電樞電動(dòng)勢(shì)計(jì)算所得)、同步測(cè)速法(如機(jī)械式或閃光式頻閃測(cè)速儀)以及計(jì)數(shù)測(cè)速法。計(jì)數(shù)測(cè)速法又可分為機(jī)械式定時(shí)計(jì)數(shù)法和電子式定時(shí)計(jì)數(shù)法。傳統(tǒng)的電機(jī)轉(zhuǎn)速檢測(cè)多采用測(cè)速發(fā)電機(jī)或光電數(shù)字脈沖編碼器,也有采用電磁式(利用電磁感應(yīng)原理或可變磁阻的霍爾元件等)、電容式(對(duì)高頻振蕩進(jìn)行幅值調(diào)制或頻率調(diào)制)等,還有一些特殊的測(cè)速器是利用置于旋轉(zhuǎn)體內(nèi)的放射性材料來發(fā)生

8、脈沖信號(hào)。使用霍爾傳感器獲得脈沖信號(hào),其機(jī)械結(jié)構(gòu)也可以做得較為簡(jiǎn)單,只要在轉(zhuǎn)軸的圓周上粘上一粒磁鋼,讓霍爾開關(guān)靠近磁鋼,就有信號(hào)輸出,轉(zhuǎn)軸旋轉(zhuǎn)時(shí),就會(huì)不斷地產(chǎn)生脈沖信號(hào)輸出。如果在圓周上粘上多粒磁鋼,可以實(shí)現(xiàn)旋轉(zhuǎn)一周,獲得多個(gè)脈沖輸出。這種傳感器不怕灰塵、油污,在工業(yè)現(xiàn)場(chǎng)應(yīng)用廣泛1。在工程實(shí)踐中,經(jīng)常會(huì)遇到各種需要測(cè)量轉(zhuǎn)速的場(chǎng)合, 例如在發(fā)動(dòng)機(jī)、電動(dòng)機(jī)、卷?yè)P(yáng)機(jī)、機(jī)床主軸等旋轉(zhuǎn)設(shè)備的試驗(yàn)、運(yùn)轉(zhuǎn)和控制中,常需要分時(shí)或連續(xù)測(cè)量和顯示其轉(zhuǎn)速及瞬時(shí)轉(zhuǎn)速。要測(cè)速,首先要解決是采樣問題。測(cè)量轉(zhuǎn)速的方法分為模擬式和數(shù)字式兩種。模擬式采用測(cè)速發(fā)電機(jī)為檢測(cè)元件,得到的信號(hào)是模擬量。早期直流電動(dòng)機(jī)的控制均以模擬電路

9、為基礎(chǔ),采用運(yùn)算放大器,非線性集成電路以及少量的數(shù)字電路組成,控制系統(tǒng)的硬件部分非常復(fù)雜,功能單一,而且系統(tǒng)非常不靈活、調(diào)試?yán)щy。數(shù)字式通常采用光電編碼器、圓光柵、霍爾元件等為檢測(cè)元件,得到的信號(hào)是脈沖信號(hào)。隨著微型計(jì)算機(jī)的廣泛應(yīng)用,單片機(jī)技術(shù)的日新月異,特別是高性能價(jià)格比的單片機(jī)的出現(xiàn),轉(zhuǎn)速測(cè)量普遍采用以單片機(jī)為核心的數(shù)字式測(cè)量方法,使得許多控制功能及算法可以采用軟件技術(shù)來完成,智能化微電腦代替了一般機(jī)械式或模擬式結(jié)構(gòu),并使系統(tǒng)能達(dá)到更高的性能。采用單片機(jī)構(gòu)成控制系統(tǒng),可以節(jié)約人力資源和降低系統(tǒng)成本,從而有效的提高工作效率。在使用模技術(shù)制作測(cè)速表時(shí),常用測(cè)速發(fā)電機(jī)的方法,即將測(cè)速發(fā)電機(jī)的轉(zhuǎn)軸

10、與待測(cè)軸相連,測(cè)速發(fā)電機(jī)的電壓高低反映了轉(zhuǎn)速的高低。為了能精確地測(cè)量轉(zhuǎn)速外,還要保證測(cè)量的實(shí)時(shí)性,要求能測(cè)得瞬時(shí)轉(zhuǎn)速方法。因此轉(zhuǎn)速的測(cè)試具有重要的意義。 這次設(shè)計(jì)內(nèi)容包含知識(shí)全面,對(duì)傳感器測(cè)量發(fā)電機(jī)轉(zhuǎn)速的不同的方法及原理設(shè)計(jì)有較多介紹,在測(cè)量系統(tǒng)中能學(xué)到關(guān)于測(cè)量轉(zhuǎn)速的傳感器采樣問題,單片機(jī)部分的內(nèi)容,顯示部分等各個(gè)模塊的通信和聯(lián)調(diào)。全面了解單片機(jī)和信號(hào)放大的具體內(nèi)容。進(jìn)一步鍛煉我們?cè)谛盘?hào)采集,處理,顯示方面的實(shí)際工作能力。1.2 轉(zhuǎn)速測(cè)量方法轉(zhuǎn)速是指作圓周運(yùn)動(dòng)的物體在單位時(shí)間內(nèi)所轉(zhuǎn)過的圈數(shù),其大小及變化往往意味著機(jī)器設(shè)備運(yùn)轉(zhuǎn)的正常與否,因此,轉(zhuǎn)速測(cè)量一直是工業(yè)領(lǐng)域的一個(gè)重要問題。按照不同的理論

11、方法,先后產(chǎn)生過模擬測(cè)速法(如離心式轉(zhuǎn)速表) 、同步測(cè)速法(如機(jī)械式或閃光式頻閃測(cè)速儀) 以及計(jì)數(shù)測(cè)速法。計(jì)數(shù)測(cè)速法又可分為機(jī)械式定時(shí)計(jì)數(shù)法和電子式定時(shí)計(jì)數(shù)法。本文介紹的采用單片機(jī)和光電傳感器組成的高精度轉(zhuǎn)速測(cè)量系統(tǒng),其轉(zhuǎn)速測(cè)量方法采用的就是電子式定時(shí)計(jì)數(shù)法。對(duì)轉(zhuǎn)速的測(cè)量實(shí)際上是對(duì)轉(zhuǎn)子旋轉(zhuǎn)引起的周期脈沖信號(hào)的頻率進(jìn)行測(cè)量。在頻率的工程測(cè)量中,電子式定時(shí)計(jì)數(shù)測(cè)量頻率的方法一般有三種:測(cè)頻率法:在一定時(shí)間間隔t 內(nèi),計(jì)數(shù)被測(cè)信號(hào)的重復(fù)變化次數(shù)n,則被測(cè)信號(hào)的頻率可表示為: (1)測(cè)周期法:在被測(cè)信號(hào)的一個(gè)周期內(nèi),計(jì)數(shù)時(shí)鐘脈沖數(shù) ,則被測(cè)信號(hào)頻率,其中,為時(shí)鐘脈沖信號(hào)頻率。多周期測(cè)頻法:在被測(cè)信號(hào)個(gè)

12、周期內(nèi),計(jì)數(shù)時(shí)鐘脈沖數(shù),從而得到被測(cè)信號(hào)頻率,則可以表示為,由測(cè)量準(zhǔn)確度確定。電子式定時(shí)計(jì)數(shù)法測(cè)量頻率時(shí),其測(cè)量準(zhǔn)確度主要由兩項(xiàng)誤差來決定:一項(xiàng)是時(shí)基誤差;另一項(xiàng)是量化±1誤差。當(dāng)時(shí)基誤差小于量化±1誤差一個(gè)或兩個(gè)數(shù)量級(jí)時(shí),這時(shí)測(cè)量準(zhǔn)確度主要由量化±1誤差來確定。對(duì)于測(cè)頻率法,測(cè)量相對(duì)誤差為: er1 =測(cè)量誤差值實(shí)際測(cè)量值×100 % =1n×100 % (2)由此可見,被測(cè)信號(hào)頻率越高,n 越大,er1就越小,所以測(cè)頻率法適用于高頻信號(hào)(高轉(zhuǎn)速信號(hào)) 的測(cè)量。對(duì)于測(cè)周期法,測(cè)量相對(duì)誤差為: er2 =測(cè)量誤差值實(shí)際測(cè)量值×100

13、% =1×100 % (3)對(duì)于給定的時(shí)鐘脈沖 , 當(dāng)被測(cè)信號(hào)頻率越低時(shí),越大, er2就越小,所以測(cè)周期法適用于低頻信號(hào)(低轉(zhuǎn)速信號(hào)) 的測(cè)量。對(duì)于多周期測(cè)頻法,測(cè)量相對(duì)誤差為: er3 =測(cè)量誤差值實(shí)際測(cè)量值100%=1×100 % (4)從上式可知,被測(cè)脈沖信號(hào)周期數(shù)越大,就越大,則測(cè)量精度就越高。它適用于高、低頻信號(hào)(高、低轉(zhuǎn)速信號(hào)) 的測(cè)量。但隨著精度和頻率的提高,采樣周期將大大延長(zhǎng),并且判斷也要延長(zhǎng)采樣周期,不適合實(shí)時(shí)測(cè)量。根據(jù)以上的討論,考慮到實(shí)際應(yīng)用中需要測(cè)量的轉(zhuǎn)速范圍很寬,上述的轉(zhuǎn)速測(cè)量方法難以滿足要求,因此,研究高精度的轉(zhuǎn)速測(cè)量方法,以同時(shí)適用于高、低轉(zhuǎn)

14、速信號(hào)的測(cè)量,不僅具有重要的理論意義,也是實(shí)際生產(chǎn)中的需要。一般的轉(zhuǎn)速長(zhǎng)期測(cè)量系統(tǒng)是預(yù)先在軸上安裝一個(gè)有60 齒的測(cè)速齒盤,用變磁阻式或電渦流式傳感器獲得一轉(zhuǎn)60 倍轉(zhuǎn)速脈沖,再用測(cè)頻的辦法實(shí)現(xiàn)轉(zhuǎn)速測(cè)量。而臨時(shí)性轉(zhuǎn)速測(cè)量系統(tǒng),多采用光電傳感器,從轉(zhuǎn)軸上預(yù)先粘貼的一個(gè)標(biāo)志上獲得一轉(zhuǎn)一個(gè)轉(zhuǎn)速脈沖,隨后利用電子倍頻器和測(cè)頻方法實(shí)現(xiàn)轉(zhuǎn)速測(cè)量。不論長(zhǎng)期或臨時(shí)轉(zhuǎn)速測(cè)量,都可以在微處理器的參與下,通過測(cè)量轉(zhuǎn)軸上預(yù)留的一轉(zhuǎn)一齒的鑒相信號(hào)或光電信號(hào)的周期,換算出轉(zhuǎn)軸的頻率或轉(zhuǎn)速。即通過速度傳感器,將轉(zhuǎn)速信號(hào)變?yōu)殡娒}沖,利用微機(jī)在單位時(shí)間內(nèi)對(duì)脈沖進(jìn)行計(jì)數(shù),再經(jīng)過軟件計(jì)算獲得轉(zhuǎn)速數(shù)據(jù),即:n=n/ (mt)

15、3;n轉(zhuǎn)速、單位:轉(zhuǎn)/ 分鐘。·n采樣時(shí)間內(nèi)所計(jì)脈沖個(gè)數(shù)。·t采樣時(shí)間、單位:分鐘。·m每旋轉(zhuǎn)一周所產(chǎn)生的脈沖個(gè)數(shù)(通常指測(cè)速碼盤的齒數(shù)) 。如果m=60,那么1 秒鐘內(nèi)脈沖個(gè)數(shù)n就是轉(zhuǎn)速n,即:n=n/ (mt) =n/60 ×1/60=n·通常m為60。在對(duì)轉(zhuǎn)速波動(dòng)較快系統(tǒng)或要求動(dòng)態(tài)特性好而精度高的轉(zhuǎn)速測(cè)控系統(tǒng)中,調(diào)節(jié)周期一般很短,相應(yīng)的采樣周期需取得很小,使得脈沖當(dāng)量增高,從而導(dǎo)致整個(gè)系統(tǒng)測(cè)量精度降低,難以滿足測(cè)控要求。提高采樣速率通常就要減小采樣時(shí)間t,而t 的減小會(huì)使采到的脈沖數(shù)值n 下降,導(dǎo)致脈沖當(dāng)量(每個(gè)脈沖所代表的轉(zhuǎn)速) 增高,

16、從而使得測(cè)量精度變得粗糙。通過增加測(cè)速碼盤的齒數(shù)可以提高精度,但是碼盤齒數(shù)的增加會(huì)受到加工工藝的限制,同時(shí)會(huì)使轉(zhuǎn)速測(cè)量脈沖的頻率增高,頻率的提升又會(huì)受到傳感器中光電器或磁敏器或磁電器件最高工作頻率的限制。凡此種種因素限制了常規(guī)智能轉(zhuǎn)速測(cè)量方法的使用范圍。而采用本文所提出的定時(shí)分時(shí)雙頻率采樣法,可在保證采樣精度的同時(shí),提高采樣速率,充分發(fā)揮微機(jī)智能測(cè)速方法的優(yōu)越性及靈活性。1.3 開發(fā)軟件研究1.3.1 系統(tǒng)仿真軟件protuesproteus軟件是英國(guó)labcenter electronics公司出版的eda工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它eda工具軟件的

17、仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、pcb設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即將增加cortex和dsp

18、系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等多種編譯器。它具有4大功能模塊如下。智能原理圖設(shè)計(jì)(isis)。豐富的器件庫(kù):超過27000種元器件,可方便地創(chuàng)建新元件;智能的器件搜索:通過模糊搜索可以快速定位所需要的器件;智能化的連線功能:自動(dòng)連線功能使連接導(dǎo)線簡(jiǎn)單快捷,大大縮短繪圖時(shí)間;支持總線結(jié)構(gòu):使用總線器件和總線布線使電路設(shè)計(jì)簡(jiǎn)明清晰;可輸出高質(zhì)量圖紙:通過個(gè)性化設(shè)置,可以生成印刷質(zhì)量的bmp圖紙,可以方便地供word、powerpoint等多種文檔使用。完善的電路仿真功能(prospice)。prospice混合仿真:基于工業(yè)標(biāo)準(zhǔn)spic

19、e3f5,實(shí)現(xiàn)數(shù)字/模擬電路的混合仿真;超過27000個(gè)仿真器件:可以通過內(nèi)部原型或使用廠家的spice文件自行設(shè)計(jì)仿真器件,labcenter也在不斷地發(fā)布新的仿真器件,還可導(dǎo)入第三方發(fā)布的仿真器件;多樣的激勵(lì)源:包括直流、正弦、脈沖、分段線性脈沖、音頻(使用wav文件)、指數(shù)信號(hào)、單頻fm、數(shù)字時(shí)鐘和碼流,還支持文件形式的信號(hào)輸入;豐富的虛擬儀器:13種虛擬儀器,面板操作逼真,如示波器、邏輯分析儀、信號(hào)發(fā)生器、直流電壓/電流表、交流電壓/電流表、數(shù)字圖案發(fā)生器、頻率計(jì)/計(jì)數(shù)器、邏輯探頭、虛擬終端、spi調(diào)試器、i2c調(diào)試器等; 生動(dòng)的仿真顯示:用色點(diǎn)顯示引腳的數(shù)字電平,導(dǎo)線以不同

20、顏色表示其對(duì)地電壓大小,結(jié)合動(dòng)態(tài)器件(如電機(jī)、顯示器件、按鈕)的使用可以使仿真更加直觀、生動(dòng); 高級(jí)圖形仿真功能(asf):基于圖標(biāo)的分析可以精確分析電路的多項(xiàng)指標(biāo),包括工作點(diǎn)、瞬態(tài)特性、頻率特性、傳輸特性、噪聲、失真、傅立葉頻譜分析等,還可以進(jìn)行一致性分析。獨(dú)特的單片機(jī)協(xié)同仿真功能(vsm)。支持主流的cpu類型:如arm7、8051/52、avr、pic10/12、pic16、pic18、pic24、dspic33、hc11、basicstamp、8086、msp430等,cpu類型隨著版本升級(jí)還在繼續(xù)增加,如即將支持cortex、dsp處理器; 支持通用外設(shè)模型:如字

21、符lcd模塊、圖形lcd模塊、led點(diǎn)陣、led七段顯示模塊、鍵盤/按鍵、直流/步進(jìn)/伺服電機(jī)、rs232虛擬終端、電子溫度計(jì)等等,其compim(com口物理接口模型)還可以使仿真電路通過pc機(jī)串口和外部電路實(shí)現(xiàn)雙向異步串行通信; 實(shí)時(shí)仿真:支持uart/usart/eusarts仿真、中斷仿真、spi/i2c仿真、mssp仿真、psp仿真、rtc仿真、adc仿真、ccp/eccp仿真;編譯及調(diào)試:支持單片機(jī)匯編語(yǔ)言的編輯/編譯/源碼級(jí)仿真,內(nèi)帶8051、avr、pic的匯編編譯器,也可以與第三方集成編譯環(huán)境(如iar、keil和hitech)結(jié)合,進(jìn)行高級(jí)語(yǔ)言的源碼級(jí)仿真和調(diào)試。

22、實(shí)用的pcb設(shè)計(jì)平臺(tái)。原理圖到pcb的快速通道: 原理圖設(shè)計(jì)完成后,一鍵便可進(jìn)入ares的pcb設(shè)計(jì)環(huán)境,實(shí)現(xiàn)從概念到產(chǎn)品的完整設(shè)計(jì); 先進(jìn)的自動(dòng)布局/布線功能:支持器件的自動(dòng)/人工布局;支持無網(wǎng)格自動(dòng)布線或人工布線;支持引腳交換/門交換功能使pcb設(shè)計(jì)更為合理;完整的pcb設(shè)計(jì)功能:最多可設(shè)計(jì)16個(gè)銅箔層,2個(gè)絲印層,4個(gè)機(jī)械層(含板邊),靈活的布線策略供用戶設(shè)置,自動(dòng)設(shè)計(jì)規(guī)則檢查,3d 可視化預(yù)覽; 多種輸出格式的支持:可以輸出多種格式文件,包括gerber文件的導(dǎo)入或?qū)С觯憷c其它pcb設(shè)計(jì)工具的互轉(zhuǎn)(如protel)和pcb板的設(shè)計(jì)和加工。proteus

23、可提供的仿真元器件資源:仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件,有30多個(gè)元件庫(kù)。proteus可提供的仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、spi調(diào)試器、i2c調(diào)試器、信號(hào)發(fā)生器、模式發(fā)生器、交直流電壓表、交直流電流表。理論上同一種儀器可以在一個(gè)電路中隨意的調(diào)用。除了現(xiàn)實(shí)存在的儀器外,proteus還提供了一個(gè)圖形顯示功能,可以將線路上變化的信號(hào),以圖形的方式實(shí)時(shí)地顯示出來,其作用與示波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標(biāo),proteus可提供的調(diào)試手段 proteus提供了比較豐富的測(cè)試信號(hào)用于電路的測(cè)試。這些測(cè)試信號(hào)包括模擬信號(hào)和數(shù)字信號(hào)。其電路功能仿真強(qiáng)大。

24、在proteus繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.hex,可以在proteus的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。proteus 是單片機(jī)課堂教學(xué)的先進(jìn)助手。proteus不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例如元器件選擇、電路連接、電路檢測(cè)、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。隨著科技的發(fā)展,“計(jì)算機(jī)仿真技術(shù)”已成為許多設(shè)計(jì)部門重要的前期設(shè)計(jì)手段。它具有設(shè)計(jì)靈活,結(jié)

25、果、過程的統(tǒng)一的特點(diǎn)??墒乖O(shè)計(jì)時(shí)間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險(xiǎn)。相信在單片機(jī)開發(fā)應(yīng)用中proteus也能茯得愈來愈廣泛的應(yīng)用。因此,proteus 有較高的利用價(jià)值,適合用于本設(shè)計(jì)研究。1.3.2 程序開發(fā)軟件keilkeil c51是美國(guó)keil software公司出品的51系列兼容單片機(jī)c語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,c語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。keil提供了包括c編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uvision)將這些部分組合在一起。keil c51生成的目標(biāo)代

26、碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。keilsoftware公司推出的uvision4是一款可用于多種8051mcu的集成開發(fā)環(huán)境(ide),該ide同時(shí)也是pk51及其它開發(fā)套件的一個(gè)重要組件。除增加了源代碼、功能導(dǎo)航器、模板編輯以及改進(jìn)的搜索功能外,uvision3還提供了一個(gè)配置向?qū)Чδ?,加速了啟?dòng)代碼和配置文件的生成。此外其內(nèi)置的仿真器可模擬目標(biāo)mcu,包括指令集、片上外圍設(shè)備及外部信號(hào)等。uvision3提供邏輯分析器,可監(jiān)控基于mcui/o引腳和外設(shè)狀態(tài)變化下的程序變量。uvision4提供對(duì)多種最新的8051類微處理器的

27、支持,包括analogdevices的aduc83x和aduc84x,以及infineon的xc866等。因此,此次設(shè)計(jì)采用keil來完成軟件實(shí)現(xiàn)。2 系統(tǒng)硬件設(shè)計(jì)硬件的功能由總體設(shè)計(jì)所規(guī)定,硬件設(shè)計(jì)的任務(wù)是根據(jù)總體設(shè)計(jì)要求,在選擇的機(jī)型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計(jì)出系統(tǒng)的電路原理圖,必要時(shí)做一些部件實(shí)驗(yàn),以確定電路圖的正確性,以及工藝結(jié)構(gòu)的設(shè)計(jì)加工、印制板的制作、樣機(jī)的組裝等。2.1 整體框架設(shè)計(jì)本設(shè)計(jì)主要用at89c51作為控制核心,由霍爾傳感器、信號(hào)預(yù)處理電路、處理器、顯示器和系統(tǒng)軟件等部分組成。傳感器部分采用霍爾傳感器,負(fù)責(zé)將電機(jī)的轉(zhuǎn)速轉(zhuǎn)化為脈沖信號(hào)。信號(hào)預(yù)處理電路包

28、含待測(cè)信號(hào)放大、波形變換、波形整形電路等部分,其中放大器實(shí)現(xiàn)對(duì)待測(cè)信號(hào)的放大,降低對(duì)待測(cè)信號(hào)的幅度要求,實(shí)現(xiàn)對(duì)小信號(hào)的測(cè)量;波形變換和波形整形電路實(shí)現(xiàn)把正負(fù)交變的信號(hào)波形變換成可被單片機(jī)接受的ttl/cmos兼容信號(hào)。 處理器采用at89c51單片機(jī),顯示器采用8位led數(shù)碼管動(dòng)態(tài)顯示。系統(tǒng)原理框圖如圖1所示。放大、整形電路led顯示單片機(jī)傳感器圖1 轉(zhuǎn)速測(cè)量系統(tǒng)原理框圖傳感器:用來對(duì)信號(hào)的采樣。放大、整形電路:對(duì)傳感器送過來的信號(hào)進(jìn)行放大和整形,在送入單片機(jī)進(jìn)行數(shù)據(jù)的處理轉(zhuǎn)換。單片機(jī):對(duì)處理過的信號(hào)進(jìn)行轉(zhuǎn)換成轉(zhuǎn)速的實(shí)際值,送入led。led顯示:用來對(duì)所測(cè)量到的轉(zhuǎn)速進(jìn)行顯示。2.2 信號(hào)采集

29、系統(tǒng)設(shè)計(jì)2.2.1 霍爾傳感器首先,我們選用霍爾傳感器來將轉(zhuǎn)速信號(hào)轉(zhuǎn)化為變化的電信號(hào)?;魻杺鞲衅魇菍?duì)磁敏感的傳感元件,由磁鋼、霍耳元件等組成。測(cè)量系統(tǒng)的轉(zhuǎn)速傳感器選用siko的njk-8002d的霍爾傳感器,其響應(yīng)頻率為100khz,額定電壓為5-30(v)、檢測(cè)距離為10mm。其在大電流磁場(chǎng)或磁鋼磁場(chǎng)的作用下,能測(cè)量高頻、工頻、直流等各種波形電流。該傳感器具有測(cè)量精度高、電壓范圍寬、功耗小、輸出功率大等優(yōu)點(diǎn),廣泛應(yīng)用在高速計(jì)數(shù)、測(cè)頻率、測(cè)轉(zhuǎn)速等領(lǐng)域。輸出電壓425v,直流電源要有足夠的濾波電容,測(cè)量極性為n極。安裝時(shí)將一非磁性圓盤固定在電動(dòng)機(jī)的轉(zhuǎn)軸上,將磁鋼粘貼在圓盤邊緣,磁鋼采用永久磁鐵,

30、其磁力較強(qiáng),霍爾元件固定在距圓盤1-10mm處。當(dāng)磁鋼與霍爾元件相對(duì)位置發(fā)生變化時(shí),通過霍爾元件感磁面的磁場(chǎng)強(qiáng)度就會(huì)發(fā)生變化。圓盤轉(zhuǎn)動(dòng),磁鋼靠近霍爾元件,穿過霍爾元件的磁場(chǎng)較強(qiáng),霍爾元件輸出低電平;當(dāng)磁場(chǎng)減弱時(shí),輸出高電平,從而使得在圓盤轉(zhuǎn)動(dòng)過程中,霍爾元件輸出連續(xù)脈沖信號(hào)。這種傳感器不怕灰塵、油污,在工業(yè)現(xiàn)場(chǎng)應(yīng)用廣泛?;魻柶骷怯砂雽?dǎo)體材料制成的一種薄片,器件的長(zhǎng)、寬、高分別l、b、d。若在垂直于薄片平面(沿厚度d)方向施加外磁場(chǎng)b,在沿l方向的兩個(gè)端面加一外電場(chǎng),則有一定的電流流過。由于電子在磁場(chǎng)中運(yùn)動(dòng),所以將受到一個(gè)洛侖磁力,其大小為:式中:f洛侖磁力,q載流子電荷,v載流子運(yùn)動(dòng)速度,b

31、磁感應(yīng)強(qiáng)度。這樣使電子的運(yùn)動(dòng)軌跡發(fā)生偏移,在霍爾元器件薄片的兩個(gè)側(cè)面分別產(chǎn)生電子積聚或電荷過剩,形成霍爾電場(chǎng),霍爾元器件兩個(gè)側(cè)面間的電位差稱為霍爾電壓?;魻栯妷捍笮椋菏街校夯魻柍?shù),d元件厚度,b磁感應(yīng)強(qiáng)度,i控制電流。設(shè), 則:為霍爾器件的靈敏系數(shù)(mv/ma/t),它表示該霍爾元件在單位磁感應(yīng)強(qiáng)度和單位控制電流下輸出霍爾電動(dòng)勢(shì)的大小。應(yīng)注意,當(dāng)電磁感應(yīng)強(qiáng)度b反向時(shí),霍爾電動(dòng)勢(shì)也反向。圖2為霍爾元件的原理結(jié)構(gòu)圖。圖2 霍爾元件原理結(jié)構(gòu)圖若控制電流保持不變,則霍爾感應(yīng)電壓將隨外界磁場(chǎng)強(qiáng)度而變化,根據(jù)這一原理,可以將兩塊永久磁鋼固定在電動(dòng)機(jī)轉(zhuǎn)軸上轉(zhuǎn)盤的邊沿,轉(zhuǎn)盤隨被測(cè)軸旋轉(zhuǎn),磁鋼也將跟著同步旋

32、轉(zhuǎn),在轉(zhuǎn)盤附近安裝一個(gè)霍爾元件,轉(zhuǎn)盤隨軸旋轉(zhuǎn)時(shí),霍爾元件受到磁鋼所產(chǎn)生的磁場(chǎng)影響,輸出脈沖信號(hào)。傳感器內(nèi)置電路對(duì)該信號(hào)進(jìn)行放大、整形,輸出良好的矩形脈沖信號(hào),測(cè)量頻率范圍更寬,輸出信號(hào)更精確穩(wěn)定,已在工業(yè),汽車,航空等測(cè)速領(lǐng)域中得到廣泛的應(yīng)用。其頻率和轉(zhuǎn)速成正比,測(cè)出脈沖的周期或頻率即可計(jì)算出轉(zhuǎn)速1。 2.2.2 放大電路轉(zhuǎn)速信號(hào)處理電路包括信號(hào)放大電路、整形及三極管整形電路。我們采用三個(gè)運(yùn)算放大器對(duì)其進(jìn)行信號(hào)的放大。圖3為我所設(shè)計(jì)的信號(hào)放大的電路圖。圖3 信號(hào)放大電路由于產(chǎn)生的電壓信號(hào)很小,所以要進(jìn)行放大處理,一般要放大至少1000倍(60db),然后再進(jìn)行信號(hào)處理工作。信號(hào)放大裝置選用運(yùn)算

33、放大器tl084作為放大電壓放大元件,采用三級(jí)放大電路,前兩級(jí)級(jí)都采用反響比例運(yùn)算電路,第三級(jí)采用回滯電壓電路,同時(shí)也是后續(xù)整形電路的一部分,如圖3所示。設(shè)計(jì)的電壓放大倍數(shù)為3000倍。其中第一級(jí)放大倍數(shù)為反向30倍,第二級(jí)放大倍數(shù)為反向2倍,第三級(jí)約為同向50倍,。放大后電壓變化范圍為04.8v。tl084采用12v雙電源供電,由于電源的供電電壓在一定范圍內(nèi)有幅值上的波動(dòng),所以會(huì)形成干擾信號(hào)。為起到消除干擾,實(shí)現(xiàn)濾波作用,故供電電源兩端需接10uf的電容接地,電容選擇金屬化聚丙已烯膜電容。兩級(jí)運(yùn)放放大所采用的供電電源均采用此種接法。第一級(jí)與第二級(jí)的電路原理比較簡(jiǎn)單,有放大器的虛短與虛斷,可得

34、知其放大的倍數(shù),不做過多分析。第三級(jí)為放大與整形的公共部分,其具體分析見下文。2.2.3 整形電路 整形電路的主要作用是將正弦波信號(hào)轉(zhuǎn)化為方波脈沖信號(hào),正弦波信號(hào)電壓的最大幅值約為4.8v,最小幅值為0v。整形電路設(shè)計(jì)的是一種回滯電壓比較器,它具有慣性,起到抗干擾的作用。從而向輸入端輸入的回滯比較器。在整形電路的輸入端接一個(gè)電容c5(103),起到的作用是阻止其他信號(hào)的干擾,并且將放大的信號(hào)進(jìn)行濾波,解耦。r9和r11是防止電路短路,起到保護(hù)電路的作用。圖4為我所設(shè)計(jì)的信號(hào)整形電路。圖4 信號(hào)整形電路一次整形后的信號(hào)基本上為±2.5v的電平的脈沖信號(hào),在脈沖計(jì)數(shù)時(shí),常用的是+2.5v

35、的脈沖信號(hào)。如果直接采用-2.5v的脈沖計(jì)數(shù),會(huì)增加電路的復(fù)雜性,故一般不直接使用,而是先進(jìn)行二次整形。第二次用三極管整形電路,當(dāng)輸出為-2.5v的信號(hào)時(shí),三極管q2(8050)的基-射極和電阻r14組成并聯(lián)電路,電流經(jīng)過r8、r14,三極管q2處于反向偏置狀態(tài),所以,q2的集-射極未接通,故處于截止?fàn)顟B(tài)。電源回路由r15,三極管q2的集-射極組成,采用單電源+4v供電,由于集射極截止,處于斷路狀態(tài),故輸出電壓u0為+4v。當(dāng)?shù)谝淮握屋敵鰹?2.5v的信號(hào)時(shí),三極管vt2基-射極處于正向偏置狀態(tài),有電流i通過,故此時(shí)三極管的集-射極處于通路狀態(tài)。電源電流流經(jīng)電阻r15,三極管的集-射極到地端

36、,由于集-射極導(dǎo)通時(shí)的電阻很小,可以忽略不計(jì)。電源電壓主要在r19上,其輸出電壓約為0v。綜上所述,三極管整形的電路的輸入關(guān)系是:信號(hào)為-2.5v時(shí),u0=+4v;信號(hào)為+2.5v時(shí),u0=0v。2.3 單片機(jī)處理系統(tǒng)設(shè)計(jì)2.3.1 單片機(jī)at89c51 單片機(jī)我們采用at89c51(其引腳圖如圖5),相較于intel公司的8051它本身帶有一定的優(yōu)點(diǎn)。at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存貯器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos 8位微處理器,俗稱單片機(jī)。該器件采用atmel高密

37、度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器, at89c單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案2。圖5所示為at89c51的引腳圖。圖5 at89c51引腳圖該型號(hào)單片機(jī)具有以下多個(gè)特點(diǎn)和功能。·與mcs-51 兼容。·4k字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫/擦循環(huán)。·數(shù)據(jù)保留時(shí)間:10年。·全靜態(tài)工作:0hz-24hz。·三級(jí)程序存儲(chǔ)器鎖定。·128*8位內(nèi)部ram。·32

38、可編程i/o線。·兩個(gè)16位定時(shí)器/計(jì)數(shù)器。·5個(gè)中斷源。 ·片內(nèi)振蕩器和時(shí)鐘電路。·vcc:供電電壓。·gnd:接地。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。2.3.2 復(fù)位電路mcs-51 單片機(jī)復(fù)位電路是指單片機(jī)的初始化操作。單片機(jī)啟運(yùn)運(yùn)行時(shí),都需要先復(fù)位,其作用是使cpu和系統(tǒng)中其他部件處于一個(gè)確定的初

39、始狀態(tài),并從這個(gè)狀態(tài)開始工作。因而,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部電路才能實(shí)現(xiàn)。圖6 rc上電復(fù)位電路 圖7 rc按鍵復(fù)位電路復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。·rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。單片機(jī)的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳rst通過一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個(gè)

40、機(jī)器周期的s5p2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動(dòng)復(fù)位(如圖6)和按鈕復(fù)位(如圖7)兩種方式3。而在單片機(jī)的實(shí)際應(yīng)用中,兩種復(fù)位電路都要有的,系統(tǒng)會(huì)自動(dòng)地附帶上電復(fù)位電路。圖8所示為我的設(shè)計(jì)中的按鍵復(fù)位電路。圖8 復(fù)位電路2.3.3 晶振電路晶振是晶體振蕩器的簡(jiǎn)稱,在電氣上它可以等效成一個(gè)電容和一個(gè)電阻并聯(lián)再串聯(lián)一個(gè)電容的二端網(wǎng)絡(luò),電工學(xué)上這個(gè)網(wǎng)絡(luò)有兩個(gè)諧振點(diǎn),以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。·xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。·xtal2:來自反向振蕩器的輸出。振蕩器特性。xtal1和xtal2分別為反向

41、放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石英振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。圖9 晶振電路at89c51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳xtal1和xtal2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容c1和c2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低、震蕩器的穩(wěn)定

42、性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12mhz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為30f。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作4。圖9所示為我所設(shè)計(jì)的晶振電路。晶振有一個(gè)重要的參數(shù),那就是負(fù)載電容值,選擇與負(fù)載電容值相等的并聯(lián)電容,就可以得到晶振標(biāo)稱的諧振頻率。2.3.4 輸入與輸出接口 單片機(jī)有p0,p1,p2和p3四個(gè)可供使用的輸入與輸出口。本次設(shè)計(jì)時(shí),p3口特殊功能我沒有使用,不做過多分析。設(shè)計(jì)中,我運(yùn)用p0口來輸出8位數(shù)碼管顯示,運(yùn)用p2口進(jìn)行位選,來實(shí)現(xiàn)顯示的動(dòng)態(tài)掃描,只用

43、一個(gè)p3口進(jìn)行模擬頻率信號(hào)的輸入,產(chǎn)生中斷信號(hào),來計(jì)算所測(cè)頻率,即換算為所測(cè)的電機(jī)轉(zhuǎn)速。各接口的使用相對(duì)簡(jiǎn)單,就不對(duì)各個(gè)接口進(jìn)行分析。圖10所示為本次設(shè)計(jì)使用的接口圖。圖10 接口電路圖2.4 led顯示許多電子產(chǎn)品上都有跳動(dòng)的數(shù)碼來指示電器的工作狀態(tài),其實(shí)數(shù)碼管顯示的數(shù)碼均是由八個(gè)發(fā)光二極管構(gòu)成的。每段上加上合適的電壓,該段就點(diǎn)亮。led數(shù)碼有共陽(yáng)和共陰兩種,把這些led發(fā)光二極管的正極接到一塊(一般是拼成一個(gè)8字加一個(gè)小數(shù)點(diǎn))而作為一個(gè)引腳,就叫共陽(yáng)的,相反的,就叫共陰的,那么應(yīng)用時(shí)這個(gè)腳就分別的接vcc和gnd。再把多個(gè)這樣的8字裝在一起就成了多位的數(shù)碼管了,如圖10所示。圖11 數(shù)碼管

44、為使發(fā)光二極管有足夠的驅(qū)動(dòng)電壓,點(diǎn)亮?xí)r亮度足夠大,此次設(shè)計(jì)中,我們采用共陽(yáng)型數(shù)碼管。數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。具體研究見軟件設(shè)計(jì)的顯示程序。3 系統(tǒng)軟件設(shè)計(jì)硬件電路完成以后,采用c語(yǔ)言進(jìn)行系統(tǒng)軟件設(shè)計(jì)。首先要分析系統(tǒng)對(duì)軟件的要求,然后進(jìn)行軟件的總體的設(shè)計(jì),包括程序的總體設(shè)計(jì)和對(duì)程序的模塊化設(shè)計(jì)。按整體功能分為多個(gè)不同的模塊,單獨(dú)設(shè)計(jì)、編程、調(diào)試,然后將各個(gè)模塊裝配聯(lián)調(diào),組成完整的軟件。根據(jù)設(shè)計(jì)的要求,單片機(jī)的任務(wù)是:內(nèi)部進(jìn)行計(jì)數(shù),在計(jì)算出速度后顯示。軟件編程用c語(yǔ)言完成的,需要能掌

45、握c語(yǔ)言,還要熟練at89c51單片機(jī)。從程序流程圖、編寫程序、編譯,到最后的調(diào)試,是很復(fù)雜的。下面作簡(jiǎn)單分析:系統(tǒng)軟件主程序的功能是完成系統(tǒng)的初始化、顯示程序6。·/psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。·/ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v

46、編程電源(vpp)。芯片擦除。整個(gè)perom陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ale管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。3.1 主程序設(shè)計(jì)主程序即main程序,其流程圖如圖12所示。在設(shè)計(jì)中,先初始化定時(shí)器和計(jì)數(shù)器,然后進(jìn)入一個(gè)不斷循環(huán)的while程序,在while中,只需要不斷刷新數(shù)碼管顯示就行,至于子程序的調(diào)用,在中斷和顯示子程序中自動(dòng)調(diào)用到數(shù)碼管的顯示中。其具體程序及分析如下所示。 main() timer_init(); / 定時(shí),計(jì)數(shù)器初始化 p0=0; / 開始數(shù)碼管不顯示

47、while(1) xian_shi(); delay(2); / 數(shù)碼管刷新時(shí)間單位毫秒 開始 初始化定時(shí)器計(jì)數(shù)器刷新數(shù)碼管延時(shí)2ms顯示圖12 主程序流程圖3.2 系統(tǒng)初始化單片機(jī)復(fù)位后的狀態(tài)。單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器pc0000h,這表明程序從0000h地址單元開始執(zhí)行。單片機(jī)冷啟動(dòng)后,片內(nèi)ram為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)ram區(qū)中的內(nèi)容,21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值,見表2。 值得指出的是,記住一些特殊功能寄存器復(fù)位后的主要狀態(tài),對(duì)于了解單片機(jī)的初態(tài),減少應(yīng)用程序中的初始化部分是十分必要的。說明:表2中符號(hào)*為隨機(jī)狀態(tài)。表1 寄存

48、器復(fù)位后狀態(tài)表特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)abpsw00h00h00htmodtconth000h00h00hspdpldphp0p3ipie07h00h00hffh*00000b0*00000btl0th1tl1sbufsconpcon00h00h00h不定00h0*bpsw00h,表明選寄存器0組為工作寄存器組; sp07h,表明堆棧指針指向片內(nèi)ram 07h字節(jié)單元,根據(jù)堆棧操作的先加后壓法則,第一個(gè)被壓入的內(nèi)容寫入到08h單元中;po-p3ffh,表明已向各端口線寫入1,此時(shí),各端口既可用于輸入又可用于輸出 。ip×××00000b,表明各

49、個(gè)中斷源處于低優(yōu)先級(jí); ie0××00000b,表明各個(gè)中斷均被關(guān)斷; 系統(tǒng)復(fù)位是任何微機(jī)系統(tǒng)執(zhí)行的第一步,使整個(gè)控制芯片回到默認(rèn)的硬件狀態(tài)下。3.2.1 定時(shí)器初始化此次設(shè)計(jì)使用的有兩個(gè)定時(shí)器/計(jì)數(shù)器t0和t1。計(jì)數(shù)器的功能是對(duì)t0或t1外來脈沖的進(jìn)行計(jì)數(shù),外部輸入脈沖負(fù)跳變時(shí),計(jì)數(shù)器進(jìn)行加1。我們采用的t0與t1分別為計(jì)數(shù)與定時(shí),方式寄存器tmod的初始化值為ox51,即01010001,都工作于方式1。方式1計(jì)數(shù)寄存器的位數(shù)是16位,由th和tl寄存器各提供8位計(jì)數(shù)初值,當(dāng)tl底8位計(jì)數(shù)滿回零向th進(jìn)位,當(dāng)th也計(jì)數(shù)滿回零時(shí)置位tf。方式1最大計(jì)數(shù)值為(65536個(gè)脈

50、沖),是幾種方式中計(jì)數(shù)最大的方式。定時(shí)功能是通過計(jì)數(shù)器的計(jì)數(shù)來實(shí)現(xiàn)的,每個(gè)機(jī)器周期產(chǎn)生1個(gè)計(jì)數(shù)脈沖,即每個(gè)機(jī)器周期計(jì)數(shù)器加1,因此定時(shí)時(shí)間等于計(jì)數(shù)個(gè)數(shù)乘以機(jī)器周期。定時(shí)器工作時(shí),每接收到1個(gè)計(jì)數(shù)脈沖(或機(jī)器周期)則在設(shè)定的初值基礎(chǔ)上自動(dòng)加1,當(dāng)所有位都位1時(shí),再加1就會(huì)產(chǎn)生溢出,將向cpu提出定時(shí)器溢出中斷身請(qǐng)。當(dāng)定時(shí)器采用不同的工作方式和設(shè)置不同的初值時(shí),產(chǎn)生溢出中斷的定時(shí)值和計(jì)數(shù)值將不同,從而可以適應(yīng)不同的定時(shí)或計(jì)數(shù)控制。工作方式寄存器tmod的設(shè)定及各位含義如下。·gate:門控位,用于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)是否受外部中斷請(qǐng)求信號(hào)的影響。·c/t:定時(shí)或計(jì)數(shù)方式選擇位

51、,當(dāng)c/t=1時(shí)工作于計(jì)數(shù)方式;當(dāng)c/t=0時(shí)工作于定時(shí)方式。m1、m0為工作方式選擇位 ,用于對(duì)t0的四種工作方式,t1的三種工作方式進(jìn)行選擇,選擇情況如下表2。本設(shè)計(jì)為方式1,即:m0m1=01。表2 m1、m0為工作方式選擇位mom1工作方式方式說明00110101012313位定時(shí)/計(jì)數(shù)器16位定時(shí)/計(jì)數(shù)器8位自動(dòng)重置定時(shí)/計(jì)數(shù)器兩個(gè)8位定時(shí)/計(jì)數(shù)器(只有t0有)3.2.2 中斷初始化本次設(shè)計(jì)中,沒有專門的開中斷和關(guān)中斷指令,對(duì)各個(gè)中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器ie的各位來控制的。中斷允許寄存器ie的字節(jié)地址為a8h,可以進(jìn)行位尋址。ie的各位對(duì)應(yīng)的中斷源如表3所示。表3

52、中斷位尋址表ied7d6d5d4d3d2d1d0(a8h)eaet2eset1ex1et0ex0 上表中各位的意義如下。·ea:中斷允許總控位。ea=0,屏蔽所有的中斷請(qǐng)求;ea=1,開放中斷。 ·et2:定時(shí)器/計(jì)數(shù)器t2的溢出中斷允許位。 ·es:串行口中斷允許位。·et1:定時(shí)器/計(jì)數(shù)器t1的溢出中斷允許位。 ·ex1:外部中斷 int1的中斷允許位。·et0:定時(shí)器/計(jì)數(shù)器t0的溢出中斷允許位。 ·ex0:外部中斷 int0的中斷允許位7。 本次使用的僅有et0的計(jì)數(shù)器溢出中斷允許位,故不多做分析。3.3 定時(shí)計(jì)數(shù)子

53、程序定時(shí)計(jì)數(shù)子程序的設(shè)計(jì)思路為,首先設(shè)置定時(shí)器定時(shí)為100ms,然后對(duì)其賦初值,為:th0=(65535-50000)/256,tl0=(65535-50000)%256。而后,計(jì)數(shù)器清零,開定時(shí)器時(shí)開計(jì)數(shù)器,在定時(shí)的100ms內(nèi),計(jì)數(shù)器所計(jì)數(shù)值,即與頻率,轉(zhuǎn)速成一定的比例關(guān)系。具體分析如下。計(jì)算轉(zhuǎn)速公式:n=60/ntc (r/min)其中,n是內(nèi)部定時(shí)器的計(jì)數(shù)值,為三字節(jié),分別由th0,tl0,vtt構(gòu)成。tc為時(shí)基,由于采用11.0592m的晶振,所以tc不在是1um,而是12m/11.0592m約為1.08um,帶入上面公式,即可得到轉(zhuǎn)速的精確計(jì)算公式:n=60*11059200/12

54、n=55296000/n再將55296000化為二進(jìn)制存入單片機(jī)的內(nèi)存單元。·ale/prog:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。圖13所示即定時(shí)計(jì)數(shù)子程序的流程圖。下面我們將分析除數(shù)是如何獲得的。單片機(jī)的轉(zhuǎn)速測(cè)量完成,定時(shí)器t0作為內(nèi)部定時(shí)器,外部中斷來的時(shí)候讀取th0,tl0

55、,并同時(shí)清零th0、tl0,使定時(shí)器再次循環(huán)計(jì)內(nèi)部脈沖。此外,對(duì)于低速情況下,我們還要設(shè)定一個(gè)軟件計(jì)數(shù)器vtt,當(dāng)外部中斷還沒來而內(nèi)部定時(shí)器已經(jīng)溢出,產(chǎn)生定時(shí)器0中斷時(shí),增加vtt,作為三字節(jié)中的高字節(jié)。三字節(jié)組成除數(shù),上面的常數(shù)為四字節(jié),所以計(jì)算程序?qū)嶋H上就是調(diào)用一個(gè)四字節(jié)除三字節(jié)商為兩字節(jié)(最高轉(zhuǎn)速36000r/min足夠)的程序。開始開計(jì)數(shù)器計(jì)數(shù)器清零開定時(shí)器裝定時(shí)器初值定時(shí)滿ny圖13 定時(shí)計(jì)數(shù)子程序流程圖為數(shù)碼管能夠顯示出來,需將二進(jìn)制轉(zhuǎn)換為十進(jìn)制,在將十進(jìn)制轉(zhuǎn)換為非壓縮bcd碼后,才能調(diào)用查表程序,最后送顯示。3.4 顯示子程序顯示程序的設(shè)計(jì)思路比較簡(jiǎn)單,即先初始化各段的選位,然后

56、調(diào)用顯示程序顯示。顯示中,先按所用段碼表預(yù)設(shè)定好各位顯示的段碼,之后可直接提取設(shè)定段碼進(jìn)行顯示。數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。我們本次設(shè)計(jì)采用動(dòng)態(tài)顯示驅(qū)動(dòng),靜態(tài)顯示不做過多分析。開始顯示子程序的流程圖如圖14所示。顯示緩存初始化led顯示初始化數(shù)碼顯示圖14 顯示子程序流程圖動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極com增加位選通控制

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論