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

下載本文檔

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

文檔簡介

1、<p><b>  摘 要 </b></p><p>  在工程實踐中,經(jīng)常會遇到各種需要測量轉(zhuǎn)速的場合,測量轉(zhuǎn)速的方法分為模擬式和數(shù)字式兩種。模擬式采用測速發(fā)電機為檢測元件,得到的信號是模擬量。數(shù)字式通常采用光電編碼器,霍爾元件等為檢測元件,得到的信號是脈沖信號。隨著微型計算機的廣泛應(yīng)用,特別是高性能價格比的單片機的出現(xiàn),轉(zhuǎn)速測量普遍采用以單片機為核心的數(shù)字式測量方法。&l

2、t;/p><p>  本文便是運用AT89C51單片機控制的智能化轉(zhuǎn)速測量儀。電機在運行過程中,需要對其進行監(jiān)控,轉(zhuǎn)速是一個必不可少的一個參數(shù)。本系統(tǒng)就是對電機轉(zhuǎn)速進行測量,并可以和PC機進行通信,顯示電機的轉(zhuǎn)速,并觀察電機運行的基本狀況。</p><p>  本設(shè)計主要用AT89C51作為控制核心,由霍爾傳感器、LED數(shù)碼顯像管、HIN232CPE電平轉(zhuǎn)換、及RS232構(gòu)成。詳細介紹了單片機

3、的測量轉(zhuǎn)速系統(tǒng)及PC機與單片機之間的串行通訊。充分發(fā)揮了單片機的性能。本文重點是測量速度并顯示在5位LED數(shù)碼管上。</p><p>  其優(yōu)點硬件是電路簡單,軟件功能完善,測量速度快、精度高、控制系統(tǒng)可靠,性價比較高等特點。</p><p>  關(guān)鍵字:MSC-51(單片機); 轉(zhuǎn)速; 傳感器</p><p><b>  Abstract</b&g

4、t;</p><p>  In the project practice, we will meet each kind to need frequently to survey the rotational speed the situation, the survey rotational speed method divides into the simulation type and the digita

5、l 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

6、 detecting element, obtains the signal is the signal impulse. Along with microcompute</p><p>  Keyword:MSC-51(One-chip computer); sensor; Tachometer</p><p><b>  目 錄</b></p>

7、<p><b>  摘 要1</b></p><p>  Abstract2</p><p><b>  1 序 言1</b></p><p>  2 系統(tǒng)功能分析2</p><p>  2.1 系統(tǒng)功能概述2</p><p>  2.2 系統(tǒng)要求及

8、主要內(nèi)容2</p><p>  3 系統(tǒng)總體設(shè)計4</p><p>  3.1 硬件電路設(shè)計思路4</p><p>  3.2 軟件設(shè)計思路4</p><p>  4 硬件電路設(shè)計6</p><p>  4.1 單片機模塊6</p><p>  4.1.1 處理執(zhí)行元件6</

9、p><p>  4.1.2 時鐘電路10</p><p>  4.1.3 復(fù)位電路11</p><p>  4.1.4 顯示電路12</p><p>  4.2 霍爾傳感器簡介15</p><p>  4.2.1 霍爾器件概述15</p><p>  4.2.2 霍爾傳感器的應(yīng)用16&l

10、t;/p><p>  4.2.3 AH41霍爾開關(guān)17</p><p>  4.3 發(fā)送模塊18</p><p><b>  5 軟件設(shè)計22</b></p><p>  5.1 單片機轉(zhuǎn)速程序設(shè)計思路及過程22</p><p>  5.1.1 單片機程序設(shè)計思路22</p>

11、<p>  5.1.2 單片機轉(zhuǎn)速計算程序23</p><p>  5.1.3 二-十進制轉(zhuǎn)換程序24</p><p>  5.2 程序設(shè)計27</p><p><b>  6 系統(tǒng)調(diào)試29</b></p><p>  6.1 硬件調(diào)試29</p><p>  6.2 軟件調(diào)試

12、30</p><p>  6.3 綜合調(diào)試32</p><p>  6.4 故障分析與解決方案33</p><p>  6.5 結(jié)論與經(jīng)驗34</p><p><b>  參考文獻36</b></p><p><b>  致 謝37</b></p>

13、;<p><b>  附 錄38</b></p><p>  附錄1 電路原理圖38</p><p>  附錄2 元器件清單39</p><p><b>  1 序 言</b></p><p>  智能化轉(zhuǎn)速測量可以對電機的轉(zhuǎn)速進行測量,電機在運行的過程中,需要對其平穩(wěn)性

14、進行監(jiān)測,適時對轉(zhuǎn)速的測量有效地可以反映電機的狀況。</p><p>  本系統(tǒng)主要由傳感器,單片機AT89C51構(gòu)成。可以對大范圍轉(zhuǎn)速進行測量,測量的轉(zhuǎn)速精度高,還可以和PC機時時通信,實現(xiàn)對電機轉(zhuǎn)速的測量。</p><p>  單片機的英文名稱是Micro Controller unit,縮寫為MCU,又稱為微控制器,它是一種面向控制的大規(guī)模集成電路芯片。它具有功能強、體積小、可靠性高

15、、應(yīng)用簡單靈活,因而使用非常廣泛,有力地推動各行業(yè)的技術(shù)發(fā)展和更新?lián)Q代。 </p><p>  本文首先在第二章緒論介紹了此系統(tǒng)的功能、技術(shù)指標(biāo)以及主要內(nèi)容等;在第三章論述了總體設(shè)計過程,確定了技術(shù)指標(biāo)及器件的選擇;第四章著重描述了系統(tǒng)硬件電路設(shè)計、硬件設(shè)計框圖及所使用的各種芯片功能與特性;在第五章中重點剖析了軟件設(shè)計的過程;最后在第六章中具體論述單片機、電平轉(zhuǎn)換電路、通信的處理及調(diào)試。</p>

16、<p>  由于本人水平有限,加之時間倉促,論文中難免會有錯誤和不足之外,不夠理想、許多方面還需要繼續(xù)完善和改進。在這里懇請指導(dǎo)老師和各位專家老師批評指正。在此特別感謝我的指導(dǎo)老師郭順京老師的大力指導(dǎo)。</p><p><b>  2 系統(tǒng)功能分析</b></p><p>  2.1 系統(tǒng)功能概述</p><p><b>

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

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

