基于單片機(jī)的電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
基于單片機(jī)的電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
基于單片機(jī)的電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
基于單片機(jī)的電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
基于單片機(jī)的電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要在工程實(shí)踐中,經(jīng)常會(huì)遇到各種需要測(cè)量轉(zhuǎn)速的場(chǎng)合,測(cè)量轉(zhuǎn)速的方法分為模擬式和數(shù)字式兩種。模擬式采用測(cè)速發(fā)電機(jī)為檢測(cè)元件,得到的信號(hào)是模擬量。數(shù)字式通常采用光電編碼器,霍爾元件等為檢測(cè)元件,得到的信號(hào)是脈沖信號(hào)。隨著微型計(jì)算機(jī)的廣泛應(yīng)用,特別是高性能價(jià)格比的單片機(jī)的出現(xiàn),轉(zhuǎn)速測(cè)量普遍采用以單片機(jī)為核心的數(shù)字式測(cè)量方法。本文便是運(yùn)用at89c51單片機(jī)控制的智能化轉(zhuǎn)速測(cè)量?jī)x。電機(jī)在運(yùn)行過(guò)程中,需要對(duì)其進(jìn)行監(jiān)控,轉(zhuǎn)速是一個(gè)必不可少的一個(gè)參數(shù)。本系統(tǒng)就是對(duì)電機(jī)轉(zhuǎn)速進(jìn)行測(cè)量,并可以和pc機(jī)進(jìn)行通信,顯示電機(jī)的轉(zhuǎn)速,并觀察電機(jī)運(yùn)行的基本狀況。本設(shè)計(jì)主要用at89c51作為控制核心,由霍爾傳感器、led

2、數(shù)碼顯像管、hin232cpe電平轉(zhuǎn)換、及rs232構(gòu)成。詳細(xì)介紹了單片機(jī)的測(cè)量轉(zhuǎn)速系統(tǒng)及pc機(jī)與單片機(jī)之間的串行通訊。充分發(fā)揮了單片機(jī)的性能。本文重點(diǎn)是測(cè)量速度并顯示在5位led數(shù)碼管上。其優(yōu)點(diǎn)硬件是電路簡(jiǎn)單,軟件功能完善,測(cè)量速度快、精度高、控制系統(tǒng)可靠,性價(jià)比較高等特點(diǎn)。關(guān)鍵字:msc-51(單片機(jī)); 轉(zhuǎn)速; 傳感器abstractin the project practice, we will meet each kind to need frequently to survey the rotational speed the situation, the survey rotat

3、ional speed method divides into the simulation type and the digital two kinds. the simulation type uses measured that the fast generator is the detecting element, obtains the signal simulates the quantity. digital usually uses the electro-optical encoder, the hall part and so on is the detecting ele

4、ment, obtains the signal is the signal impulse. along with microcomputers widespread application, specially high performance price compared to monolithic integrated circuits appearance, the tachometric survey uses generally take the monolithic integrated circuit as the core digital measuring techniq

5、ue i graduated from the design of the issue is control of the intelligent use of scm speed measuring instrument. the system is the motor speed measurement, and pc and can communicate that the motor speed, and to observe the motor running the basic situation. the main design at89c51 control as the co

6、re, by the hall sensor, led digital crt, hin232cpe-level conversion, and a rs232. detailed measurements of the speed of the scm system and pc and the serial communication between the microcontroller. give full play to the performance of the scm. this paper is to measure the speed and displayed in fi

7、ve led digital pipe. the advantage of a simple hardware and software capabilities improve, measuring speed, high precision and control system reliable, cost-effective and so on.keyword:msc-51(one-chip computer); sensor; tachometer目 錄摘 要1abstract21 序 言12 系統(tǒng)功能分析22.1 系統(tǒng)功能概述22.2 系統(tǒng)要求及主要內(nèi)容23 系統(tǒng)總體設(shè)計(jì)43.1 硬

8、件電路設(shè)計(jì)思路43.2 軟件設(shè)計(jì)思路44 硬件電路設(shè)計(jì)64.1 單片機(jī)模塊64.1.1 處理執(zhí)行元件64.1.2 時(shí)鐘電路104.1.3 復(fù)位電路114.1.4 顯示電路124.2 霍爾傳感器簡(jiǎn)介154.2.1 霍爾器件概述154.2.2 霍爾傳感器的應(yīng)用164.2.3 ah41霍爾開(kāi)關(guān)174.3 發(fā)送模塊185 軟件設(shè)計(jì)225.1 單片機(jī)轉(zhuǎn)速程序設(shè)計(jì)思路及過(guò)程225.1.1 單片機(jī)程序設(shè)計(jì)思路225.1.2 單片機(jī)轉(zhuǎn)速計(jì)算程序235.1.3 二-十進(jìn)制轉(zhuǎn)換程序245.2 程序設(shè)計(jì)276 系統(tǒng)調(diào)試296.1 硬件調(diào)試296.2 軟件調(diào)試306.3 綜合調(diào)試326.4 故障分析與解決方案336.

9、5 結(jié)論與經(jīng)驗(yàn)34參考文獻(xiàn)36致 謝37附 錄38附錄1 電路原理圖38附錄2 元器件清單391 序 言智能化轉(zhuǎn)速測(cè)量可以對(duì)電機(jī)的轉(zhuǎn)速進(jìn)行測(cè)量,電機(jī)在運(yùn)行的過(guò)程中,需要對(duì)其平穩(wěn)性進(jìn)行監(jiān)測(cè),適時(shí)對(duì)轉(zhuǎn)速的測(cè)量有效地可以反映電機(jī)的狀況。本系統(tǒng)主要由傳感器,單片機(jī)at89c51構(gòu)成??梢詫?duì)大范圍轉(zhuǎn)速進(jìn)行測(cè)量,測(cè)量的轉(zhuǎn)速精度高,還可以和pc機(jī)時(shí)時(shí)通信,實(shí)現(xiàn)對(duì)電機(jī)轉(zhuǎn)速的測(cè)量。單片機(jī)的英文名稱是micro controller unit,縮寫(xiě)為mcu,又稱為微控制器,它是一種面向控制的大規(guī)模集成電路芯片。它具有功能強(qiáng)、體積小、可靠性高、應(yīng)用簡(jiǎn)單靈活,因而使用非常廣泛,有力地推動(dòng)各行業(yè)的技術(shù)發(fā)展和更新?lián)Q代。

