2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  基于單片機(jī)的電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)</p><p>  作者: 指導(dǎo)老師: </p><p> ?。ò不辙r(nóng)業(yè)大學(xué)繼續(xù)教育院 09級(jí)電子信息工程 合肥 )</p><p><b>  摘 要</b></p><p>  在工程實(shí)踐中,經(jīng)常會(huì)遇到各種需要測(cè)量轉(zhuǎn)速的場(chǎng)合,測(cè)量轉(zhuǎn)速的方法分為模擬式

2、和數(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è)量方法。</p><p>  本文便是運(yùn)用AT89C51單片機(jī)控制的智能化轉(zhuǎn)速測(cè)量?jī)x。電機(jī)在運(yùn)行過程中,需要對(duì)其進(jìn)行監(jiān)控,轉(zhuǎn)速是一個(gè)必不可少的一個(gè)參數(shù)。本系統(tǒng)就是對(duì)電機(jī)轉(zhuǎn)速進(jìn)行測(cè)量

3、,并可以和PC機(jī)進(jìn)行通信,顯示電機(jī)的轉(zhuǎn)速,并觀察電機(jī)運(yùn)行的基本狀況。</p><p>  本設(shè)計(jì)主要用AT89C51作為控制核心,由霍爾傳感器、LED數(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ù)碼管上。</p><p>  其優(yōu)點(diǎn)硬件是電路簡(jiǎn)單,軟件功能

4、完善,測(cè)量速度快、精度高、控制系統(tǒng)可靠,性價(jià)比較高等特點(diǎn)。</p><p>  關(guān)鍵字:MSC-51(單片機(jī)); 轉(zhuǎn)速; 傳感器</p><p><b>  Abstract</b></p><p>  In the project practice, we will meet each kind to need frequently to s

5、urvey the rotational speed the situation, the survey rotational 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,

6、 obtains the signal simulates the quantity. Digital usually uses the electro-optical encoder, the Hall part and so on is the detecting element, obtains the signal is the signal impulse. Along with microcompute</p>

7、<p>  Keyword:MSC-51(One-chip computer); sensor; Tachometer</p><p><b>  目 錄</b></p><p><b>  摘 要1</b></p><p>  Abstract2</p><p><b

8、>  1 序 言4</b></p><p>  2 系統(tǒng)功能分析2</p><p>  2.1 系統(tǒng)功能概述2</p><p>  2.2 系統(tǒng)要求及主要內(nèi)容3</p><p>  3 系統(tǒng)總體設(shè)計(jì)4</p><p>  3.1 硬件電路設(shè)計(jì)思路4</p><p>

9、;  3.2 軟件設(shè)計(jì)思路5</p><p>  4 硬件電路設(shè)計(jì)6</p><p>  4.1 單片機(jī)模塊6</p><p>  4.1.1 處理執(zhí)行元件6</p><p>  4.1.2 時(shí)鐘電路10</p><p>  4.1.3 復(fù)位電路11</p><p>  4.1.4

10、顯示電路12</p><p>  4.2 霍爾傳感器簡(jiǎn)介15</p><p>  4.2.1 霍爾器件概述15</p><p>  4.2.2 霍爾傳感器的應(yīng)用17</p><p>  4.2.3 AH41霍爾開關(guān)17</p><p><b>  5 軟件設(shè)計(jì)22</b></p&

11、gt;<p>  5.1 單片機(jī)轉(zhuǎn)速程序設(shè)計(jì)思路及過程23</p><p>  5.1.1 單片機(jī)程序設(shè)計(jì)思路23</p><p>  5.1.2 單片機(jī)轉(zhuǎn)速計(jì)算程序24</p><p>  5.1.3 二-十進(jìn)制轉(zhuǎn)換程序25</p><p>  5.2 程序設(shè)計(jì)28</p><p><b

12、>  6 系統(tǒng)調(diào)試30</b></p><p>  6.1 硬件調(diào)試30</p><p>  6.2 軟件調(diào)試31</p><p>  6.3 綜合調(diào)試33</p><p>  6.4 故障分析與解決方案34</p><p>  6.5 結(jié)論與經(jīng)驗(yàn)35</p><p&g

13、t;<b>  參考文獻(xiàn)37</b></p><p><b>  致 謝38</b></p><p>  總電路圖....................................................39</p><p><b>  1 序 言</b></p>

14、<p>  智能化轉(zhuǎn)速測(cè)量可以對(duì)電機(jī)的轉(zhuǎn)速進(jìn)行測(cè)量,電機(jī)在運(yùn)行的過程中,需要對(duì)其平穩(wěn)性進(jìn)行監(jiān)測(cè),適時(shí)對(duì)轉(zhuǎn)速的測(cè)量有效地可以反映電機(jī)的狀況。</p><p>  本系統(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è)量。</p><p>  單片機(jī)的英文名稱是Micro Controller unit

15、,縮寫為MCU,又稱為微控制器,它是一種面向控制的大規(guī)模集成電路芯片。它具有功能強(qiáng)、體積小、可靠性高、應(yīng)用簡(jiǎn)單靈活,因而使用非常廣泛,有力地推動(dòng)各行業(yè)的技術(shù)發(fā)展和更新?lián)Q代。 </p><p>  本文首先在第二章緒論介紹了此系統(tǒng)的功能、技術(shù)指標(biāo)以及主要內(nèi)容等;在第三章論述了總體設(shè)計(jì)過程,確定了技術(shù)指標(biāo)及器件的選擇;第四章著重描述了系統(tǒng)硬件電路設(shè)計(jì)、硬件設(shè)計(jì)框圖及所使用的各種芯片功能與特性;在第五章中重點(diǎn)剖析了

16、軟件設(shè)計(jì)的過程;最后在第六章中具體論述單片機(jī)、電平轉(zhuǎn)換電路、通信的處理及調(diào)試。</p><p>  由于本人水平有限,加之時(shí)間倉(cāng)促,論文中難免會(huì)有錯(cuò)誤和不足之外,不夠理想、許多方面還需要繼續(xù)完善和改進(jìn)。在這里懇請(qǐng)指導(dǎo)老師和各位專家老師批評(píng)指正。在此特別感謝我的指導(dǎo)老師郭順京老師的大力指導(dǎo)。</p><p><b>  2 系統(tǒng)功能分析</b></p>&

17、lt;p>  2.1 系統(tǒng)功能概述</p><p><b>  功能:</b></p><p>  系統(tǒng)主要實(shí)現(xiàn)功能是:AT89C51單片機(jī)接收霍爾傳感器傳來的脈沖信號(hào),單片機(jī)根據(jù)外部中斷,以及內(nèi)部定時(shí)器進(jìn)行記數(shù)計(jì)算出電機(jī)轉(zhuǎn)速送到LED顯示,同時(shí)數(shù)據(jù)傳給PC機(jī),并在PC機(jī)屏幕上顯示出來。記錄各時(shí)段的轉(zhuǎn)速,畫出V-T坐標(biāo)圖。</p><p>