19、gt;  應(yīng)用:</b></p><p>  從實用的角度看,評價一個系統(tǒng)實用價值的重要標(biāo)準(zhǔn),就是這個系統(tǒng)對社會生活和科技觀念有多大的貢獻。轉(zhuǎn)速測量系統(tǒng)具有大范圍、高精度等優(yōu)點、測量速度快,這種系統(tǒng)將會有良好的應(yīng)用。</p><p>  2.2 系統(tǒng)要求及主要內(nèi)容</p><p>  將霍爾傳感器產(chǎn)生的脈沖信號輸出入到單片機的外部中斷0口,單片機工作在內(nèi)

20、部定時器工作方式0,對周期信號進行內(nèi)部記數(shù),調(diào)用計算公式算出轉(zhuǎn)速,調(diào)用顯示程序顯示在LED上,同時通過串口向上位機發(fā)送轉(zhuǎn)速數(shù)據(jù)。</p><p><b>  主要內(nèi)容:</b></p><p> ?。?) 單片機部分主要完成電機轉(zhuǎn)速的測量</p><p> ?。?) LED部分主要是把轉(zhuǎn)速顯示出來,顯示范圍60-36000r/min</p

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

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

23、><b>  通信部分:</b></p><p>  1.在微機部分采用Visual Basic編制RS—232通信軟件;</p><p>  2.通信軟件具有數(shù)據(jù)接受編輯框;</p><p>  3.通信軟件要適時對數(shù)據(jù)的記錄,用時間曲線表示;</p><p>  根據(jù)系統(tǒng)要實現(xiàn)的功能以及要求,要實現(xiàn)單片機的轉(zhuǎn)速

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

25、要求,在選擇的機型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計出系統(tǒng)的原理框圖、電路原理圖。</p><p>  89C51單片機通過INT0輸入傳感器的脈沖信號,P0口P2口接LED動態(tài)顯示。另由于PC系列微機串行口為RS232C標(biāo)準(zhǔn)接口,與輸入、輸出均為TTL電平的89C51單片機在接口規(guī)范上不一致,因此TTL 電平到RS-232接口電平的轉(zhuǎn)換采用HIN232CP接口芯片,該芯片可以用單電壓(+5V)實現(xiàn)R

26、S232接口邏輯“1”(-3V~-15V)和邏輯“0”(+3V~+15V)的電平轉(zhuǎn)換。</p><p>  轉(zhuǎn)速測量部分的硬件設(shè)計思路:本次設(shè)計單片機部分的硬件框圖如 圖2-1所示。</p><p>  圖3-1 單片機部分硬件框圖</p><p>  具體詳細的敘述將在下面的章節(jié)中逐一介紹。</p><p>  3.2 軟件設(shè)計思路<

27、/p><p>  軟件需要解決的是定時器0的記數(shù)和外部中斷0的設(shè)定、由于測量的轉(zhuǎn)速范圍大,所以低速和高速都要考慮在內(nèi),關(guān)鍵在于一個四字節(jié)除三字節(jié)程序的實現(xiàn)。顯示部分、需要有一個二進制到十進制的轉(zhuǎn)化程序,以及轉(zhuǎn)換成非壓縮BCD 的程序后、才能進行調(diào)用查表程序送到顯示。PC機串口和單片機串行口的工作方式,包括串行口的通訊速率、奇偶校驗位、停止位等均由通信部分的軟件部分實現(xiàn)。</p><p>  軟

28、件工作流程:霍爾傳感器利用磁電效應(yīng)產(chǎn)生一周期脈沖向單片機的外部中斷0(P3.2)口發(fā)送一個中斷信號,定時器工作在內(nèi)部定時,TH0、TL0設(shè)定初值為0,作為除數(shù)的低兩字節(jié),利用軟件記數(shù)器、定時器0中斷的次數(shù)作為除數(shù)高字節(jié)。中斷完畢讀取內(nèi)部記數(shù)值作為除數(shù),調(diào)用除法程序計算轉(zhuǎn)速,再對二進制數(shù)進行一系列變換后調(diào)用查表顯示程序,顯示在LED上。(同時調(diào)用傳送程序向上位機送數(shù)據(jù),這里不是本文重點)</p><p>  轉(zhuǎn)速部

29、分軟件設(shè)計思路: AT89C51單片機的P3.2口接收傳感器的信號。主要編寫一個外部中斷服務(wù)程序INT_0,讀取記數(shù)值的三個字節(jié),并再次清0記數(shù)初值以便下次的記數(shù)和計算。調(diào)用兩字節(jié)二進制-三字節(jié)十進制(BCD)轉(zhuǎn)換子程序BCD,再調(diào)用十進制轉(zhuǎn)換成非壓縮BCD程序CBCD、最后調(diào)用查表程序送顯示。為了和PC通信,系統(tǒng)要求單片機晶振11.0592MHZ。軟件的具體設(shè)計我們將在下面的章節(jié)中作詳細介紹。</p><p>

30、<b>  4 硬件電路設(shè)計</b></p><p>  硬件的功能由總體設(shè)計所規(guī)定,硬件設(shè)計的任務(wù)是根據(jù)總體設(shè)計要求,在選擇的機型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計出系統(tǒng)的電路原理圖,必要時做一些部件實驗,以確定電路圖的正確性,以及工藝結(jié)構(gòu)的設(shè)計加工、印制板的制作、樣機的組裝等。</p><p>  整個單片機測量轉(zhuǎn)速系統(tǒng)為單片機控制模塊、霍爾傳感器模塊

31、、發(fā)送模塊,各個模塊都承擔(dān)著各自的任務(wù)。</p><p>  設(shè)計單片機模塊,考慮到單片機本身的外圍電路較多,所以在單片機模塊方面需要極為小心。在整個電路設(shè)計時要考慮電平轉(zhuǎn)換電路,具體每一部分的設(shè)計將在以下章節(jié)中詳細分析。</p><p><b>  4.1 單片機模塊</b></p><p>  根據(jù)系統(tǒng)功能要求以及單片機硬件電路設(shè)計思路(如

32、圖3-1)對單片機模塊進行設(shè)計,要使單片機準(zhǔn)確的測量電機轉(zhuǎn)速,并且使測出的數(shù)據(jù)能顯示出來,所以整個單片機部分分為傳感器電路、時鐘電路、復(fù)位電路、執(zhí)行元件以及顯示電路五個部分。</p><p>  4.1.1 處理執(zhí)行元件</p><p>  單片機我們采用AT89C51(其引腳圖如圖4-1),相較于INTEL公司的8051它本身帶有一定的優(yōu)點。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除