10、本文首先在第二章緒論介紹了此系統(tǒng)的功能、技術(shù)指標(biāo)以及主要內(nèi)容等;在第三章論述了總體設(shè)計(jì)過(guò)程,確定了技術(shù)指標(biāo)及器件的選擇;第四章著重描述了系統(tǒng)硬件電路設(shè)計(jì)、硬件設(shè)計(jì)框圖及所使用的各種芯片功能與特性;在第五章中重點(diǎn)剖析了軟件設(shè)計(jì)的過(guò)程;最后在第六章中具體論述單片機(jī)、電平轉(zhuǎn)換電路、通信的處理及調(diào)試。由于本人水平有限,加之時(shí)間倉(cāng)促,論文中難免會(huì)有錯(cuò)誤和不足之外,不夠理想、許多方面還需要繼續(xù)完善和改進(jìn)。在這里懇請(qǐng)指導(dǎo)老師和各位專家老師批評(píng)指正。在此特別感謝我的指導(dǎo)老師郭順京老師的大力指導(dǎo)。2 系統(tǒng)功能分析2.1 系統(tǒng)功能概述功能:系統(tǒng)主要實(shí)現(xiàn)功能是:at89c51單片機(jī)接收霍爾傳感器傳來(lái)的脈沖信號(hào),單片

11、機(jī)根據(jù)外部中斷,以及內(nèi)部定時(shí)器進(jìn)行記數(shù)計(jì)算出電機(jī)轉(zhuǎn)速送到led顯示,同時(shí)數(shù)據(jù)傳給pc機(jī),并在pc機(jī)屏幕上顯示出來(lái)。記錄各時(shí)段的轉(zhuǎn)速,畫(huà)出v-t坐標(biāo)圖。組成及框圖:本系統(tǒng)通信部分是單片機(jī)經(jīng)電平轉(zhuǎn)換電路hin232cp之后,通過(guò)串口rs-232發(fā)送數(shù)據(jù),由pc微機(jī)接收,微機(jī)部分用visual basic軟件編寫(xiě)的界面作為pc機(jī)部分與單片機(jī)進(jìn)行串口之間通信。傳感器電路、轉(zhuǎn)速測(cè)量、led顯示、電平轉(zhuǎn)換電路設(shè)計(jì)等將在以下章節(jié)作詳細(xì)地設(shè)計(jì)。傳感器電 平 轉(zhuǎn) 換電 路單 片 機(jī) at89c51 送pc機(jī)界面驅(qū)動(dòng)電路led顯示 圖2-1 系統(tǒng)硬件電路應(yīng)用:從實(shí)用的角度看,評(píng)價(jià)一個(gè)系統(tǒng)實(shí)用價(jià)值的重要標(biāo)準(zhǔn),就是這

12、個(gè)系統(tǒng)對(duì)社會(huì)生活和科技觀念有多大的貢獻(xiàn)。轉(zhuǎn)速測(cè)量系統(tǒng)具有大范圍、高精度等優(yōu)點(diǎn)、測(cè)量速度快,這種系統(tǒng)將會(huì)有良好的應(yīng)用。2.2 系統(tǒng)要求及主要內(nèi)容將霍爾傳感器產(chǎn)生的脈沖信號(hào)輸出入到單片機(jī)的外部中斷0口,單片機(jī)工作在內(nèi)部定時(shí)器工作方式0,對(duì)周期信號(hào)進(jìn)行內(nèi)部記數(shù),調(diào)用計(jì)算公式算出轉(zhuǎn)速,調(diào)用顯示程序顯示在led上,同時(shí)通過(guò)串口向上位機(jī)發(fā)送轉(zhuǎn)速數(shù)據(jù)。主要內(nèi)容:(1)單片機(jī)部分主要完成電機(jī)轉(zhuǎn)速的測(cè)量(2)led部分主要是把轉(zhuǎn)速顯示出來(lái),顯示范圍60-36000r/min(3) 發(fā)送部分主要是完成電平轉(zhuǎn)換,送rs232向pc發(fā)送數(shù)據(jù)。(4) pc機(jī)部分主要完成將數(shù)據(jù)顯示在界面并描繪出v-t圖2.3 系統(tǒng)技術(shù)指

13、標(biāo)系統(tǒng)主要完成以下功能:測(cè)量系統(tǒng):1.設(shè)計(jì)并制作單片機(jī)的轉(zhuǎn)速測(cè)量的硬件系統(tǒng);2.用匯編語(yǔ)言完成轉(zhuǎn)速測(cè)量的軟件系統(tǒng);3.要求把轉(zhuǎn)速顯示在5位led上,精度為0.1%;4.能向上位機(jī)發(fā)送數(shù)據(jù);5.用9針rs-232即可;通信部分:1.在微機(jī)部分采用visual basic編制rs232通信軟件;2.通信軟件具有數(shù)據(jù)接受編輯框;3.通信軟件要適時(shí)對(duì)數(shù)據(jù)的記錄,用時(shí)間曲線表示;根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能以及要求,要實(shí)現(xiàn)單片機(jī)的轉(zhuǎn)速測(cè)量主要是各個(gè)模塊的設(shè)計(jì),定時(shí)器記數(shù)功能、以及l(fā)ed驅(qū)動(dòng)、電平轉(zhuǎn)換及pc機(jī)之間的通信。單片機(jī)可通過(guò)編程控制外圍部件,能實(shí)現(xiàn)較高的自動(dòng)化程度。以它為系統(tǒng)核心的控制模塊可實(shí)現(xiàn)主從控制,

14、完成預(yù)定的任務(wù)。3 系統(tǒng)總體設(shè)計(jì)3.1 硬件電路設(shè)計(jì)思路硬件設(shè)計(jì)的任務(wù)是根據(jù)總體設(shè)計(jì)要求,在選擇的機(jī)型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計(jì)出系統(tǒng)的原理框圖、電路原理圖。89c51單片機(jī)通過(guò)int0輸入傳感器的脈沖信號(hào),p0口p2口接led動(dòng)態(tài)顯示。另由于pc系列微機(jī)串行口為rs232c標(biāo)準(zhǔn)接口,與輸入、輸出均為ttl電平的89c51單片機(jī)在接口規(guī)范上不一致,因此ttl 電平到rs232接口電平的轉(zhuǎn)換采用hin232cp接口芯片,該芯片可以用單電壓(+5v)實(shí)現(xiàn)rs232接口邏輯“1”(-3v-15v)和邏輯“0”(+3v+15v)的電平轉(zhuǎn)換。轉(zhuǎn)速測(cè)量部分的硬件設(shè)計(jì)思路:本次設(shè)計(jì)單片機(jī)