18、;<b>  組成及框圖:</b></p><p>  本系統(tǒng)通信部分是單片機(jī)經(jīng)電平轉(zhuǎn)換電路HIN232CP之后,通過串口RS-232發(fā)送數(shù)據(jù),由PC微機(jī)接收,微機(jī)部分用Visual Basic軟件編寫的界面作為PC機(jī)部分與單片機(jī)進(jìn)行串口之間通信。</p><p>  傳感器電路、轉(zhuǎn)速測(cè)量、LED顯示、電平轉(zhuǎn)換電路設(shè)計(jì)等將在以下章節(jié)作詳細(xì)地設(shè)計(jì)。</p>

19、<p>  圖2-1 系統(tǒng)硬件電路</p><p><b>  應(yīng)用:</b></p><p>  從實(shí)用的角度看,評(píng)價(jià)一個(gè)系統(tǒng)實(shí)用價(jià)值的重要標(biāo)準(zhǔn),就是這個(gè)系統(tǒng)對(duì)社會(huì)生活和科技觀念有多大的貢獻(xiàn)。轉(zhuǎn)速測(cè)量系統(tǒng)具有大范圍、高精度等優(yōu)點(diǎn)、測(cè)量速度快,這種系統(tǒng)將會(huì)有良好的應(yīng)用。</p><p>  2.2 系統(tǒng)要求及主要內(nèi)容</p&g

20、t;<p>  將霍爾傳感器產(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í)通過串口向上位機(jī)發(fā)送轉(zhuǎn)速數(shù)據(jù)。</p><p><b>  主要內(nèi)容:</b></p><p>  (1) 單片機(jī)部分主要完成電機(jī)轉(zhuǎn)速的測(cè)量</p><

21、p>  (2) LED部分主要是把轉(zhuǎn)速顯示出來,顯示范圍60-36000r/min</p><p>  (3) 發(fā)送部分主要是完成電平轉(zhuǎn)換,送RS232向PC發(fā)送數(shù)據(jù)。</p><p>  (4) PC機(jī)部分主要完成將數(shù)據(jù)顯示在界面并描繪出V-T圖</p><p>  2.3 系統(tǒng)技術(shù)指標(biāo)</p><p>  系統(tǒng)主要完成以下功能:

22、</p><p><b>  測(cè)量系統(tǒng):</b></p><p>  1.設(shè)計(jì)并制作單片機(jī)的轉(zhuǎn)速測(cè)量的硬件系統(tǒng);</p><p>  2.用匯編語言完成轉(zhuǎn)速測(cè)量的軟件系統(tǒng);</p><p>  3.要求把轉(zhuǎn)速顯示在5位LED上,精度為0.1%;</p><p>  4.能向上位機(jī)發(fā)送數(shù)據(jù);<

23、/p><p>  5.用9針RS-232即可;</p><p><b>  通信部分:</b></p><p>  1.在微機(jī)部分采用Visual Basic編制RS—232通信軟件;</p><p>  2.通信軟件具有數(shù)據(jù)接受編輯框;</p><p>  3.通信軟件要適時(shí)對(duì)數(shù)據(jù)的記錄,用時(shí)間曲線

24、表示;</p><p>  根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能以及要求,要實(shí)現(xiàn)單片機(jī)的轉(zhuǎn)速測(cè)量主要是各個(gè)模塊的設(shè)計(jì),定時(shí)器記數(shù)功能、以及LED驅(qū)動(dòng)、電平轉(zhuǎn)換及PC機(jī)之間的通信。單片機(jī)可通過編程控制外圍部件,能實(shí)現(xiàn)較高的自動(dòng)化程度。以它為系統(tǒng)核心的控制模塊可實(shí)現(xiàn)主從控制,完成預(yù)定的任務(wù)。</p><p><b>  3 系統(tǒng)總體設(shè)計(jì)</b></p><p> 

25、 3.1 硬件電路設(shè)計(jì)思路</p><p>  硬件設(shè)計(jì)的任務(wù)是根據(jù)總體設(shè)計(jì)要求,在選擇的機(jī)型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計(jì)出系統(tǒng)的原理框圖、電路原理圖。</p><p>  89C51單片機(jī)通過INT0輸入傳感器的脈沖信號(hào),P0口P2口接LED動(dòng)態(tài)顯示。另由于PC系列微機(jī)串行口為RS232C標(biāo)準(zhǔn)接口,與輸入、輸出均為TTL電平的89C51單片機(jī)在接口規(guī)范上不一致,因此TT

26、L 電平到RS-232接口電平的轉(zhuǎn)換采用HIN232CP接口芯片,該芯片可以用單電壓(+5V)實(shí)現(xiàn)RS232接口邏輯“1”(-3V~-15V)和邏輯“0”(+3V~+15V)的電平轉(zhuǎn)換。</p><p>  轉(zhuǎn)速測(cè)量部分的硬件設(shè)計(jì)思路:本次設(shè)計(jì)單片機(jī)部分的硬件框圖如 圖2-1所示。</p><p>  圖3-1 單片機(jī)部分硬件框圖</p><p>  具體詳細(xì)的敘述

27、將在下面的章節(jié)中逐一介紹。</p><p>  3.2 軟件設(shè)計(jì)思路</p><p>  軟件需要解決的是定時(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ī)串行口的工作方式,包括串行口的通訊速