33、只讀存貯器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器, AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方

34、案。</p><p>  圖4-1 AT89C51引腳圖</p><p><b>  主要特性:</b></p><p>  ·與MCS-51 兼容</p><p>  ·4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)</p><p>  ·數(shù)據(jù)保留時間:10年

35、</p><p>  ·全靜態(tài)工作:0Hz-24Hz</p><p>  ·三級程序存儲器鎖定</p><p>  ·128*8位內(nèi)部RAM</p><p>  ·32可編程I/O線</p><p>  ·兩個16位定時器/計數(shù)器</p><p>

36、;<b>  ·5個中斷源 </b></p><p><b>  ·可編程串行通道</b></p><p>  ·低功耗的閑置和掉電模式</p><p>  ·片內(nèi)振蕩器和時鐘電路</p><p><b>  管腳說明:</b></

37、p><p>  1.VCC:供電電壓;</p><p><b>  2.GND:接地;</b></p><p>  3.P0口:P0口為一個8位漏極開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)

38、FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p>  4.P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。</p><p>  5.P2口:P2口為一個內(nèi)

39、部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時

40、接收高八位地址信號和控制信號。</p><p>  6.P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p>  P3口也可作為AT89C51的一些特殊功能口,如下表4-1所示:</p><

41、p>  7.RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p>  8.ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將

42、跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。</p><p>  表4-1 P3口的第二功能</p><p>  Tab.4-1 The second feature I P3</p><p>  P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p>  此時, ALE只有在執(zhí)行MOVX,MOVC指令是AL

43、E才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 9./PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 10./EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)

44、/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 11.XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 12.XTAL2:來自反向振蕩器的輸出。</p><p><b>  振蕩器特性:</b></p><p>  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以

45、配置為片內(nèi)振蕩器。石英振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b>  芯片擦除:</b></p><p>  整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平1

46、0ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p>  此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。</p>

47、<p>  4.1.2 時鐘電路</p><p>  時鐘電路是計算機的心臟,它控制著計算機的工作節(jié)奏。MCS-51單片機允許的時鐘頻率是因型號而異的典型值為12MHZ</p><p>  MCS-51內(nèi)部都有一個反相放大器,XTAL1、XTAL2分別為反相放大器輸入和輸出端,外接定時反饋元件以后就組成振蕩器,產(chǎn)生時鐘送至單片機內(nèi)部的各個部件。AT89C51是屬于CMOS8位

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

49、機便正常運行。圖中SYS為晶振或陶瓷諧振器,振蕩器產(chǎn)生的時鐘頻率主要由SYS參數(shù)確定(晶振上標(biāo)明的頻率)。電容C1和C2的作用有兩個:其一是使振蕩器起振,其二是對振蕩器的頻率f起微調(diào)作用(C1、C2大,f變小),其典型值為30pF。</p><p>  圖4-2 CMOS型單片機時鐘電路框圖</p><p>  4.1.3 復(fù)位電路</p><p>  計算機在啟動

50、運行時都需要復(fù)位,使中央處理器CPU和系統(tǒng)中的其它部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。</p><p>  MCS-51單片機有一個復(fù)位引腳RST,它是史密特觸發(fā)輸入(對于CHMOS單片機,RST引腳的內(nèi)部有一個拉低電阻),當(dāng)振蕩器起振后該引腳上出現(xiàn)2個機器周期(即24個時鐘周期)以上的高電平,使器件復(fù)位,只要RST保持高電平,MCS-51保持復(fù)位狀態(tài)。此時ALE、PSEN、P0、P1、P2、P3

51、口都 輸出高電平。RST變?yōu)榈碗娖胶?,退出?fù)位,CPU從初始狀態(tài)開始工作。</p><p>  單片機采用的復(fù)位方式是自動復(fù)位方式。對于MOS(AT89C51)單片機只要接一個電容至VCC即可(見圖4-3)。在加電瞬間,電容通過電阻充電,就在RST端出現(xiàn)一定時間的高電平,只要高電平時間足夠長,就可以使MCS-51有效的復(fù)位。RST端在加電時應(yīng)保持的高電平時間包括VCC的上升時間和振蕩器起振的時間,Vss上升時間若

52、為10ms,振蕩器起振的時間和頻率有關(guān)。10MHZ時約為1ms,1MHZ時約為10ms,所以一般為了可靠的復(fù)位,RST在上電應(yīng)保持20ms以上的高電平。RC時間常數(shù)越大,上電RST端保持高電平的時間越長。</p><p>  若復(fù)位電路失效,加電后CPU從一個隨機的狀態(tài)開始工作,系統(tǒng)就不能正常運轉(zhuǎn)。</p><p>  圖4-3 上電復(fù)位電路</p><p>  4

53、.1.4 顯示電路</p><p>  顯示電路采用LED數(shù)碼管動態(tài)顯示,LED(Light-Emitting Diode)是一種外加電壓從而渡過電流并發(fā)出可見光的器件。LED是屬于電流控制器件,使用時必須加限流電阻。LED有單個LED和八段LED之分,也有共陰和共陽兩種。</p><p><b>  顯示器結(jié)構(gòu):</b></p><p>  

54、常用的七段顯示器的結(jié)構(gòu)如圖4-4所示。發(fā)光二極管的陽極連在一起的稱為共陽極顯示器,陰極連在一起的稱為共陰極顯示器。1位顯示器由八個發(fā)光二極管組成,其中七個發(fā)光二極管a~g控制七個筆畫(段)的亮或暗,另一個控制一個小數(shù)點的亮和暗,這種筆畫式的七段顯示器能顯示的字符較少,字符的開頭有些失真,但控制簡單,使用方便。</p><p>  此外,要畫出電路圖,首先還要搞清楚他的引腳圖的分布,在了解了正確的引腳圖后才能進行正

