




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘 要在工程實(shí)踐中,經(jīng)常會(huì)遇到各種需要測量轉(zhuǎn)速的場合,測量轉(zhuǎn)速的方法分為模擬式和數(shù)字式兩種。模擬式采用測速發(fā)電機(jī)為檢測元件,得到的信號(hào)是模擬量。數(shù)字式通常采用光電編碼器,霍爾元件等為檢測元件,得到的信號(hào)是脈沖信號(hào)。隨著微型計(jì)算機(jī)的廣泛應(yīng)用,特別是高性能價(jià)格比的單片機(jī)的出現(xiàn),轉(zhuǎn)速測量普遍采用以單片機(jī)為核心的數(shù)字式測量方法。本文便是運(yùn)用at89c51單片機(jī)控制的智能化轉(zhuǎn)速測量儀。電機(jī)在運(yùn)行過程中,需要對(duì)其進(jìn)行監(jiān)控,轉(zhuǎn)速是一個(gè)必不可少的一個(gè)參數(shù)。本系統(tǒng)就是對(duì)電機(jī)轉(zhuǎn)速進(jìn)行測量,并可以和pc機(jī)進(jìn)行通信,顯示電機(jī)的轉(zhuǎn)速,并觀察電機(jī)運(yùn)行的基本狀況。本設(shè)計(jì)主要用at89c51作為控制核心,由霍爾傳感器、led
2、數(shù)碼顯像管、hin232cpe電平轉(zhuǎn)換、及rs232構(gòu)成。詳細(xì)介紹了單片機(jī)的測量轉(zhuǎn)速系統(tǒng)及pc機(jī)與單片機(jī)之間的串行通訊。充分發(fā)揮了單片機(jī)的性能。本文重點(diǎn)是測量速度并顯示在5位led數(shù)碼管上。其優(yōu)點(diǎn)硬件是電路簡單,軟件功能完善,測量速度快、精度高、控制系統(tǒng)可靠,性價(jià)比較高等特點(diǎn)。關(guān)鍵字:msc-51(單片機(jī)); 轉(zhuǎn)速; 傳感器目 錄摘 要1abstract21 序 言12 系統(tǒng)功能分析22.1 系統(tǒng)功能概述22.2 系統(tǒng)要求及主要內(nèi)容23 系統(tǒng)總體設(shè)計(jì)43.1 硬件電路設(shè)計(jì)思路43.2 軟件設(shè)計(jì)思路44 硬件電路設(shè)計(jì)64.1 單片機(jī)模塊64.1.1 處理執(zhí)行元件64.1.2 時(shí)鐘電路104.1.
3、3 復(fù)位電路114.1.4 顯示電路124.2 霍爾傳感器簡介154.2.1 霍爾器件概述154.2.2 霍爾傳感器的應(yīng)用164.2.3 ah41霍爾開關(guān)174.3 發(fā)送模塊185 軟件設(shè)計(jì)225.1 單片機(jī)轉(zhuǎn)速程序設(shè)計(jì)思路及過程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.5 結(jié)論與經(jīng)驗(yàn)34參考文獻(xiàn)36致 謝37附 錄38附錄1 電路原理圖38附錄2 元器件清單391 序 言智能化轉(zhuǎn)速測量可以對(duì)電機(jī)的轉(zhuǎn)速
4、進(jìn)行測量,電機(jī)在運(yùn)行的過程中,需要對(duì)其平穩(wěn)性進(jìn)行監(jiān)測,適時(shí)對(duì)轉(zhuǎn)速的測量有效地可以反映電機(jī)的狀況。本系統(tǒng)主要由傳感器,單片機(jī)at89c51構(gòu)成??梢詫?duì)大范圍轉(zhuǎn)速進(jìn)行測量,測量的轉(zhuǎn)速精度高,還可以和pc機(jī)時(shí)時(shí)通信,實(shí)現(xiàn)對(duì)電機(jī)轉(zhuǎn)速的測量。單片機(jī)的英文名稱是micro controller unit,縮寫為mcu,又稱為微控制器,它是一種面向控制的大規(guī)模集成電路芯片。它具有功能強(qiáng)、體積小、可靠性高、應(yīng)用簡單靈活,因而使用非常廣泛,有力地推動(dòng)各行業(yè)的技術(shù)發(fā)展和更新?lián)Q代。 本文首先在第二章緒論介紹了此系統(tǒng)的功能、技術(shù)指標(biāo)以及主要內(nèi)容等;在第三章論述了總體設(shè)計(jì)過程,確定了技術(shù)指標(biāo)及器件的選擇;第四章著重描述
5、了系統(tǒng)硬件電路設(shè)計(jì)、硬件設(shè)計(jì)框圖及所使用的各種芯片功能與特性;在第五章中重點(diǎn)剖析了軟件設(shè)計(jì)的過程;最后在第六章中具體論述單片機(jī)、電平轉(zhuǎn)換電路、通信的處理及調(diào)試。由于本人水平有限,加之時(shí)間倉促,論文中難免會(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ī)接收霍爾傳感器傳來的脈沖信號(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)速,畫
6、出v-t坐標(biāo)圖。組成及框圖:本系統(tǒng)通信部分是單片機(jī)經(jīng)電平轉(zhuǎn)換電路hin232cp之后,通過串口rs-232發(fā)送數(shù)據(jù),由pc微機(jī)接收,微機(jī)部分用visual basic軟件編寫的界面作為pc機(jī)部分與單片機(jī)進(jìn)行串口之間通信。傳感器電路、轉(zhuǎn)速測量、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),就是這個(gè)系統(tǒng)對(duì)社會(huì)生活和科技觀念有多大的貢獻(xiàn)。轉(zhuǎn)速測量系統(tǒng)具有大范圍、高精度等優(yōu)點(diǎn)、測量速度快,這種系統(tǒng)將會(huì)有良好的應(yīng)用。2.2 系統(tǒng)要求及
7、主要內(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í)通過串口向上位機(jī)發(fā)送轉(zhuǎn)速數(shù)據(jù)。主要內(nèi)容:(1)單片機(jī)部分主要完成電機(jī)轉(zhuǎn)速的測量(2)led部分主要是把轉(zhuǎn)速顯示出來,顯示范圍60-36000r/min(3) 發(fā)送部分主要是完成電平轉(zhuǎn)換,送rs232向pc發(fā)送數(shù)據(jù)。(4) pc機(jī)部分主要完成將數(shù)據(jù)顯示在界面并描繪出v-t圖2.3 系統(tǒng)技術(shù)指標(biāo)系統(tǒng)主要完成以下功能:測量系統(tǒng):1.設(shè)計(jì)并制作單片機(jī)的轉(zhuǎn)速測量的硬件系統(tǒng);2.用匯編語言完成轉(zhuǎn)速測量的軟件系統(tǒng);3.要求把轉(zhuǎn)速顯示在
8、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)速測量主要是各個(gè)模塊的設(shè)計(jì),定時(shí)器記數(shù)功能、以及l(fā)ed驅(qū)動(dòng)、電平轉(zhuǎn)換及pc機(jī)之間的通信。單片機(jī)可通過編程控制外圍部件,能實(shí)現(xiàn)較高的自動(dòng)化程度。以它為系統(tǒng)核心的控制模塊可實(shí)現(xiàn)主從控制,完成預(yù)定的任務(wù)。3 系統(tǒng)總體設(shè)計(jì)3.1 硬件電路設(shè)計(jì)思路硬件設(shè)計(jì)的任務(wù)是根據(jù)總體設(shè)計(jì)要求,在選擇的機(jī)型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用
9、的元器件,設(shè)計(jì)出系統(tǒng)的原理框圖、電路原理圖。89c51單片機(jī)通過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)速測量部分的硬件設(shè)計(jì)思路:本次設(shè)計(jì)單片機(jī)部分的硬件框圖如 圖21所示。cpu執(zhí)行單元顯示電路復(fù)位電路 發(fā)送電路時(shí)鐘電路 圖3-1 單片機(jī)部分硬件框圖具體詳細(xì)的敘述將在下面的章
10、節(jié)中逐一介紹。3.2 軟件設(shè)計(jì)思路軟件需要解決的是定時(shí)器0的記數(shù)和外部中斷0的設(shè)定、由于測量的轉(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.2)口發(fā)送一個(gè)中斷信號(hào),定時(shí)器工作在內(nèi)部定時(shí),th0、tl0設(shè)定初值為0,作為除數(shù)的低兩字節(jié),利用軟件記數(shù)器、定時(shí)器0中斷的次數(shù)作為除
11、數(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)。主要編寫一個(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.0592mhz。軟件的具體設(shè)計(jì)我們將在下面的章節(jié)中作詳細(xì)介紹。4 硬件電路設(shè)計(jì)硬
12、件的功能由總體設(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ī)測量轉(zhuǎn)速系統(tǒng)為單片機(jī)控制模塊、霍爾傳感器模塊、發(fā)送模塊,各個(gè)模塊都承擔(dān)著各自的任務(wù)。設(shè)計(jì)單片機(jī)模塊,考慮到單片機(jī)本身的外圍電路較多,所以在單片機(jī)模塊方面需要極為小心。在整個(gè)電路設(shè)計(jì)時(shí)要考慮電平轉(zhuǎn)換電路,具體每一部分的設(shè)計(jì)將在以下章節(jié)中詳細(xì)分析。4.1 單片機(jī)模塊根據(jù)系統(tǒng)功能要求以及單片機(jī)硬件電路設(shè)計(jì)思路(如圖31)對(duì)單片機(jī)模塊進(jìn)行設(shè)計(jì),要使單片機(jī)準(zhǔn)確的測
13、量電機(jī)轉(zhuǎn)速,并且使測出的數(shù)據(jù)能顯示出來,所以整個(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位微處理器,俗稱單片機(jī)。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存
14、儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器, at89c單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。圖4-1 at89c51引腳圖主要特性:與mcs-51 兼容4k字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫/擦循環(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í)鐘電路管腳說明:1.vcc:供電電壓;2.gnd:接地;3.p0口:p0口為一個(gè)8位漏極開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時(shí)
15、,被定義為高阻輸入。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門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。5.p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,
16、且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(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門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51
17、的一些特殊功能口,如下表41所示:7.rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。8.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。表4-1 p3口的第二功能tab.4-1 the second feature i p3引 腳第二功能信 號(hào) 名 稱p
18、3.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寫選通外部ram讀選通p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。此時(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./e
19、a/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:來自反向振蕩器的輸出。振蕩器特性:xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石英振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外
20、部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個(gè)perom陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ale管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。4.1.2 時(shí)鐘電路時(shí)鐘電路是計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的
21、工作節(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í)鐘電路框圖。振蕩器工作受/pd端控制,由軟件置“1”pd(即特殊功能寄存器pcon.1)使/pd0,振蕩器停止工作,整個(gè)單片機(jī)也就停止工作,以達(dá)
22、到節(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變?。涞湫椭禐?0pf。圖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)開始工作。mcs-51單片機(jī)有一個(gè)復(fù)位引腳rst,它是史密特觸發(fā)輸入(對(duì)于chmos單片機(jī),rst引腳的內(nèi)部有一個(gè)拉低電阻),當(dāng)振蕩器起振后該引腳上出現(xiàn)2
23、個(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)開始工作。單片機(jī)采用的復(fù)位方式是自動(dòng)復(fù)位方式。對(duì)于mos(at89c51)單片機(jī)只要接一個(gè)電容至vcc即可(見圖43)。在加電瞬間,電容通過電阻充電,就在rst端出現(xiàn)一定時(shí)間的高電平,只要高電平時(shí)間足夠長,就可以使mcs-51有效的復(fù)位。rst端在加電時(shí)應(yīng)保持的高電平時(shí)間包括vcc的上升時(shí)間和振蕩器起振的時(shí)間,vss上升時(shí)間若為10ms,振蕩器起振的時(shí)間和頻率有關(guān)。10mhz時(shí)約為1m
24、s,1mhz時(shí)約為10ms,所以一般為了可靠的復(fù)位,rst在上電應(yīng)保持20ms以上的高電平。rc時(shí)間常數(shù)越大,上電rst端保持高電平的時(shí)間越長。若復(fù)位電路失效,加電后cpu從一個(gè)隨機(jī)的狀態(tài)開始工作,系統(tǒng)就不能正常運(yùn)轉(zhuǎn)。圖4-3 上電復(fù)位電路4.1.4 顯示電路顯示電路采用led數(shù)碼管動(dòng)態(tài)顯示,led(light-emitting diode)是一種外加電壓從而渡過電流并發(fā)出可見光的器件。led是屬于電流控制器件,使用時(shí)必須加限流電阻。led有單個(gè)led和八段led之分,也有共陰和共陽兩種。顯示器結(jié)構(gòu):常用的七段顯示器的結(jié)構(gòu)如圖44所示。發(fā)光二極管的陽極連在一起的稱為共陽極顯示器,陰極連在一起的
25、稱為共陰極顯示器。1位顯示器由八個(gè)發(fā)光二極管組成,其中七個(gè)發(fā)光二極管ag控制七個(gè)筆畫(段)的亮或暗,另一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和暗,這種筆畫式的七段顯示器能顯示的字符較少,字符的開頭有些失真,但控制簡單,使用方便。此外,要畫出電路圖,首先還要搞清楚他的引腳圖的分布,在了解了正確的引腳圖后才能進(jìn)行正確的字型段碼編碼。才能顯示出正確的數(shù)字來,如圖4-5所示,為七段數(shù)碼管的管腳圖。圖4-4 七段發(fā)光顯示器的結(jié)構(gòu)圖4-5 七段發(fā)光顯示器管腳的結(jié)構(gòu)驅(qū)動(dòng)方式:采用的數(shù)碼管驅(qū)動(dòng)為7407,它的全名為7407 ttl 集電極開路六正相高壓驅(qū)動(dòng)器,其結(jié)構(gòu)簡單,使用方便,圖4-6為7407的圖以及各個(gè)引腳的分布功能
26、介紹。圖4-6 7407管腳的結(jié)構(gòu)顯示方式:為了節(jié)省i/o口線,我們采用的動(dòng)態(tài)顯示方式。所謂動(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)速測量范圍60r/min-36000r/min,所以只需要5位數(shù)碼管即可。5位共陰極顯示器和at89c51的接口邏輯如圖4-7所示。at89c51的p0口
27、作為段數(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)榘?,依次地改變p2口輸出為高的位,p0口輸出對(duì)應(yīng)的段數(shù)據(jù),5位顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。圖4-7 五位動(dòng)態(tài)顯示電路4.2 霍爾傳感器簡介4.2.1 霍爾器件概述霍
28、爾元件是一種基于霍爾效應(yīng)的磁傳感器,已發(fā)展成一個(gè)品種多樣的磁傳感器產(chǎn)品族,并已得到廣泛應(yīng)用。霍爾元件是一種磁傳感器。要他們可以檢測磁場及其變化,可以在各種與磁場有關(guān)的場合中。霍爾器件以霍爾效應(yīng)為其工作基礎(chǔ)。霍爾期間具有許多優(yōu)點(diǎn),他們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高(可達(dá)1mhz),耐震動(dòng),不怕灰塵、水汽及煙霧等污染或腐蝕。霍爾線性器件的精度高、線性度好;霍爾開關(guān)器件無觸點(diǎn)、無磨損、輸出波形清晰、無抖動(dòng)、無回調(diào)、位置重復(fù)精度高(可達(dá)um級(jí))。采用了各種補(bǔ)償措施的霍爾器件的工作溫度范圍廣,可達(dá)55-150度。按照霍爾器件的功能可將他們分為:霍爾線性器件和霍爾開關(guān)器件。前
29、者輸出模擬量,后者輸出數(shù)字量。按被檢測的對(duì)象的性質(zhì)可將它們分為:直接應(yīng)用和間接應(yīng)用。前者是直接檢測出被測對(duì)象本身的磁場或磁特性,后者是檢測被檢測對(duì)象上人為設(shè)置的磁場,用這個(gè)磁場作為被檢測信息的載體,通過它,將許多非電、非磁的物理量例如力、力矩、壓力、應(yīng)力、位置、位移、加速度、角度、角速度、轉(zhuǎn)速、轉(zhuǎn)數(shù)以及工作狀態(tài)發(fā)生變化的時(shí)間等,轉(zhuǎn)換成電量來進(jìn)行檢測和控制。集成霍爾傳感器是利用硅集成電路工藝將霍爾元件和測量線路集成在一起的一種傳感器。它取消了傳感器和測量電路之間的界限,實(shí)現(xiàn)了材料、元件、電路三位一體。集成霍爾傳感器與分立相比,由于減少了焊點(diǎn),因此顯著地提高了可靠性。此外,它具有體積小、重量輕、功
30、耗低等優(yōu)點(diǎn),正越來越愛到眾的重視。集成霍爾傳感器的輸出是經(jīng)過處理的霍爾輸出信號(hào)。按照輸出信號(hào)的形式,可以分為開關(guān)型集成霍爾傳感器和線性集成霍爾傳感器兩種類型。開關(guān)型集成霍爾傳感器是把霍爾元件的輸出經(jīng)過處理后輸出一個(gè)高電平或低電平的數(shù)字信號(hào)?;魻栭_關(guān)電路又稱霍爾數(shù)字電路,由穩(wěn)壓器、霍爾片、差分放大器,斯密特觸發(fā)器和輸出級(jí)組成。4.2.2 霍爾傳感器的應(yīng)用使用霍爾器件檢測磁場的方法極為簡單,將霍爾器件做成各種形式的探頭,放在被測磁場中,因霍爾器件只對(duì)垂直于霍爾片表面的磁感應(yīng)強(qiáng)度敏感,因而必須令磁力線和器件表面垂直,通電后即可由輸出電壓得到被測磁場的磁感應(yīng)強(qiáng)度。若不垂直,則應(yīng)求出其垂直分量來計(jì)算被測
31、磁場的磁感應(yīng)強(qiáng)度值。而且,因霍爾元件的尺寸極小,可以進(jìn)行多點(diǎn)檢測,由計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理,可以得到場的分布狀態(tài),并可對(duì)狹縫,小孔中的磁場進(jìn)行檢測用磁場作為被傳感物體的運(yùn)動(dòng)和位置信息載體時(shí),一般采用永久磁鋼來產(chǎn)生工作磁場。例如,用一個(gè)542.5(mm3)的釹鐵硼號(hào)磁鋼,就可在它的磁極表面上得到約2300高斯的磁感應(yīng)強(qiáng)度。在空氣隙中,磁感應(yīng)強(qiáng)度會(huì)隨距離增加而迅速下降。為保證霍爾器件,尤其是霍爾開關(guān)器件的可靠工作,在應(yīng)用中要考慮有效工作氣隙的長度。在計(jì)算總有效工作氣隙時(shí),應(yīng)從霍爾片表面算起。在封裝好的霍爾電路中,霍爾片的深度在產(chǎn)品手冊(cè)中會(huì)給出。 因?yàn)榛魻柶骷枰ぷ麟娫?,在作運(yùn)動(dòng)或位置傳感時(shí),一般令磁
32、體隨被檢測物體運(yùn)動(dòng),將霍爾器件固定在工作系統(tǒng)的適當(dāng)位置,用它去檢測工作磁場,再從檢測結(jié)果中提取被檢信息。4.2.3 ah41霍爾開關(guān)ah41霍爾開關(guān)電路最適于響應(yīng)變化斜率陡峭的磁場并在磁通密度較弱的場合使用,適用于單極或多對(duì)磁環(huán)工作,它由反向電壓保護(hù)器、電壓調(diào)整器、霍爾電壓發(fā)生器、信號(hào)放大器、史密特觸發(fā)器和集電極開路的輸出級(jí)組成。工作溫度范圍為-40 150(存儲(chǔ)溫度為150),可適用于各種機(jī)及機(jī)電一體化領(lǐng)域。 電參數(shù): 參數(shù) 符號(hào) 測試條件 量值 單位 最小 典型 最大電源電壓vcc4.5-24v輸出低電平電壓 vout iout=20ma bbop-200-400mv輸出高電平電流 iof
33、f vout=24v b 電源電流iccvcc=24v 輸出端開路 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)來驅(qū)動(dòng).無可動(dòng)部件、可靠性高.尺寸小.抗環(huán)境應(yīng)力.可直接同雙極和mos邏輯電路接口應(yīng)用:.高靈敏的無觸點(diǎn)開關(guān).直流無刷電機(jī).直流無刷風(fēng)機(jī). 霍爾開關(guān)元件的電路圖:圖4-8 霍爾傳感器的電路圖4.3 發(fā)送模塊根據(jù)系統(tǒng)功能要求,要使單片機(jī)測量的轉(zhuǎn)速能夠向上位機(jī)發(fā)送數(shù)據(jù),硬件電路中必須要考慮到單片機(jī)的發(fā)送部分,由于單片機(jī)通過串口發(fā)送
34、出來的是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)簡單、方便容易,精確度高。本次所采用的是hin232cp,我們要對(duì)其外圍電路進(jìn)行設(shè)計(jì),下面我們將詳細(xì)的敘述。數(shù)據(jù)的傳輸:當(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ā)
35、射出去;rts信號(hào)ic1反相后作為cts信號(hào)送入計(jì)算機(jī),同時(shí)還關(guān)閉與門b2;使計(jì)算機(jī)不接收其它數(shù)據(jù)信號(hào)。該必發(fā)器的數(shù)據(jù)傳輸速率最好設(shè)在9600b/s為宜,以確保數(shù)據(jù)傳輸?shù)目煽啃?。器件的介紹:1、rs-232crs-232c是美國電氣工業(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。邏輯1電平為-3v-15v。電氣特性:eia-rs-232c對(duì)電器特性、邏輯電平和各種信號(hào)線功能都作了規(guī)定;在txd和rxd上:邏輯1(
36、mark) =-3v-15v 邏輯0(space)=+315v在rts、cts、dsr、dtr和dcd等控制線上:信號(hào)有效(接通,on狀態(tài),正電壓)+3v+15v信號(hào)無效(斷開,off狀態(tài),負(fù)電壓)-3v-15v2、rs-232連接器db-9db-9是rs-232信號(hào)線的連接器,其連接器的機(jī)械特性見圖(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-1 rs-232 signal lines and db-9-pin relations符 號(hào)名 稱引 腳dcdrxdtxddtrg
37、nddsr rtsctsri接收信號(hào)載波檢測數(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)換問題,下面就介紹一下電平轉(zhuǎn)換器hin232cpe。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電平)
38、。hin232cpe芯片引腳排列和外部元件連接線路如圖411所示。圖 411hin232cpe 電平轉(zhuǎn)換器及外接元件圖5 軟件設(shè)計(jì)本章重點(diǎn)闡述測量轉(zhuǎn)速的匯編語言。以及軟件設(shè)計(jì)的過程。軟件需要解決的是單片機(jī)中斷服務(wù)程序的設(shè)計(jì)、計(jì)算程序的設(shè)計(jì)、顯示部分的程序設(shè)計(jì)以及在我們這里非重點(diǎn)介紹的通信程序設(shè)計(jì)。5.1 單片機(jī)轉(zhuǎn)速程序設(shè)計(jì)思路及過程單片機(jī)測量轉(zhuǎn)速可以分為若干模塊,然后在主程序中調(diào)用各個(gè)模塊, 流程圖如下圖所示。開始初 始 化計(jì)算程序bcd碼轉(zhuǎn)換非壓縮bcd轉(zhuǎn)換顯 示 程 序返 回圖 51主程序流程圖5.1.1 單片機(jī)程序設(shè)計(jì)思路計(jì)算轉(zhuǎn)速公式: n=60/ntc (r/min)其中,n是內(nèi)部定時(shí)
39、器的計(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ù)是如何獲得的:單片機(jī)的轉(zhuǎn)速測量完成,定時(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)生定時(shí)器0中斷
40、時(shí),增加vtt,作為三字節(jié)中的高字節(jié)。三字節(jié)組成除數(shù),上面的常數(shù)為四字節(jié),所以計(jì)算程序?qū)嶋H上就是調(diào)用一個(gè)四字節(jié)除三字節(jié)商為兩字節(jié)(最高轉(zhuǎn)速36000r/min足夠)的程序。為數(shù)碼管能夠顯示出來,需將二進(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)速測出來??梢哉f是核心部分,流程圖如圖所示:開 始被除數(shù)初始化讀取定時(shí)值調(diào)用除法程序返 回圖52 計(jì)算程序流程圖計(jì)算程序中又再次調(diào)用了除法程序,這里的除法為四字節(jié)除三字節(jié)商
41、為兩字節(jié),除法的程序的編程思想可以和手工計(jì)算的除法相似,比較減法的思想,流程圖如圖5-3所示具體程序見附錄。5.1.3 二-十進(jìn)制轉(zhuǎn)換程序計(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、r6。除 法移位次數(shù) 計(jì)數(shù)器上商1,減去除數(shù)返回被除數(shù)左移1位被除數(shù) 除數(shù)上商0 y n計(jì)數(shù)器減1計(jì)數(shù)器=0?圖53除法程序流程圖開始c(r2r3)左移1位(移出位bi在
42、c中)(r7)-1r7=0?按照數(shù)制轉(zhuǎn)換方法可以畫出流程圖。0-r4、r5、r616-r72*(r4r5r6)+c - r4r5r6(十進(jìn)制運(yùn)算)返 回圖 54雙字節(jié)整數(shù)二翻十程序流程圖單片機(jī)顯示部分可以用來顯示計(jì)算出來的數(shù)據(jù)的。在程序設(shè)計(jì)中,在at89c51ram存貯器中的四個(gè)顯示緩沖器單元30h34h,分別存放著由計(jì)算出來的轉(zhuǎn)速的bcd碼進(jìn)行拆分后的非壓縮bcd碼數(shù)據(jù),at89c51的p1口掃描輸出總是只有一位為低電平、其它位為高電平,at89c51的p0口相應(yīng)位的顯示數(shù)據(jù)的段數(shù)據(jù),使該位顯示出一個(gè)字符,其它們?yōu)榘担来蔚馗淖僷1口輸出為低高的位,p0口輸出對(duì)應(yīng)的段數(shù)據(jù),5位led顯示器就
43、顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。顯示部分程序分為兩部分:十進(jìn)制bcd轉(zhuǎn)換成非壓縮bcd碼;查表程序顯示數(shù)據(jù)。雙字節(jié)整數(shù)拆分程序流程圖如圖5-5開 始高字節(jié)r4送30hr5與 0f0h相與交換后送31hr5與0fh相與后送32hr6與 0f0h相與交換后送33hr6與0fh相與后送34h返 回圖 55雙字節(jié)整數(shù)拆分程序流程圖顯示程序流程圖如圖5-6所示:5.2 程序設(shè)計(jì)根據(jù)以上設(shè)計(jì)思路和各個(gè)模塊的流程圖即可編寫出本次畢業(yè)設(shè)計(jì)的程序,注意其中各個(gè)模塊間的參數(shù)傳遞以及堆棧指針等問題,程序設(shè)計(jì)的任務(wù)即可完成,寫出初始的程序,再進(jìn)行上機(jī)調(diào)試,這些我們將具體在下章中加以詳細(xì)敘述。開始30h-r0,表
44、首地址-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)試過程分為三大部分:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。6.1 硬件調(diào)試硬件調(diào)試主要是針對(duì)我的轉(zhuǎn)速測量系統(tǒng)的單片機(jī)硬件電路分別進(jìn)行調(diào)試。這一部分硬件調(diào)試主要分成兩大塊:上電前的調(diào)試和上電后的調(diào)試。上電前的調(diào)試在上電前,我們必須確保電路中不存在斷路或短路情況,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)試中主要使用的工具是萬用表,
45、用來完成檢測電路中是否存在斷路或者短路情況等。特別是數(shù)碼管的連接部分,有protel制作的pcb確保要和原理圖上的圖一致,有些在電路板上沒法連接的線路,要用短接線把接好,對(duì)照著原理圖部分,一部分一部分地用萬用表測量,注意焊點(diǎn)之間,確保焊點(diǎn)沒有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn)。上電后的調(diào)試在確保硬件電路正常,無異常情況(斷路或短路)方可上電調(diào)試,上電調(diào)試的目的是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確,在本次課程設(shè)計(jì)中,上電調(diào)試主要只轉(zhuǎn)速測量系統(tǒng)的單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和上位機(jī)通信是的電平轉(zhuǎn)換和串口通信部分的硬件調(diào)試。1、單片機(jī)控制部分硬件調(diào)試:這一部分
46、調(diào)試主要是檢查時(shí)鐘電路、復(fù)位電路是否接對(duì),單片機(jī)的電源以及地是否接好,以及其他的一些管腳的接法??磫纹瑱C(jī)通電后能否可以正常工作等這一系列問題。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è)完整,首先排除這里的故障。3
47、、發(fā)送部分硬件電路調(diào)試:這一部分電路硬件調(diào)試主要完成任務(wù)是使得通過hin232cpe電平轉(zhuǎn)換器轉(zhuǎn)換前后的電平關(guān)系。可以用示波器和萬用表檢查電平轉(zhuǎn)換前后的關(guān)系,這里不在贅述。6.2 軟件調(diào)試單片機(jī)程序調(diào)試思路:單片機(jī)部分調(diào)試工作的完成主要應(yīng)用lca51軟件來完成,這一部分工作首先將轉(zhuǎn)速測量系統(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)試軟件。 lca51軟件全面支持匯編語言,c51語言,pl/m51語言的編譯/連接、調(diào)試。軟件支
48、持單文件方式和工程化管理兩種模式。用戶可自定義各種語言的關(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)存)的值。調(diào)試主要方法和技巧: 通常一個(gè)調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷點(diǎn)、查看變量、更改數(shù)值。1.跟蹤調(diào)試 調(diào)試應(yīng)用程序所提供的重要性能也許就是跟蹤應(yīng)用程序。跟蹤應(yīng)用程序使用戶能夠在運(yùn)行應(yīng)用程序時(shí),看到pc指針在應(yīng)用源代碼程序中的確切位置,
49、lca51提供以下方法對(duì)程序的執(zhí)行進(jìn)行跟蹤。 跟蹤型單步執(zhí)行一條源語句程序。但是,如果調(diào)用一函數(shù),則進(jìn)入函數(shù)中,再執(zhí)行函數(shù)的第一條源語句行前停止。 通過型單步僅執(zhí)行下一條源語句程序,然后又停止。如果是調(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)試程序通過使用斷點(diǎn)中止程序執(zhí)行。注意:如果用戶調(diào)試高級(jí)語言,因?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)所在行。如果用戶按熱
50、鍵f4,調(diào)試程序繼續(xù)執(zhí)行程序代碼,直到它到達(dá)光標(biāo)行處或調(diào)試程序遇到另一個(gè)斷點(diǎn)。3.查看變量 顯然,通過一系列指令查看應(yīng)用程序,了解導(dǎo)致某一錯(cuò)誤的執(zhí)行也是一種非常有效的方法。lca51軟件提供了以下幾種方法對(duì)變量進(jìn)行查看。 通過添加觀察項(xiàng)菜單可以將用戶希望觀察的變量添加到觀察窗口中,長期進(jìn)行觀察。用戶程序在單步或斷點(diǎn)停下時(shí),將更新變量的取值。 用戶可以直接移動(dòng)鼠標(biāo)到相應(yīng)的變量名上,點(diǎn)擊鼠標(biāo)左鍵,將出現(xiàn)一個(gè)提示窗口,顯示這個(gè)變量的當(dāng)前值。 用戶還可以打開程序空間窗口、內(nèi)部數(shù)據(jù)窗口、外部數(shù)據(jù)窗口進(jìn)行數(shù)據(jù)塊觀察。4.更改數(shù)值 如果用戶在調(diào)試過程中了解到變量的內(nèi)容(超值、未定義等)會(huì)對(duì)程序性能產(chǎn)生影響或
51、引起異常時(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ù)。程序調(diào)試過程: 整個(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)試。首先要對(duì)計(jì)算程序進(jìn)行調(diào)試,其中關(guān)鍵就是那個(gè)四字節(jié)除三字節(jié)的程序顯得尤為重要,在整個(gè)程序中,四字節(jié)的被除數(shù)
52、是確定的常數(shù),而除數(shù)是測量記數(shù)的值,當(dāng)各個(gè)模塊調(diào)試時(shí),我們可以先對(duì)除數(shù)先賦不同的值,利用查看內(nèi)部數(shù)據(jù)的數(shù)據(jù)窗口觀察出計(jì)算出來的結(jié)果和用計(jì)算器算得的結(jié)果是否一致,可以舉例多次數(shù)據(jù),確保程序正確,才能得到想得到的數(shù)據(jù)。其次、二進(jìn)制到十進(jìn)制的轉(zhuǎn)換,我們依然可以利用上述列舉的方法,多次給出數(shù)據(jù),然后運(yùn)行程序,可以設(shè)置觀察變量,觀察出程序轉(zhuǎn)換的結(jié)果。最后、拆分壓縮bcd碼十進(jìn)制以及最后的顯示程序,可以利用上述提到的各種方法,觀察30-34h內(nèi)部的數(shù)據(jù),緩沖數(shù)據(jù)的觀察檢查完畢后,調(diào)用顯示程序,觀察數(shù)碼管上顯示的數(shù)據(jù)是否是內(nèi)存緩沖中需要顯示的數(shù)據(jù)。6.3 綜合調(diào)試在硬件和軟件單獨(dú)調(diào)試成功后進(jìn)行軟硬件綜合調(diào)試
53、,它可以分成以下幾個(gè)步驟:1.使霍爾傳感器有方波信號(hào)輸出;2.使單片機(jī)獲得中斷信號(hào),計(jì)算出轉(zhuǎn)速值并存儲(chǔ);3.通過led數(shù)碼管把測量的數(shù)據(jù)顯示出來。4.通過通信使得pc機(jī)與單片機(jī)之間的通信成功。6.4 故障分析與解決方案故障出現(xiàn)情況:1、霍爾傳感器不能產(chǎn)生有效的ttl電平,產(chǎn)生波形不穩(wěn)2、單片機(jī)的中斷服務(wù)程序不能執(zhí)行,不管是定時(shí)中斷還是外部中斷;3、中斷執(zhí)行低速情況也就是軟件記數(shù)功能不對(duì);4、測得的轉(zhuǎn)速不準(zhǔn)確,而且在波形頻率變化下顯示轉(zhuǎn)速卻不變5、單片機(jī)顯示部分無法工作,顯示不穩(wěn)定;6、信號(hào)發(fā)生器模擬轉(zhuǎn)速測量正確,接電機(jī)不穩(wěn)定7、通信時(shí)單片機(jī)接收顯示數(shù)據(jù)不正常,pc機(jī)接收亂碼;解決方案(針對(duì)上述
54、故障一一對(duì)應(yīng)的解決方案):(1)硬件電路中霍爾傳感器應(yīng)工作在5v電壓,中間引腳接地,數(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的瓷片電容濾波。波形得到了大大改善;(2)首先檢查程序中的開頭,中斷入口地址,發(fā)現(xiàn)中斷定時(shí)0的地址寫成中斷定時(shí)1的入口地址了。外部中斷沒有執(zhí)行跟沒有中斷信號(hào)加入有關(guān)系。在前面還沒有解決的時(shí)候,我們暫時(shí)用信號(hào)發(fā)生器來代替外部中斷9的輸入,由于中斷執(zhí)行與否我們沒法看到,可以用設(shè)置中斷點(diǎn)的方法或者利用示波器,在中斷服務(wù)程序中重新編寫一些
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- YY 1105-2024電動(dòng)洗胃機(jī)
- 私人教練與學(xué)員健身成果合同
- 租賃住宅合同范本簡版
- 南京勞動(dòng)合同模板合同范本(勞務(wù)派遣律師定制)
- 資產(chǎn)收購合同
- 歷史文化名城拍攝許可合同
- 廣告宣傳合同范文
- 商品供應(yīng)合同范本
- 批發(fā)業(yè)渠道管理與拓展考核試卷
- D打印技術(shù)在汽車輕量化設(shè)計(jì)的應(yīng)用考核試卷
- 2025年湖南環(huán)境生物職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案一套
- 14 文言文二則 學(xué)弈 教學(xué)設(shè)計(jì)-2024-2025學(xué)年語文六年級(jí)下冊(cè)統(tǒng)編版
- Unit 4 Eat Well(大單元教學(xué)設(shè)計(jì))2024-2025學(xué)年七年級(jí)英語下冊(cè)同步備課系列(人教版2024)
- 2024-2030年中國游戲直播行業(yè)市場深度分析及投資策略研究報(bào)告
- 統(tǒng)編版小學(xué)語文六年級(jí)下冊(cè)第四單元《理想和信念》作業(yè)設(shè)計(jì)
- 2025年春季學(xué)期學(xué)校工作計(jì)劃及安排表
- 化驗(yàn)班組安全培訓(xùn)
- 英語-廣東省大灣區(qū)2025屆高三第一次模擬試卷和答案
- 第一課+追求向上向善的道德【中職專用】中職思想政治《職業(yè)道德與法治》高效課堂(高教版2023·基礎(chǔ)模塊)
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗(yàn)人員理論考試題庫及答案
- 教師的五重境界公開課教案教學(xué)設(shè)計(jì)課件案例試卷
評(píng)論
0/150
提交評(píng)論