28、率、奇偶校驗(yàn)位、停止位等均由通信部分的軟件部分實(shí)現(xiàn)。</p><p>  軟件工作流程:霍爾傳感器利用磁電效應(yīng)產(chǎn)生一周期脈沖向單片機(jī)的外部中斷0(P3.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上。(同

29、時(shí)調(diào)用傳送程序向上位機(jī)送數(shù)據(jù),這里不是本文重點(diǎn))</p><p>  轉(zhuǎn)速部分軟件設(shè)計(jì)思路: AT89C51單片機(jī)的P3.2口接收傳感器的信號(hào)。主要編寫一個(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)用查表程序送顯示。為了和PC通信,系統(tǒng)要求單片機(jī)晶振11.05

30、92MHZ。軟件的具體設(shè)計(jì)我們將在下面的章節(jié)中作詳細(xì)介紹。</p><p><b>  4 硬件電路設(shè)計(jì)</b></p><p>  硬件的功能由總體設(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ī)的組裝等。

31、</p><p>  整個(gè)單片機(jī)測(cè)量轉(zhuǎn)速系統(tǒng)為單片機(jī)控制模塊、霍爾傳感器模塊、發(fā)送模塊,各個(gè)模塊都承擔(dān)著各自的任務(wù)。</p><p>  設(shè)計(jì)單片機(jī)模塊,考慮到單片機(jī)本身的外圍電路較多,所以在單片機(jī)模塊方面需要極為小心。在整個(gè)電路設(shè)計(jì)時(shí)要考慮電平轉(zhuǎn)換電路,具體每一部分的設(shè)計(jì)將在以下章節(jié)中詳細(xì)分析。</p><p><b>  4.1 單片機(jī)模塊</b

32、></p><p>  根據(jù)系統(tǒng)功能要求以及單片機(jī)硬件電路設(shè)計(jì)思路(如圖3-1)對(duì)單片機(jī)模塊進(jìn)行設(shè)計(jì),要使單片機(jī)準(zhǔn)確的測(cè)量電機(jī)轉(zhuǎn)速,并且使測(cè)出的數(shù)據(jù)能顯示出來,所以整個(gè)單片機(jī)部分分為傳感器電路、時(shí)鐘電路、復(fù)位電路、執(zhí)行元件以及顯示電路五個(gè)部分。</p><p>  4.1.1 處理執(zhí)行元件</p><p>  單片機(jī)我們采用AT89C51(其引腳圖如圖4-1)

33、,相較于INTEL公司的8051它本身帶有一定的優(yōu)點(diǎn)。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存貯器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的

34、AT89C51是一種高效微控制器, AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p>  圖4-1 AT89C51引腳圖</p><p><b>  主要特性:</b></p><p>  ·與MCS-51 兼容</p><p>  ·4K字節(jié)可編程閃爍存儲(chǔ)器 壽

35、命:1000寫/擦循環(huán)</p><p>  ·數(shù)據(jù)保留時(shí)間:10年</p><p>  ·全靜態(tài)工作:0Hz-24Hz</p><p>  ·三級(jí)程序存儲(chǔ)器鎖定</p><p>  ·128*8位內(nèi)部RAM</p><p>  ·32可編程I/O線</p>

36、<p>  ·兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b>  ·5個(gè)中斷源 </b></p><p><b>  ·可編程串行通道</b></p><p>  ·低功耗的閑置和掉電模式</p><p>  ·片內(nèi)振蕩器和時(shí)鐘電路&l

37、t;/p><p><b>  管腳說明:</b></p><p>  1.VCC:供電電壓;</p><p><b>  2.GND:接地;</b></p><p>  3.P0口:P0口為一個(gè)8位漏極開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于

38、外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p>  4.P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí)

39、,P1口作為第八位地址接收。</p><p>  5.P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“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)

40、對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p>  6.P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p>

41、  P3口也可作為AT89C51的一些特殊功能口,如下表4-1所示:</p><p>  7.RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p>  8.ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻

42、率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。</p><p>  表4-1 P3口的第二功能</p><p>  Tab.4-1 The second feature I P3</p><p>  P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)

43、。</p><p>  此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 9./PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 10./EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0

44、000H-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:來自反向振蕩器的輸出。</p><p><b>  振蕩器特性:</b></p&

45、gt;<p>  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石英振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b>  芯片擦除:</b></p><p&g

46、t;  整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p>  此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下

47、,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。</p><p>  4.1.2 時(shí)鐘電路</p><p>  時(shí)鐘電路是計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的工作節(jié)奏。MCS-51單片機(jī)允許的時(shí)鐘頻率是因型號(hào)而異的典型值為12MHZ</p><p>  MCS-51內(nèi)部都有一個(gè)反相放大器,XTAL1、XTAL2分別為反相放大器輸入和輸出端,

48、外接定時(shí)反饋元件以后就組成振蕩器,產(chǎn)生時(shí)鐘送至單片機(jī)內(nèi)部的各個(gè)部件。AT89C51是屬于CMOS8位微處理器,它的時(shí)鐘電路在結(jié)構(gòu)上有別于NMOS型的單片機(jī)。</p><p>  CMOS型單片機(jī)內(nèi)部(如AT89C51)有一個(gè)可控的負(fù)反饋反相放大器,外接晶振(或陶瓷諧振器)和電容組成振蕩器,圖4-2為CMOS型單片機(jī)時(shí)鐘電路框圖。振蕩器工作受/PD端控制,由軟件置“1”PD(即特殊功能寄存器PCON.1)使/PD=

49、0,振蕩器停止工作,整個(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。</p><p>  圖4-2 CMOS型單片機(jī)時(shí)鐘電路框圖</p>

50、<p>  4.1.3 復(fù)位電路</p><p>  計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使中央處理器CPU和系統(tǒng)中的其它部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。</p><p>  MCS-51單片機(jī)有一個(gè)復(fù)位引腳RST,它是史密特觸發(fā)輸入(對(duì)于CHMOS單片機(jī),RST引腳的內(nèi)部有一個(gè)拉低電阻),當(dāng)振蕩器起振后該引腳上出現(xiàn)2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘周期)以上的高電平,使器

51、件復(fù)位,只要RST保持高電平,MCS-51保持復(fù)位狀態(tài)。此時(shí)ALE、PSEN、P0、P1、P2、P3口都 輸出高電平。RST變?yōu)榈碗娖胶?,退出?fù)位,CPU從初始狀態(tài)開始工作。</p><p>  單片機(jī)采用的復(fù)位方式是自動(dòng)復(fù)位方式。對(duì)于MOS(AT89C51)單片機(jī)只要接一個(gè)電容至VCC即可(見圖4-3)。在加電瞬間,電容通過電阻充電,就在RST端出現(xiàn)一定時(shí)間的高電平,只要高電平時(shí)間足夠長(zhǎng),就可以使MCS-51有

52、效的復(fù)位。RST端在加電時(shí)應(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)。</p><p>  若復(fù)位電路失效,加電后CPU從一個(gè)隨機(jī)的狀態(tài)開始工作,系統(tǒng)就不能正常運(yùn)轉(zhuǎn)。</p&g

53、t;<p>  圖4-3 上電復(fù)位電路</p><p>  4.1.4 顯示電路</p><p>  顯示電路采用LED數(shù)碼管動(dòng)態(tài)顯示,LED(Light-Emitting Diode)是一種外加電壓從而渡過電流并發(fā)出可見光的器件。LED是屬于電流控制器件,使用時(shí)必須加限流電阻。LED有單個(gè)LED和八段LED之分,也有共陰和共陽兩種。</p><p>

54、<b>  顯示器結(jié)構(gòu):</b></p><p>  常用的七段顯示器的結(jié)構(gòu)如圖4-4所示。發(fā)光二極管的陽極連在一起的稱為共陽極顯示器,陰極連在一起的稱為共陰極顯示器。1位顯示器由八個(gè)發(fā)光二極管組成,其中七個(gè)發(fā)光二極管a~g控制七個(gè)筆畫(段)的亮或暗,另一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和暗,這種筆畫式的七段顯示器能顯示的字符較少,字符的開頭有些失真,但控制簡(jiǎn)單,使用方便。</p><

55、;p>  此外,要畫出電路圖,首先還要搞清楚他的引腳圖的分布,在了解了正確的引腳圖后才能進(jìn)行正確的字型段碼編碼。才能顯示出正確的數(shù)字來,如圖4-5所示,為七段數(shù)碼管的管腳圖。</p><p>  圖4-4 七段發(fā)光顯示器的結(jié)構(gòu)</p><p>  圖4-5 七段發(fā)光顯示器管腳的結(jié)構(gòu)</p><p><b>  驅(qū)動(dòng)方式:</b></