55、確的字型段碼編碼。才能顯示出正確的數(shù)字來,如圖4-5所示,為七段數(shù)碼管的管腳圖。</p><p>  圖4-4 七段發(fā)光顯示器的結(jié)構(gòu)</p><p>  圖4-5 七段發(fā)光顯示器管腳的結(jié)構(gòu)</p><p><b>  驅(qū)動方式:</b></p><p>  采用的數(shù)碼管驅(qū)動為7407,它的全名為7407 TTL 集電極開

56、路六正相高壓驅(qū)動器,其結(jié)構(gòu)簡單,使用方便,圖4-6為7407的圖以及各個引腳的分布功能介紹。</p><p>  圖4-6 7407管腳的結(jié)構(gòu)</p><p><b>  顯示方式:</b></p><p>  為了節(jié)省I/O口線,我們采用的動態(tài)顯示方式。</p><p>  所謂動態(tài)顯示,就一位一位地輪流點亮各位顯示器

57、(掃描),對于每一位顯示器來說,每隔一段時間點亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點亮?xí)r間和間隔時間的比例有關(guān)。調(diào)整電流和時間參數(shù),可實現(xiàn)亮度較高較穩(wěn)定的顯示。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需8位口(稱為掃描口),控制各位顯示器所顯示的字形也需一個8位口(稱為段數(shù)據(jù)口)。本次設(shè)計要求的轉(zhuǎn)速測量范圍60r/min-36000r/min,所以只需要5位數(shù)碼管即可。5位共陰極顯示器和AT89C51的接口邏輯如圖4-7

58、所示。AT89C51的P0口作為段數(shù)據(jù)口,接上拉電阻到顯示器的各個段;P2口作為掃描口,經(jīng)同相驅(qū)動器7407接顯示器公共極。</p><p>  對于圖4-7中的5位顯示器,在AT89C51RAM存貯器中設(shè)置五個顯示緩沖器單元30H-35H,分別存放5位顯示器的顯示數(shù)據(jù),AT89C51的P2口掃描輸出總是只在一位為低電平,即5位顯示器中僅有一位公共陰極為低電平,其它位為高電平,AT89C51的P0口相應(yīng)位(陰極為

59、低)的顯示數(shù)據(jù)的段數(shù)據(jù),使該位顯示出一個字符,其它們?yōu)榘?,依次地改變P2口輸出為高的位,P0口輸出對應(yīng)的段數(shù)據(jù),5位顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。</p><p>  圖4-7 五位動態(tài)顯示電路</p><p>  4.2 霍爾傳感器簡介</p><p>  4.2.1 霍爾器件概述</p><p>  霍爾元件是一種基于霍爾

60、效應(yīng)的磁傳感器,已發(fā)展成一個品種多樣的磁傳感器產(chǎn)品族,并已得到廣泛應(yīng)用?;魻栐且环N磁傳感器。要他們可以檢測磁場及其變化,可以在各種與磁場有關(guān)的場合中。霍爾器件以霍爾效應(yīng)為其工作基礎(chǔ)。</p><p>  霍爾期間具有許多優(yōu)點,他們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高(可達1MHZ),耐震動,不怕灰塵、水汽及煙霧等污染或腐蝕。</p><p>  霍爾線性器件的精

61、度高、線性度好;霍爾開關(guān)器件無觸點、無磨損、輸出波形清晰、無抖動、無回調(diào)、位置重復(fù)精度高(可達um級)。采用了各種補償措施的霍爾器件的工作溫度范圍廣,可達55-150度。</p><p>  按照霍爾器件的功能可將他們分為:霍爾線性器件和霍爾開關(guān)器件。前者輸出模擬量,后者輸出數(shù)字量。</p><p>  按被檢測的對象的性質(zhì)可將它們分為:直接應(yīng)用和間接應(yīng)用。前者是直接檢測出被測對象本身的磁

62、場或磁特性,后者是檢測被檢測對象上人為設(shè)置的磁場,用這個磁場作為被檢測信息的載體,通過它,將許多非電、非磁的物理量例如力、力矩、壓力、應(yīng)力、位置、位移、加速度、角度、角速度、轉(zhuǎn)速、轉(zhuǎn)數(shù)以及工作狀態(tài)發(fā)生變化的時間等,轉(zhuǎn)換成電量來進行檢測和控制。</p><p>  集成霍爾傳感器是利用硅集成電路工藝將霍爾元件和測量線路集成在一起的一種傳感器。它取消了傳感器和測量電路之間的界限,實現(xiàn)了材料、元件、電路三位一體。集成霍

63、爾傳感器與分立相比,由于減少了焊點,因此顯著地提高了可靠性。此外,它具有體積小、重量輕、功耗低等優(yōu)點,正越來越愛到眾的重視。</p><p>  集成霍爾傳感器的輸出是經(jīng)過處理的霍爾輸出信號。按照輸出信號的形式,可以分為開關(guān)型集成霍爾傳感器和線性集成霍爾傳感器兩種類型。</p><p>  開關(guān)型集成霍爾傳感器是把霍爾元件的輸出經(jīng)過處理后輸出一個高電平或低電平的數(shù)字信號?;魻栭_關(guān)電路又稱霍

64、爾數(shù)字電路,由穩(wěn)壓器、霍爾片、差分放大器,斯密特觸發(fā)器和輸出級組成。</p><p>  4.2.2 霍爾傳感器的應(yīng)用</p><p>  使用霍爾器件檢測磁場的方法極為簡單,將霍爾器件做成各種形式的探頭,放在被測磁場中,因霍爾器件只對垂直于霍爾片表面的磁感應(yīng)強度敏感,因而必須令磁力線和器件表面垂直,通電后即可由輸出電壓得到被測磁場的磁感應(yīng)強度。若不垂直,則應(yīng)求出其垂直分量來計算被測磁場的