15、部分的硬件框圖如 圖21所示。cpu執(zhí)行單元顯示電路復(fù)位電路 發(fā)送電路時(shí)鐘電路 圖3-1 單片機(jī)部分硬件框圖具體詳細(xì)的敘述將在下面的章節(jié)中逐一介紹。3.2 軟件設(shè)計(jì)思路軟件需要解決的是定時(shí)器0的記數(shù)和外部中斷0的設(shè)定、由于測(cè)量的轉(zhuǎn)速范圍大,所以低速和高速都要考慮在內(nèi),關(guān)鍵在于一個(gè)四字節(jié)除三字節(jié)程序的實(shí)現(xiàn)。顯示部分、需要有一個(gè)二進(jìn)制到十進(jìn)制的轉(zhuǎn)化程序,以及轉(zhuǎn)換成非壓縮bcd 的程序后、才能進(jìn)行調(diào)用查表程序送到顯示。pc機(jī)串口和單片機(jī)串行口的工作方式,包括串行口的通訊速率、奇偶校驗(yàn)位、停止位等均由通信部分的軟件部分實(shí)現(xiàn)。軟件工作流程:霍爾傳感器利用磁電效應(yīng)產(chǎn)生一周期脈沖向單片機(jī)的外部中斷0(p3.

16、2)口發(fā)送一個(gè)中斷信號(hào),定時(shí)器工作在內(nèi)部定時(shí),th0、tl0設(shè)定初值為0,作為除數(shù)的低兩字節(jié),利用軟件記數(shù)器、定時(shí)器0中斷的次數(shù)作為除數(shù)高字節(jié)。中斷完畢讀取內(nèi)部記數(shù)值作為除數(shù),調(diào)用除法程序計(jì)算轉(zhuǎn)速,再對(duì)二進(jìn)制數(shù)進(jìn)行一系列變換后調(diào)用查表顯示程序,顯示在led上。(同時(shí)調(diào)用傳送程序向上位機(jī)送數(shù)據(jù),這里不是本文重點(diǎn))轉(zhuǎn)速部分軟件設(shè)計(jì)思路: at89c51單片機(jī)的p3.2口接收傳感器的信號(hào)。主要編寫(xiě)一個(gè)外部中斷服務(wù)程序int_0,讀取記數(shù)值的三個(gè)字節(jié),并再次清0記數(shù)初值以便下次的記數(shù)和計(jì)算。調(diào)用兩字節(jié)二進(jìn)制-三字節(jié)十進(jìn)制(bcd)轉(zhuǎn)換子程序bcd,再調(diào)用十進(jìn)制轉(zhuǎn)換成非壓縮bcd程序cbcd、最后調(diào)用查

17、表程序送顯示。為了和pc通信,系統(tǒng)要求單片機(jī)晶振11.0592mhz。軟件的具體設(shè)計(jì)我們將在下面的章節(jié)中作詳細(xì)介紹。4 硬件電路設(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ī)的組裝等。整個(gè)單片機(jī)測(cè)量轉(zhuǎn)速系統(tǒng)為單片機(jī)控制模塊、霍爾傳感器模塊、發(fā)送模塊,各個(gè)模塊都承擔(dān)著各自的任務(wù)。設(shè)計(jì)單片機(jī)模塊,考慮到單片機(jī)本身的外圍電路較多,所以在單片機(jī)模塊方面需要極為小心。在整個(gè)電路設(shè)計(jì)時(shí)要考慮電平轉(zhuǎn)換電路,具體每一部分的設(shè)計(jì)將

18、在以下章節(jié)中詳細(xì)分析。4.1 單片機(jī)模塊根據(jù)系統(tǒng)功能要求以及單片機(jī)硬件電路設(shè)計(jì)思路(如圖31)對(duì)單片機(jī)模塊進(jìn)行設(shè)計(jì),要使單片機(jī)準(zhǔn)確的測(cè)量電機(jī)轉(zhuǎn)速,并且使測(cè)出的數(shù)據(jù)能顯示出來(lái),所以整個(gè)單片機(jī)部分分為傳感器電路、時(shí)鐘電路、復(fù)位電路、執(zhí)行元件以及顯示電路五個(gè)部分。4.1.1 處理執(zhí)行元件單片機(jī)我們采用at89c51(其引腳圖如圖41),相較于intel公司的8051它本身帶有一定的優(yōu)點(diǎn)。at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存貯器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos 8位微處理器,俗稱單片

19、機(jī)。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器, at89c單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。圖4-1 at89c51引腳圖主要特性:與mcs-51 兼容4k字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫(xiě)/擦循環(huán) 數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0hz-24hz三級(jí)程序存儲(chǔ)器鎖定128*8位內(nèi)部ram32可編程i/o線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路管腳說(shuō)明:1.vc

20、c:供電電壓;2.gnd:接地;3.p0口:p0口為一個(gè)8位漏極開(kāi)路雙向i/o口,每腳可吸收8ttl門(mén)電流。當(dāng)p1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。4.p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門(mén)電流。p1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。5.p2口:

21、p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門(mén)電流,當(dāng)p2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。6.p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門(mén)電流。當(dāng)p3口寫(xiě)入“1”后,它們被內(nèi)

22、部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如下表41所示:7.rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。8.ale/prog:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8

23、eh地址上置0。表4-1 p3口的第二功能tab.4-1 the second feature i p3引 腳第二功能信 號(hào) 名 稱p3.0p3.1p3.2p3.3p3.4p3.5p3.6p3.7rxdtxdint0int1t0t1wrrd串行數(shù)據(jù)接收串行數(shù)據(jù)發(fā)送外部中斷0請(qǐng)求外部中斷1請(qǐng)求定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)輸入定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)輸入外部ram寫(xiě)選通外部ram讀選通p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無(wú)效。 9./psen:外部程序存儲(chǔ)器的選通信號(hào)。

24、在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。 10./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編程電源(vpp)。 11.xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 12.xtal2:來(lái)自反向振蕩器的輸出。振蕩器特性:xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)

25、振蕩器。石英振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個(gè)perom陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ale管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存

26、ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。4.1.2 時(shí)鐘電路時(shí)鐘電路是計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的工作節(jié)奏。mcs-51單片機(jī)允許的時(shí)鐘頻率是因型號(hào)而異的典型值為12mhzmcs-51內(nèi)部都有一個(gè)反相放大器,xtal1、xtal2分別為反相放大器輸入和輸出端,外接定時(shí)反饋元件以后就組成振蕩器,產(chǎn)生時(shí)鐘送至單片機(jī)內(nèi)部的各個(gè)部件。at89c51是屬于cmos8位微處理器,它的時(shí)鐘電路在結(jié)構(gòu)上有別于nmos型的單片機(jī)。cmos型單片機(jī)內(nèi)部(如at89c51)有一個(gè)可控的負(fù)反饋反相放大器,外接晶振(或陶瓷諧振器)和電容組成振蕩器,圖42為cmos型單片機(jī)時(shí)鐘電路框圖

