基于單片機的電機轉(zhuǎn)速測量系統(tǒng)設(shè)計(答辯版)完整畢業(yè)設(shè)計論文附圖及源程序_第1頁
基于單片機的電機轉(zhuǎn)速測量系統(tǒng)設(shè)計(答辯版)完整畢業(yè)設(shè)計論文附圖及源程序_第2頁
基于單片機的電機轉(zhuǎn)速測量系統(tǒng)設(shè)計(答辯版)完整畢業(yè)設(shè)計論文附圖及源程序_第3頁
基于單片機的電機轉(zhuǎn)速測量系統(tǒng)設(shè)計(答辯版)完整畢業(yè)設(shè)計論文附圖及源程序_第4頁
基于單片機的電機轉(zhuǎn)速測量系統(tǒng)設(shè)計(答辯版)完整畢業(yè)設(shè)計論文附圖及源程序_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

河南理工大學畢業(yè)設(shè)計(論文)說明書 1 摘 要 在工程實踐中,經(jīng)常會遇到各種需要測量轉(zhuǎn)速的場合,測量轉(zhuǎn)速的方法分為模擬式和數(shù)字式兩種。模擬式采用測速發(fā)電機為檢測元件,得到的信號是模擬量。數(shù)字式通常采用光電編碼器,霍爾元件等為檢測元件,得到的信號是脈沖信號。隨著微型計算機的廣泛應用,特別是高性能價格比的單片機的出現(xiàn),轉(zhuǎn)速測量普遍采用以單片機為核心的數(shù)字式測量方法 。 本文便是 運 用 AT89C51單片機控制的 智能化轉(zhuǎn)速測量儀。電機在運行過程中,需要對其進行監(jiān)控,轉(zhuǎn)速是一個必不可少的一個參數(shù)。本系統(tǒng)就是對電機轉(zhuǎn)速進行測量,并可以和 PC機 進行 通信,顯示電 機的轉(zhuǎn)速,并觀察電機運行的 基本 狀況。 本設(shè)計主要用 AT89C51作為控制核心, 由霍爾傳感器、 LED數(shù)碼顯 像管 、 HIN232CPE 電平轉(zhuǎn)換 、 及 RS232 構(gòu)成。 詳細介紹了 單片機的測量轉(zhuǎn)速系統(tǒng)及 PC 機與單片機之間的串行通訊。 充分發(fā)揮了單片機的性能。 本文重點是測量速度并顯示在 5位 LED數(shù)碼管上。 其優(yōu)點硬件 是 電路簡單,軟件功能完善, 測量速度快、精度高、 控制系統(tǒng)可靠,性價比較高等特點 。 關(guān)鍵字 : MSC-51(單片機); 轉(zhuǎn)速; 傳感器 河南理工大學畢業(yè)設(shè)計(論文)說明書 2 Abstract 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 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 element, 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 technique 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 core, 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 five 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 河南理工大學畢業(yè)設(shè)計(論文)說明書 3 目 錄 摘 要 . 1 Abstract . 2 1 序 言 . 1 2 系統(tǒng)功能分析 . 2 2.1 系統(tǒng)功能概述 . 2 2.2 系統(tǒng)要求及主要內(nèi)容 . 3 3 系統(tǒng)總體設(shè)計 . 4 3.1 硬件電路設(shè)計思路 . 4 3.2 軟件設(shè)計思路 . 4 4 硬件電路設(shè)計 . 6 4.1 單片機模塊 . 6 4.1.1 處理執(zhí)行元件 . 6 4.1.2 時鐘電路 . 10 4.1.3 復位電路 . 11 4.1.4 顯示電路 . 12 4.2 霍爾傳感器簡介 . 15 4.2.1 霍爾器件概述 . 15 4.2.2 霍爾傳感器的應用 . 16 4.2.3 AH41 霍爾開關(guān) . 17 4.3 發(fā)送模塊 . 18 5 軟件設(shè)計 . 22 5.1 單片機轉(zhuǎn)速程序設(shè)計思路及過程 . 22 5.1.1 單片機程序設(shè)計思路 . 22 5.1.2 單片機轉(zhuǎn)速計算程序 . 23 5.1.3 二 -十進制轉(zhuǎn)換程序 . 24 5.2 程序設(shè)計 . 27 6 系統(tǒng)調(diào)試 . 29 6.1 硬件調(diào)試 . 29 6.2 軟件調(diào)試 . 30 6.3 綜合調(diào)試 . 32 河南理工大學畢業(yè)設(shè)計(論文)說明書 4 6.4 故障分析與解決方案 . 33 6.5 結(jié)論與經(jīng)驗 . 34 參考文獻 . 36 致 謝 . 37 附 錄 . 38 附錄 1 電路原理圖 . 38 附錄 2 元器件清單 . 39 河南理工大學畢業(yè)設(shè)計(論文)說明書 1 1 序 言 智能化轉(zhuǎn)速測量可以對電機的轉(zhuǎn)速進行測量,電機在運行的過程中,需要對其平穩(wěn)性進行監(jiān)測,適時對轉(zhuǎn)速的測量有效地可以反映電機的狀況。 本系統(tǒng)主要由傳感器,單片機 AT89C51構(gòu)成。可以對大范圍轉(zhuǎn)速進行測量,測 量的轉(zhuǎn)速精度高,還可以和 PC機時時通信,實現(xiàn)對電機轉(zhuǎn)速的測量。 單片機的英文名稱是 Micro Controller unit,縮寫為 MCU,又稱為微控制器,它是一種面向控制的大規(guī)模集成電路芯片。它具有功能強、體積小、可靠性高、應用簡單靈活,因而使用非常廣泛,有力地推動各行業(yè)的技術(shù)發(fā)展和更新?lián)Q代。 本文首先在第二 章緒論介紹了此系統(tǒng)的功能、技術(shù)指標以及主要內(nèi)容等 ;在第三 章論述了總體設(shè)計過程 ,確定了技術(shù)指標及器件的選擇;第四章著重描述了系統(tǒng)硬件電路設(shè)計、硬件設(shè)計框圖及所使用的各種芯片功能與特性 ; 在第五 章 中重 點剖析了軟件設(shè)計的過程;最后在第六 章中具體論述單片機、電平轉(zhuǎn)換電路、通信的處理及調(diào)試。 由于本人水平有限,加之時間倉促,論文中難免會有錯誤和不足之外,不夠理想、許多方面還需要繼續(xù)完善和改進。在這里懇請指導老師和各位專家老師批評指正。在此特別感謝我的指導老師郭順京老師的大力指導。 河南理工大學畢業(yè)設(shè)計(論文)說明書 2 2 系統(tǒng)功能分析 2.1 系統(tǒng)功能概述 功能: 系統(tǒng)主要實現(xiàn)功能是 :AT89C51 單片機接收霍爾 傳感器傳來的脈沖信號 ,單片機根據(jù)外部中斷 ,以及內(nèi)部定時器進行記數(shù)計算出電機轉(zhuǎn)速送到LED 顯示,同時數(shù)據(jù)傳給 PC 機 ,并在 PC 機屏幕上顯示出來。記錄各時段的轉(zhuǎn)速,畫出 V-T坐標圖。 組成及框圖 : 本系統(tǒng)通信部分是單片機經(jīng)電平轉(zhuǎn)換電路 HIN232CP 之后,通過串口RS-232 發(fā)送數(shù)據(jù),由 PC 微機接收,微機部分用 Visual Basic 軟件編寫的界面作為 PC機部分與單片機進行串口之間通信 。 傳感器電路、轉(zhuǎn)速測量、 LED 顯示、電平轉(zhuǎn)換電路設(shè)計等將在以下章節(jié)作詳細地設(shè)計。 圖 2-1 系統(tǒng)硬件電路 應用 : 從實用的角度看,評價一個系統(tǒng)實用價值的重要標準,就是這個系統(tǒng)對社會生活和科技觀念有多大的貢獻。轉(zhuǎn)速測量系統(tǒng)具有大范圍、高精度等優(yōu)點、測量速度快,這種系統(tǒng)將會有良好的應用。 傳感器 單 片 機 AT89C51 電 平 轉(zhuǎn) 換 電 路 LED 顯示 驅(qū)動電路 送 PC 機界面 河南理工大學畢業(yè)設(shè)計(論文)說明書 3 2.2 系統(tǒng)要求及主要內(nèi)容 將霍爾傳感器產(chǎn)生的脈沖信號輸出入到單片機的外部中斷 0口,單片機工作在內(nèi)部定時器工作方式 0,對周期信號進行內(nèi)部記數(shù),調(diào)用計算公式算出轉(zhuǎn)速,調(diào)用顯示程序顯示在 LED上,同時通過串口向 上位機發(fā)送轉(zhuǎn)速數(shù)據(jù)。 主要內(nèi)容: ( 1) 單片機部分主要完成電機轉(zhuǎn)速的測量 ( 2) LED部分主要是把轉(zhuǎn)速顯示出來,顯示范圍 60-36000r/min ( 3) 發(fā)送部分主要是完成電平轉(zhuǎn)換,送 RS232 向 PC發(fā)送數(shù)據(jù)。 ( 4) PC機部分主要完成將數(shù)據(jù)顯示在界面并描繪出 V-T圖 2.3 系統(tǒng)技術(shù)指標 系統(tǒng)主要完成以下功能: 測量系統(tǒng): 1.設(shè)計并制作單片機的轉(zhuǎn)速測量的硬件系統(tǒng); 2.用匯編語言完成轉(zhuǎn)速測量的軟件系統(tǒng); 3.要求把轉(zhuǎn)速顯示在 5位 LED上,精度為 0.1%; 4.能向上位機發(fā)送數(shù)據(jù); 5.用 9 針 RS-232即可; 通信部分 : 1.在微機部分采用 Visual Basic 編制 RS 232 通信軟件; 2.通信軟件具有數(shù)據(jù)接受編輯框; 3.通信軟件要適時對數(shù)據(jù)的記錄,用時間曲線表示; 根據(jù)系統(tǒng)要實現(xiàn)的功能以及要求,要實現(xiàn)單片機的轉(zhuǎn)速測量主要是各個模塊的設(shè)計,定時器記數(shù)功能、以及 LED驅(qū)動、電平轉(zhuǎn)換及 PC機之間的通信。 單片機可通過編程控制外圍部件,能實現(xiàn)較高的自動化程度。以它為系統(tǒng)核心的控制模塊可實現(xiàn)主從控制,完成預定的任務。 河南理工大學畢業(yè)設(shè)計(論文)說明書 4 3 系統(tǒng)總體設(shè)計 3.1 硬件電路設(shè)計思路 硬件設(shè)計的任務是根據(jù)總體設(shè)計要求,在選擇的機型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計出系統(tǒng)的原理框圖、電路原理圖。 89C51單片機通過 INT0輸入傳感器的脈沖信號, P0口 P2口接 LED動態(tài)顯示。另由于 PC系列微機串行口為 RS232C標準接口,與輸入、輸出均為 TTL電平的 89C51單片機在接口規(guī)范上不一致,因此 TTL 電平到 RS 232接口電平的轉(zhuǎn)換采用 HIN232CP接口芯片,該芯片可以用單電壓 ( +5V) 實現(xiàn) RS232接口邏輯 “1” ( -3V -15V) 和邏輯 “0” ( +3V +15V) 的電平轉(zhuǎn)換。 轉(zhuǎn)速測量部分 的 硬件設(shè)計思路:本次設(shè)計單片機部分的硬件框圖如 圖 2 1所示。 圖 3-1 單片機部分硬件框圖 具體詳細的敘述將在下面的章節(jié)中逐一介紹。 3.2 軟件設(shè)計思路 軟件需要解決的是 定時器 0的記數(shù)和外部中斷 0的 設(shè)定 、由于測量的轉(zhuǎn)速范圍大,所以低速和高速都要考慮在內(nèi),關(guān)鍵在于一個四字節(jié)除三字節(jié)程序的實現(xiàn)。顯示部分、需要有一個二進制到十進制的轉(zhuǎn)化 程序,以及復位電路 CPU 執(zhí)行單元 顯示電路 時鐘電路 發(fā)送電路 河南理工大學畢業(yè)設(shè)計(論文)說明書 5 轉(zhuǎn)換成非壓縮 BCD 的程序后、才能進行調(diào)用查表程序送到顯示。 PC機 串口 和單片機串行口 的工作方式,包括串 行 口的通訊速率、奇偶校驗位、停止位等 均由通信部分的軟件部分實現(xiàn) 。 軟件工作流程: 霍爾傳感器利用磁電效應產(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ù),這里不是本文重點) 轉(zhuǎn)速部分軟件設(shè)計思路: AT89C51單片機的 P3.2口接收傳感器的信號。主要編寫一個外部中斷服務程 序 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é)中作詳細介紹。 河南理工大學畢業(yè)設(shè)計(論文)說明書 6 4 硬件電路設(shè)計 硬 件的功能由總體設(shè)計所規(guī)定,硬件設(shè)計的任務是根據(jù)總體設(shè)計要求,在選擇的機型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計出系統(tǒng)的電路原理圖,必要時做一些部件實驗,以確定電路圖的正確性,以及工藝結(jié)構(gòu)的設(shè)計加工、印制板的制作、樣機的組裝等。 整個單片機測量轉(zhuǎn)速系統(tǒng)為單片機控制模塊、霍爾傳感器模塊、發(fā)送模塊,各個模塊都承擔著各自的任務。 設(shè)計單片機模塊,考慮到 單片機本身 的外圍電路較多,所以在單片機模塊方面需要極為小心。在整個電路設(shè)計時要考慮電平轉(zhuǎn)換電路,具體每一部分的設(shè)計將在以下章節(jié)中詳細分析。 4.1 單片機模塊 根據(jù)系統(tǒng)功能要求以及單片機硬件電路設(shè)計思路(如圖 3 1)對單片機模塊進行設(shè)計,要使單片機準確的測量電機轉(zhuǎn)速,并且使測出的數(shù)據(jù)能顯示出來,所以整個單片機部分分為傳感器電路、時鐘電路、復位電路、執(zhí)行元件以及顯示電路五個部分。 4.1.1 處理 執(zhí)行 元件 單片機 我們采用 AT89C51(其引腳圖如圖 4 1),相較于 INTEL公司的8051它本身帶有一定的優(yōu)點。 AT89C51是一種帶 4K 字節(jié) 閃爍 可編程可擦除只讀存貯器 ( FPEROM Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS 8 位微處理器,俗稱單片機。該器件采用 ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的 MCS-51指令集和輸出管腳相兼容。由于將多功能 8位 CPU和閃爍存儲器組合在單個芯片中, ATMEL 的 AT89C51是一種高效微控制器, AT89C 單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 河南理工大學畢業(yè)設(shè)計(論文)說明書 7 圖 4-1 AT89C51引腳圖 主要特性: 與 MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命: 1000寫 /擦循環(huán) 數(shù)據(jù)保留時間: 10年 全靜態(tài)工作: 0Hz-24Hz 三級程序存儲器鎖定 128*8位內(nèi)部 RAM 32可編程 I/O線 兩個 16位定時器 /計數(shù)器 5個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路 管腳說明: 1.VCC:供電電壓 ; 2.GND:接地 ; 3.P0 口: P0 口為一個 8 位漏 極 開路雙向 I/O 口,每腳可吸收 8TTL門電流。當 P1口的管腳第一次寫 1時,被定義為高阻輸入。 P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù) /地址的第八位。在 FIASH 編河南理工大學畢業(yè)設(shè)計(論文)說明書 8 程時, P0 口作為原碼輸入口,當 FIASH進行校驗時, P0輸出原碼,此時P0外部必須被拉高。 4.P1口: P1口是一個內(nèi)部提供上拉電阻的 8位雙向 I/O口, P1口緩沖器能接收輸出 4TTL門電流。 P1口管腳寫入 1后,被內(nèi)部上拉為高,可用作輸入, P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH編程和校驗時, P1口作為第八位地址接收。 5.P2口: P2口為一個內(nèi)部上拉電阻的 8位雙向 I/O口, P2口緩沖器可接收,輸出 4個 TTL 門電流,當 P2口被寫 “1” 時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時, P2 口的管腳被外部拉低,將輸出電流。 這是由于內(nèi)部上拉的緣故。 P2 口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時, P2口輸出地址的高八位。在給出地址 “1” 時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時, P2 口輸出其特殊功能寄存器的內(nèi)容。 P2口在 FLASH編程和校驗時接收高八位地址信號和控制信號。 6.P3口: P3口管腳是 8個帶內(nèi)部上拉電阻的雙向 I/O口,可接收輸出 4個 TTL 門電流。當 P3口寫入 “1” 后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平, P3 口將輸出電流( ILL)這是由于上拉的緣故。 P3口也可作為 AT89C51的一些特殊功能口,如下表 4 1所示: 7.RST:復位輸入。當振蕩器復位器件時,要保持 RST腳兩個機器周期的高電平時間。 8.ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時, ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE脈沖。如想禁止 ALE的輸出可在 SFR8EH 地址上置 0。 河南理工大學畢業(yè)設(shè)計(論文)說明書 9 表 4-1 P3口的第二功能 Tab.4-1 The second feature I P3 引 腳 第二功能 信 號 名 稱 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD TXD INT0 INT1 T0 T1 WR RD 串行數(shù)據(jù)接收 串行數(shù)據(jù)發(fā)送 外部中斷 0請求 外部中斷 1請求 定時器 /計數(shù)器 0計數(shù)輸入 定時器 /計數(shù)器 1計數(shù)輸入 外部 RAM寫選通 外部 RAM讀選通 P3口同時為閃爍編程和編程校驗接收一些控制信號。 此時, ALE只有在執(zhí)行 MOVX, MOVC指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。 9./PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次 /PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的 /PSEN 信號將不出現(xiàn)。 10./EA/VPP:當 /EA 保持低電平時,則在此期間外部程序存儲器( 0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式 1時, /EA將內(nèi)部鎖定為 RESET;當 /EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加 12V編程電源( VPP)。 11.XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 12.XTAL2:來自反向振蕩器的輸出。 振 蕩器特性: XTAL1 和 XTAL2分別 為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石 英 振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件, XTAL2 應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)河南理工大學畢業(yè)設(shè)計(論文)說明書 10 器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 芯片擦除: 整個 PEROM 陣列和三個鎖 定位的電擦除可通過正確的控制信號組合,并保持 ALE 管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫 “1” 且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。 此外, AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下, CPU 停止工作。但 RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存 RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。 4.1.2 時鐘電路 時鐘電路是計算機的心臟,它控制著計算機的工作節(jié) 奏。 MCS-51單片機允許的時鐘頻率是因型號而異的典型值為 12MHZ MCS-51內(nèi)部都有一個反相放大器, XTAL1、 XTAL2分別為反相放大器輸入和輸出端,外接定時反饋元件以后就組成振蕩器,產(chǎn)生時鐘送至單片機內(nèi)部的各個部件。 AT89C51是屬于 CMOS8位微處理器,它的時鐘電路在結(jié)構(gòu)上有別于 NMOS型的單片機。 CMOS型單片機內(nèi)部(如 AT89C51)有一個可控的負反饋反相放大器,外接晶振(或陶瓷諧振器)和電容組成振蕩器,圖 4 2為 CMOS型單片機時鐘電路框圖。振蕩器工作受 /PD端控制,由軟件置“ 1” PD(即特殊功能寄存器 PCON.1)使 /PD 0,振蕩器停止工作,整個單片機也就停止工作,以達到節(jié)電目的。清“ 0” PD,使振蕩器工作產(chǎn)生時鐘,單片機便正常運行。圖中 SYS為晶振或陶瓷諧振器,振蕩器產(chǎn)生的時鐘頻率主要由 SYS參數(shù)確定(晶振上標明的頻率)。電容 C1和 C2的作用有兩個:其一是使振蕩器起振,其二是對振蕩器的頻率 f起微調(diào)作用( C1、 C2大, f變?。涞湫椭禐?30pF。 河南理工大學畢業(yè)設(shè)計(論文)說明書 11 圖 4-2 CMOS 型單片機時鐘電路框圖 4.1.3 復位電路 計算機在啟動運行時都需要復位,使中 央處理器 CPU和系統(tǒng)中的其它部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。 MCS-51單片機有一個復位引腳 RST,它是史密特觸發(fā)輸入 (對于 CHMOS單片機, RST引腳的內(nèi)部有一個拉低電阻 ),當振蕩器起振后 該引腳上出現(xiàn)2個機器周期 (即 24個時鐘周期 )以上的高電平,使器件復位,只要 RST保持高電平, MCS-51保持復位狀態(tài)。此時 ALE、 PSEN、 P0、 P1、 P2、 P3口都 輸出高電平。 RST變?yōu)榈碗娖胶螅顺鰪臀唬?CPU從初始狀態(tài)開始工作。 單片機 采用的復位方式是自動復位方式。對于 MOS(AT89C51)單片機只要接一個電容至 VCC即可 (見圖 4 3)。在加電瞬間,電容通過電阻充電,就在 RST端出現(xiàn)一定時間的高電平,只要高電平時間足夠長,就可以使 MCS-51有效的復位。 RST端在加電時應保持的高電平時間包括 VCC的上升時間和振蕩器起振的時間, Vss上升時間若為 10ms,振蕩器起振的時間和頻率有關(guān)。10MHZ時約為 1ms, 1MHZ時約為 10ms,所以一般為了可靠的復位, RST在上電 應保持 20ms以上的高電平。 RC時間常數(shù)越大,上電 RST端保持高電平的時間越長。 若復位電路失效,加電后 CPU從一個隨機的狀態(tài)開始 工作,系統(tǒng)就不能正常運轉(zhuǎn)。 河南理工大學畢業(yè)設(shè)計(論文)說明書 12 圖 4-3 上電復位電路 4.1.4 顯示電路 顯示電路采用 LED數(shù)碼管動態(tài)顯示, LED( Light-Emitting Diode)是一種外加電壓從而渡過電流并發(fā)出可見光的器件。 LED是屬于電流控制器件,使用時必須加限流電阻。 LED有單個 LED和八段 LED之分,也有共陰和共陽兩種。 顯示器結(jié)構(gòu) : 常用的七段顯示器的結(jié)構(gòu)如圖 4 4所示。發(fā)光二極管的陽極連在一起的稱為共陽極顯示器 ,陰極連在一起的稱為共陰極顯示器。 1 位顯示器由八個發(fā)光二極管組成,其 中七個發(fā)光二極管 ag 控制七個筆畫(段)的亮或暗,另一個控制一個小數(shù)點的亮和暗,這種筆畫式的七段顯示器能顯示的字符較少,字符的開頭有些失真,但控制簡單,使用方便。 此外,要畫出電路圖,首先還要搞清楚他的引腳圖的分布,在了解了正確的引腳圖后才能進行正確的字型段碼編碼。才能顯示出正確的數(shù)字來,如圖 4-5所示,為七 段數(shù)碼管的管腳圖。 圖 4-4 七段發(fā)光顯示器的結(jié)構(gòu) 河南理工大學畢業(yè)設(shè)計(論文)說明書 13 圖 4-5 七段發(fā)光顯示器管腳 的結(jié)構(gòu) 驅(qū)動方式 : 采用的數(shù)碼管驅(qū)動為 7407,它的全名為 7407 TTL 集電極開路六正相高壓驅(qū)動器,其結(jié)構(gòu)簡單,使用方便,圖 4-6為 7407的圖以及各個引腳的分布功能介紹。 圖 4-6 7407管腳的結(jié)構(gòu) 河南理工大學畢業(yè)設(shè)計(論文)說明書 14 顯示方式 : 為了節(jié)省 I/O口線,我們采用的動態(tài)顯示方式。 所謂動態(tài)顯示,就一位一位地輪流點亮各位顯示器(掃描),對于每一位顯示器來說,每隔一段時間點亮一次。顯示器的亮度既與導通電流有關(guān),也與點亮時間和間隔時間的比例有關(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所示。 AT89C51的 P0 口作為段數(shù)據(jù)口,接上拉電阻到顯示器的各個段; P2 口作為掃描口,經(jīng)同相驅(qū)動器 7407接顯示器公共極。 對于圖 4-7中的 5位顯示器,在 AT89C51RAM存貯器中設(shè)置五個顯示緩沖器單元 30H 35H,分別存放 5 位顯示器的顯示數(shù)據(jù), AT89C51 的 P2口掃描輸出總是只在一位為低電平,即 5位顯示器中僅有一位公共陰極為低電平,其它位為高電平, AT89C51 的 P0 口相應位(陰極為低)的顯示數(shù)據(jù)的段數(shù)據(jù),使該位顯示出一個字符,其它們?yōu)榘?,依次地改?P2 口輸出為高的位, P0口輸出對應的段數(shù)據(jù), 5位顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。 河南理工大學畢業(yè)設(shè)計(論文)說明書 15 圖 4-7 五位動態(tài)顯示電路 4.2 霍爾傳感器簡介 4.2.1 霍爾器件概述 霍爾元件是一種基于霍爾效應的磁傳感器,已發(fā)展成一個品種多樣的磁傳感器產(chǎn)品族,并已得到廣泛應用。霍爾元件是一種磁傳感器。要他們可以檢測磁場及其 變化,可以在各種與磁場有關(guān)的場合中。霍爾器件以霍爾效應為其工作基礎(chǔ)。 霍爾期間具有許多優(yōu)點,他們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高(可達 1MHZ),耐震動,不怕灰塵、水汽及 煙霧等污染或腐蝕。 霍爾線性器件的精度高、線性度好;霍爾開關(guān)器件無觸點、無磨損、輸出波形清晰、無抖動、無回調(diào)、位置重復精度高(可達 um級)。采用了各種補償措施的霍爾器件的工作溫度范圍廣,可達 55-150度。 按照霍爾器件的功能可將他們分為:霍爾線性器件和霍爾開關(guān)器件。河南理工大學畢業(yè)設(shè)計(論文)說明書 16 前者輸出模擬量,后者輸出數(shù)字量。 按被檢測的對象的性質(zhì)可將它們分為:直接應用和間接應用。前者是直接檢測出被測對象本身的磁場或磁特性,后者是檢測被檢測對象上人為設(shè)置的磁場,用這個磁場作為被檢測信息的載體,通過它,將許多非電、非磁的物理量例如力、力矩、壓力、應力、位置、位移、加速度、角度、角速度、轉(zhuǎn)速、轉(zhuǎn)數(shù)以及工作狀態(tài)發(fā)生變化的時間等,轉(zhuǎn)換成電量來進行檢測和控制。 集成霍爾傳感器是利用硅集成電路工藝將霍爾元件和測量線路集成在一起的一種傳感器。它取消了傳感器和測量電路之間的界限,實現(xiàn)了材料、元件、電路三位一體。集成霍爾傳感器與分立相比,由于減少了 焊點,因此顯著地提高了可靠性。此外,它具有體積小、重量輕、功耗低等優(yōu)點,正越來越愛到眾的重視。 集成霍爾傳感器的輸出是經(jīng)過處理的霍爾輸出信號。按照輸出信號的形式,可以分為開關(guān)型集成霍爾傳感器和線性集成霍爾傳感器兩種類型。 開關(guān)型集成霍爾傳感器是把霍爾元件的輸出經(jīng)過處理后輸出一個高電平或低電平的數(shù)字信號。 霍爾開關(guān)電路又稱霍爾數(shù)字電路,由穩(wěn)壓器、霍爾片、差分放大器,斯密特觸發(fā)器和輸出級組成 。 4.2.2 霍爾傳感器的應用 使用霍爾器件檢測磁場的方法極為簡單,將霍爾器件做成各種形式的探頭,放在被測磁場中,因霍 爾器件只對垂直于霍爾片表面的磁感應強度敏感,因而必須令磁力線和器件表面垂直,通電后即可由輸出電壓得到被測磁場的磁感應強度。若不垂直,則應求出其垂直分量來計算被測磁場的磁感應強度值。而且,因霍爾元件的尺寸極小,可以進行多點檢測,由計算機進行數(shù)據(jù)處理,可以得到場的分布狀態(tài),并可對狹縫,小孔中的磁場進行檢測用磁場作為被傳感物體的運動和位置信息載體時,一般采用永久磁鋼來產(chǎn)生工作磁場。例如,用一個 5 4 2.5( mm3)的釹鐵硼號磁鋼,就可在它的磁極表面上得到約 2300高斯的磁感應強度。在空氣隙中,河南理工大學畢業(yè)設(shè)計(論文)說明書 17 磁感應強度會隨距 離增加而迅速下降。為保證霍爾器件,尤其是霍爾開關(guān)器件的可靠工作,在應用中要考慮有效工作氣隙的長度。在計算總有效工作氣隙時,應從霍爾片表面算起。在封裝好的霍爾電路中,霍爾片的深度在產(chǎn)品手冊中會給出。 因為霍爾器件需要工作電源,在作運動或位置傳感時,一般令磁體隨被檢測物體運動,將霍爾器件固定在工作系統(tǒng)的適當位置,用它去檢測工作磁場,再從檢測結(jié)果中提取被檢信息。 4.2.3 AH41 霍爾開關(guān) AH41 霍爾開關(guān)電路最適于響應變化斜率陡峭的磁場并在磁通密度較弱的場合使用,適用于單極或多對磁環(huán)工作,它由反向電 壓保護器、電壓調(diào)整器、霍爾電壓發(fā)生器、信號放大器、史密特觸發(fā)器和集電極開路的輸出級組成。工作溫度范圍為 -40 150(存儲溫度為 150),可適用于各種機及機電一體化領(lǐng)域。 電參數(shù): 參數(shù) 符號 測試條件 量值 單位 最小 典型 最大 電源電壓 VCC 4.5-24V 輸出低電平電壓 Vout Iout=20mA BBOP -200-400mV 輸出高電平電流 IOFF Vout=24V B 電源電流 ICC VCC=24V 輸出端開路 10 mA 輸出上升時間 tr Vcc=12V RL=1.1K CL=20Pf-0.12 S 輸出下降時間 tf Vcc=12V RL=1.1K CL=20Pf-0.18 S 產(chǎn)品特點 : . 電源電壓范圍寬 . 可用市售的小磁環(huán)來驅(qū)動 . 無可動部件、可靠性高 . 尺寸小 . 抗環(huán)境應力 . 可直接同雙極和 MOS邏輯電路接口 應用 : 河南理工大學畢業(yè)設(shè)計(論文)說明書 18 . 高靈敏的無觸點開關(guān) . 直流無刷電機 . 直流無刷風機 . 霍爾開關(guān)元件的電路圖: 圖 4-8 霍爾傳感器的電路圖 4.3 發(fā)送模塊 根據(jù)系統(tǒng)功能要求,要使單片機測量的轉(zhuǎn)速能夠向上位機發(fā) 送數(shù)據(jù),硬件電路中必須要考慮到單片機的發(fā)送部分,由于單片機通過串口發(fā)送出來的是 TTL 邏輯電平( 0V和 5V),而計算機 RS-232 總線上輸入、輸出數(shù)據(jù)和控制信號為 +12V左右的電壓,單片機要和 PC的上位機通信就必須是電平一致,所以發(fā)送部分關(guān)鍵的部分是電平轉(zhuǎn)換和串口發(fā)送,電平轉(zhuǎn)換可以用模擬器件進行轉(zhuǎn)換,但是為了方便起見,本次設(shè)計采用的是集成芯片,一個芯片加上它的外圍電路即可完成電平的轉(zhuǎn)換的工作。結(jié)構(gòu)簡單、方便容易,精確度高。本次所采用的是 HIN232CP,我們要對其外圍電路進行設(shè)計,下面我們將詳細的敘述。 數(shù)據(jù) 的傳輸 : 當電路工作于發(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ù)信號。 河南理工大學畢業(yè)設(shè)計(論文)說明書 19 該必發(fā)器的數(shù)據(jù)傳輸速率最好設(shè)在 9600b/s為宜,以確保數(shù)據(jù)傳輸?shù)目煽啃?。 器件的介紹 : 1、 RS-232C RS-232C 是美國電氣工業(yè)協(xié)會推廣使用的一種串行 通信總路線標準,是 DCE(數(shù)據(jù)通信設(shè)備,如微機 )和 DTE(數(shù)據(jù)終端設(shè)備,如 CRT)間 傳輸串行數(shù)據(jù)的接口總線。 RS-232C 最大傳輸距離為 15m,最高傳輸速率約 20kbps,信號的邏輯0電平為 +3V +15V。邏輯 1電平為 -3V -15V。 電氣特性: EIA-RS-232C對電器特性、邏輯電平和各種信號線功能都作了規(guī)定; 在 TxD 和 RxD上:邏輯 1(MARK) =-3V -15V 邏輯 0(SPACE)=+3 15V 在 RTS、 CTS、 DSR、 DTR和 DCD等控制線上: 信號有效(接通, ON狀態(tài),正電壓) +3V +15V 信號無效(斷開, OFF狀態(tài),負電壓) -3V -15V 2、 RS-232連接器 DB-9 DB-9是 RS-232信號線的連接器,其連接器的機械特性見圖 (4 9),表 4-1所示 RS-232信號線名稱、符號以及對應在 DB-9上的針腳號。 圖 4-9 連接器的機械特性 河南理工大學畢業(yè)設(shè)計(論文)說明書 20 表 4-1 RS-232信號線和 DB-9引腳關(guān)系 Tab.4-1 RS-232 signal lines and DB-9-pin relations 符 號 名 稱 引 腳 DCD RXD TXD DTR GND DSR RTS CTS RI 接收信號載波檢測 數(shù)據(jù)接收線 數(shù)據(jù)發(fā)送線 DTE裝置數(shù)據(jù)就緒 公共地 DCE裝置就緒 請求發(fā)送 清除發(fā)送 振鈴指示 1 2 3 4 5 6 7 8 9 圖 4 10 電平轉(zhuǎn)換 電路原理圖 3、電平轉(zhuǎn)換器 HIN232CPE 由于 RS-232C總線上傳輸?shù)男盘栠壿嬰娖脚c TTL 邏輯電平差異很大,河南理工大學畢業(yè)設(shè)計(論文)說明書 21 所以就存在這兩種電平的轉(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)部有兩個發(fā)送器 (TTL電平轉(zhuǎn)換為 RS-232C電平 )和兩個接收器 (RS-232 電平轉(zhuǎn)換為 TTL 電平 )。 HIN232CPE 芯片引腳排列和外部元件連接線路如圖 4 11所示。 圖 4 11 HIN232CPE 電平轉(zhuǎn)換器及外接元件圖 河南理工大學畢業(yè)設(shè)計(論文)說明書 22 5 軟件設(shè)計 本章重點闡述測量轉(zhuǎn)速的匯編語言。以及軟件設(shè)計的過程。 軟件需要解決的是 單片機中斷服務程序的設(shè)計、計算程序的設(shè)計、顯示部分的程序設(shè)計以及在我們這里 非重點介紹的通信程序設(shè)計。 5.1 單片機轉(zhuǎn)速程序設(shè)計思路及過程 單片機測量轉(zhuǎn)速可以分為若干模塊,然后在主程序中調(diào)用各個模塊, 流程圖如下圖所示。 圖 5 1 主程序流程圖 5.1.1 單片機程序設(shè)計思路 計算轉(zhuǎn)速公式: n=60/NTc (r/min) 開始 初 始 化 計算程序 BCD 碼轉(zhuǎn)換 非壓縮 BCD 轉(zhuǎn)換 顯 示 程 序 返 回 河南理工大學畢業(yè)設(shè)計(論文)說明書 23 其中, N是內(nèi)部定時器的計數(shù)值,為三字節(jié),分別由 TH0, TL0, VTT構(gòu)成; Tc為時基,由于采用 11.0592M的晶振,所以 Tc不在是 1um,而是 12M/11.0592M 約為 1.08um,帶入上面公式,即可 得到轉(zhuǎn)速的精確計算公式: N=60*11059200/12N=55296000/N 再將 55296000 化為二進制存入單片機的內(nèi)存單元。 下面我們將介紹除數(shù)是如何獲得的: 單片機的轉(zhuǎn)速測量完成,定時器 T0作為內(nèi)部定時器,外部中斷來的時候讀取 TH0, TL0,并同時清零 TH0、 TL0,使定時器再次循環(huán)計內(nèi)部脈沖。此外,對于低速情況下,我們還要設(shè)定一個軟件計數(shù)器 VTT,當外部中斷還沒來而內(nèi)部定時器已經(jīng)溢出,產(chǎn)生定時器 0 中斷時,增加 VTT,作為三字節(jié)中的高字節(jié)。三字節(jié)組成除數(shù),上面的常數(shù)為四字節(jié),所以計算程序?qū)?際上就是調(diào)用一個四字節(jié)除三字節(jié)商為兩字節(jié)(最高轉(zhuǎn)速36000r/min 足夠)的程序。 為數(shù)碼管能夠顯示出來,需將二進制轉(zhuǎn)換為十進制,在將十進制轉(zhuǎn)換為非壓縮 BCD 碼后,才能調(diào)用查表程序,最后送顯示。 5.1.2 單片機轉(zhuǎn)速計算程序 由于本次設(shè)計的系統(tǒng)要實現(xiàn)的功能是將霍爾傳感器的信號送到單片機的外部中斷口,再對周期方波進行內(nèi)部計數(shù),調(diào)用計算程 序把轉(zhuǎn)速測出來??梢哉f是核心部分,流程圖如圖所示: 河南理工大學畢業(yè)設(shè)計(論文)說明書 24 圖 5 2 計算程序流程圖 計算程序中又再次調(diào)用了除法程序 ,這里的除法為四字節(jié)除三字節(jié)商為兩字節(jié),除法的程序的編程思想可以和手工計算的除法相似,比較減法的思想,流程圖如圖 5-3所示 具體程序見附錄。 5.1.3 二 -十進制轉(zhuǎn)換程序 計算程序計算出來的數(shù)據(jù)為二進制,存到 50H、 51H單元中以便發(fā)送程序中調(diào)用傳送數(shù)據(jù)到計算機,計算機可識別二進制,然而,我們需要在LED上顯示,查表程序需要拆分的 BCD碼,所以二進制必須先轉(zhuǎn)換成 BCD后才能拆分。這里介紹將( R2R3)中的 16位二進制數(shù)轉(zhuǎn)換為壓縮 BCD 碼十進制整數(shù)送 R4、 R5、 R6。 被除數(shù)初始化 讀取定時值 調(diào)用除法程序 返 回 開 始 河南理工大學畢業(yè)設(shè)計(論文)說明書 25 Y N 圖 5 3 除法程序流程圖 除 法 移位次數(shù) 計數(shù)器 被除數(shù)左移 1 位 被除數(shù) 除數(shù) 上商 1,減去除數(shù) 上商 0 計數(shù)器減 1 計數(shù)器 =0? 返回 河南理工大學畢業(yè)設(shè)計(論文)說明書 26 按照數(shù)制轉(zhuǎn)換方法可以畫出流程圖。 圖 5 4 雙字節(jié)整數(shù)二翻十程序流程圖 單片機顯示部分可以用來顯示計算出來的數(shù)據(jù)的。在程序設(shè)計中,在AT89C51RAM 存貯器中的四個顯示緩沖器單元 30H 34H,分別存放著由計算出來的轉(zhuǎn)速的 BCD碼進行拆分后的非壓縮 BCD碼數(shù)據(jù), AT89C51的 P1口掃描輸出總是只有一位為低電平、其它位為高電平, AT89C51的 P0口相應位的顯示數(shù)據(jù)的段數(shù)據(jù),使該位顯示出一個字符,其它們?yōu)榘?,依次地改?P1 口輸出為低高的位, P0口輸出對應的段數(shù)據(jù), 5位 LED顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。 顯示部分程序分為兩部分:十進制 BCD轉(zhuǎn)換成非壓縮 BCD碼;查表程開始 0-R4、 R5、 R6 16-R7 C( R2R3)左移 1 位(移出位 bi 在 C 中) 2*( R4R5R6) +C - R4R5R6(十進制運算) ( R7) -1 R7=0? 返 回 河南理工大學畢業(yè)設(shè)計(論文)說明書 27 序顯示數(shù)據(jù)。 雙字節(jié)整數(shù)拆分程序流程圖如圖 5-5 圖 5 5 雙字節(jié)整數(shù)拆分程序流程圖 顯示程序流程圖如圖 5-6所示: 5.2 程序設(shè)計 根據(jù)以上設(shè)計思路和各個模塊的流程圖即可編寫出本次畢業(yè)設(shè)計的程序,注意其中各個模塊間的參數(shù)傳遞以及堆棧指針等問題,程序設(shè)計的任務即可完成,寫出初始的程序,再進行上機調(diào)試,這些我們將具體在下章中加以詳細敘述。 開 始 高字節(jié) R4 送 30H R5 與 0F0H 相與交換后送 31H R5 與 0FH 相與后送 32H R6 與 0F0H 相與交換后送 33H R6 與 0FH 相與后送 34H 返 回 河南理工大學畢業(yè)設(shè)計(論文)說明書 28 N 圖 5 6 顯示程序流程圖 開始 30H-R0,表首地址 -DPTR,( R1) =0FEH ( R0)賦值給 A A+DPTR 賦值給 P0 ( R1) =P1,( R1) =A, RL A INC R0 , A=( R1) ( R1) =0DFH? 結(jié)束 河南理工大學畢業(yè)設(shè)計(論文)說明書 29 6 系統(tǒng)調(diào)試 電路調(diào)試是整個系統(tǒng)功能否實現(xiàn)的關(guān)鍵步驟,我們將整個調(diào)試過程分為三大部分:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。 6.1 硬件調(diào)試 硬件 調(diào)試主要是針對我的轉(zhuǎn)速測量系統(tǒng)的單片機硬件電路分別進行調(diào)試。這一部分硬件調(diào)試主要分成兩大塊:上電前的調(diào)試和上電后的調(diào)試。 上電前的調(diào)試 在上電前,我們必須確保電路中不存在斷路或短路情況,這一工作是整個調(diào)試工作的第一步,也是非常重要的一個步驟。在這部分調(diào)試中主要使用的工具是萬用表,用來完成檢測電路中是否存在斷路或者短路情況等。 特別是數(shù)碼管的連接部分,有 PROTEL制作的 PCB確保要和原理圖上的圖一致,有些在電路板上沒法連接的線路,要用短接線把接好,對照著原理圖部分,一部分一部分地用萬用表測量,注意焊點之間, 確保焊點沒有短接在一起,同時注意焊點的美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn)。 上電后的調(diào)試 在確保硬件電路正常,無異常情況 (斷路或短路 )方可上電調(diào)試,上電調(diào)試的目的是檢驗電路是否接錯,同時還要檢驗原理是否正確,在本次課程設(shè)計中,上電調(diào)試主要只轉(zhuǎn)速測量系統(tǒng)的單片機控制部分、數(shù)碼管點亮部分、和上位機通信是的電平轉(zhuǎn)換和串口通信部分的硬件調(diào)試。 1、單片機控制部分硬件調(diào)試:這一部分調(diào)試主要是檢查時鐘電路、復位電路是否接對,單片機的電源以及地是否接好,以及其他的一些管腳的接法。看單片機通電后能否可以正常工作等這一系列 問題。 2、數(shù)碼管 LED電路調(diào)試:由于數(shù)碼管采用的是動態(tài)掃描的方式點亮的。數(shù)碼管的公共端( COM)接在 7407驅(qū)動再接到單片機的 P2口作為位選信號,字型是接在 P0口。電路上電檢查 7407是否接上電源和地讓其正常工作。在河南理工大學畢業(yè)設(shè)計(論文)說明書 30 這一前提下,查看數(shù)碼管能否點亮。只需要接仿真機上編寫一個小程序讓5位 LED全亮,或者讓它們其中的某位點亮,也可以顯示不同的數(shù)字,根據(jù)要求給 P0口, P2口分別賦值。即可檢查數(shù)碼管的硬件電路是否正確,即可判斷顯示驅(qū)動電路整個完整,首先排除這里的故障。 3、發(fā)送部分硬件電路調(diào)試:這一部分電路硬件調(diào)試 主要完成任務是使得通過 HIN232CPE電平轉(zhuǎn)換器轉(zhuǎn)換前后的電平關(guān)系。可以用示波器和萬用表檢查電平轉(zhuǎn)換前后的關(guān)系,這里不在贅述。 6.2 軟件調(diào)試 單片機程序調(diào)試思路 : 單片機部分調(diào)試工作的完成主要應用 LCA51軟件來完成,這一部分工作首先將轉(zhuǎn)速測量系統(tǒng)中的各個模塊 計算程序中的除法程序、雙字節(jié)的二 -十進制數(shù)制轉(zhuǎn)換程序,壓縮 BCD碼十進制數(shù)轉(zhuǎn)換為非壓縮 BCD碼的程序以及顯示部分程序調(diào)試好,不斷調(diào)試,不斷修改直到正確為止。 LCA51軟件是 一種非常實用的 多窗口編輯、調(diào)試軟件。 LCA51 軟件全面支持匯編語言 , C51語言, PL/M51 語言的編譯 /連接、調(diào)試。軟件支持單文件方式和工程化管理兩種模式。用戶可自定義各種語言的關(guān)鍵詞 .軟件完全支持源語句級在線調(diào)試。高級語言還支持源文件調(diào)試和匯編語言指令行對照調(diào)試。用戶可同時打開多個窗體編輯、調(diào)試、變量觀察 .用戶可在線對原文件直接編輯、編譯、連接、加載和調(diào)試,軟件支持編譯錯誤源文件定位。調(diào)試時用戶可動態(tài)觀察、修改設(shè)定變量(包括CPU片內(nèi)寄存器、特殊寄存器及外部寄存器、內(nèi)存)的值。 調(diào)試主要方法和技巧: 通常一個調(diào)試程序應該具備至少四種性能:跟蹤、斷點、查看變量、更 改數(shù)值。 1.跟蹤調(diào)試 調(diào)試應用程序所提供的重要性能也許就是跟蹤應用程序。跟蹤應用程序使用戶能夠在運行應用程序時,看到 PC指針在應用源代碼程序中的確河南理工大學畢業(yè)設(shè)計(論文)說明書 31 切位置, LCA51 提供以下方法對程序的執(zhí)行進行跟蹤。 跟蹤型單步執(zhí)行一條源語句程序。但是,如果調(diào)用一函數(shù),則進入函數(shù)中,再執(zhí)行函數(shù)的第一條源語句行前停止。 通過型單步僅執(zhí)行下一條源語句程序,然后又停止。如果是調(diào)用一函數(shù),運行完整個函數(shù)并停止在函數(shù)返回處。 2.斷點調(diào)試 如果已知程序中某塊代碼實際運行正常的情況下,仍用跟蹤調(diào)試方法, 將大大浪費時間,而且很枯燥,因此調(diào)試中第二個重要工具是在源代碼中預定處設(shè)置斷點,大多數(shù)調(diào)試程序通過使用斷點中止程序執(zhí)行。 注意:如果用戶調(diào)試高級語言,因為系統(tǒng)要占用 2個斷點,所以可設(shè)置的斷點數(shù)為最大斷點個數(shù)減 2。 LCA51 調(diào)試軟件還提供一次性斷點:執(zhí)行到光標所在行。如果用戶按熱鍵 F4,調(diào)試程序繼續(xù)執(zhí)行程序代碼,直到它到達光標行處或調(diào)試程序遇到另一個斷點。 3.查看變量 顯然,通過一系列指令查看應用程序,了解導致某一錯誤的執(zhí)行也是一種非常有效的方法。 LCA51軟件提供了以下幾種方法對變量進行 查看。 通過添加觀察項菜單可以將用戶希望觀察的變量添加到觀察窗口中,長期進行觀察。用戶程序在單步或斷點停下時,將更新變量的取值。 用戶可以直接移動鼠標到相應的變量名上,點擊鼠標左鍵,將出現(xiàn)一個提示窗口,顯示這個變量的當前值。 用戶還可以打開程序空間窗口、內(nèi)部數(shù)據(jù)窗口、外部數(shù)據(jù)窗口進行數(shù)據(jù)塊觀察。 4.更改數(shù)值 如果用戶在調(diào)試過程中了解到變量的內(nèi)容(超值、未定義等)會對程序性能產(chǎn)生影響或引起異常時,立即更改變量的內(nèi)容是很有效的方法,以確保該值在正確范圍內(nèi)不會產(chǎn)生錯誤。 LCA51軟件提供一系列更改變量數(shù)值的方法,以便用戶能檢查程序?qū)φ麄€變量值范圍的反應,而無需為設(shè)置河南理工大學畢業(yè)設(shè)計(論文)說明書 32 每個值而重新加載調(diào)試。在更改對話框中用戶輸入要更改的取值,點擊確定按鈕。用戶可以在輸入框中輸入十六進制或十進制數(shù)據(jù)。 程序調(diào)試過程 : 整個程序是一個主程序調(diào)用各個子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個程序都能平穩(wěn)運行,各個模塊的子程序的正確與平穩(wěn)運行必不可少,所以在軟件調(diào)試的最初階段就是把各個子程序模塊進行分別調(diào)試。 首先要對計算程序進行調(diào)試,其中關(guān)鍵就是那個四字節(jié)除三字節(jié)的程序顯得尤為重要,在整個程序中,四字節(jié)的被除 數(shù)是確定的常數(shù),而除數(shù)是測量記數(shù)的值,當各個模塊調(diào)試時,我們可以先對除數(shù)先賦不同的值,利用查看內(nèi)部數(shù)據(jù)的數(shù)據(jù)窗口觀察出計算出來的結(jié)果和用計算器算得的結(jié)果是否一致,可以舉例多次數(shù)據(jù),確保程序正確,才能得到想得到的數(shù)據(jù)。 其次、二進制到十進制的轉(zhuǎn)換,我們依然可以利用上述列舉的方法,多次給出數(shù)據(jù),然后運行程序,可以設(shè)置觀察變量,觀察出程序轉(zhuǎn)換的結(jié)果。 最后、拆分壓縮 BCD碼十進制以及最后的顯示程序,可以利用上述提到的各種方法,觀察 30-34H內(nèi)部的數(shù)據(jù),緩沖數(shù)據(jù)的觀察檢查完畢后,調(diào)用顯示程序,觀察數(shù)碼管上顯示的數(shù) 據(jù)是否是內(nèi)存緩沖中需要顯示的數(shù)據(jù)。 6.3 綜合調(diào)試 在硬件和軟件單獨調(diào)試成功后進行軟硬件綜合調(diào)試,它可以分成以下幾個步驟: 1.使霍爾傳感器有方波信號輸出; 2.使單片機獲得中斷信號,計算出轉(zhuǎn)速值并存儲; 3.通過 LED數(shù)碼管把測量的數(shù)據(jù)顯示出來。 4.通過通信使得 PC機與單片機之間的通信成功。 河南理工大學畢業(yè)設(shè)計(論文)說明書 33 6.4 故障分析與解決方案 故障出現(xiàn)情況 : 1、霍爾傳感器不能產(chǎn)生有效的 TTL電平,產(chǎn)生波形不穩(wěn) 2、 單片機 的中斷服務程序不能執(zhí)行 , 不管是定時中斷還是外部中斷 ; 3、中斷執(zhí)行低速情況也就是軟件記數(shù)功能不對 ; 4、測得的轉(zhuǎn)速不準確 , 而且在波形頻率變化下顯示轉(zhuǎn)速卻不變 5、 單片機顯示部分無法工作,顯示不穩(wěn)定; 6、信號發(fā)生器模擬轉(zhuǎn)速測量正確,接電機不穩(wěn)定 7、 通信時單片機接收顯示數(shù)據(jù)不正常, PC機接收亂碼; 解決方案(針對上述故障一一對應的解決方案) : ( 1)硬件電路中 霍爾傳感器應工作在 5V電壓,中間引腳接地,數(shù)據(jù)線接單片機的外部中斷 0。在電機的轉(zhuǎn)軸上還要貼上一粒磁鋼,利用霍爾效應產(chǎn)生方波。利用萬用表檢查時發(fā)現(xiàn)接 5V和地的 PCB上的線都壞了,重新用線接在電路板上。當波形出來后,顯示的波形不穩(wěn),而且不夠理想,后來在信號 線與地之間接了 472的瓷片電容濾波。波形得到了大大改善 ; ( 2) 首先檢查程序中的開頭,中斷入口地址,發(fā)現(xiàn)中斷定時 0的地址寫成中斷定時 1的入口地址了。外部中斷沒有執(zhí)行跟沒有中斷信號加入有關(guān)系。在前面還沒有解決的時候,我們暫時用信號發(fā)生器來代替外部中斷9的輸入,由于中斷執(zhí)行與否我們沒法看到,可以用設(shè)置中斷點的方法或者利用示波器,在中斷服務程序中重新編寫一些程序觀察單片機的某一輸出口的波形變換或者中斷程序中讓數(shù)碼管點亮等直觀可以看到的方法來檢查中斷的執(zhí)行情況; ( 3) 中斷服務程序中程序設(shè)計有問題,要先讀去反映轉(zhuǎn)速 的 TH0, TL0,再去清 0,軟件記數(shù)的高字節(jié) VTT應該在定時中斷 0中的服務程序中自增的同時清 TH0, TL0,在外部中斷程序中要讀取三字節(jié)的記數(shù)值后同時清三個記數(shù)器,再從中斷返回 ; ( 4) 在確定轉(zhuǎn)速計算程序的正確性的 條件下出現(xiàn)了轉(zhuǎn)速不準確,就河南理工大學畢業(yè)設(shè)計(論文)說明書 34 是在調(diào)用轉(zhuǎn)換程序時出現(xiàn)了問題,觀察程序時發(fā)現(xiàn)調(diào)用子程序是傳送的參數(shù)不對,在用寄存器 R的時候出現(xiàn)了重復現(xiàn)象,導致轉(zhuǎn)換過程中出現(xiàn)了混亂。在波形頻率改變而轉(zhuǎn)速不改變由于在調(diào)用顯示程序時候在調(diào)用之后在顯示這里死循環(huán),不能適時進行計算了。 ( 5) 由于顯示部分的程序是動態(tài)顯示,是一 位一位的顯示,在位選信號這里出現(xiàn)了問題,在左移的時候出現(xiàn)問題,以及顯示完一個字型后調(diào)用的延時時間不合理導致顯示不穩(wěn)定,出現(xiàn)閃爍現(xiàn)象,改變時間到 1毫秒左右就差不多對了。 ( 6) 后來在接信號發(fā)生器時候要是接正弦波時候一樣發(fā)生不穩(wěn)定跳轉(zhuǎn)的現(xiàn)象,由此可以推測,在傳感器輸入的信號不是理想的方波,而且電平值不夠大,所以在霍爾傳感器信號輸出端接濾波電容以及一個 10K的上拉電阻就可以解決問題了。 ( 7)由于單片機與 PC機之間的設(shè)置 以及電平轉(zhuǎn)換 不一致 具體參見通信部分的畢業(yè)設(shè)計。 6.5 結(jié)論與經(jīng)驗 結(jié)論 : 通過各方面努力,本 次畢業(yè)設(shè)計任務完成,系統(tǒng)各部分功能均已實現(xiàn),單片機 能夠測量出電機的轉(zhuǎn)速并能顯示在 LED數(shù)碼管上,并能向上位機 發(fā)送 數(shù)據(jù) ; 測量范圍也是比較寬的 60r/min-36000r/min,精度也在 0.1%,都達到了比較理想的狀態(tài)。 經(jīng)驗 : 1、由于本系統(tǒng)采用 5V直流電源供電, 霍爾傳感器要選用工作電壓的范圍包含 5V 電壓的可以省去再用一個電源的麻煩,單片機等都是工作在TTL電平的,霍爾傳感器輸出的波形應為 TTL電平,以便單片機能夠識別。 2、 數(shù)碼管要采用共陰數(shù)碼管,因為數(shù)碼管的灌電流可以大些達到幾十毫安,但

溫馨提示

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

評論

0/150

提交評論