56、p><p>  采用的數(shù)碼管驅(qū)動(dòng)為7407,它的全名為7407 TTL 集電極開路六正相高壓驅(qū)動(dòng)器,其結(jié)構(gòu)簡(jiǎn)單,使用方便,圖4-6為7407的圖以及各個(gè)引腳的分布功能介紹。</p><p>  圖4-6 7407管腳的結(jié)構(gòu)</p><p><b>  顯示方式:</b></p><p>  為了節(jié)省I/O口線,我們采用的動(dòng)態(tài)

57、顯示方式。</p><p>  所謂動(dòng)態(tài)顯示,就一位一位地輪流點(diǎn)亮各位顯示器(掃描),對(duì)于每一位顯示器來說,每隔一段時(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/min-

58、36000r/min,所以只需要5位數(shù)碼管即可。5位共陰極顯示器和AT89C51的接口邏輯如圖4-7所示。AT89C51的P0口作為段數(shù)據(jù)口,接上拉電阻到顯示器的各個(gè)段;P2口作為掃描口,經(jīng)同相驅(qū)動(dòng)器7407接顯示器公共極。</p><p>  對(duì)于圖4-7中的5位顯示器,在AT89C51RAM存貯器中設(shè)置五個(gè)顯示緩沖器單元30H-35H,分別存放5位顯示器的顯示數(shù)據(jù),AT89C51的P2口掃描輸出總是只在一位為

59、低電平,即5位顯示器中僅有一位公共陰極為低電平,其它位為高電平,AT89C51的P0口相應(yīng)位(陰極為低)的顯示數(shù)據(jù)的段數(shù)據(jù),使該位顯示出一個(gè)字符,其它們?yōu)榘?,依次地改變P2口輸出為高的位,P0口輸出對(duì)應(yīng)的段數(shù)據(jù),5位顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。</p><p>  圖4-7 五位動(dòng)態(tài)顯示電路</p><p>  4.2 霍爾傳感器簡(jiǎn)介</p><p&g

60、t;  4.2.1 霍爾器件概述</p><p>  霍爾元件是一種基于霍爾效應(yīng)的磁傳感器,已發(fā)展成一個(gè)品種多樣的磁傳感器產(chǎn)品族,并已得到廣泛應(yīng)用。霍爾元件是一種磁傳感器。要他們可以檢測(cè)磁場(chǎng)及其變化,可以在各種與磁場(chǎng)有關(guān)的場(chǎng)合中。霍爾器件以霍爾效應(yīng)為其工作基礎(chǔ)。</p><p>  霍爾期間具有許多優(yōu)點(diǎn),他們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長(zhǎng),安裝方便,功耗小,頻率高(可達(dá)1MHZ),耐震

61、動(dòng),不怕灰塵、水汽及煙霧等污染或腐蝕。</p><p>  霍爾線性器件的精度高、線性度好;霍爾開關(guān)器件無觸點(diǎn)、無磨損、輸出波形清晰、無抖動(dòng)、無回調(diào)、位置重復(fù)精度高(可達(dá)um級(jí))。采用了各種補(bǔ)償措施的霍爾器件的工作溫度范圍廣,可達(dá)55-150度。</p><p>  按照霍爾器件的功能可將他們分為:霍爾線性器件和霍爾開關(guān)器件。前者輸出模擬量,后者輸出數(shù)字量。</p><

62、p>  按被檢測(cè)的對(duì)象的性質(zhì)可將它們分為:直接應(yīng)用和間接應(yīng)用。前者是直接檢測(cè)出被測(cè)對(duì)象本身的磁場(chǎng)或磁特性,后者是檢測(cè)被檢測(cè)對(duì)象上人為設(shè)置的磁場(chǎng),用這個(gè)磁場(chǎng)作為被檢測(cè)信息的載體,通過它,將許多非電、非磁的物理量例如力、力矩、壓力、應(yīng)力、位置、位移、加速度、角度、角速度、轉(zhuǎn)速、轉(zhuǎn)數(shù)以及工作狀態(tài)發(fā)生變化的時(shí)間等,轉(zhuǎn)換成電量來進(jìn)行檢測(cè)和控制。</p><p>  集成霍爾傳感器是利用硅集成電路工藝將霍爾元件和測(cè)量線

63、路集成在一起的一種傳感器。它取消了傳感器和測(cè)量電路之間的界限,實(shí)現(xiàn)了材料、元件、電路三位一體。集成霍爾傳感器與分立相比,由于減少了焊點(diǎn),因此顯著地提高了可靠性。此外,它具有體積小、重量輕、功耗低等優(yōu)點(diǎn),正越來越愛到眾的重視。</p><p>  集成霍爾傳感器的輸出是經(jīng)過處理的霍爾輸出信號(hào)。按照輸出信號(hào)的形式,可以分為開關(guān)型集成霍爾傳感器和線性集成霍爾傳感器兩種類型。</p><p>  

64、開關(guān)型集成霍爾傳感器是把霍爾元件的輸出經(jīng)過處理后輸出一個(gè)高電平或低電平的數(shù)字信號(hào)?;魻栭_關(guān)電路又稱霍爾數(shù)字電路,由穩(wěn)壓器、霍爾片、差分放大器,斯密特觸發(fā)器和輸出級(jí)組成。</p><p>  4.2.2 霍爾傳感器的應(yīng)用</p><p>  使用霍爾器件檢測(cè)磁場(chǎng)的方法極為簡(jiǎn)單,將霍爾器件做成各種形式的探頭,放在被測(cè)磁場(chǎng)中,因霍爾器件只對(duì)垂直于霍爾片表面的磁感應(yīng)強(qiáng)度敏感,因而必須令磁力線和器件

65、表面垂直,通電后即可由輸出電壓得到被測(cè)磁場(chǎng)的磁感應(yīng)強(qiáng)度。若不垂直,則應(yīng)求出其垂直分量來計(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í),一般采用永久磁鋼來產(chǎn)生工作磁場(chǎng)。例如,用一個(gè)5×4×2.5(mm3)的釹鐵硼Ⅱ號(hào)磁鋼,就可在它的磁極表面上得到約2300高斯的磁感應(yīng)強(qiáng)度。在

66、空氣隙中,磁感應(yīng)強(qiáng)度會(huì)隨距離增加而迅速下降。為保證霍爾器件,尤其是霍爾開關(guān)器件的可靠工作,在應(yīng)用中要考慮有效工作氣隙的長(zhǎng)度。在計(jì)算總有效工作氣隙時(shí),應(yīng)從霍爾片表面算起。在封裝好的霍爾電路中,霍爾片的深度在產(chǎn)品手冊(cè)中會(huì)給出。 </p><p>  因?yàn)榛魻柶骷枰ぷ麟娫?,在作運(yùn)動(dòng)或位置傳感時(shí),一般令磁體隨被檢測(cè)物體運(yùn)動(dòng),將霍爾器件固定在工作系統(tǒng)的適當(dāng)位置,用它去檢測(cè)工作磁場(chǎng),再?gòu)臋z測(cè)結(jié)果中提取被檢信息。</