27、。振蕩器工作受/pd端控制,由軟件置“1”pd(即特殊功能寄存器pcon.1)使/pd0,振蕩器停止工作,整個(gè)單片機(jī)也就停止工作,以達(dá)到節(jié)電目的。清“0”pd,使振蕩器工作產(chǎn)生時(shí)鐘,單片機(jī)便正常運(yùn)行。圖中sys為晶振或陶瓷諧振器,振蕩器產(chǎn)生的時(shí)鐘頻率主要由sys參數(shù)確定(晶振上標(biāo)明的頻率)。電容c1和c2的作用有兩個(gè):其一是使振蕩器起振,其二是對(duì)振蕩器的頻率f起微調(diào)作用(c1、c2大,f變?。?,其典型值為30pf。圖4-2 cmos型單片機(jī)時(shí)鐘電路框圖4.1.3 復(fù)位電路計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使中央處理器cpu和系統(tǒng)中的其它部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。mcs-5

28、1單片機(jī)有一個(gè)復(fù)位引腳rst,它是史密特觸發(fā)輸入(對(duì)于chmos單片機(jī),rst引腳的內(nèi)部有一個(gè)拉低電阻),當(dāng)振蕩器起振后該引腳上出現(xiàn)2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘周期)以上的高電平,使器件復(fù)位,只要rst保持高電平,mcs-51保持復(fù)位狀態(tài)。此時(shí)ale、psen、p0、p1、p2、p3口都 輸出高電平。rst變?yōu)榈碗娖胶?,退出?fù)位,cpu從初始狀態(tài)開(kāi)始工作。單片機(jī)采用的復(fù)位方式是自動(dòng)復(fù)位方式。對(duì)于mos(at89c51)單片機(jī)只要接一個(gè)電容至vcc即可(見(jiàn)圖43)。在加電瞬間,電容通過(guò)電阻充電,就在rst端出現(xiàn)一定時(shí)間的高電平,只要高電平時(shí)間足夠長(zhǎng),就可以使mcs-51有效的復(fù)位。rst端在加電時(shí)

29、應(yīng)保持的高電平時(shí)間包括vcc的上升時(shí)間和振蕩器起振的時(shí)間,vss上升時(shí)間若為10ms,振蕩器起振的時(shí)間和頻率有關(guān)。10mhz時(shí)約為1ms,1mhz時(shí)約為10ms,所以一般為了可靠的復(fù)位,rst在上電應(yīng)保持20ms以上的高電平。rc時(shí)間常數(shù)越大,上電rst端保持高電平的時(shí)間越長(zhǎng)。若復(fù)位電路失效,加電后cpu從一個(gè)隨機(jī)的狀態(tài)開(kāi)始工作,系統(tǒng)就不能正常運(yùn)轉(zhuǎn)。圖4-3 上電復(fù)位電路4.1.4 顯示電路顯示電路采用led數(shù)碼管動(dòng)態(tài)顯示,led(light-emitting diode)是一種外加電壓從而渡過(guò)電流并發(fā)出可見(jiàn)光的器件。led是屬于電流控制器件,使用時(shí)必須加限流電阻。led有單個(gè)led和八段le

30、d之分,也有共陰和共陽(yáng)兩種。顯示器結(jié)構(gòu):常用的七段顯示器的結(jié)構(gòu)如圖44所示。發(fā)光二極管的陽(yáng)極連在一起的稱為共陽(yáng)極顯示器,陰極連在一起的稱為共陰極顯示器。1位顯示器由八個(gè)發(fā)光二極管組成,其中七個(gè)發(fā)光二極管ag控制七個(gè)筆畫(huà)(段)的亮或暗,另一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和暗,這種筆畫(huà)式的七段顯示器能顯示的字符較少,字符的開(kāi)頭有些失真,但控制簡(jiǎn)單,使用方便。此外,要畫(huà)出電路圖,首先還要搞清楚他的引腳圖的分布,在了解了正確的引腳圖后才能進(jìn)行正確的字型段碼編碼。才能顯示出正確的數(shù)字來(lái),如圖4-5所示,為七段數(shù)碼管的管腳圖。圖4-4 七段發(fā)光顯示器的結(jié)構(gòu)圖4-5 七段發(fā)光顯示器管腳的結(jié)構(gòu)驅(qū)動(dòng)方式:采用的數(shù)碼管驅(qū)動(dòng)

31、為7407,它的全名為7407 ttl 集電極開(kāi)路六正相高壓驅(qū)動(dòng)器,其結(jié)構(gòu)簡(jiǎn)單,使用方便,圖4-6為7407的圖以及各個(gè)引腳的分布功能介紹。圖4-6 7407管腳的結(jié)構(gòu)顯示方式:為了節(jié)省i/o口線,我們采用的動(dòng)態(tài)顯示方式。所謂動(dòng)態(tài)顯示,就一位一位地輪流點(diǎn)亮各位顯示器(掃描),對(duì)于每一位顯示器來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。調(diào)整電流和時(shí)間參數(shù),可實(shí)現(xiàn)亮度較高較穩(wěn)定的顯示。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需8位口(稱為掃描口),控制各位顯示器所顯示的字形也需一個(gè)8位口(稱為段數(shù)據(jù)口)。本次設(shè)計(jì)要求的轉(zhuǎn)速測(cè)量范圍60r/m

32、in-36000r/min,所以只需要5位數(shù)碼管即可。5位共陰極顯示器和at89c51的接口邏輯如圖4-7所示。at89c51的p0口作為段數(shù)據(jù)口,接上拉電阻到顯示器的各個(gè)段;p2口作為掃描口,經(jīng)同相驅(qū)動(dòng)器7407接顯示器公共極。對(duì)于圖4-7中的5位顯示器,在at89c51ram存貯器中設(shè)置五個(gè)顯示緩沖器單元30h35h,分別存放5位顯示器的顯示數(shù)據(jù),at89c51的p2口掃描輸出總是只在一位為低電平,即5位顯示器中僅有一位公共陰極為低電平,其它位為高電平,at89c51的p0口相應(yīng)位(陰極為低)的顯示數(shù)據(jù)的段數(shù)據(jù),使該位顯示出一個(gè)字符,其它們?yōu)榘担来蔚馗淖僷2口輸出為高的位,p0口輸出對(duì)應(yīng)