65、磁感應(yīng)強度值。而且,因霍爾元件的尺寸極小,可以進行多點檢測,由計算機進行數(shù)據(jù)處理,可以得到場的分布狀態(tài),并可對狹縫,小孔中的磁場進行檢測用磁場作為被傳感物體的運動和位置信息載體時,一般采用永久磁鋼來產(chǎn)生工作磁場。例如,用一個5×4×2.5(mm3)的釹鐵硼Ⅱ號磁鋼,就可在它的磁極表面上得到約2300高斯的磁感應(yīng)強度。在空氣隙中,磁感應(yīng)強度會隨距離增加而迅速下降。為保證霍爾器件,尤其是霍爾開關(guān)器件的可靠工作,在應(yīng)用中要

66、考慮有效工作氣隙的長度。在計算總有效工作氣隙時,應(yīng)從霍爾片表面算起。在封裝好的霍爾電路中,霍爾片的深度在產(chǎn)品手冊中會給出。 </p><p>  因為霍爾器件需要工作電源,在作運動或位置傳感時,一般令磁體隨被檢測物體運動,將霍爾器件固定在工作系統(tǒng)的適當(dāng)位置,用它去檢測工作磁場,再從檢測結(jié)果中提取被檢信息。</p><p>  4.2.3 AH41霍爾開關(guān)</p><p&

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

68、t;p>  電源電壓 VCC 4.5-24V</p><p>  輸出低電平電壓 Vout Iout=20mA B>BOP -200-400mV</p><p>  輸出高電平電流 IOFF Vout=24V B 電源電流 ICC VCC=24V </p><p>  輸出端開路  10 mA</p><p>  輸出

69、上升時間  tr Vcc=12V RL=1.1KΩ CL=20Pf--0.12 μS</p><p>  輸出下降時間  tf Vcc=12V RL=1.1KΩ CL=20Pf--0.18 μS </p><p><b>  產(chǎn)品特點:</b></p><p><b>  . 電源電壓范圍寬</b></

70、p><p>  . 可用市售的小磁環(huán)來驅(qū)動</p><p>  . 無可動部件、可靠性高</p><p><b>  . 尺寸小</b></p><p><b>  . 抗環(huán)境應(yīng)力</b></p><p>  . 可直接同雙極和M

71、OS邏輯電路接口</p><p><b>  應(yīng)用:</b></p><p>  . 高靈敏的無觸點開關(guān)</p><p><b>  . 直流無刷電機</b></p><p>  . 直流無刷風(fēng)機.  </p><p>  霍爾開關(guān)元件

72、的電路圖:</p><p>  圖4-8 霍爾傳感器的電路圖</p><p><b>  4.3 發(fā)送模塊</b></p><p>  根據(jù)系統(tǒng)功能要求,要使單片機測量的轉(zhuǎn)速能夠向上位機發(fā)送數(shù)據(jù),硬件電路中必須要考慮到單片機的發(fā)送部分,由于單片機通過串口發(fā)送出來的是TTL邏輯電平(0V和5V),而計算機RS-232總線上輸入、輸出數(shù)據(jù)和控制信號

73、為+12V左右的電壓,單片機要和PC的上位機通信就必須是電平一致,所以發(fā)送部分關(guān)鍵的部分是電平轉(zhuǎn)換和串口發(fā)送,電平轉(zhuǎn)換可以用模擬器件進行轉(zhuǎn)換,但是為了方便起見,本次設(shè)計采用的是集成芯片,一個芯片加上它的外圍電路即可完成電平的轉(zhuǎn)換的工作。結(jié)構(gòu)簡單、方便容易,精確度高。本次所采用的是HIN232CP,我們要對其外圍電路進行設(shè)計,下面我們將詳細的敘述。</p><p><b>  數(shù)據(jù)的傳輸:</b&g

74、t;</p><p>  當(dāng)電路工作于發(fā)送數(shù)據(jù)狀態(tài)時,PC機的RTS端輸出高電平,經(jīng)IC1電平轉(zhuǎn)換打開IC3(74LS08)的與門B1,使PC機TXD端輸出的數(shù)據(jù)經(jīng)紅外發(fā)射電路發(fā)射出去;RTS信號IC1反相后作為CTS信號送入計算機,同時還關(guān)閉與門B2;使計算機不接收其它數(shù)據(jù)信號。</p><p>  該必發(fā)器的數(shù)據(jù)傳輸速率最好設(shè)在9600b/s為宜,以確保數(shù)據(jù)傳輸?shù)目煽啃浴?lt;/p&

75、gt;<p><b>  器件的介紹:</b></p><p><b>  1、RS-232C</b></p><p>  RS-232C是美國電氣工業(yè)協(xié)會推廣使用的一種串行通信總路線標(biāo)準(zhǔn),是DCE(數(shù)據(jù)通信設(shè)備,如微機)和DTE(數(shù)據(jù)終端設(shè)備,如CRT)間傳輸串行數(shù)據(jù)的接口總線。</p><p>  RS-

76、232C最大傳輸距離為15m,最高傳輸速率約20kbps,信號的邏輯0電平為+3V~+15V。邏輯1電平為-3V~-15V。</p><p><b>  電氣特性:</b></p><p>  EIA-RS-232C對電器特性、邏輯電平和各種信號線功能都作了規(guī)定;</p><p>  在TxD和RxD上:邏輯1(MARK) =-3V~-15V&

77、lt;/p><p>  邏輯0(SPACE)=+3~+15V</p><p>  在RTS、CTS、DSR、DTR和DCD等控制線上:</p><p>  信號有效(接通,ON狀態(tài),正電壓)=+3V~+15V</p><p>  信號無效(斷開,OFF狀態(tài),負電壓)=-3V~-15V</p><p>  2、RS-232連

78、接器DB-9</p><p>  DB-9是RS-232信號線的連接器,其連接器的機械特性見圖(4-9),表 4-1所示RS-232信號線名稱、符號以及對應(yīng)在DB-9上的針腳號。</p><p>  圖4-9 連接器的機械特性</p><p>  表4-1 RS-232信號線和DB-9引腳關(guān)系</p><p>  Tab.4-1 RS-23

79、2 signal lines and DB-9-pin relations</p><p>  圖4-10 電平轉(zhuǎn)換電路原理圖</p><p>  3、電平轉(zhuǎn)換器HIN232CPE</p><p>  由于RS-232C總線上傳輸?shù)男盘栠壿嬰娖脚cTTL邏輯電平差異很大,所以就存在這兩種電平的轉(zhuǎn)換問題,下面就介紹一下電平轉(zhuǎn)換器HIN232CPE。</p>