67、p><p>  4.2.3 AH41霍爾開關(guān)</p><p>  AH41霍爾開關(guān)電路最適于響應(yīng)變化斜率陡峭的磁場(chǎng)并在磁通密度較弱的場(chǎng)合使用,適用于單極或多對(duì)磁環(huán)工作,它由反向電壓保護(hù)器、電壓調(diào)整器、霍爾電壓發(fā)生器、信號(hào)放大器、史密特觸發(fā)器和集電極開路的輸出級(jí)組成。工作溫度范圍為-40 ~150℃(存儲(chǔ)溫度為150℃),可適用于各種機(jī)及機(jī)電一體化領(lǐng)域。 </p><p&g

68、t;  電參數(shù): 參數(shù) 符號(hào) 測(cè)試條件 量值 單位 最小 典型 最大  </p><p>  電源電壓 VCC 4.5-24V</p><p>  輸出低電平電壓 Vout Iout=20mA B>BOP -200-400mV</p><p>  輸出高電平電流 IOFF Vout=24V B 電源電流 ICC VCC=24V </p>&

69、lt;p>  輸出端開路  10 mA</p><p>  輸出上升時(shí)間  tr Vcc=12V RL=1.1KΩ CL=20Pf--0.12 μS</p><p>  輸出下降時(shí)間  tf Vcc=12V RL=1.1KΩ CL=20Pf--0.18 μS </p><p><b>  產(chǎn)品特點(diǎn):</b></p>

70、<p><b>  . 電源電壓范圍寬</b></p><p>  . 可用市售的小磁環(huán)來驅(qū)動(dòng)</p><p>  . 無可動(dòng)部件、可靠性高</p><p><b>  . 尺寸小</b></p><p><b>  . 抗環(huán)境

71、應(yīng)力</b></p><p>  . 可直接同雙極和MOS邏輯電路接口</p><p><b>  應(yīng)用:</b></p><p>  . 高靈敏的無觸點(diǎn)開關(guān)</p><p><b>  . 直流無刷電機(jī)</b></p><p>  

72、. 直流無刷風(fēng)機(jī).  </p><p>  霍爾開關(guān)元件的電路圖:</p><p>  圖4-8 霍爾傳感器的電路圖</p><p><b>  4.3 發(fā)送模塊</b></p><p>  根據(jù)系統(tǒng)功能要求,要使單片機(jī)測(cè)量的轉(zhuǎn)速能夠向上位機(jī)發(fā)送數(shù)據(jù),硬件電路中必須要考慮到單片機(jī)的發(fā)送部分,由于單片機(jī)

73、通過串口發(fā)送出來的是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)換,但是為了方便起見,本次設(shè)計(jì)采用的是集成芯片,一個(gè)芯片加上它的外圍電路即可完成電平的轉(zhuǎn)換的工作。結(jié)構(gòu)簡(jiǎn)單、方便容易,精確度高。本次所采用的是HIN232CP,我們要對(duì)其外圍電路進(jìn)行設(shè)計(jì),下面我們將詳細(xì)

74、的敘述。</p><p><b>  數(shù)據(jù)的傳輸:</b></p><p>  當(dāng)電路工作于發(fā)送數(shù)據(jù)狀態(tài)時(shí),PC機(jī)的RTS端輸出高電平,經(jīng)IC1電平轉(zhuǎn)換打開IC3(74LS08)的與門B1,使PC機(jī)TXD端輸出的數(shù)據(jù)經(jīng)紅外發(fā)射電路發(fā)射出去;RTS信號(hào)IC1反相后作為CTS信號(hào)送入計(jì)算機(jī),同時(shí)還關(guān)閉與門B2;使計(jì)算機(jī)不接收其它數(shù)據(jù)信號(hào)。</p><p

75、>  該必發(fā)器的數(shù)據(jù)傳輸速率最好設(shè)在9600b/s為宜,以確保數(shù)據(jù)傳輸?shù)目煽啃浴?lt;/p><p><b>  器件的介紹:</b></p><p><b>  1、RS-232C</b></p><p>  RS-232C是美國(guó)電氣工業(yè)協(xié)會(huì)推廣使用的一種串行通信總路線標(biāo)準(zhǔn),是DCE(數(shù)據(jù)通信設(shè)備,如微機(jī))和DTE(數(shù)

76、據(jù)終端設(shè)備,如CRT)間傳輸串行數(shù)據(jù)的接口總線。</p><p>  RS-232C最大傳輸距離為15m,最高傳輸速率約20kbps,信號(hào)的邏輯0電平為+3V~+15V。邏輯1電平為-3V~-15V。</p><p><b>  電氣特性:</b></p><p>  EIA-RS-232C對(duì)電器特性、邏輯電平和各種信號(hào)線功能都作了規(guī)定;<

77、;/p><p>  在TxD和RxD上:邏輯1(MARK) =-3V~-15V</p><p>  邏輯0(SPACE)=+3~+15V</p><p>  在RTS、CTS、DSR、DTR和DCD等控制線上:</p><p>  信號(hào)有效(接通,ON狀態(tài),正電壓)=+3V~+15V</p><p>  信號(hào)無效(斷開,O

78、FF狀態(tài),負(fù)電壓)=-3V~-15V</p><p>  2、RS-232連接器DB-9</p><p>  DB-9是RS-232信號(hào)線的連接器,其連接器的機(jī)械特性見圖(4-9),表 4-1所示RS-232信號(hào)線名稱、符號(hào)以及對(duì)應(yīng)在DB-9上的針腳號(hào)。</p><p>  圖4-9 連接器的機(jī)械特性</p><p>  表4-1 RS-2

79、32信號(hào)線和DB-9引腳關(guān)系</p><p>  Tab.4-1 RS-232 signal lines and DB-9-pin relations</p><p>  圖4-10 電平轉(zhuǎn)換電路原理圖</p><p>  3、電平轉(zhuǎn)換器HIN232CPE</p><p>  由于RS-232C總線上傳輸?shù)男盘?hào)邏輯電平與TTL邏輯電平差異很大

80、,所以就存在這兩種電平的轉(zhuǎn)換問題,下面就介紹一下電平轉(zhuǎn)換器HIN232CPE。</p><p>  HIN232CPE能將RS-232C電平轉(zhuǎn)換成TTL電平,也能將TTL電平轉(zhuǎn)換成RS-232C電平,只需單+5V供電,由內(nèi)部升高電路產(chǎn)生10V~+12V。內(nèi)部有兩個(gè)發(fā)送器(TTL電平轉(zhuǎn)換為RS-232C電平)和兩個(gè)接收器(RS-232電平轉(zhuǎn)換為TTL電平)。HIN232CPE芯片引腳排列和外部元件連接線路如圖4-1