33、的段數(shù)據(jù),5位顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。圖4-7 五位動(dòng)態(tài)顯示電路4.2 霍爾傳感器簡(jiǎn)介4.2.1 霍爾器件概述霍爾元件是一種基于霍爾效應(yīng)的磁傳感器,已發(fā)展成一個(gè)品種多樣的磁傳感器產(chǎn)品族,并已得到廣泛應(yīng)用。霍爾元件是一種磁傳感器。要他們可以檢測(cè)磁場(chǎng)及其變化,可以在各種與磁場(chǎng)有關(guān)的場(chǎng)合中?;魻柶骷曰魻栃?yīng)為其工作基礎(chǔ)?;魻柶陂g具有許多優(yōu)點(diǎn),他們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長(zhǎng),安裝方便,功耗小,頻率高(可達(dá)1mhz),耐震動(dòng),不怕灰塵、水汽及煙霧等污染或腐蝕?;魻柧€性器件的精度高、線性度好;霍爾開(kāi)關(guān)器件無(wú)觸點(diǎn)、無(wú)磨損、輸出波形清晰、無(wú)抖動(dòng)、無(wú)回調(diào)、位置重復(fù)精度高(可達(dá)um

34、級(jí))。采用了各種補(bǔ)償措施的霍爾器件的工作溫度范圍廣,可達(dá)55-150度。按照霍爾器件的功能可將他們分為:霍爾線性器件和霍爾開(kāi)關(guān)器件。前者輸出模擬量,后者輸出數(shù)字量。按被檢測(cè)的對(duì)象的性質(zhì)可將它們分為:直接應(yīng)用和間接應(yīng)用。前者是直接檢測(cè)出被測(cè)對(duì)象本身的磁場(chǎng)或磁特性,后者是檢測(cè)被檢測(cè)對(duì)象上人為設(shè)置的磁場(chǎng),用這個(gè)磁場(chǎng)作為被檢測(cè)信息的載體,通過(guò)它,將許多非電、非磁的物理量例如力、力矩、壓力、應(yīng)力、位置、位移、加速度、角度、角速度、轉(zhuǎn)速、轉(zhuǎn)數(shù)以及工作狀態(tài)發(fā)生變化的時(shí)間等,轉(zhuǎn)換成電量來(lái)進(jìn)行檢測(cè)和控制。集成霍爾傳感器是利用硅集成電路工藝將霍爾元件和測(cè)量線路集成在一起的一種傳感器。它取消了傳感器和測(cè)量電路之間的

35、界限,實(shí)現(xiàn)了材料、元件、電路三位一體。集成霍爾傳感器與分立相比,由于減少了焊點(diǎn),因此顯著地提高了可靠性。此外,它具有體積小、重量輕、功耗低等優(yōu)點(diǎn),正越來(lái)越愛(ài)到眾的重視。集成霍爾傳感器的輸出是經(jīng)過(guò)處理的霍爾輸出信號(hào)。按照輸出信號(hào)的形式,可以分為開(kāi)關(guān)型集成霍爾傳感器和線性集成霍爾傳感器兩種類型。開(kāi)關(guān)型集成霍爾傳感器是把霍爾元件的輸出經(jīng)過(guò)處理后輸出一個(gè)高電平或低電平的數(shù)字信號(hào)?;魻栭_(kāi)關(guān)電路又稱霍爾數(shù)字電路,由穩(wěn)壓器、霍爾片、差分放大器,斯密特觸發(fā)器和輸出級(jí)組成。4.2.2 霍爾傳感器的應(yīng)用使用霍爾器件檢測(cè)磁場(chǎng)的方法極為簡(jiǎn)單,將霍爾器件做成各種形式的探頭,放在被測(cè)磁場(chǎng)中,因霍爾器件只對(duì)垂直于霍爾片表面

36、的磁感應(yīng)強(qiáng)度敏感,因而必須令磁力線和器件表面垂直,通電后即可由輸出電壓得到被測(cè)磁場(chǎng)的磁感應(yīng)強(qiáng)度。若不垂直,則應(yīng)求出其垂直分量來(lái)計(jì)算被測(cè)磁場(chǎng)的磁感應(yīng)強(qiáng)度值。而且,因霍爾元件的尺寸極小,可以進(jìn)行多點(diǎn)檢測(cè),由計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理,可以得到場(chǎng)的分布狀態(tài),并可對(duì)狹縫,小孔中的磁場(chǎng)進(jìn)行檢測(cè)用磁場(chǎng)作為被傳感物體的運(yùn)動(dòng)和位置信息載體時(shí),一般采用永久磁鋼來(lái)產(chǎn)生工作磁場(chǎng)。例如,用一個(gè)542.5(mm3)的釹鐵硼號(hào)磁鋼,就可在它的磁極表面上得到約2300高斯的磁感應(yīng)強(qiáng)度。在空氣隙中,磁感應(yīng)強(qiáng)度會(huì)隨距離增加而迅速下降。為保證霍爾器件,尤其是霍爾開(kāi)關(guān)器件的可靠工作,在應(yīng)用中要考慮有效工作氣隙的長(zhǎng)度。在計(jì)算總有效工作氣隙時(shí)

37、,應(yīng)從霍爾片表面算起。在封裝好的霍爾電路中,霍爾片的深度在產(chǎn)品手冊(cè)中會(huì)給出。 因?yàn)榛魻柶骷枰ぷ麟娫?,在作運(yùn)動(dòng)或位置傳感時(shí),一般令磁體隨被檢測(cè)物體運(yùn)動(dòng),將霍爾器件固定在工作系統(tǒng)的適當(dāng)位置,用它去檢測(cè)工作磁場(chǎng),再?gòu)臋z測(cè)結(jié)果中提取被檢信息。4.2.3 ah41霍爾開(kāi)關(guān)ah41霍爾開(kāi)關(guān)電路最適于響應(yīng)變化斜率陡峭的磁場(chǎng)并在磁通密度較弱的場(chǎng)合使用,適用于單極或多對(duì)磁環(huán)工作,它由反向電壓保護(hù)器、電壓調(diào)整器、霍爾電壓發(fā)生器、信號(hào)放大器、史密特觸發(fā)器和集電極開(kāi)路的輸出級(jí)組成。工作溫度范圍為-40 150(存儲(chǔ)溫度為150),可適用于各種機(jī)及機(jī)電一體化領(lǐng)域。 電參數(shù): 參數(shù) 符號(hào) 測(cè)試條件 量值 單位 最小

