![優秀畢業設計精品]智能脈沖寬度測量儀_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/6b6e3d34-703f-4b87-a1e2-b52f0fbdf033/6b6e3d34-703f-4b87-a1e2-b52f0fbdf0331.gif)
![優秀畢業設計精品]智能脈沖寬度測量儀_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/6b6e3d34-703f-4b87-a1e2-b52f0fbdf033/6b6e3d34-703f-4b87-a1e2-b52f0fbdf0332.gif)
![優秀畢業設計精品]智能脈沖寬度測量儀_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/6b6e3d34-703f-4b87-a1e2-b52f0fbdf033/6b6e3d34-703f-4b87-a1e2-b52f0fbdf0333.gif)
![優秀畢業設計精品]智能脈沖寬度測量儀_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/6b6e3d34-703f-4b87-a1e2-b52f0fbdf033/6b6e3d34-703f-4b87-a1e2-b52f0fbdf0334.gif)
![優秀畢業設計精品]智能脈沖寬度測量儀_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/3/6b6e3d34-703f-4b87-a1e2-b52f0fbdf033/6b6e3d34-703f-4b87-a1e2-b52f0fbdf0335.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、近年來隨著科技的飛速發展,單片機的應用正在不斷地走向深入,人們已越 來越多地將單片機技術應用于一些工業控制系統。如溫度、流量和壓力等參數進 行檢測和控制。pc機具有強大的監控和管理功能,而單片機則具有快速及靈活 的控制特點,因此在實時檢測和自動控制的應用系統屮,單片機往往是作為一個 核心部件來使用。本系統采用單片機at89c52為中心器件來設計智能脈沖寬度測量儀,本系 統是由一個555定時器來產生脈沖信號,將信號輸入單片機中,然后運行程序, 最后通過譯碼在led數碼管動態顯示。本系統實用性強、操作簡單、擴展性強。 在現有的單片機仿真系統上掌握相關軟硬件設計與調試知識,根據所選的題目, 焊接好便
2、件電路,正確進行元器件的測試與調試,并在計算機上編寫匯編程序調 試運行,并實現參考選題中要求的設計。關鍵詞:脈沖寬度測量title: intelligent pulse width measuring instrumentabstractin recent years, with the rapid development of science and technology, the application of scm is developing continuously. it has been increasingly used the technology of scm to the
3、industrial control system such as temperature, flow and pressure and so on. though pc machines have powerful monitoring and management functions, in detection and automatic control application system, scm is often used as a core component which is rapid and flexible.this system uses the at89c52 as t
4、he core component to design intelligent pulse width measuring instrument, this system generates the pulse signal which will be input the single chip microcomputer throught a 555 timer。 then i run and decode the program .finally, the result will show dynamicly on the led screen.this system is practic
5、al, simple operation and extensible in the existing microcomputer simulation system hardware and software design and commissioning to master relevant knowledge, according to the selected topic, welding good hardware circuit and the correct components, and the testing and debugging assembly program o
6、n the computer test and operation, written and realize the design requirements of the reference topics.keywords: pulse width measurement1前言11.1課題研究背景11.1.1單片機技術的發展狀況11.1.2本文的研究內容22設計內容及具體要求32設計的主要任務32.2設計的具體要求33設計方案及總框架53.1設計不同方案對比53.1.1程控脈沖測量53.1.2等精度脈沖測量53.1.3確定方案總框架圖63.1.4各部分框圖簡介63.5原理圖83.6 pcb板圖
7、104硬件部分原理及設計114單片機部分114.1.1功能特性描述114.1.2引腳功能114.1.3 at89c52的存儲器結構134.1.4定時器144.1.5單片機內部的中斷154.2脈沖產生電路164.3數碼管顯示電路205軟件部分設計215. 1 kei i c軟件的使用介紹215.2 keil c軟件的基木操作步驟215.3主程序設計235.3.1主程序流程圖235.3.2程序源代碼245.3.3 kiel51源程序調試306系統調試及誤差分析336系統調試測驗336.2實驗結果336.3誤差分析336.3.1算法誤差: 336.3.2硬件誤差: 337總結與展望35致謝37參考文
8、獻391.1課題研究背景近年來單片機的應用正在不斷地走向深入,由于它具有功能強,體積小,功 耗低,價格便宜,工作可靠,使用方便等特點,因此越來越廣泛地應用于智能化 儀器,儀表,數據釆集等各個領域,單片機往往是作為一個核心部件來使用,在 根據具體硬件結構,以及針對具體應用對彖特點的軟件結合,通過不同的程序 實現不同的功能,尤其是特殊的獨特的一些功能,這是別的器件需要費很 大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很復雜的 功能要是用一些純硬件來搞定的話,電路一定是一塊大pcb板!但是如果 要是用一些系列單片機,結果就會冇天壤之別!只因為單片機可以通過你 編寫的程序實現高智能,高效率
9、,以及高可靠性!隨著社會的發展,科學的進步,人們的生活水平在逐步的提高,尤其是微電 了技術的發展,猶如雨后春筍般的變化。單片機的應用已經越來越貼近生活,用 單片機來實現一些電子設計也變得容易起來。計算機在人們的日常中是比較的常 見的電子產品z-o目前對各種物理量的檢測和控制都可得以實現。微機檢測控 制系統不僅運用到航天航空、機器人技術、紡織機械、食品加工等工業過程控制, 而且已經成為日常各種家用電器當中的主耍組成部分。而其中單片機技術以其實 現簡單、使用靈活及數據傳輸可靠等有優點被廣泛的應用于屮小型實時控制系統 中,其實時數據處理和控制功能可使測控系統始終保持在最佳的工作狀態,提高 系統的工作
10、效率。1.1.1單片機技術的發展狀況單片機自20世紀70年代問世以來得到了廣泛的應用,主要應用于測試和控 制領域。由于單片機在使用時,通常是處于測控系統的核心地位并嵌入其中,所 以國際上通常把單片機稱為嵌入式控制器(embedded microcontroller unit, emcu)或微控制器(microcontroller unit, mcu)。而在我國,大部分工程技術 人員則比較習慣使用“單片機”這一名稱。,單片機的出現是微型計算機技術高速發展的產物。單片機體積小、價格低、 應用方便、穩定可靠,因此,單片機的發展和普及給工業自動化等領域帶來了一 場重大革命和技術進步。僅從體積小方面來說
11、,單片機兒乎可以在任何設施或任 意裝置上做成非常小的、功能比較完善的單片機嵌入系統置于其中,以實現各種 方式的檢測、計算或控制,在這一點上,一般的微型計算機根本做不到。由于單 片機本身就事一個計算機系統,因此只耍在單片機外部適當增加一些必耍的外圍 擴展接口電路,就可以靈活的構成各種應用系統,如工業門動檢測監視系統、數 據采集系統、自動控制系統、智能儀器儀表等。本設計是采用intel公司生產的mcs-52系列的單片機,這類單片機的性能 價格比高,所以被廣泛應用,是目前應用數量較多的單片機。1. 1.2本文的研究內容本設計的題目是智能脈沖寬度測量儀,脈沖寬度的測量,實質是時間的測量, 在生產和科學
12、研究中,經常耍測量時間,例如,完成第一生產工序所需耍的時間、 周期性信號的周期、激光測距和雷達測量冃標距離、運動體行程的時間等等都說 明時間測量的重要性。本論文主耍是采用單片機at89c51為中心器件來設計脈沖寬度測量儀, 在現有的單片機仿真機系統上掌握相關軟硬件設計與調試知識,根據所設 計好的電路,焊接好硬件電路,正確進行元器件的測試與調試,并在計算 機上編寫程序調試運行,并實現脈沖寬度的測量。具體包括以下幾方面的 內容:第一章,對單片機的應用背景進行了說明,并介紹了本次設計的實際意義。第二章,簡單概述了本次設計的內容和具體要求。第三章,簡單介紹兩種不同的設計方案,通過對比先擇較合理的程控式
13、測量 方案。第四章,介紹了硬件部分的原理及設計。第五章,介紹了軟件部分的程序。第六章,進行系統測試檢驗,并做了誤差分析。第七章,對全文進行了總結。2設計內容及具體要求2.1設計的主要任務(1)通過查閱相關資料,深入了解脈沖寬度測量儀的原理;(2)復習“mcs51單片機原理及c語言程序設計”;(3)掌握其接口擴展包括:顯示、鍵盤等;(4)設計基于單片機的程控脈沖寬度測量儀的原理圖,構建硬件平臺;(5)采用c語言編寫應用程序并調試通過;(6)制作出樣機并測試達到功能和技術指標要求;(7)寫出畢業設計論文。2.2設計的具體要求(1)原始數據1. 被測信號為數字信號;2測量范圍:100微秒-100毫秒
14、;3. 數碼管顯示動態顯示。(2)技術耍求:1.用4位數碼管顯示測量值。用發光二極管分別指示所測元件的類別 和單位。2 測量精度±5%。3.電感測量試用瞬態響應法測量。(3)工作要求:1.組建智能脈沖寬度測量儀的總體結構框圖;2根據設計詳細的原理圖,選取只要元器件,通過理論分析和計算選 擇電路參數;3. 根據操作功能要求,確定操作按鍵的功能;4. 按設計要求確定顯示方式及信息量;5. 采用c語言編寫應用程序并調試通過;6. 對系統進行測試和結果分析;3設計方案及總框架3.1設計不同方案對比3. 1. 1程控脈沖測量1. 實驗脈沖由555定時器產生,只要改變外接屯阻屯容就能獲得不同寬度
15、 的脈沖,供測量使用。2. 采用mcs-52單片機和外設電路測量脈沖寬度。mcs-51子系列單片機 有3個定時器(計數器),當他們工作于定時器方式時,計數的輸入為內部的時 鐘信號,頻率為固定的11.0592hzo只要令gate=1, tr0=l, tr1 = 1,將輸入 脈沖接到“int1 (非)” 口,即可測量輸入脈沖寬度。3. 采用動態數碼管顯示測量結果,兩片74ls573和位碼驅動鎖存器作為驅 動電路。4. 為了使測量范圍更大,在程序小進行單位轉換,使用發光二極管指示單 位。3. 1.2等精度脈沖測量對于脈沖寬度的測量,我們可以運用計數法的思想,即在一個脈沖的高電 平期間填入給定的基準脈
16、沖,通過填充的數量來計算需測量的脈沖寬度。為了提 高其精度,減小誤差,可以采用頻率較高的基準脈沖。根據題口要求,可將設計分為四部分:一為硬件方面的設計,由于同一類型 的原理圖已給出,我們只需按照電路圖根據實際需要焊接好即可,并根據電路圖 繪制相應的pcb板圖。二為主程序的設計,通過c52的冇關功能包括計數/定時、 中斷等編寫計數法的主程序。三為mfc-g12864點陣液品屏輸出的設計,通過 編程對其五個控制位進行操作,而有關數字文字以及符號的字模可通過字模生成 軟件得到。四為五個功能按鍵的設計,其主要是通過與單片機的五個端口進行操 作,其中每個按鍵可看做是對相應的子函數的調用。根據總體設計要求
17、,系統總框圖如圖31所示圖31等粕度設計的系統總松圖3. 1.3確定方案總框架圖由以上兩種方案都可以測量脈沖寬度,等精度測量方法要比程控式的精度更 高,但程控式是用數碼管來顯示的,受自然環境的影響小,而等精度是用的液晶 顯示屏受環境影響大,比如光線,由于實驗耍求我選擇了程控脈沖測量法,下而 具體論述這種方法的可行性。圖3-2為設計便件的總體連接圖。89c52led顯示單片機控制器驅動電路圖32程控式測量總體框圖3. 1.4各部分框圖簡介(1)按鍵控制:這個設計共有五個發光二極管和三個按鍵,作用如下:發光二極管1::顯示脈沖寬度時間的單位。(燈亮為ms,燈滅為m) 發光二極管2:顯示555定時器
18、外圍電阻的單位。(燈亮為kq,燈滅 為mq )發光二極管3:顯示555定時器外圍電容的單位。(燈亮為pf,燈滅 為uf)發光二極管4:顯示555定吋器外圍有無電容。(燈亮為無,燈滅為 有)發光二極管5:顯示555定時器外圍有無電阻。(燈亮為無,燈滅為 有)按鍵1:控制脈沖寬度時間刷新。按鍵2:控制555定時器外圍電阻刷新。按鍵3:控制555定時器外圍電容刷新。'cc圖3-3 555信號發生器(2) 信號源發生電路:信號源由555定時器構成脈沖發生器(如圖3-3) o在測量的吋候,會在r2和 c1的兩端并聯電阻或者電容,本實驗將會測量脈沖的高電平的寬度,r2并聯的 電阻值,以及c1并聯的
19、電容值。由555脈沖發生器的基本原理可得以下結論:設:高電平的脈寬時間為th,低電平的脈寬時間為tl.則r2 二 tl*rl/(th-t1)(31)cl=(th-tl)/(ln2*rl)(32)根據這個公式,通過單片機測出高電平,低電平的寬度,我們就可以計算出 r2, c1的值。并且可以得到外圍點電路的r,c的值。(3) 晶振電路:品振是為電路提供頻率基準的元器件,通常分成有源品振和無源品振兩個人 類,有源晶振不需要芯片的內部振蕩器,可以提供高精度的頻率基準,信號質量 也較無源晶振要好。木實驗用f二11. 0592mhz的晶振電路。晶振和c4、c5組成振19蕩器,使單片機內部產生周期為lus的
20、脈沖信號。 y i 宀cjap 3opfc5cap3opf(4).驅動及led顯示電路本實驗用了兩片74ls573, 一片用于輸出段碼,一片用于輸出位碼。一片 2803,用于led數碼管驅動。四個led數碼管。采用共陰極接法,用掃描的方式顯示,每一個吋刻只選通一個 數碼管。用動態顯示的方式來顯示555定時器外圍總電阻值,總電容值以及脈沖 高電平時間值。(5).單片機采用89c52單片機,共用到了三個定時器中斷。1. led顯示:定時器屮斷0,每2500us刷新一次,動態顯示形式。2. 脈寬高電平測量:定時器中斷1,由信號的上升沿觸發,開始計數,記錄 的是信號的高電平的脈寬時間。3. 周期測量:
21、定時器中斷2,下降沿觸發,采用捕捉模式,手動清零。定時 器門動將周期時間存入固定的寄存器中。從而得到低電平的脈寬時間。這里簡單介紹一下這部分硬件,在下一章詳細的分析。3. 1.5原理圖通過protel99繪圖及pcb制版,使電路系統完整。根據我們以前所掌握的 電路設計所用的軟件來講,能進行電路圖的設計以及針對我們設計要求,需做成 pcb板,最終要根據pcb板進行實物的焊接和調試,因此,選取用protel99軟 件進行電路的設計,進而對電路各個元件進行封裝,完成對pcb屯路的生成, 最終制成pcb板。圖35、圖36分別為整體電路原理圖和pcb電路圖。spowhrovctjl-jheadcf3 d
22、m12 3 4+rikk4312 3 4壬乍4藥.gndhea<rr4pwvcc亙早4 -=iflflfrflf1330330h5yp07restwrxt>bgndtvitrxo txdcl0s馬 thr cvoltegale<rssc-ah2 nhq-ipp - capsrcqsk一 2-3tot-powe-j?kkt2<atpctjz 一l£-i7hj2;-<£?hoj2n】l£一 -oersnmqkn1 56is3s2s52 sai總宓倫侶ai八'47*3 |aa b匚7sbpllomabo一 .edd§-s5
23、73nl 一么 28omdm §m2.32s oirrs oups25ss3. 1. 6 pcb 板圖d1dgsoini一l-j p o圖36 pcb板圖pcb板是兩層板,用prote!99軟件生成的。4硬件部分原理及設計4.1單片機部分4.1.1功能特性描述at89c52是一種低功耗、高件能cm0s8位微控制器,具有8k在系統可編程flash 存儲器。使用atmel公司高密度非易失性存儲器技術制造,與工業80c51產品指令 和引腳完全兼容。片上flash允許程序存儲器在系統可編程,亦適于常規編程器。 在單芯片上,擁有靈巧的8位cpu和在系統可編程flash,使得at89c52為眾多
24、嵌入 式控制應用系統提供高靈活、超有效的解決方案。at89c52具有以卜標準功能: 8k字節flash, 256字節ram, 32位i/o 口線,看門狗定時器,兩個數據指針,三 個16位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時 鐘電路。另外,at89c52可降至0也 靜態邏輯操作,支持2種軟件可選擇節電模 式。空閑模式下,cpu停止工作,允許ram、定時器/計數器、串口、屮斷繼續工 作冋。掉電保護方式下,ram內容被保存,振蕩器被凍結,單片機一切工作停止, 直到下一個中斷或硬件復位為止。4.1.2引腳功能89c52單片機有44個引腳plcc和tqfp方形封裝形式,40
25、個引腳的雙列直插式 封裝形式,最常用的40個引腳封裝形式及其配置如圖4.1所示,各個引腳功能說 明如圖41:(t2)p1.0c (t2 ex>p1.1 c p1.2c p1.3e p1.4c (mosi>p1.5c (miso>p1.6c (sck)p1.7c rstc (rxd>p3.0c (txd)p3.1 c (tnto> p3.2 c)p3.3 匚 (to> p3.4 c (t1)f3.5c (wr> p3.6 匚 p3.7 匚 xtal2c xtal1c gndc140239338437:atmel3035734833q 89s5232103
26、1113012291328142715201625172418231g222021 vcc pc o(ado> pc 1 (adi) p0 2(ad2) pc 3(ad3> pc 4 «:ad4> pc 6 (ads) pc 6 (ad6> pc 7 (ad7> eavpf alerog psen p2 7(a15) p2 e (a14) p2 5(a13) p2 4 (a12) p2 3(a11) p2 2(a10) p2 1 <a9) p2 o(as)圖41 89c52單片機的引腳vcc:電源,接+5vgnd:接地p0口: p0口是一個8位漏極
27、開路的雙向i/o口。作為輸出口,每位能驅動8個 ttl邏輯電平。對p0端口寫“1”吋,引腳用作高阻抗輸入。當訪問外部程序和數 據存儲器時,p0口也被作為低8位地址/數據復用。在這種模式下,p0具有內部上 拉電阻。在flash編程時,p0口也用來接收指令字節;在程序校驗時,輸出指令 字節。程序校驗時,需要外部上拉電阻。p1 口: p1 口是一個具冇內部上拉電阻的8位雙向i/o 口,p1輸出緩沖器能驅 動4個ttl邏輯電平。對p1端口寫“1”時,內部上拉電阻把端口拉高,此時可 以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因, 將輸出電流(iil)o此外,p1.0和p1.2分別
28、作定時器/計數器2的外部計數輸入 (p1.0/t2)和時器/計數器2的觸發輸入(p1.1/t2ex) 17,具體如表41所示。 在flash編程和校驗時,p1 口接收低8位地址字節。表4一189s52單片機p1 口第二功能引腳號第二功能p1.0t2 (定吋器/計數器t2的外部計數輸入),時鐘輸出pl. 1t2ex (定時器/計數器t2的捕捉/重載觸發信號和方向控制)p1.5most (在系統編程用)p1.6mts0 (在系統編程用)p1.7sck (在系統編程用)p2d: p2口是一個具有內部上拉電阻的8位雙向i/o 口,p2輸出緩沖器能驅 動4個ttl邏輯電平。對p2端口寫“1”時,內部上拉
29、電阻把端口拉高,此時可 以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因, 將輸出電流(iil)o在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例 如執行movx dptr)吋,p2 口送出高八位地址。在這種應用中,p2 口使用很強 的內部上拉發送1。在使用8位地址(如movx ri)訪問外部數據存儲器時,p2 口輸出p2鎖存器的內容。在flash編程和校驗時,p2口也接收高8位地址字節和一 些控制信號。p3口: p3口是一個具冇內部上拉電阻的8位雙向i/o口,p3輸出緩沖器能驅動 4個ttl邏輯電平。對p3端口寫“1”時,內部上拉電阻把端】拉高,此時可以 作為輸入
30、口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將 輸出電流(ttl)o p3口亦作為at89s52特殊功能(第二功能)使用,如表42所 示。在flash編程和校驗吋,p3口也接收一些控制信號。表42 89s52單片機p3口笫二功能引腳號第二功能p3. 0rxd (串行輸入線)p3. 1txd (串行輸出線)p3. 2/n7i)(外部中斷0輸入線)p3. 3intx (外部中斷0輸入線)p3. 4to (定時器0外部計數脈沖輸入)p3. 5t1 (定時器1外部計數脈沖輸入)p3. 6wr (外部數據存儲器寫選通信號輸出)p3. 7rd (外部數據存儲器寫選通信號輸出)rst:復位輸
31、入。晶振工作時,rst腳將持續2個機器周期高電平將使單片機 復位。看門狗計時完成后,rst腳輸岀96個品振周期的高電平。特殊寄存器 auxr(地址8eh)±的disrto位可以使此功能無效。disrto默認狀態下,復位高電 平有效。ale/prog :地址鎖存控制信號(ale)是訪問外部程序存儲器時,鎖存低 8位地址的輸出脈沖。在flash編程時,此引腳(麗花)也用作編程輸入脈沖。 在一般情況下,ale以品振六分z的固定頻率輸出脈沖,可以用來作為外部定 時器或時鐘使用。然而,特別強調,在每次訪問外部數據存儲器時,ale脈沖將 會跳過。如杲需要,通過將地址為8eii的sfr的第0位置“
32、1”,ale操作將無效。 這一位置“1”,ale僅在執行movx或movc指令時有效。否則,ale將被微弱拉高。 這個ale使能標志位(地址為8eii的sfr的第0位)的設置對微控制器處于外部執 行模式下無效。psen-.外部程序存儲器選通信號(殛方)是外部程序存儲器選通信號。 當at89s52從外部程序存儲器執行外部代碼時,再麗在每個機器周期被激活兩 次,而在訪問外部數據存儲器時,再麗將不被激活。e4/vpp:訪問外部程序存儲器控制信號。為使能從0000h至ijffffh的外部程 序存儲器讀取指令,鬲必須接gnd。為了執行內部程序指令,鬲應該接vcc。在 flash編程期間,鬲 也接收12伏
33、vpp電壓。xtal1:振蕩器反相放大器和內部時鐘發生電路的輸入端。xtal2:振蕩器反相放大器的輸出端。4. 1.3 at89c52的存儲器結構at89s52器件冇單獨的程序存儲器和數據存儲器。外部程序存儲器和數據存 儲器都可以64kb尋址。程序存儲器:如果鬲引腳接地,程序讀取只從外部存儲器開始。對于89s52, 如果鬲接vcc,讀寫程序先從內部存儲器(地址為0000h1fffh)開始,接著從 外部尋址,尋址地址為:2000hffffh。數據存儲器:at89s52有256字節片內數據存儲器。高128字節與特殊功能 寄存器重疊。也就是說高128字節與特殊功能寄存器冇相同的地址,而物理上是 分開
34、的。當一條指令訪問高于7fh的地址吋,尋址方式決定cpu訪問高128字節 ram還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(sfr)o 例如,下面的直接尋址指令訪問oaoh (p2口)存儲單元mov oaoh, #data使用間接尋址方式訪問高128字節ram。例如,下而的間接尋址方式中,r0內容為oaoh,訪問的是地址0a0h的寄存器, 而不是p2 口(它的地址也是oaoidomov r0, iidata堆棧操作也是間接尋址方式。因此,高128字節數據ram也可用于堆棧空間。4.1.4定時器1. mcs-51系列屮51子系列冇兩個16位的可編程定時/計數器:定時/計數器 to和定
35、時/計數器t1, 52子系列有三個,述有一個定時/計數器t2。2. 每個定時/計數器既可以對系統時鐘計數實現定時,也可以對外部信號計 數實現計數功能,通過編程設定來實現。3. 每個定吋/計數器都有多種工作方式,其中to有四種工作方式;t1有三種 工作方式,t2有三種工作方式。通過編程設置其方式寄存器tmod可設定定吋器工 作丁某種方式,方式寄存器tmod格式見表4一3。表43定時/計數器的方式寄存器tmodgatec/tmlm2gatec/tmlm2門控開/關計數/定時方式選擇門控開/關計數/定時方式選擇t1t0aw -gate: fl控信號。gate二0, trx二1時即可啟動定時器/計數器
36、工作,是_種自 啟動的方式;gate二1, trx二1, intx二1時才可啟動定時器/計數器工作。即是麗 引腳加高電平啟動,是一種外啟動方式。c/t:定時或計數方式選擇位,當c/n1時工作于計數方式;當c/f=0吋工 作于定時方式。ml、m0:為工作方式選擇位,定時器/計數器的四種工作方式由m1m0設定, 設定情況見表44。表44 m1m0的設定mlm0工作方式方式說明00013位定時/計數器01116位定時/計數器1028位自動重置定時/計數器113t0為兩個8位定時/計數器4.毎一個定時/計數器定時計數時間到時產生溢出,使控制寄存器tc07中相 應的溢出位置位,溢出可通過查詢或屮斷方式處
37、理,控制寄存器格式見表45。表45定時/計數器的控制寄存器tcontf1tr1tfotroie1it1ie0it0t1請求 有/無t1工作 啟/停t0請求 有/無t0工作 啟/停int1 請 求有/無tnt1 方into 請 求有/無into 方式卜沿/式卜沿/低電平低電平其中:tf1:定時/計數器t1的溢出標志位,當定時/計數器t1計滿時,由硬件使它置位,如中斷允許則觸發t1中斷。進入中斷處理后由內部碩件電路自動清除。tr1:定吋/計數器t1的啟動位,可由軟件置位或清零,當tr1二1吋啟動;tr1二0 時停止。tfo:定時/計數器to的溢出標志位,當定時/計數器to計滿時,由硬件使它 置位,
38、如中斷允許則觸發to中斷。進入中斷處理后由內部硬件電路口動清除。tro:定時/計數器to的啟動位,可由軟件置位或清零,當tro二1時啟動;tro=o 時停止。4.1.5單片機內部的中斷at89s52有6個中斷源:兩個外部中斷(into和7nti三個定時中斷(定 時器0、1、2)和一個串行中斷。每個中斷源都可以通過置位或清除特殊寄存器 ie中的相關中斷允許控制位分別使得中斷源有效或無效何。ie還包括一個中斷允 許總控制位ea,它能一次禁止所有屮斷。如表4. 6所示,ie.6位是不可以用的。 它們為at89系列新產品預留。定時器2可以被寄存器t2c0n中的tf2和exf2的或邏 輯觸發。程序進入中
39、斷服務后,這些標志位都可以由碩件清0。實際上,中斷服 務程序必須判定是否是tf2或exf2激活屮斷,標志位也必須由軟件清0。定時器0 和定時器1標志位tfo和tf1在計數溢出的那個周期的s5p2被置位。它們的值一直 到卜一個周期被電路捕捉卜來。然而,定時器2的標志位tf2在計數溢出的那個周期的s2p2被置位,在同一個周期被電路捕捉下來。表4_6中斷允許控制寄存器(ie)eaet2eset1ex1etoexoea:中斷允許總控位。ea=o,屏蔽所有的中斷請求;ea=1,開放中斷。et2:定時器/計數器t2的溢出中斷允許位es:串行口中斷允許位。et1:定吋器/計數器t1的溢出中斷允許位。ex1:
40、外部中斷int1的中斷允許位。eto:定時器/計數器to的溢出中斷允許位。ex0:外部中斷into的中斷允許位。4.2脈沖產生電路555定時器構成的多諧振蕩器:555外接定時電阻ri> r2和屯容c構成的多諧振蕩器屯路如圖4. 2(a)所示, 由圖可見,它將高電平觸發端th和低電平觸發端tr相連,且放電回路屮串接了 一個定時電阻r2集成555定時器有雙極性型和cmos型兩種產品。一般雙極性型產品型號的 最后三位數都是555, cmos型產品型號的最后四位數都是7555.它們的邏輯功能 和外部引線排列完全相同。器件電源電壓推薦為4512v,最大輸出電流200ma 以內,并能與ttl、cmo
41、s邏輯電平相兼容。其主要參數見表47。表47兩種555定時器的器件特性(a)雙極性型5g555的主要性能參數(b) cmos型7555的主要性能參數參數名稱符號單位參數電源電壓vccv516電源電流kcma10閾值電壓vthv% vcc觸發電壓vtrv% vg輸出低電平volv1輸出高電平vonv13.3最大輸出電流jomaxma<200最高振蕩頻率maxkhzw300時間誤差atnsw5參數名稱符號單位參數電源電壓vccv3-18電源電流kcu a60閾值電壓vthv%vdd觸發電壓vtrv輸出低電平vv0輸出高電平vv14.8最大輸出電流lomaxmaw200最咼振蕩頻率tmaxkh
42、z$500時間誤差atnsvccrd(a)555的邏輯符號圖4. 2 555定吋器邏輯符號和和引腳圖4. 3555定時器內部結構555定時器的內部電路框圖及邏輯符號和管腳排列分別如圖42和圖43 所示。d i左>disq555tr*q vcothd引腳功能:vil (th):高電平觸發端,簡稱高觸發端,又稱閾值端,標志為th。vi2 (tr):低電平觸發端,簡稱低觸發端,標志為拆。vco:控制電壓端。vo:輸出端。dis:放電端。瓦:復位端。555定時器原理:555定吋器內含一個由三個阻值相同的電阻r組成的分壓 網絡,產生丄wc和ucc兩個基準電壓;兩個電壓比較器cl、c2; 一個由與非
43、門 3gl、g2組成的基本rs觸發器(低電平觸發);放電三極管t和輸出反相緩沖器g3o町是復位端,低電平有效。復位后,基本rs觸發器的端為1 (高電平), 經反相緩沖器后,輸出為0 (低電平)。分析圖42的電路:在555定時器的vcc端和地z間加上電壓,并讓vco7懸空,則比較器c1的同相輸入端接參考電壓-vcc ,比較器c2反相輸入端接參考電壓-vcc ,為了學習方便,我們規定:322當th端的電壓> vcc時,寫為vth=1,當th端的電壓v vcc時,寫為33vth=oo 1 一 1當tr端的電壓- vcc時,寫為vtr=1,當77?端的電壓v - vcc時,寫為33vtr=ooi
44、2低觸發:當輸入電壓vi2<-vcc 11v訂vvcc時,vtr=o, vth=o,比較器c233輸出為低電平,c1輸出為高電平,基木rs觸發器的輸入端5=0. = 1,使q =1, q=0,經輸出反相緩沖器后,vo=1, t截止。這時稱555定時器“低觸 發”;i?-保持:若 vi2>vcc且 v訂vucc,貝0 vtr=1, vth=0, s = /?=l,基本 rs33觸發器保持,vo和t狀態不變,這時稱555定時器“保持”。2高觸發:若vil>-vcc,則vth=1,比較器cl輸出為低電平,無論c2輸3出何種電平,基本rs觸發器因瓦=0,使q=l,經輸出反相緩沖器后,
45、vo=o; t導通。這時稱555定時器“高觸發”。555定吋器的“低觸發”、“高觸發”和“保持”三種基本狀態和進入狀態的條件(即vth、vtr的“0”、“1”)必須牢牢掌握。表48 555定時器控制功能表輸入輸iiithtrvodisxxll導通<% vccv% vcchh截止<% vcc>% vcch不變不變>% vccxhl導通vco為控制電壓端,在vco端加入電壓,可改變兩比較器ci、c2的參考 電壓。正常工作時,耍在vco和地z間接0. 01 uf (電容量標記為103)電容。 放電管t1的輸出端dis為集電極開路輸出。根據555定時器的控制功能,可以制成各種不
46、同的脈沖信號產生與處理屯路電路,例如,史密特觸發器、單穩態觸發器、自激多諧振蕩器等。圖4-4所示為自激多諧振蕩器電路和波形圖。自激多諧振蕩器用于產生連 續的脈沖信號。電路采用電阻、電容組成rc定時屯路,用于設定脈沖的周期和 寬度。調節rw或電容c,可得到不同的時間常數;還可產生周期和脈寬可變的 方波輸出。脈沖寬度計算公式:tw0.7(r+rw+r2)c 振蕩周期計算公式:t0.7 (ri+rw+2r2)c 電路的工作原理口j對照圖所示工作波形圖來分析。<b)振蕩波形圖44自激多諧振蕩器電路和波形圖當接通電源vg時,如電容c上的初始電壓為0,則u()處于高電平,放電 管t截止,電源通過r|
47、、r2向c充電,經過口時間后,比達到高觸發電平(2vcc/3), 5由1變為0,這時放電管t導通,電容c通過電阻r2放電,到t=2時,u2下 降到低觸發電平(vcc/3), uo又翻回到1狀態,隨即t又截止,電容c又開始充 電。如此周而復始,重復上述的過程。就可以在輸出端(3端)得到矩形波電壓。現在計算此電路的振蕩周期。為了簡單起見,設組件內運放a、a的輸入屯 阻為無窮大,并近似地認為放電管t截止吋,dis端對地的等效電阻為無窮大, 而放電管t導通時,管壓降為零。現以匸3為起始點,可得充電時間t為:t, = (/?, + rjc in 2 = 0.693(7?, + r2)c若以t3為起始點,
48、可得電容c的放電吋間為:t2 = r2c in 2 = 0.693心c由此可得方波的周期為t=t,+t2,頻率為:f =1/(7; +耳)=144/(尺 +/?2)c振蕩頻率主要取決于時間常數r和c,改變r和c參數口j改變振蕩頻率, 幅度則由電源電壓vcc來決定。但是輸出的矩形波是不對稱的,占空比為:q =tjt =7 /(t +t2) = (r + r2)/(r + 2r2) > 50%如果r1»r2,則占空比接近于1。由此可知,若將被測電阻rx或電容cx接到555定時器的合適位置,則只需 測出555定時器所產生的信號頻率,即可根據以上分析計算得到心、g的數值。 4.3數碼管
49、顯示電路數碼管顯示器,是用來顯示測量脈沖的結果的,分動態顯示和靜態顯示。但 靜態顯示功耗很大,木實驗不予采用,而選用數碼管靜態顯示,可大幅降低硬件 成木和功耗發熱,因為某時刻只有一個數碼管處于工作狀態,也就是分時顯示。 我們使用兩片74ls373作為7段碼和位碼驅動鎖存器,8個數碼管是共陰極數碼 管,一片uln2803作為位增強驅動器。單片機的定時器/計數器1來定時,用來 控制每個數碼管顯示的時間(本題屮定時時間常數為2.5ms),則利用人眼的視 覺暫留作用即可實現動數據的動態顯示。電路如圖4-5:-uba0ut1 0ut2 0ut3 0ut4ouh out6 out? cutsgnd com
50、d圖4-5數碼管顯示電路5軟件部分設計5.1 keil c軟件的使用介紹keil c51 集成開發環境是ke訂 software, inc/ke訂 elektronik gmbh開發 的基于80c51內核的微處理器軟件開發平臺,內嵌多種符合當前工業標準的開發 工具,可以完成從工程建立到管理、編譯、鏈接、目標代碼的生成、軟件仿真、 硬件仿真等完整的開發流程尤莫是c編譯工具在產生代碼的準確性和效率方而達 到了較高的水平,而且可以附加靈活的控制選項,在開發大型項目時非常理想。5.2 keil c軟件的基本操作步驟第一步:啟動keil集成開發軟件。第二步:新建文木編輯窗。點擊工具欄上的新建文件快捷按鍵
51、,即可在項 目窗口的右側打開一個新的文本編輯窗,第三步:輸入源程序。在新的文本編輯窗中輸入源程序,可以輸入c語言程 序,也可以輸入匯編語言程序。在本設計輸入c語言程序。第四步:保存源程序。保存文件時必須加上文件的擴展名,如果你使用匯編 語言編程,那么保存時文件的擴展名為“asm”,如果是c語言程序,文件的擴 展名使用“*c ” o第五步:新建立keill程。點擊工程新建工程命令,將出現保存 對話框。在保存工程對話框中輸入你的工程的文件名,ke訂工程默認擴展名為 uv2,工程名稱不用輸入擴展名,一般情況下使工程文件名稱和源文件名稱相 同即可,輸入名稱后保存,將出現選擇設備對話框,在對話框中選擇c
52、pu的型 號。第六步:選擇cpu型號。為工程選擇cpu型號,本新建工程選擇了atmel公司 的at89c52單片機。第七步:加入源程序到工程中。在選擇好cpu型號后,點擊確定按鈕返回 主界面,此時可見到工程管理窗中出現"target 1”,點擊"target 1”前面的”號展開卜一層的usource group 1”文件夾,此時的新工程是空的, "source group 1”文件夾中什么文件都沒有,必須把剛才輸入的源程序加入到 工程當中。右擊工程管理窗中的“source group 1” ,出現下拉菜單,點擊“增 加文件到組,source group 1'
53、;”命令,將出現添加文件對話框。在添加文件對話框中,找到要添加到工程中的源程序文件。注意:在對話框 中的文件類型默認為“c源文件(*c)”,如果你要添加到工程中的是匯編語言 程序,則在文件類型中必須選中“asm源文件(*. a*; *. src) ” ,以*. asm為 擴展名的匯編源程序才會出現在文件列表框中。第八步:工程目標target 1'屬性設置。在工程項目管理窗中的"target 1 文件夾上右擊,出現下拉菜單,點擊“目標'target 1屬性”命令,就進入目標 屬性設置界面。第九步:源程序的編譯與口標文件的獲得。至此,我們己經完成了從源程序輸入、工程建立、工程詳細設置的工作,接 下來
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 煉油廠智能化與大數據應用考核試卷
- 電氣機械系統的智能化旅游應用考核試卷
- 糖批發企業市場競爭力評估與提升考核試卷
- 8-1數模轉換電子課件
- 朋友和我初二語文作文
- 汽車配件售后服務提升考核試卷
- 稀土金屬加工中的設備投資與經濟效益分析案例考核試卷
- 疏散通道的安全標識與規范設置考核試卷
- 碳素材料在化學合成中的催化作用考核試卷
- 手腕康復器材考核試卷
- 壓覆礦產資源評估服務方案
- 三聯圖書館管理系統2013壓縮版常見問題與解答
- 化妝品年度全套內部審核檢查計劃、內審記錄表及內審報告
- 小學英語課程與教學論(小學教育專業)PPT完整全套教學課件
- 五年級下冊綜合實踐活動教學設計-紅蘿卜牙簽高塔的研究 全國通用
- 分布式光伏發電項目投標技術方案(純方案)
- 中藥養護記錄表
- 實驗室安全自查表樣表
- 外賣食物中毒起訴書
- xk5036數控立式銑床總體及橫向進給傳動機構設計論文大學本科畢業論文
- 小學五六年級青春期女生健康心理講座PPT
評論
0/150
提交評論