81、1所示。</p><p>  圖 4-11 HIN232CPE 電平轉(zhuǎn)換器及外接元件圖</p><p><b>  5 軟件設(shè)計(jì)</b></p><p>  本章重點(diǎn)闡述測(cè)量轉(zhuǎn)速的匯編語言。以及軟件設(shè)計(jì)的過程。</p><p>  軟件需要解決的是單片機(jī)中斷服務(wù)程序的設(shè)計(jì)、計(jì)算程序的設(shè)計(jì)、顯示部分的程序設(shè)計(jì)以及在我們這里

82、非重點(diǎn)介紹的通信程序設(shè)計(jì)。</p><p>  5.1 單片機(jī)轉(zhuǎn)速程序設(shè)計(jì)思路及過程</p><p>  單片機(jī)測(cè)量轉(zhuǎn)速可以分為若干模塊,然后在主程序中調(diào)用各個(gè)模塊, 流程圖如下圖所示。</p><p>  圖 5-1 主程序流程圖</p><p>  5.1.1 單片機(jī)程序設(shè)計(jì)思路</p><p>  計(jì)算轉(zhuǎn)速公式:

83、 n=60/NTc (r/min)</p><p>  其中,N是內(nèi)部定時(shí)器的計(jì)數(shù)值,為三字節(jié),分別由TH0,TL0,VTT構(gòu)成;</p><p>  Tc為時(shí)基,由于采用11.0592M的晶振,所以Tc不在是1um,而是12M/11.0592M約為1.08um,帶入上面公式,即可得到轉(zhuǎn)速的精確計(jì)算公式: N=60*11059200/12N=55296000/N</p>

84、;<p>  再將55296000化為二進(jìn)制存入單片機(jī)的內(nèi)存單元。</p><p>  下面我們將介紹除數(shù)是如何獲得的:</p><p>  單片機(jī)的轉(zhuǎn)速測(cè)量完成,定時(shí)器T0作為內(nèi)部定時(shí)器,外部中斷來的時(shí)候讀取TH0,TL0,并同時(shí)清零TH0、TL0,使定時(shí)器再次循環(huán)計(jì)內(nèi)部脈沖。此外,對(duì)于低速情況下,我們還要設(shè)定一個(gè)軟件計(jì)數(shù)器VTT,當(dāng)外部中斷還沒來而內(nèi)部定時(shí)器已經(jīng)溢出,產(chǎn)生

85、定時(shí)器0中斷時(shí),增加VTT,作為三字節(jié)中的高字節(jié)。三字節(jié)組成除數(shù),上面的常數(shù)為四字節(jié),所以計(jì)算程序?qū)嶋H上就是調(diào)用一個(gè)四字節(jié)除三字節(jié)商為兩字節(jié)(最高轉(zhuǎn)速36000r/min足夠)的程序。</p><p>  為數(shù)碼管能夠顯示出來,需將二進(jìn)制轉(zhuǎn)換為十進(jìn)制,在將十進(jìn)制轉(zhuǎn)換為非壓縮BCD碼后,才能調(diào)用查表程序,最后送顯示。</p><p>  5.1.2 單片機(jī)轉(zhuǎn)速計(jì)算程序</p>

86、<p>  由于本次設(shè)計(jì)的系統(tǒng)要實(shí)現(xiàn)的功能是將霍爾傳感器的信號(hào)送到單片機(jī)的外部中斷口,再對(duì)周期方波進(jìn)行內(nèi)部計(jì)數(shù),調(diào)用計(jì)算程序把轉(zhuǎn)速測(cè)出來。可以說是核心部分,流程圖如圖所示:</p><p>  圖5-2 計(jì)算程序流程圖</p><p>  計(jì)算程序中又再次調(diào)用了除法程序,這里的除法為四字節(jié)除三字節(jié)商為兩字節(jié),除法的程序的編程思想可以和手工計(jì)算的除法相似,比較減法的思想,流程圖如圖

87、5-3所示具體程序見附錄。</p><p>  5.1.3 二-十進(jìn)制轉(zhuǎn)換程序</p><p>  計(jì)算程序計(jì)算出來的數(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、

88、R6。</p><p>  Y N</p><p>  圖5-3 除法程序流程圖</p><p>  按照數(shù)制轉(zhuǎn)換方法可以畫出流程圖。</p><p>  圖 5-4 雙字節(jié)整數(shù)二翻十程序流程圖</p><p>  單片機(jī)顯示部分可以用來顯示計(jì)算出來的數(shù)據(jù)的。在程序

89、設(shè)計(jì)中,在AT89C51RAM存貯器中的四個(gè)顯示緩沖器單元30H-34H,分別存放著由計(jì)算出來的轉(zhuǎn)速的BCD碼進(jìn)行拆分后的非壓縮BCD碼數(shù)據(jù),AT89C51的P1口掃描輸出總是只有一位為低電平、其它位為高電平,AT89C51的P0口相應(yīng)位的顯示數(shù)據(jù)的段數(shù)據(jù),使該位顯示出一個(gè)字符,其它們?yōu)榘?,依次地改變P1口輸出為低高的位,P0口輸出對(duì)應(yīng)的段數(shù)據(jù),5位LED顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。</p><p&

90、gt;  顯示部分程序分為兩部分:十進(jìn)制BCD轉(zhuǎn)換成非壓縮BCD碼;查表程序顯示數(shù)據(jù)。</p><p>  雙字節(jié)整數(shù)拆分程序流程圖如圖5-5</p><p>  圖 5-5 雙字節(jié)整數(shù)拆分程序流程圖</p><p>  顯示程序流程圖如圖5-6所示:</p><p><b>  5.2 程序設(shè)計(jì)</b></p&g

91、t;<p>  根據(jù)以上設(shè)計(jì)思路和各個(gè)模塊的流程圖即可編寫出本次畢業(yè)設(shè)計(jì)的程序,注意其中各個(gè)模塊間的參數(shù)傳遞以及堆棧指針等問題,程序設(shè)計(jì)的任務(wù)即可完成,寫出初始的程序,再進(jìn)行上機(jī)調(diào)試,這些我們將具體在下章中加以詳細(xì)敘述。</p><p><b>  N </b></p><p>  圖 5-6 顯示程序流程圖</p><p>&l

92、t;b>  6 系統(tǒng)調(diào)試</b></p><p>  電路調(diào)試是整個(gè)系統(tǒng)功能否實(shí)現(xiàn)的關(guān)鍵步驟,我們將整個(gè)調(diào)試過程分為三大部分:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。</p><p><b>  6.1 硬件調(diào)試</b></p><p>  硬件調(diào)試主要是針對(duì)我的轉(zhuǎn)速測(cè)量系統(tǒng)的單片機(jī)硬件電路分別進(jìn)行調(diào)試。這一部分硬件調(diào)試主要分成兩大塊:

93、上電前的調(diào)試和上電后的調(diào)試。</p><p><b>  上電前的調(diào)試</b></p><p>  在上電前,我們必須確保電路中不存在斷路或短路情況,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)試中主要使用的工具是萬用表,用來完成檢測(cè)電路中是否存在斷路或者短路情況等。</p><p>  特別是數(shù)碼管的連接部分,有PROT