38、典型 最大電源電壓vcc4.5-24v輸出低電平電壓 vout iout=20ma bbop-200-400mv輸出高電平電流 ioff vout=24v b 電源電流iccvcc=24v 輸出端開(kāi)路 10 ma輸出上升時(shí)間trvcc=12v rl=1.1k cl=20pf-0.12s輸出下降時(shí)間tfvcc=12v rl=1.1k cl=20pf-0.18s 產(chǎn)品特點(diǎn):.電源電壓范圍寬.可用市售的小磁環(huán)來(lái)驅(qū)動(dòng).無(wú)可動(dòng)部件、可靠性高.尺寸小.抗環(huán)境應(yīng)力.可直接同雙極和mos邏輯電路接口應(yīng)用:.高靈敏的無(wú)觸點(diǎn)開(kāi)關(guān).直流無(wú)刷電機(jī).直流無(wú)刷風(fēng)機(jī). 霍爾開(kāi)關(guān)元件的電路圖:圖4-8 霍爾傳感器的電路圖4.

39、3 發(fā)送模塊根據(jù)系統(tǒng)功能要求,要使單片機(jī)測(cè)量的轉(zhuǎn)速能夠向上位機(jī)發(fā)送數(shù)據(jù),硬件電路中必須要考慮到單片機(jī)的發(fā)送部分,由于單片機(jī)通過(guò)串口發(fā)送出來(lái)的是ttl邏輯電平(0v和5v),而計(jì)算機(jī)rs-232總線上輸入、輸出數(shù)據(jù)和控制信號(hào)為+12v左右的電壓,單片機(jī)要和pc的上位機(jī)通信就必須是電平一致,所以發(fā)送部分關(guān)鍵的部分是電平轉(zhuǎn)換和串口發(fā)送,電平轉(zhuǎn)換可以用模擬器件進(jìn)行轉(zhuǎn)換,但是為了方便起見(jiàn),本次設(shè)計(jì)采用的是集成芯片,一個(gè)芯片加上它的外圍電路即可完成電平的轉(zhuǎn)換的工作。結(jié)構(gòu)簡(jiǎn)單、方便容易,精確度高。本次所采用的是hin232cp,我們要對(duì)其外圍電路進(jìn)行設(shè)計(jì),下面我們將詳細(xì)的敘述。數(shù)據(jù)的傳輸:當(dāng)電路工作于發(fā)送數(shù)

40、據(jù)狀態(tài)時(shí),pc機(jī)的rts端輸出高電平,經(jīng)ic1電平轉(zhuǎn)換打開(kāi)ic3(74ls08)的與門(mén)b1,使pc機(jī)txd端輸出的數(shù)據(jù)經(jīng)紅外發(fā)射電路發(fā)射出去;rts信號(hào)ic1反相后作為cts信號(hào)送入計(jì)算機(jī),同時(shí)還關(guān)閉與門(mén)b2;使計(jì)算機(jī)不接收其它數(shù)據(jù)信號(hào)。該必發(fā)器的數(shù)據(jù)傳輸速率最好設(shè)在9600b/s為宜,以確保數(shù)據(jù)傳輸?shù)目煽啃?。器件的介紹:1、rs-232crs-232c是美國(guó)電氣工業(yè)協(xié)會(huì)推廣使用的一種串行通信總路線標(biāo)準(zhǔn),是dce(數(shù)據(jù)通信設(shè)備,如微機(jī))和dte(數(shù)據(jù)終端設(shè)備,如crt)間傳輸串行數(shù)據(jù)的接口總線。rs-232c最大傳輸距離為15m,最高傳輸速率約20kbps,信號(hào)的邏輯0電平為+3v+15v。邏

41、輯1電平為-3v-15v。電氣特性:eia-rs-232c對(duì)電器特性、邏輯電平和各種信號(hào)線功能都作了規(guī)定;在txd和rxd上:邏輯1(mark) =-3v-15v 邏輯0(space)=+315v在rts、cts、dsr、dtr和dcd等控制線上:信號(hào)有效(接通,on狀態(tài),正電壓)+3v+15v信號(hào)無(wú)效(斷開(kāi),off狀態(tài),負(fù)電壓)-3v-15v2、rs-232連接器db-9db-9是rs-232信號(hào)線的連接器,其連接器的機(jī)械特性見(jiàn)圖(49),表 4-1所示rs-232信號(hào)線名稱、符號(hào)以及對(duì)應(yīng)在db-9上的針腳號(hào)。圖4-9 連接器的機(jī)械特性表4-1 rs-232信號(hào)線和db-9引腳關(guān)系tab.4

42、-1 rs-232 signal lines and db-9-pin relations符 號(hào)名 稱引 腳dcdrxdtxddtrgnddsr rtsctsri接收信號(hào)載波檢測(cè)數(shù)據(jù)接收線數(shù)據(jù)發(fā)送線dte裝置數(shù)據(jù)就緒公共地dce裝置就緒請(qǐng)求發(fā)送清除發(fā)送振鈴指示123456789圖410電平轉(zhuǎn)換電路原理圖3、電平轉(zhuǎn)換器hin232cpe由于rs-232c總線上傳輸?shù)男盘?hào)邏輯電平與ttl邏輯電平差異很大,所以就存在這兩種電平的轉(zhuǎn)換問(wèn)題,下面就介紹一下電平轉(zhuǎn)換器hin232cpe。hin232cpe能將rs-232c電平轉(zhuǎn)換成ttl電平,也能將ttl電平轉(zhuǎn)換成rs-232c電平,只需單+5v供電,由

43、內(nèi)部升高電路產(chǎn)生10v+12v。內(nèi)部有兩個(gè)發(fā)送器(ttl電平轉(zhuǎn)換為rs-232c電平)和兩個(gè)接收器(rs-232電平轉(zhuǎn)換為ttl電平)。hin232cpe芯片引腳排列和外部元件連接線路如圖411所示。圖 411hin232cpe 電平轉(zhuǎn)換器及外接元件圖5 軟件設(shè)計(jì)本章重點(diǎn)闡述測(cè)量轉(zhuǎn)速的匯編語(yǔ)言。以及軟件設(shè)計(jì)的過(guò)程。軟件需要解決的是單片機(jī)中斷服務(wù)程序的設(shè)計(jì)、計(jì)算程序的設(shè)計(jì)、顯示部分的程序設(shè)計(jì)以及在我們這里非重點(diǎn)介紹的通信程序設(shè)計(jì)。5.1 單片機(jī)轉(zhuǎn)速程序設(shè)計(jì)思路及過(guò)程單片機(jī)測(cè)量轉(zhuǎn)速可以分為若干模塊,然后在主程序中調(diào)用各個(gè)模塊, 流程圖如下圖所示。開(kāi)始初 始 化計(jì)算程序bcd碼轉(zhuǎn)換非壓縮bcd轉(zhuǎn)換顯