80、<p>  HIN232CPE能將RS-232C電平轉(zhuǎn)換成TTL電平,也能將TTL電平轉(zhuǎn)換成RS-232C電平,只需單+5V供電,由內(nèi)部升高電路產(chǎn)生10V~+12V。內(nèi)部有兩個發(fā)送器(TTL電平轉(zhuǎn)換為RS-232C電平)和兩個接收器(RS-232電平轉(zhuǎn)換為TTL電平)。HIN232CPE芯片引腳排列和外部元件連接線路如圖4-11所示。</p><p>  圖 4-11 HIN232CPE 電平轉(zhuǎn)換器及

81、外接元件圖</p><p><b>  5 軟件設(shè)計</b></p><p>  本章重點闡述測量轉(zhuǎn)速的匯編語言。以及軟件設(shè)計的過程。</p><p>  軟件需要解決的是單片機中斷服務(wù)程序的設(shè)計、計算程序的設(shè)計、顯示部分的程序設(shè)計以及在我們這里非重點介紹的通信程序設(shè)計。</p><p>  5.1 單片機轉(zhuǎn)速程序設(shè)計思

82、路及過程</p><p>  單片機測量轉(zhuǎn)速可以分為若干模塊,然后在主程序中調(diào)用各個模塊, 流程圖如下圖所示。</p><p>  圖 5-1 主程序流程圖</p><p>  5.1.1 單片機程序設(shè)計思路</p><p>  計算轉(zhuǎn)速公式: n=60/NTc (r/min)</p><p>  其中,N是內(nèi)部

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

84、<p>  下面我們將介紹除數(shù)是如何獲得的:</p><p>  單片機的轉(zhuǎn)速測量完成,定時器T0作為內(nèi)部定時器,外部中斷來的時候讀取TH0,TL0,并同時清零TH0、TL0,使定時器再次循環(huán)計內(nèi)部脈沖。此外,對于低速情況下,我們還要設(shè)定一個軟件計數(shù)器VTT,當(dāng)外部中斷還沒來而內(nèi)部定時器已經(jīng)溢出,產(chǎn)生定時器0中斷時,增加VTT,作為三字節(jié)中的高字節(jié)。三字節(jié)組成除數(shù),上面的常數(shù)為四字節(jié),所以計算程序?qū)?/p>

85、際上就是調(diào)用一個四字節(jié)除三字節(jié)商為兩字節(jié)(最高轉(zhuǎn)速36000r/min足夠)的程序。</p><p>  為數(shù)碼管能夠顯示出來,需將二進制轉(zhuǎn)換為十進制,在將十進制轉(zhuǎn)換為非壓縮BCD碼后,才能調(diào)用查表程序,最后送顯示。</p><p>  5.1.2 單片機轉(zhuǎn)速計算程序</p><p>  由于本次設(shè)計的系統(tǒng)要實現(xiàn)的功能是將霍爾傳感器的信號送到單片機的外部中斷口,再對

86、周期方波進行內(nèi)部計數(shù),調(diào)用計算程序把轉(zhuǎn)速測出來。可以說是核心部分,流程圖如圖所示:</p><p>  圖5-2 計算程序流程圖</p><p>  計算程序中又再次調(diào)用了除法程序,這里的除法為四字節(jié)除三字節(jié)商為兩字節(jié),除法的程序的編程思想可以和手工計算的除法相似,比較減法的思想,流程圖如圖5-3所示具體程序見附錄。</p><p>  5.1.3 二-十進制轉(zhuǎn)換程

87、序</p><p>  計算程序計算出來的數(shù)據(jù)為二進制,存到50H、51H單元中以便發(fā)送程序中調(diào)用傳送數(shù)據(jù)到計算機,計算機可識別二進制,然而,我們需要在LED上顯示,查表程序需要拆分的BCD碼,所以二進制必須先轉(zhuǎn)換成BCD后才能拆分。這里介紹將(R2R3)中的16位二進制數(shù)轉(zhuǎn)換為壓縮BCD碼十進制整數(shù)送R4、R5、R6。</p><p>  Y

88、 N</p><p>  圖5-3 除法程序流程圖</p><p>  按照數(shù)制轉(zhuǎn)換方法可以畫出流程圖。</p><p>  圖 5-4 雙字節(jié)整數(shù)二翻十程序流程圖</p><p>  單片機顯示部分可以用來顯示計算出來的數(shù)據(jù)的。在程序設(shè)計中,在AT89C51RAM存貯器中的四個顯示緩沖器單元30H-34H,分別存放著由計算出來的轉(zhuǎn)速

89、的BCD碼進行拆分后的非壓縮BCD碼數(shù)據(jù),AT89C51的P1口掃描輸出總是只有一位為低電平、其它位為高電平,AT89C51的P0口相應(yīng)位的顯示數(shù)據(jù)的段數(shù)據(jù),使該位顯示出一個字符,其它們?yōu)榘担来蔚馗淖働1口輸出為低高的位,P0口輸出對應(yīng)的段數(shù)據(jù),5位LED顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。</p><p>  顯示部分程序分為兩部分:十進制BCD轉(zhuǎn)換成非壓縮BCD碼;查表程序顯示數(shù)據(jù)。</p&

90、gt;<p>  雙字節(jié)整數(shù)拆分程序流程圖如圖5-5</p><p>  圖 5-5 雙字節(jié)整數(shù)拆分程序流程圖</p><p>  顯示程序流程圖如圖5-6所示:</p><p><b>  5.2 程序設(shè)計</b></p><p>  根據(jù)以上設(shè)計思路和各個模塊的流程圖即可編寫出本次畢業(yè)設(shè)計的程序,注意其

91、中各個模塊間的參數(shù)傳遞以及堆棧指針等問題,程序設(shè)計的任務(wù)即可完成,寫出初始的程序,再進行上機調(diào)試,這些我們將具體在下章中加以詳細敘述。</p><p><b>  N </b></p><p>  圖 5-6 顯示程序流程圖</p><p><b>  6 系統(tǒng)調(diào)試</b></p><p>  電路

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