94、EL制作的PCB確保要和原理圖上的圖一致,有些在電路板上沒法連接的線路,要用短接線把接好,對(duì)照著原理圖部分,一部分一部分地用萬用表測(cè)量,注意焊點(diǎn)之間,確保焊點(diǎn)沒有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn)。</p><p><b>  上電后的調(diào)試</b></p><p>  在確保硬件電路正常,無異常情況(斷路或短路)方可上電調(diào)試,上電調(diào)試的目的

95、是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確,在本次課程設(shè)計(jì)中,上電調(diào)試主要只轉(zhuǎn)速測(cè)量系統(tǒng)的單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和上位機(jī)通信是的電平轉(zhuǎn)換和串口通信部分的硬件調(diào)試。</p><p>  1、單片機(jī)控制部分硬件調(diào)試:這一部分調(diào)試主要是檢查時(shí)鐘電路、復(fù)位電路是否接對(duì),單片機(jī)的電源以及地是否接好,以及其他的一些管腳的接法??磫纹瑱C(jī)通電后能否可以正常工作等這一系列問題。</p><p>

96、  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ī)上編寫一個(gè)小程序讓5位LED全亮,或者讓它們其中的某位點(diǎn)亮,也可以顯示不同的數(shù)字,根據(jù)要求給P0口,P2口分別賦值。即可檢查數(shù)碼管的硬件電路是否正確,即可判斷顯示驅(qū)動(dòng)電路整個(gè)完整,

97、首先排除這里的故障。</p><p>  3、發(fā)送部分硬件電路調(diào)試:這一部分電路硬件調(diào)試主要完成任務(wù)是使得通過HIN232CPE電平轉(zhuǎn)換器轉(zhuǎn)換前后的電平關(guān)系。可以用示波器和萬用表檢查電平轉(zhuǎn)換前后的關(guān)系,這里不在贅述。</p><p><b>  6.2 軟件調(diào)試</b></p><p>  單片機(jī)程序調(diào)試思路:</p><p

98、>  單片機(jī)部分調(diào)試工作的完成主要應(yīng)用LCA51軟件來完成,這一部分工作首先將轉(zhuǎn)速測(cè)量系統(tǒng)中的各個(gè)模塊——計(jì)算程序中的除法程序、雙字節(jié)的二-十進(jìn)制數(shù)制轉(zhuǎn)換程序,壓縮BCD碼十進(jìn)制數(shù)轉(zhuǎn)換為非壓縮BCD碼的程序以及顯示部分程序調(diào)試好,不斷調(diào)試,不斷修改直到正確為止。LCA51軟件是一種非常實(shí)用的多窗口編輯、調(diào)試軟件。 </p><p>  LCA51軟件全面支持匯編語言,C51語言,PL/M51語言的編譯/連接

99、、調(diào)試。軟件支持單文件方式和工程化管理兩種模式。用戶可自定義各種語言的關(guān)鍵詞.軟件完全支持源語句級(jí)在線調(diào)試。高級(jí)語言還支持源文件調(diào)試和匯編語言指令行對(duì)照調(diào)試。用戶可同時(shí)打開多個(gè)窗體編輯、調(diào)試、變量觀察.用戶可在線對(duì)原文件直接編輯、編譯、連接、加載和調(diào)試,軟件支持編譯錯(cuò)誤源文件定位。調(diào)試時(shí)用戶可動(dòng)態(tài)觀察、修改設(shè)定變量(包括CPU片內(nèi)寄存器、特殊寄存器及外部寄存器、內(nèi)存)的值。</p><p>  調(diào)試主要方法和技巧

100、:</p><p>  通常一個(gè)調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷點(diǎn)、查看變量、更改數(shù)值。</p><p><b>  1.跟蹤調(diào)試</b></p><p>  調(diào)試應(yīng)用程序所提供的重要性能也許就是跟蹤應(yīng)用程序。跟蹤應(yīng)用程序使用戶能夠在運(yùn)行應(yīng)用程序時(shí),看到PC指針在應(yīng)用源代碼程序中的確切位置,LCA51提供以下方法對(duì)程序的執(zhí)行進(jìn)行跟蹤。&l

101、t;/p><p>  跟蹤型單步執(zhí)行一條源語句程序。但是,如果調(diào)用一函數(shù),則進(jìn)入函數(shù)中,再執(zhí)行函數(shù)的第一條源語句行前停止。</p><p>  通過型單步僅執(zhí)行下一條源語句程序,然后又停止。如果是調(diào)用一函數(shù),運(yùn)行完整個(gè)函數(shù)并停止在函數(shù)返回處。</p><p><b>  2.斷點(diǎn)調(diào)試</b></p><p>  如果已知程序

102、中某塊代碼實(shí)際運(yùn)行正常的情況下,仍用跟蹤調(diào)試方法,將大大浪費(fèi)時(shí)間,而且很枯燥,因此調(diào)試中第二個(gè)重要工具是在源代碼中預(yù)定處設(shè)置斷點(diǎn),大多數(shù)調(diào)試程序通過使用斷點(diǎn)中止程序執(zhí)行。</p><p>  注意:如果用戶調(diào)試高級(jí)語言,因?yàn)橄到y(tǒng)要占用2個(gè)斷點(diǎn),所以可設(shè)置的斷點(diǎn)數(shù)為最大斷點(diǎn)個(gè)數(shù)減2。</p><p>  LCA51調(diào)試軟件還提供一次性斷點(diǎn):執(zhí)行到光標(biāo)所在行。如果用戶按熱鍵F4,調(diào)試程序繼續(xù)執(zhí)

103、行程序代碼,直到它到達(dá)光標(biāo)行處或調(diào)試程序遇到另一個(gè)斷點(diǎn)。</p><p><b>  3.查看變量</b></p><p>  顯然,通過一系列指令查看應(yīng)用程序,了解導(dǎo)致某一錯(cuò)誤的執(zhí)行也是一種非常有效的方法。LCA51軟件提供了以下幾種方法對(duì)變量進(jìn)行查看。</p><p>  通過添加觀察項(xiàng)菜單可以將用戶希望觀察的變量添加到觀察窗口中,長(zhǎng)期進(jìn)行

104、觀察。用戶程序在單步或斷點(diǎn)停下時(shí),將更新變量的取值。</p><p>  用戶可以直接移動(dòng)鼠標(biāo)到相應(yīng)的變量名上,點(diǎn)擊鼠標(biāo)左鍵,將出現(xiàn)一個(gè)提示窗口,顯示這個(gè)變量的當(dāng)前值。</p><p>  用戶還可以打開程序空間窗口、內(nèi)部數(shù)據(jù)窗口、外部數(shù)據(jù)窗口進(jìn)行數(shù)據(jù)塊觀察。</p><p><b>  4.更改數(shù)值</b></p><p&