44、 示 程 序返 回圖 51主程序流程圖5.1.1 單片機(jī)程序設(shè)計(jì)思路計(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/12n=55296000/n再將55296000化為二進(jìn)制存入單片機(jī)的內(nèi)存單元。下面我們將介紹除數(shù)是如何獲得的:?jiǎn)纹瑱C(jī)的轉(zhuǎn)速測(cè)量完成,定時(shí)器t0作為內(nèi)部定時(shí)器,外部中斷來(lái)的時(shí)候讀取th0,tl0,并同時(shí)清零th0、tl0,使定

45、時(shí)器再次循環(huán)計(jì)內(nèi)部脈沖。此外,對(duì)于低速情況下,我們還要設(shè)定一個(gè)軟件計(jì)數(shù)器vtt,當(dāng)外部中斷還沒(méi)來(lái)而內(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足夠)的程序。為數(shù)碼管能夠顯示出來(lái),需將二進(jìn)制轉(zhuǎn)換為十進(jìn)制,在將十進(jìn)制轉(zhuǎn)換為非壓縮bcd碼后,才能調(diào)用查表程序,最后送顯示。5.1.2 單片機(jī)轉(zhuǎn)速計(jì)算程序由于本次設(shè)計(jì)的系統(tǒng)要實(shí)現(xiàn)的功能是將霍爾傳感器的信號(hào)送到單片機(jī)的外部中斷口,再對(duì)周期方波進(jìn)行內(nèi)部計(jì)數(shù),調(diào)用計(jì)算程序把轉(zhuǎn)速測(cè)出來(lái)??梢哉f(shuō)是核心部分,流程圖如圖

46、所示:開(kāi) 始被除數(shù)初始化讀取定時(shí)值調(diào)用除法程序返 回圖52 計(jì)算程序流程圖計(jì)算程序中又再次調(diào)用了除法程序,這里的除法為四字節(jié)除三字節(jié)商為兩字節(jié),除法的程序的編程思想可以和手工計(jì)算的除法相似,比較減法的思想,流程圖如圖5-3所示具體程序見(jiàn)附錄。5.1.3 二-十進(jìn)制轉(zhuǎn)換程序計(jì)算程序計(jì)算出來(lái)的數(shù)據(jù)為二進(jìn)制,存到50h、51h單元中以便發(fā)送程序中調(diào)用傳送數(shù)據(jù)到計(jì)算機(jī),計(jì)算機(jī)可識(shí)別二進(jìn)制,然而,我們需要在led上顯示,查表程序需要拆分的bcd碼,所以二進(jìn)制必須先轉(zhuǎn)換成bcd后才能拆分。這里介紹將(r2r3)中的16位二進(jìn)制數(shù)轉(zhuǎn)換為壓縮bcd碼十進(jìn)制整數(shù)送r4、r5、r6。除 法移位次數(shù) 計(jì)數(shù)器上商1,

47、減去除數(shù)返回被除數(shù)左移1位被除數(shù) 除數(shù)上商0 y n計(jì)數(shù)器減1計(jì)數(shù)器=0?圖53除法程序流程圖開(kāi)始c(r2r3)左移1位(移出位bi在c中)(r7)-1r7=0?按照數(shù)制轉(zhuǎn)換方法可以畫(huà)出流程圖。0-r4、r5、r616-r72*(r4r5r6)+c - r4r5r6(十進(jìn)制運(yùn)算)返 回圖 54雙字節(jié)整數(shù)二翻十程序流程圖單片機(jī)顯示部分可以用來(lái)顯示計(jì)算出來(lái)的數(shù)據(jù)的。在程序設(shè)計(jì)中,在at89c51ram存貯器中的四個(gè)顯示緩沖器單元30h34h,分別存放著由計(jì)算出來(lái)的轉(zhuǎn)速的bcd碼進(jìn)行拆分后的非壓縮bcd碼數(shù)據(jù),at89c51的p1口掃描輸出總是只有一位為低電平、其它位為高電平,at89c51的p0口

48、相應(yīng)位的顯示數(shù)據(jù)的段數(shù)據(jù),使該位顯示出一個(gè)字符,其它們?yōu)榘?,依次地改變p1口輸出為低高的位,p0口輸出對(duì)應(yīng)的段數(shù)據(jù),5位led顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。顯示部分程序分為兩部分:十進(jìn)制bcd轉(zhuǎn)換成非壓縮bcd碼;查表程序顯示數(shù)據(jù)。雙字節(jié)整數(shù)拆分程序流程圖如圖5-5開(kāi) 始高字節(jié)r4送30hr5與 0f0h相與交換后送31hr5與0fh相與后送32hr6與 0f0h相與交換后送33hr6與0fh相與后送34h返 回圖 55雙字節(jié)整數(shù)拆分程序流程圖顯示程序流程圖如圖5-6所示:5.2 程序設(shè)計(jì)根據(jù)以上設(shè)計(jì)思路和各個(gè)模塊的流程圖即可編寫(xiě)出本次畢業(yè)設(shè)計(jì)的程序,注意其中各個(gè)模塊間的參數(shù)傳

49、遞以及堆棧指針等問(wèn)題,程序設(shè)計(jì)的任務(wù)即可完成,寫(xiě)出初始的程序,再進(jìn)行上機(jī)調(diào)試,這些我們將具體在下章中加以詳細(xì)敘述。開(kāi)始30h-r0,表首地址-dptr,(r1)=0feh(r0)賦值給a(r1)=0dfh?a+dptr賦值給p0(r1)=p1,(r1)=a,rl ainc r0 ,a=(r1)n 結(jié)束圖 56顯示程序流程圖6 系統(tǒng)調(diào)試電路調(diào)試是整個(gè)系統(tǒng)功能否實(shí)現(xiàn)的關(guān)鍵步驟,我們將整個(gè)調(diào)試過(guò)程分為三大部分:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。6.1 硬件調(diào)試硬件調(diào)試主要是針對(duì)我的轉(zhuǎn)速測(cè)量系統(tǒng)的單片機(jī)硬件電路分別進(jìn)行調(diào)試。這一部分硬件調(diào)試主要分成兩大塊:上電前的調(diào)試和上電后的調(diào)試。上電前的調(diào)試在上電前,