93、調(diào)試</b></p><p>  在上電前,我們必須確保電路中不存在斷路或短路情況,這一工作是整個調(diào)試工作的第一步,也是非常重要的一個步驟。在這部分調(diào)試中主要使用的工具是萬用表,用來完成檢測電路中是否存在斷路或者短路情況等。</p><p>  特別是數(shù)碼管的連接部分,有PROTEL制作的PCB確保要和原理圖上的圖一致,有些在電路板上沒法連接的線路,要用短接線把接好,對照著原理

94、圖部分,一部分一部分地用萬用表測量,注意焊點之間,確保焊點沒有短接在一起,同時注意焊點的美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn)。</p><p><b>  上電后的調(diào)試</b></p><p>  在確保硬件電路正常,無異常情況(斷路或短路)方可上電調(diào)試,上電調(diào)試的目的是檢驗電路是否接錯,同時還要檢驗原理是否正確,在本次課程設(shè)計中,上電調(diào)試主要只轉(zhuǎn)速測量系統(tǒng)的單片機控

95、制部分、數(shù)碼管點亮部分、和上位機通信是的電平轉(zhuǎn)換和串口通信部分的硬件調(diào)試。</p><p>  1、單片機控制部分硬件調(diào)試:這一部分調(diào)試主要是檢查時鐘電路、復(fù)位電路是否接對,單片機的電源以及地是否接好,以及其他的一些管腳的接法??磫纹瑱C通電后能否可以正常工作等這一系列問題。</p><p>  2、數(shù)碼管LED電路調(diào)試:由于數(shù)碼管采用的是動態(tài)掃描的方式點亮的。數(shù)碼管的公共端(COM)接在7

96、407驅(qū)動再接到單片機的P2口作為位選信號,字型是接在P0口。電路上電檢查7407是否接上電源和地讓其正常工作。在這一前提下,查看數(shù)碼管能否點亮。只需要接仿真機上編寫一個小程序讓5位LED全亮,或者讓它們其中的某位點亮,也可以顯示不同的數(shù)字,根據(jù)要求給P0口,P2口分別賦值。即可檢查數(shù)碼管的硬件電路是否正確,即可判斷顯示驅(qū)動電路整個完整,首先排除這里的故障。</p><p>  3、發(fā)送部分硬件電路調(diào)試:這一部分

97、電路硬件調(diào)試主要完成任務(wù)是使得通過HIN232CPE電平轉(zhuǎn)換器轉(zhuǎn)換前后的電平關(guān)系。可以用示波器和萬用表檢查電平轉(zhuǎn)換前后的關(guān)系,這里不在贅述。</p><p><b>  6.2 軟件調(diào)試</b></p><p>  單片機程序調(diào)試思路:</p><p>  單片機部分調(diào)試工作的完成主要應(yīng)用LCA51軟件來完成,這一部分工作首先將轉(zhuǎn)速測量系統(tǒng)中的

98、各個模塊——計算程序中的除法程序、雙字節(jié)的二-十進制數(shù)制轉(zhuǎn)換程序,壓縮BCD碼十進制數(shù)轉(zhuǎn)換為非壓縮BCD碼的程序以及顯示部分程序調(diào)試好,不斷調(diào)試,不斷修改直到正確為止。LCA51軟件是一種非常實用的多窗口編輯、調(diào)試軟件。 </p><p>  LCA51軟件全面支持匯編語言,C51語言,PL/M51語言的編譯/連接、調(diào)試。軟件支持單文件方式和工程化管理兩種模式。用戶可自定義各種語言的關(guān)鍵詞.軟件完全支持源語句級在

99、線調(diào)試。高級語言還支持源文件調(diào)試和匯編語言指令行對照調(diào)試。用戶可同時打開多個窗體編輯、調(diào)試、變量觀察.用戶可在線對原文件直接編輯、編譯、連接、加載和調(diào)試,軟件支持編譯錯誤源文件定位。調(diào)試時用戶可動態(tài)觀察、修改設(shè)定變量(包括CPU片內(nèi)寄存器、特殊寄存器及外部寄存器、內(nèi)存)的值。</p><p>  調(diào)試主要方法和技巧:</p><p>  通常一個調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷點、查

100、看變量、更改數(shù)值。</p><p><b>  1.跟蹤調(diào)試</b></p><p>  調(diào)試應(yīng)用程序所提供的重要性能也許就是跟蹤應(yīng)用程序。跟蹤應(yīng)用程序使用戶能夠在運行應(yīng)用程序時,看到PC指針在應(yīng)用源代碼程序中的確切位置,LCA51提供以下方法對程序的執(zhí)行進行跟蹤。</p><p>  跟蹤型單步執(zhí)行一條源語句程序。但是,如果調(diào)用一函數(shù),則進入

101、函數(shù)中,再執(zhí)行函數(shù)的第一條源語句行前停止。</p><p>  通過型單步僅執(zhí)行下一條源語句程序,然后又停止。如果是調(diào)用一函數(shù),運行完整個函數(shù)并停止在函數(shù)返回處。</p><p><b>  2.斷點調(diào)試</b></p><p>  如果已知程序中某塊代碼實際運行正常的情況下,仍用跟蹤調(diào)試方法,將大大浪費時間,而且很枯燥,因此調(diào)試中第二個重要工

102、具是在源代碼中預(yù)定處設(shè)置斷點,大多數(shù)調(diào)試程序通過使用斷點中止程序執(zhí)行。</p><p>  注意:如果用戶調(diào)試高級語言,因為系統(tǒng)要占用2個斷點,所以可設(shè)置的斷點數(shù)為最大斷點個數(shù)減2。</p><p>  LCA51調(diào)試軟件還提供一次性斷點:執(zhí)行到光標(biāo)所在行。如果用戶按熱鍵F4,調(diào)試程序繼續(xù)執(zhí)行程序代碼,直到它到達光標(biāo)行處或調(diào)試程序遇到另一個斷點。</p><p>&

103、lt;b>  3.查看變量</b></p><p>  顯然,通過一系列指令查看應(yīng)用程序,了解導(dǎo)致某一錯誤的執(zhí)行也是一種非常有效的方法。LCA51軟件提供了以下幾種方法對變量進行查看。</p><p>  通過添加觀察項菜單可以將用戶希望觀察的變量添加到觀察窗口中,長期進行觀察。用戶程序在單步或斷點停下時,將更新變量的取值。</p><p>  用