105、gt;  如果用戶在調(diào)試過程中了解到變量的內(nèi)容(超值、未定義等)會(huì)對(duì)程序性能產(chǎn)生影響或引起異常時(shí),立即更改變量的內(nèi)容是很有效的方法,以確保該值在正確范圍內(nèi)不會(huì)產(chǎn)生錯(cuò)誤。LCA51軟件提供一系列更改變量數(shù)值的方法,以便用戶能檢查程序?qū)φ麄€(gè)變量值范圍的反應(yīng),而無需為設(shè)置每個(gè)值而重新加載調(diào)試。在更改對(duì)話框中用戶輸入要更改的取值,點(diǎn)擊確定按鈕。用戶可以在輸入框中輸入十六進(jìn)制或十進(jìn)制數(shù)據(jù)。</p><p><b>

106、;  程序調(diào)試過程: </b></p><p>  整個(gè)程序是一個(gè)主程序調(diào)用各個(gè)子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個(gè)程序都能平穩(wěn)運(yùn)行,各個(gè)模塊的子程序的正確與平穩(wěn)運(yùn)行必不可少,所以在軟件調(diào)試的最初階段就是把各個(gè)子程序模塊進(jìn)行分別調(diào)試。</p><p>  首先要對(duì)計(jì)算程序進(jìn)行調(diào)試,其中關(guān)鍵就是那個(gè)四字節(jié)除三字節(jié)的程序顯得尤為重要,在整個(gè)程序中,四字節(jié)的被除數(shù)是確定的常數(shù),而除

107、數(shù)是測(cè)量記數(shù)的值,當(dāng)各個(gè)模塊調(diào)試時(shí),我們可以先對(duì)除數(shù)先賦不同的值,利用查看內(nèi)部數(shù)據(jù)的數(shù)據(jù)窗口觀察出計(jì)算出來的結(jié)果和用計(jì)算器算得的結(jié)果是否一致,可以舉例多次數(shù)據(jù),確保程序正確,才能得到想得到的數(shù)據(jù)。</p><p>  其次、二進(jìn)制到十進(jìn)制的轉(zhuǎn)換,我們依然可以利用上述列舉的方法,多次給出數(shù)據(jù),然后運(yùn)行程序,可以設(shè)置觀察變量,觀察出程序轉(zhuǎn)換的結(jié)果。</p><p>  最后、拆分壓縮BCD碼十

108、進(jìn)制以及最后的顯示程序,可以利用上述提到的各種方法,觀察30-34H內(nèi)部的數(shù)據(jù),緩沖數(shù)據(jù)的觀察檢查完畢后,調(diào)用顯示程序,觀察數(shù)碼管上顯示的數(shù)據(jù)是否是內(nèi)存緩沖中需要顯示的數(shù)據(jù)。</p><p><b>  6.3 綜合調(diào)試</b></p><p>  在硬件和軟件單獨(dú)調(diào)試成功后進(jìn)行軟硬件綜合調(diào)試,它可以分成以下幾個(gè)步驟:</p><p>  1.

109、使霍爾傳感器有方波信號(hào)輸出;</p><p>  2.使單片機(jī)獲得中斷信號(hào),計(jì)算出轉(zhuǎn)速值并存儲(chǔ);</p><p>  3.通過LED數(shù)碼管把測(cè)量的數(shù)據(jù)顯示出來。</p><p>  4.通過通信使得PC機(jī)與單片機(jī)之間的通信成功。</p><p>  6.4 故障分析與解決方案</p><p><b>  故障

110、出現(xiàn)情況:</b></p><p>  1、霍爾傳感器不能產(chǎn)生有效的TTL電平,產(chǎn)生波形不穩(wěn)</p><p>  2、單片機(jī)的中斷服務(wù)程序不能執(zhí)行,不管是定時(shí)中斷還是外部中斷;</p><p>  3、中斷執(zhí)行低速情況也就是軟件記數(shù)功能不對(duì);</p><p>  4、測(cè)得的轉(zhuǎn)速不準(zhǔn)確,而且在波形頻率變化下顯示轉(zhuǎn)速卻不變</p

111、><p>  5、單片機(jī)顯示部分無法工作,顯示不穩(wěn)定;</p><p>  6、信號(hào)發(fā)生器模擬轉(zhuǎn)速測(cè)量正確,接電機(jī)不穩(wěn)定</p><p>  7、通信時(shí)單片機(jī)接收顯示數(shù)據(jù)不正常,PC機(jī)接收亂碼;</p><p>  解決方案(針對(duì)上述故障一一對(duì)應(yīng)的解決方案):</p><p>  (1)硬件電路中霍爾傳感器應(yīng)工作在5V電壓

112、,中間引腳接地,數(shù)據(jù)線接單片機(jī)的外部中斷0。在電機(jī)的轉(zhuǎn)軸上還要貼上一粒磁鋼,利用霍爾效應(yīng)產(chǎn)生方波。利用萬用表檢查時(shí)發(fā)現(xiàn)接5V和地的PCB上的線都?jí)牧耍匦掠镁€接在電路板上。當(dāng)波形出來后,顯示的波形不穩(wěn),而且不夠理想,后來在信號(hào)線與地之間接了472的瓷片電容濾波。波形得到了大大改善;</p><p> ?。?)首先檢查程序中的開頭,中斷入口地址,發(fā)現(xiàn)中斷定時(shí)0的地址寫成中斷定時(shí)1的入口地址了。外部中斷沒有執(zhí)行跟沒有

113、中斷信號(hào)加入有關(guān)系。在前面還沒有解決的時(shí)候,我們暫時(shí)用信號(hào)發(fā)生器來代替外部中斷9的輸入,由于中斷執(zhí)行與否我們沒法看到,可以用設(shè)置中斷點(diǎn)的方法或者利用示波器,在中斷服務(wù)程序中重新編寫一些程序觀察單片機(jī)的某一輸出口的波形變換或者中斷程序中讓數(shù)碼管點(diǎn)亮等直觀可以看到的方法來檢查中斷的執(zhí)行情況;</p><p>  (3)中斷服務(wù)程序中程序設(shè)計(jì)有問題,要先讀去反映轉(zhuǎn)速的TH0,TL0,再去清0,軟件記數(shù)的高字節(jié)VTT應(yīng)該

114、在定時(shí)中斷0中的服務(wù)程序中自增的同時(shí)清TH0,TL0,在外部中斷程序中要讀取三字節(jié)的記數(shù)值后同時(shí)清三個(gè)記數(shù)器,再?gòu)闹袛喾祷兀?lt;/p><p> ?。?)在確定轉(zhuǎn)速計(jì)算程序的正確性的 條件下出現(xiàn)了轉(zhuǎn)速不準(zhǔn)確,就是在調(diào)用轉(zhuǎn)換程序時(shí)出現(xiàn)了問題,觀察程序時(shí)發(fā)現(xiàn)調(diào)用子程序是傳送的參數(shù)不對(duì),在用寄存器R的時(shí)候出現(xiàn)了重復(fù)現(xiàn)象,導(dǎo)致轉(zhuǎn)換過程中出現(xiàn)了混亂。在波形頻率改變而轉(zhuǎn)速不改變由于在調(diào)用顯示程序時(shí)候在調(diào)用之后在顯示這里死循環(huán),

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論