50、我們必須確保電路中不存在斷路或短路情況,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)試中主要使用的工具是萬(wàn)用表,用來(lái)完成檢測(cè)電路中是否存在斷路或者短路情況等。特別是數(shù)碼管的連接部分,有protel制作的pcb確保要和原理圖上的圖一致,有些在電路板上沒(méi)法連接的線路,要用短接線把接好,對(duì)照著原理圖部分,一部分一部分地用萬(wàn)用表測(cè)量,注意焊點(diǎn)之間,確保焊點(diǎn)沒(méi)有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒(méi)有開(kāi)路以及短路的現(xiàn)象出現(xiàn)。上電后的調(diào)試在確保硬件電路正常,無(wú)異常情況(斷路或短路)方可上電調(diào)試,上電調(diào)試的目的是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確,在本次課程設(shè)計(jì)中,上電調(diào)試主要

51、只轉(zhuǎn)速測(cè)量系統(tǒng)的單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和上位機(jī)通信是的電平轉(zhuǎn)換和串口通信部分的硬件調(diào)試。1、單片機(jī)控制部分硬件調(diào)試:這一部分調(diào)試主要是檢查時(shí)鐘電路、復(fù)位電路是否接對(duì),單片機(jī)的電源以及地是否接好,以及其他的一些管腳的接法。看單片機(jī)通電后能否可以正常工作等這一系列問(wèn)題。2、數(shù)碼管led電路調(diào)試:由于數(shù)碼管采用的是動(dòng)態(tài)掃描的方式點(diǎn)亮的。數(shù)碼管的公共端(com)接在7407驅(qū)動(dòng)再接到單片機(jī)的p2口作為位選信號(hào),字型是接在p0口。電路上電檢查7407是否接上電源和地讓其正常工作。在這一前提下,查看數(shù)碼管能否點(diǎn)亮。只需要接仿真機(jī)上編寫(xiě)一個(gè)小程序讓5位led全亮,或者讓它們其中的某位點(diǎn)亮,也可以顯

52、示不同的數(shù)字,根據(jù)要求給p0口,p2口分別賦值。即可檢查數(shù)碼管的硬件電路是否正確,即可判斷顯示驅(qū)動(dòng)電路整個(gè)完整,首先排除這里的故障。3、發(fā)送部分硬件電路調(diào)試:這一部分電路硬件調(diào)試主要完成任務(wù)是使得通過(guò)hin232cpe電平轉(zhuǎn)換器轉(zhuǎn)換前后的電平關(guān)系。可以用示波器和萬(wàn)用表檢查電平轉(zhuǎn)換前后的關(guān)系,這里不在贅述。6.2 軟件調(diào)試單片機(jī)程序調(diào)試思路:?jiǎn)纹瑱C(jī)部分調(diào)試工作的完成主要應(yīng)用lca51軟件來(lái)完成,這一部分工作首先將轉(zhuǎn)速測(cè)量系統(tǒng)中的各個(gè)模塊計(jì)算程序中的除法程序、雙字節(jié)的二-十進(jìn)制數(shù)制轉(zhuǎn)換程序,壓縮bcd碼十進(jìn)制數(shù)轉(zhuǎn)換為非壓縮bcd碼的程序以及顯示部分程序調(diào)試好,不斷調(diào)試,不斷修改直到正確為止。lca

53、51軟件是一種非常實(shí)用的多窗口編輯、調(diào)試軟件。 lca51軟件全面支持匯編語(yǔ)言,c51語(yǔ)言,pl/m51語(yǔ)言的編譯/連接、調(diào)試。軟件支持單文件方式和工程化管理兩種模式。用戶可自定義各種語(yǔ)言的關(guān)鍵詞.軟件完全支持源語(yǔ)句級(jí)在線調(diào)試。高級(jí)語(yǔ)言還支持源文件調(diào)試和匯編語(yǔ)言指令行對(duì)照調(diào)試。用戶可同時(shí)打開(kāi)多個(gè)窗體編輯、調(diào)試、變量觀察.用戶可在線對(duì)原文件直接編輯、編譯、連接、加載和調(diào)試,軟件支持編譯錯(cuò)誤源文件定位。調(diào)試時(shí)用戶可動(dòng)態(tài)觀察、修改設(shè)定變量(包括cpu片內(nèi)寄存器、特殊寄存器及外部寄存器、內(nèi)存)的值。調(diào)試主要方法和技巧: 通常一個(gè)調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷點(diǎn)、查看變量、更改數(shù)值。1.跟蹤調(diào)試

54、 調(diào)試應(yīng)用程序所提供的重要性能也許就是跟蹤應(yīng)用程序。跟蹤應(yīng)用程序使用戶能夠在運(yùn)行應(yīng)用程序時(shí),看到pc指針在應(yīng)用源代碼程序中的確切位置,lca51提供以下方法對(duì)程序的執(zhí)行進(jìn)行跟蹤。 跟蹤型單步執(zhí)行一條源語(yǔ)句程序。但是,如果調(diào)用一函數(shù),則進(jìn)入函數(shù)中,再執(zhí)行函數(shù)的第一條源語(yǔ)句行前停止。 通過(guò)型單步僅執(zhí)行下一條源語(yǔ)句程序,然后又停止。如果是調(diào)用一函數(shù),運(yùn)行完整個(gè)函數(shù)并停止在函數(shù)返回處。2.斷點(diǎn)調(diào)試 如果已知程序中某塊代碼實(shí)際運(yùn)行正常的情況下,仍用跟蹤調(diào)試方法,將大大浪費(fèi)時(shí)間,而且很枯燥,因此調(diào)試中第二個(gè)重要工具是在源代碼中預(yù)定處設(shè)置斷點(diǎn),大多數(shù)調(diào)試程序通過(guò)使用斷點(diǎn)中止程序執(zhí)行。注意:如果用戶調(diào)試高級(jí)語(yǔ)言,因?yàn)橄到y(tǒng)要占用2個(gè)斷點(diǎn),所以可設(shè)置的斷點(diǎn)數(shù)為最大斷點(diǎn)個(gè)數(shù)減2。 lca51調(diào)試軟件還提供一次性斷點(diǎn):執(zhí)行到光標(biāo)所在行。如果用戶按熱鍵f4,調(diào)試程序繼續(xù)執(zhí)行程序代碼,直到它到達(dá)光標(biāo)行處或調(diào)試程序遇到另一個(gè)斷點(diǎn)。3.查看變量 顯然,通過(guò)一

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論