104、戶可以直接移動鼠標(biāo)到相應(yīng)的變量名上,點擊鼠標(biāo)左鍵,將出現(xiàn)一個提示窗口,顯示這個變量的當(dāng)前值。</p><p>  用戶還可以打開程序空間窗口、內(nèi)部數(shù)據(jù)窗口、外部數(shù)據(jù)窗口進行數(shù)據(jù)塊觀察。</p><p><b>  4.更改數(shù)值</b></p><p>  如果用戶在調(diào)試過程中了解到變量的內(nèi)容(超值、未定義等)會對程序性能產(chǎn)生影響或引起異常時,立

105、即更改變量的內(nèi)容是很有效的方法,以確保該值在正確范圍內(nèi)不會產(chǎn)生錯誤。LCA51軟件提供一系列更改變量數(shù)值的方法,以便用戶能檢查程序?qū)φ麄€變量值范圍的反應(yīng),而無需為設(shè)置每個值而重新加載調(diào)試。在更改對話框中用戶輸入要更改的取值,點擊確定按鈕。用戶可以在輸入框中輸入十六進制或十進制數(shù)據(jù)。</p><p><b>  程序調(diào)試過程: </b></p><p>  整個程序是一

106、個主程序調(diào)用各個子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個程序都能平穩(wěn)運行,各個模塊的子程序的正確與平穩(wěn)運行必不可少,所以在軟件調(diào)試的最初階段就是把各個子程序模塊進行分別調(diào)試。</p><p>  首先要對計算程序進行調(diào)試,其中關(guān)鍵就是那個四字節(jié)除三字節(jié)的程序顯得尤為重要,在整個程序中,四字節(jié)的被除數(shù)是確定的常數(shù),而除數(shù)是測量記數(shù)的值,當(dāng)各個模塊調(diào)試時,我們可以先對除數(shù)先賦不同的值,利用查看內(nèi)部數(shù)據(jù)的數(shù)據(jù)窗口觀察出計

107、算出來的結(jié)果和用計算器算得的結(jié)果是否一致,可以舉例多次數(shù)據(jù),確保程序正確,才能得到想得到的數(shù)據(jù)。</p><p>  其次、二進制到十進制的轉(zhuǎn)換,我們依然可以利用上述列舉的方法,多次給出數(shù)據(jù),然后運行程序,可以設(shè)置觀察變量,觀察出程序轉(zhuǎn)換的結(jié)果。</p><p>  最后、拆分壓縮BCD碼十進制以及最后的顯示程序,可以利用上述提到的各種方法,觀察30-34H內(nèi)部的數(shù)據(jù),緩沖數(shù)據(jù)的觀察檢查完

108、畢后,調(diào)用顯示程序,觀察數(shù)碼管上顯示的數(shù)據(jù)是否是內(nèi)存緩沖中需要顯示的數(shù)據(jù)。</p><p><b>  6.3 綜合調(diào)試</b></p><p>  在硬件和軟件單獨調(diào)試成功后進行軟硬件綜合調(diào)試,它可以分成以下幾個步驟:</p><p>  1.使霍爾傳感器有方波信號輸出;</p><p>  2.使單片機獲得中斷信號,

109、計算出轉(zhuǎn)速值并存儲;</p><p>  3.通過LED數(shù)碼管把測量的數(shù)據(jù)顯示出來。</p><p>  4.通過通信使得PC機與單片機之間的通信成功。</p><p>  6.4 故障分析與解決方案</p><p><b>  故障出現(xiàn)情況:</b></p><p>  1、霍爾傳感器不能產(chǎn)生有

110、效的TTL電平,產(chǎn)生波形不穩(wěn)</p><p>  2、單片機的中斷服務(wù)程序不能執(zhí)行,不管是定時中斷還是外部中斷;</p><p>  3、中斷執(zhí)行低速情況也就是軟件記數(shù)功能不對;</p><p>  4、測得的轉(zhuǎn)速不準(zhǔn)確,而且在波形頻率變化下顯示轉(zhuǎn)速卻不變</p><p>  5、單片機顯示部分無法工作,顯示不穩(wěn)定;</p>&

111、lt;p>  6、信號發(fā)生器模擬轉(zhuǎn)速測量正確,接電機不穩(wěn)定</p><p>  7、通信時單片機接收顯示數(shù)據(jù)不正常,PC機接收亂碼;</p><p>  解決方案(針對上述故障一一對應(yīng)的解決方案):</p><p> ?。?)硬件電路中霍爾傳感器應(yīng)工作在5V電壓,中間引腳接地,數(shù)據(jù)線接單片機的外部中斷0。在電機的轉(zhuǎn)軸上還要貼上一粒磁鋼,利用霍爾效應(yīng)產(chǎn)生方波。利

112、用萬用表檢查時發(fā)現(xiàn)接5V和地的PCB上的線都壞了,重新用線接在電路板上。當(dāng)波形出來后,顯示的波形不穩(wěn),而且不夠理想,后來在信號線與地之間接了472的瓷片電容濾波。波形得到了大大改善;</p><p> ?。?)首先檢查程序中的開頭,中斷入口地址,發(fā)現(xiàn)中斷定時0的地址寫成中斷定時1的入口地址了。外部中斷沒有執(zhí)行跟沒有中斷信號加入有關(guān)系。在前面還沒有解決的時候,我們暫時用信號發(fā)生器來代替外部中斷9的輸入,由于中斷執(zhí)行

113、與否我們沒法看到,可以用設(shè)置中斷點的方法或者利用示波器,在中斷服務(wù)程序中重新編寫一些程序觀察單片機的某一輸出口的波形變換或者中斷程序中讓數(shù)碼管點亮等直觀可以看到的方法來檢查中斷的執(zhí)行情況;</p><p> ?。?)中斷服務(wù)程序中程序設(shè)計有問題,要先讀去反映轉(zhuǎn)速的TH0,TL0,再去清0,軟件記數(shù)的高字節(jié)VTT應(yīng)該在定時中斷0中的服務(wù)程序中自增的同時清TH0,TL0,在外部中斷程序中要讀取三字節(jié)的記數(shù)值后同時清三

溫馨提示

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

最新文檔

評論

0/150

提交評論