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

下載本文檔

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

文檔簡介

1、<p><b>  摘要</b></p><p>  STC89C52RC單片機是一款八位單片機,他的易用性和多功能性受到了廣大使用者的好評。本系統(tǒng)以畢業(yè)設(shè)計的題目要求為目的,采用8051單片機為控制核心,利用光敏傳感器出檢測環(huán)境的明暗變化以及路燈的工作狀態(tài),利用對射式紅外線檢測交通的情況,通過在硬件的基礎(chǔ)上進行編程,利用軟件達(dá)到路燈模擬系統(tǒng)的支路控制器有時鐘功能,能設(shè)定、顯示開關(guān)

2、燈時間,并控制整條支路按時開燈和關(guān)燈;支路控制器應(yīng)能根據(jù)環(huán)境明暗變化,自動開燈和關(guān)燈;路控制器應(yīng)能根據(jù)交通情況自動調(diào)節(jié)亮燈狀態(tài);支路控制器能分別獨立控制每只路燈的開燈和關(guān)燈時間;當(dāng)路燈出現(xiàn)故障時(燈不亮),支路控制器應(yīng)發(fā)出聲光報警信號,并顯示有故障路燈的地址編號。整個系統(tǒng)的電路結(jié)構(gòu)簡單,可靠性能高。實驗測試結(jié)果滿足要求。</p><p><b>  采用的技術(shù)主要有:</b></p&g

3、t;<p>  通過編程來路燈的狀態(tài)。</p><p><b>  傳感器的有效應(yīng)用;</b></p><p>  新型顯示芯片的采用.</p><p>  關(guān)鍵詞:STC89C52RC單片機 聲光報警 光電傳感器 紅外傳感器</p><p><b>  Abstract</b>&

4、lt;/p><p>  The system USES the monolithic STC89C52RC as the core of the system simulation street lamp control. Infrared sensor by electric circuit, photosensitive feedback circuit, keyboard input and digital p

5、ipe display circuit, LED lamp circuit structure, voice and LED indicator light buzzer circuit, constant current source circuit. The clock by single-chip microcomputer system structure, using photoconductive resistance in

6、duction external environment light and dark change and detection of LED lights, us</p><p>  Keyword: STC89C52RC Singlechip LED Indicator Fault alarm</p><p><b>  目 錄</b></p>

7、<p><b>  第一章 前 言1</b></p><p>  第二章 方案設(shè)計與論證3</p><p>  一 直流調(diào)速系統(tǒng)3</p><p><b>  二 檢測系統(tǒng)4</b></p><p><b>  三 顯示電路9</b></p>

8、<p><b>  四 系統(tǒng)原理圖9</b></p><p>  第三章 硬件設(shè)計10</p><p>  一 80C51單片機硬件結(jié)構(gòu)10</p><p>  二 最小應(yīng)用系統(tǒng)設(shè)計11</p><p>  三 前向通道設(shè)計12</p><p>  四 后向通道設(shè)計15&l

9、t;/p><p>  五 顯示電路設(shè)計17</p><p>  第四章 軟件設(shè)計20</p><p>  一 主程序設(shè)計20</p><p>  二 顯示子程序設(shè)計24</p><p>  三 避障子程序設(shè)計25</p><p>  四 軟件抗干擾技術(shù)26</p><

10、p>  五 “看門狗”技術(shù)28</p><p>  六 可編程邏輯器件29</p><p>  第五章 測試數(shù)據(jù)、測試結(jié)果分析及結(jié)論30</p><p><b>  致 謝31</b></p><p>  參 考 文 獻32</p><p>  附錄A 程序清單33</p

11、><p>  附錄B 硬件原理圖41</p><p><b>  第一章 緒論</b></p><p>  隨著汽車工業(yè)的迅速發(fā)展,關(guān)于汽車的研究也就越來越受人關(guān)注。全國電子大賽和省內(nèi)電子大賽幾乎每次都有智能小車這方面的題目,全國各高校也都很重視該題目的研究??梢娖溲芯恳饬x很大。本設(shè)計就是在這樣的背景下提出的,指導(dǎo)教師已經(jīng)有充分的準(zhǔn)備。本題目是結(jié)

12、合科研項目而確定的設(shè)計類課題。設(shè)計的智能電動小車應(yīng)該能夠?qū)崟r顯示時間、速度、里程,具有自動尋跡、尋光、避障功能,可程控行駛速度、準(zhǔn)確定位停車。</p><p>  根據(jù)題目的要求,確定如下方案:在現(xiàn)有玩具電動車的基礎(chǔ)上,加裝光電、紅外線、超聲波傳感器及金屬探測器,實現(xiàn)對電動車的速度、位置、運行狀況的實時測量,并將測量數(shù)據(jù)傳送至單片機進行處理,然后由單片機根據(jù)所檢測的各種數(shù)據(jù)實現(xiàn)對電動車的智能控制。</p&g

13、t;<p>  這種方案能實現(xiàn)對電動車的運動狀態(tài)進行實時控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項要求。本設(shè)計采用MCS-51系列中的80C51單片機。以80C51為控制核心,利用超聲波傳感器檢測道路上的障礙,控制電動小汽車的自動避障,快慢速行駛,以及自動停車,并可以自動記錄時間、里程和速度,自動尋跡和尋光功能。80C51是一款八位單片機,它的易用性和多功能性受到了廣大使用者的好評。它是第三代單片機的代表。</

14、p><p>  第三代單片機包括了Intel公司發(fā)展MCS-51系列的新一代產(chǎn)品,如8xC152﹑80C51FA/FB﹑80C51GA/GB﹑8xC451﹑8xC452,還包括了Philips﹑Siemens﹑ADM﹑Fujutsu﹑OKI﹑Harria-Metra﹑ATMEL等公司以80C51為核心推出的大量各具特色﹑與80C51兼容的單片機。新一代的單片機的最主要的技術(shù)特點是向外部接口電路擴展,以實現(xiàn)Microc

15、omputer完善的控制功能為己任,將一些外部接口功能單元如A/D﹑PWM﹑PCA(可編程計數(shù)器陣列)﹑WDT(監(jiān)視定時器)﹑高速I/O口﹑計數(shù)器的捕獲/比較邏輯等。這一代單片機中,在總線方面最重要的進展是為單片機配置了芯片間的串行總線,為單片機應(yīng)用系統(tǒng)設(shè)計提供了更加靈活的方式。Philips公司還為這一代單片機80C51系列8xC592單片機引入了具有較強功能的設(shè)備間網(wǎng)絡(luò)系統(tǒng)總線----CAN(Controller Area Netw

16、ork BUS).</p><p>  新一代單片機為外部提供了相當(dāng)完善的總線結(jié)構(gòu),為系統(tǒng)的擴展與配置打下了良好的基礎(chǔ)。 </p><p>  本設(shè)計就采用了比較先進的80C51為控制核心,80C51采用CHOMS工藝,功耗很低。該設(shè)計具有實際意義,可以應(yīng)用于考古、機器人、醫(yī)療器械等許多方面。尤其是</p><p>  在足球機器人研究方面具有很好的發(fā)展前景;在考古

17、方面也應(yīng)用到了超聲波傳感器進行檢測。所以本設(shè)計與實際相結(jié)合,現(xiàn)實意義很強。</p><p>  第二章 方案設(shè)計與論證</p><p>  根據(jù)題目的要求,確定如下方案:利用光電傳感器和紅外傳感器進行外部路燈狀態(tài)和交通狀態(tài)的信息收集,然后將收集的數(shù)據(jù)傳送至單片機進行處理,然后由單片機根據(jù)所檢測的各種數(shù)據(jù)實現(xiàn)對路燈的智能控制。</p><p>  這種方案能實現(xiàn)對路燈

18、的工作進行實時控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項要求。</p><p>  一 外部環(huán)境明暗的檢測單元</p><p>  方案一:采用光敏二極管感受外屆光照變化,無光照時,有很小的飽和反向漏電流,二極管截止;光照時反向電流增大,形成光電流。</p><p>  方案二:采用光敏電阻對光源的感應(yīng)改變自身電阻,由電壓比較器提取之間電壓,考慮到電阻變化的靈

19、敏度,采用兩個光敏電阻串聯(lián)的方式,通過改變與光敏電阻串聯(lián)的電位器的值可以調(diào)節(jié)光敏電阻的感光范圍。</p><p>  考慮到現(xiàn)實中聲光控制技術(shù)的運用已經(jīng)證明了光敏電阻完全可以達(dá)到要求,且價格便宜,電路簡單。綜合考慮以上方案采用光敏電阻。</p><p><b>  二 路況的檢測單元</b></p><p>  方案一、采用攝像頭或探測頭收集路

20、面上信息。用這種方法,對路面信息處理準(zhǔn)確,但是成本過高,數(shù)據(jù)處理量大,對硬、軟件的要求都非常高,短時間內(nèi)難以實現(xiàn)。</p><p>  方案二:使用反射式紅外二極管和接收管組成發(fā)射-接收器。由于紅外光波長比可見光長,因此受可見光的影響比較小,同時,紅外對管還具有以下優(yōu)點:質(zhì)量輕,靈敏度高,線性好,接口電路比較簡單,安裝方便,足夠滿足對本系統(tǒng)中物體檢測的要求?;谝陨显?,選用了成本較低的方案二。</p>

21、;<p><b>  三 處理器的選擇 </b></p><p>  單片機STC89C52RC作為模擬路燈控制系統(tǒng)的核心。STC89C52RC 具有許多優(yōu)點:RAM,ROM空間大、指令周期短、運算速度快、低功耗、低電壓、可編程音頻處理,易于編程和調(diào)試。本題要求支路控制器有聲光報警功能,由此看來單片機STC89C52RC更具有優(yōu)越性。</p><p>&

22、lt;b>  第三章 硬件設(shè)計</b></p><p>  一個單片機應(yīng)用系統(tǒng)的硬件電路設(shè)計包含有兩部分內(nèi)容:一是系統(tǒng)擴展,即單片機內(nèi)部的功能單元,如ROM﹑RAM﹑I/O口﹑定時/記數(shù)器﹑中斷系統(tǒng)等能量不能滿足應(yīng)用系統(tǒng)的要求時,必須在片外進行擴展,選擇適當(dāng)?shù)男酒?,設(shè)計相應(yīng)的電路。二是系統(tǒng)配置,既按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤顯示器﹑打印機﹑A/D﹑D/A轉(zhuǎn)換器等,要設(shè)計合適的接口電路。&

23、lt;/p><p>  一 80C51單片機硬件結(jié)構(gòu)</p><p>  80C51單片機是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個尺寸有限的集成電路芯片上[2]。如果按功能劃分,它由如下功能部件組成,即微處理器、數(shù)據(jù)存儲器、程序存儲器、并行I/O口、串行口、定時器/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對

24、各種功能部件的控制是采用特殊功能寄存器的集中控制方式。</p><p><b>  1 微處理器</b></p><p>  該單片機中有一個8位的微處理器,與通用的微處理器基本相同,同樣包括了運算器和控制器兩大部分,只是增加了面向控制的處理功能,不僅可處理數(shù)據(jù),還可以進行位變量的處理。</p><p><b>  2 數(shù)據(jù)存儲器&l

25、t;/b></p><p>  片內(nèi)為128個字節(jié),片外最多可外擴至64k字節(jié),用來存儲程序在運行期間的工作變量、運算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等,所以稱為數(shù)據(jù)存儲器。</p><p><b>  3 程序存儲器</b></p><p>  由于受集成度限制,片內(nèi)只讀存儲器一般容量較小,如果片內(nèi)的只讀存儲器的容量不夠,則需用擴展片

26、外的只讀存儲器,片外最多可外擴至64k字節(jié)。</p><p><b>  4 中斷系統(tǒng)</b></p><p>  具有5個中斷源,2級中斷優(yōu)先權(quán)。</p><p><b>  5 定時器/計數(shù)器</b></p><p>  片內(nèi)有2個16位的定時器/計數(shù)器, 具有四種工作方式。</p>

27、<p><b>  6 串行口</b></p><p>  1個全雙工的串行口,具有四種工作方式??捎脕磉M行串行通訊,擴展并行I/O口,甚至與多個單片機相連構(gòu)成多機系統(tǒng),從而使單片機的功能更強且應(yīng)用更廣。</p><p>  7 P1口、P2口、P3口、P4口</p><p>  為4個并行8位I/O口。</p>&

28、lt;p><b>  8 特殊功能寄存器</b></p><p>  共有21個,用于對片內(nèi)的個功能的部件進行管理、控制、監(jiān)視。實際上是一些控制寄存器和狀態(tài)寄存器,是一個具有特殊功能的RAM區(qū)。</p><p>  由上可見,80C51單片機的硬件結(jié)構(gòu)具有功能部件種類全,功能強等特點。特別值得一提的是該單片機CPU中的位處理器,它實際上是一個完整的1位微計算機,

29、這個一位微計算機有自己的CPU、位寄存器、I/O口和指令集。1位機在開關(guān)決策、邏輯電路仿真、過程控制方面非常有效;而8位機在數(shù)據(jù)采集,運算處理方面有明顯的長處。MCS-51單片機中8位機和1位機的硬件資源復(fù)合在一起,二者相輔相承,它是單片機技術(shù)上的一個突破,這也是MCS-51單片機在設(shè)計的精美之處。</p><p>  二 最小應(yīng)用系統(tǒng)設(shè)計</p><p>  80C51是片內(nèi)有ROM/E

30、PROM的單片機,因此,這種芯片構(gòu)成的最小系統(tǒng)簡單﹑可靠。用80C51單片機構(gòu)成最小應(yīng)用系統(tǒng)時,只要將單片機接上時鐘電路和復(fù)位電路即可,如圖3.1 80C51單片機最小系統(tǒng)所示。由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。</p><p><b>  其應(yīng)用特點:</b></p><p>  有可供用戶使用的大量I/O口線。</p><

31、;p>  內(nèi)部存儲器容量有限。</p><p>  應(yīng)用系統(tǒng)開發(fā)具有特殊性。</p><p>  圖3.1 80C51單片機最小系統(tǒng)</p><p><b>  1、時鐘電路</b></p><p>  80C51雖然有內(nèi)部振蕩電路,但要形成時鐘,必須外部附加電路。80C51單片機的時鐘產(chǎn)生方法有兩種。內(nèi)部時鐘方式

32、和外部時鐘方式。</p><p>  本設(shè)計采用內(nèi)部時鐘方式,利用芯片內(nèi)部的振蕩電路,在XTAL1、XTAL2引腳上外接定時元件,內(nèi)部的振蕩電路便產(chǎn)生自激振蕩。本設(shè)計采用最常用的內(nèi)部時鐘方式,即用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在1.2MHZ到12MHZ之間選擇。電容值無嚴(yán)格要求,但電容取值對振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度</p><p>  有少許影響,CX1、

33、CX2可在20pF到100pF之間取值,但在60pF到70pF時振蕩器有較高的頻率穩(wěn)定性。所以本設(shè)計中,振蕩晶體選擇6MHZ,電容選擇65pF。</p><p>  在設(shè)計印刷電路板時,晶體和電容應(yīng)盡可能靠近單片機芯片安裝,以減少寄生電容,更好的保證振蕩器穩(wěn)定和可靠地工作。為了提高溫度穩(wěn)定性,應(yīng)采用NPO電容。</p><p><b>  2、復(fù)位電路</b><

34、/p><p>  80C51的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。復(fù)位引腳RST通過一個斯密特觸發(fā)器用來抑制噪聲,在每個機器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。</p><p>  復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。</p><p>  最簡單的上電自動復(fù)位電路中上電自動復(fù)位是通過外部復(fù)位電路的電容充

35、電來實現(xiàn)的。只要Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位。時鐘頻率用6MHZ時C取22uF,R取1KΩ。</p><p>  除了上電復(fù)位外,有時還需要按鍵手動復(fù)位。本設(shè)計就是用的按鍵手動復(fù)位。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過RST端經(jīng)電阻與電源Vcc接通而實現(xiàn)的。按鍵手動復(fù)位電路見圖3.2。時鐘頻率選用6MHZ時,C取22uF,Rs取200Ω,RK取1KΩ。</p>

36、;<p>  圖3.2 80C51復(fù)位電路</p><p>  三 鍵盤輸入及數(shù)碼管顯示電路</p><p>  四 LED燈電路構(gòu)成</p><p>  LED的內(nèi)在特征決定了它是最理想的光源去代替?zhèn)鹘y(tǒng)的光源,它有著廣泛的用途。體積小 ,LED基本上是一塊很小的晶片被封裝在環(huán)氧樹脂里面,所以它非常的小,非常的輕。耗電量低,LED耗電非常低,一般來說L

37、ED的工作電壓是2-3.6V。工作電流是0.02-0.03A。這就是說:它消耗的電不超過0.1W。燈體內(nèi)也沒有松動的部分,這些特點使得LED可以說是不易損壞的。</p><p>  五 蜂鳴器發(fā)生及LED指示燈電路</p><p>  蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計算機、打印機、復(fù)印機、報警器、電子玩具、汽車電子設(shè)備、電話機、定時器等電子產(chǎn)品中作發(fā)聲器件

38、。 ;蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。而我們用的是壓電式蜂鳴器,圖如上所示,當(dāng)我們是pnp三極管工作在飽和狀態(tài)時,三極管輸出低電平,反之三級管輸出高電平,使得蜂鳴器發(fā)出聲音。</p><p><b>  六 故障檢測電路</b></p><p><b>  七 直流穩(wěn)壓電路</b></p><p>  三

39、端集成穩(wěn)壓電路,這是一種集成電路的穩(wěn)壓電路,其功能是穩(wěn)定直流輸出電壓。這種集成電路只有三根引腳,使用很方便,在許多場合都有著廣泛應(yīng)用。穩(wěn)壓電路的作用是使得輸出的直流電壓在電網(wǎng)電壓或負(fù)載電流發(fā)生變化時保持穩(wěn)定。它由電源變壓器、整流電路、濾波電路、穩(wěn)壓電路等4部分組成的。變壓器的作用是將交流市電變換成所需要的交流電壓;整流電路的作用是將交流電變換成單向脈動直流電;濾波電路的作用是將脈動電壓中的脈動成分去掉,輸出比較平滑的直流電壓;穩(wěn)壓電路的

40、作用是使得輸出的直流電壓在電網(wǎng)電壓或負(fù)載電流發(fā)生變化時保持穩(wěn)定。</p><p><b>  第四章 軟件設(shè)計</b></p><p><b>  系統(tǒng)軟件設(shè)計說明:</b></p><p>  在進行微機控制系統(tǒng)設(shè)計時,除了系統(tǒng)硬件設(shè)計外,大量的工作就是如何根據(jù)每個生產(chǎn)對象的實際需要設(shè)計應(yīng)用程序。因此,軟件設(shè)計在微機控制

41、系統(tǒng)設(shè)計中占重要地位。對于本系統(tǒng),軟件更為重要。</p><p>  在單片機控制系統(tǒng)中,大體上可分為數(shù)據(jù)處理、過程控制兩個基本類型。數(shù)據(jù)處理包括:數(shù)據(jù)的采集、數(shù)字濾波、標(biāo)度變換等。過程控制程序主要是使單片機按一定的方法進行計算,然后再輸出,以便控制生產(chǎn)。</p><p>  為了完成上述任務(wù),在進行軟件設(shè)計時,通常把整個過程分成若干個部分,每一部分叫做一個模塊。所謂“模塊”,實質(zhì)上就是所

42、完成一定功能,相對獨立的程序段,這種程序設(shè)計方法叫模塊程序設(shè)計法。</p><p>  模塊程序設(shè)計法的主要優(yōu)點是:</p><p>  單個模塊比起一個完整的程序易編寫及調(diào)試;</p><p>  模塊可以共存,一個模塊可以被多個任務(wù)在不同條件下調(diào)用;</p><p>  模塊程序允許設(shè)計者分割任務(wù)和利用已有程序,為設(shè)計者提供方便。<

43、/p><p>  本系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序﹑定時子程序、避障子程序﹑中斷子程序顯示子程序﹑調(diào)速子程序﹑算法子程序構(gòu)成。</p><p>  一 主程序設(shè)計

44、 </p><p><b>  主程序清單如下:</b></p><p>  軟件流程 如圖4.1流程圖所示:</p><p><b>  圖4.1 流程圖</b></p><p><b>  二 顯示子程序設(shè)計</b&

45、gt;</p><p><b>  程序清單如下:</b></p><p><b>  三 避障子程序設(shè)計</b></p><p><b>  程序清單如下:</b></p><p>  四 “看門狗”技術(shù) </p><p>  PC受到干擾而失控,引起

46、程序亂飛,也可能使程序陷入“死循環(huán)” [6]。指令技術(shù)、軟件陷阱技術(shù)不能使失控的程序擺脫“死循環(huán)”的困境,這時系統(tǒng)完全癱瘓。如果操作者在場,就可以按下人工復(fù)位安鈕,強制系統(tǒng)復(fù)位。但操作者不能一直監(jiān)視著系統(tǒng),也往往是在引起不良后果之后才進行人工復(fù)位。為使程序脫離“死循環(huán)”,通常采用“看門狗技術(shù)”。“看門狗”技術(shù)就是不斷監(jiān)視程序循環(huán)運行時間,若發(fā)現(xiàn)時間超過已知的循環(huán)設(shè)定時間,則認(rèn)為系統(tǒng)陷入了“死循環(huán)”,然后強迫程序返回到0000H入口,在0

47、000H處安排一段出錯處理程序,使系統(tǒng)運行納入正規(guī)。</p><p>  “看門狗”技術(shù)可由硬件實現(xiàn),可由軟件實現(xiàn),也可由兩者結(jié)合實現(xiàn)。本系統(tǒng)采用硬件“看門狗”電路。</p><p>  實現(xiàn)硬件“看門狗”電路方案較多,目前采用較多的方案有以下幾種:</p><p>  采用微處理器監(jiān)控器;</p><p>  采用單穩(wěn)態(tài)電路來實現(xiàn)“看門狗”

48、,單穩(wěn)定電路可采用74LS123;</p><p>  采用內(nèi)帶震蕩器的記數(shù)芯片。</p><p>  本設(shè)計采用第三種方案實現(xiàn)“看門狗”電路,下面就對該方案作以介紹。</p><p><b>  (1)基本原理</b></p><p>  CD4060 是帶震蕩器的14位計數(shù)器,由該芯片構(gòu)成的看門狗電路如圖4.2看門狗

49、電路圖所示。</p><p>  4060記數(shù)頻率由RT和CT決定。設(shè)實際的程序所需工作周期為T,分頻器記滿時間為T’,當(dāng)T’>T 且系統(tǒng)正常工作時,程序每隔T對4060進行掃描一次,分頻且永無記滿輸出信號。如系統(tǒng)工作不正常(如程序跑飛、死循環(huán)等),程序?qū)?060發(fā)不出掃描信號,分頻器記滿輸出一脈沖號使CPU復(fù)位。</p><p><b>  (2)參數(shù)選擇</b&g

50、t;</p><p>  4060的振蕩頻率f由 RT 、CT決定。Rs用于改善振蕩器的穩(wěn)定性,Rs 要大于RT。一般取Rs=10RT,且RT>1kΩ,CT≥100pF。如果Rs=450Ω,RT=45Ω,CT=1uF,則f=10HZ。4060的振蕩頻率和Qi(i=6,7,8,9,10,12,13,14)的選擇要根據(jù)情況確定。</p><p><b>  (3)幾個原則<

51、;/b></p><p>  看門狗電路必須由硬件邏輯組成,不宜由可編程計數(shù)器充當(dāng),因為CPU失控后,可能會修改可編程器件參數(shù),使看門狗失效。</p><p>  4060的RST線上阻容組成的微分電路很重要,因為掃描輸入信號是CPU產(chǎn)生的正脈沖,若此信號變“1”后,由于干擾,程序亂飛,微分電路只能讓上跳沿通過,不會封死4060,看門狗仍能計數(shù)起作用。若沒有微分電路,掃描輸入信號上的

52、“1”狀態(tài)封死4060,使之不能記數(shù),看門狗不起作用</p><p>  圖4.2看門狗電路圖</p><p>  CPU必須在正確完成所有工作后才能發(fā)掃描輸入信號,且程序中發(fā)掃描信號的地方不能太多。否則,正好在哪里有死循環(huán),看門狗就不產(chǎn)生記滿輸出信號,不能重新啟動CPU。</p><p>  4060的記滿輸出信號不但要接到MCS-51的RST腳,而且還應(yīng)接到其它

53、芯片的RST腳,因為程序亂飛后,其它具有RST腳的芯片也混亂了,必須全部復(fù)位。</p><p><b>  系統(tǒng)測試</b></p><p>  4.1 總功率測量(室溫條件下)</p><p>  結(jié)果分析: 由于實驗室提供的能夠模仿音頻信號的且能方便測量的信號只有正弦信號,所以我們用一款比較差點的信號發(fā)生器產(chǎn)生信號,然后進行測量,發(fā)現(xiàn)誤差

54、不達(dá),在+-5%以內(nèi)。我們以音頻信號進行測量,由于其實際值無法測量,所以我們只能根據(jù)時域和頻域以及估計其誤差,都在5%以內(nèi)。</p><p>  4.2 單個頻率分量測量(室溫條件下)</p><p>  結(jié)果分析:我們首先以理論上單一頻率的正弦波為輸入信號,在理想狀況下,其頻譜只在正弦波頻率上有值,而由于有干擾,所以在其他頻點也有很小的功率。</p><p> 

55、 音頻信號由于有多個頻點,所以沒有一定的規(guī)律性。由于音頻信號波動較大,沒有一定的規(guī)律,且實驗室沒有專門配置測量儀器,所以我們只好以正弦波和三角波作為信號進行定量分析測量,以及對音頻信號進行定性的分析和測量。我們發(fā)現(xiàn)其數(shù)字和用電腦模擬的結(jié)果符合得很近。</p><p><b>  5 結(jié)論</b></p><p>  本設(shè)計以單片機STC89C52RC系統(tǒng)為核心部件,

56、采用光電檢測技術(shù),通過軟件分時復(fù)用控制算法對系統(tǒng)進行優(yōu)化,分模塊實現(xiàn)賽題要求。</p><p>  在系統(tǒng)設(shè)計過程中,充分利用單片機的強大功能,力求以方便靈活的軟件編程簡化復(fù)雜難調(diào)的硬件電路,滿足系統(tǒng)設(shè)計要求。堅持“人性化”理念,在具體設(shè)計中,使用鍵盤輸入、七段數(shù)碼管顯示形成較為友好的人機交互界面。整機操作簡單,使用方便,并很好的完成競賽的全部要求。</p><p><b>  

57、本設(shè)計主要特色:</b></p><p>  采用全集成混合信號在線系統(tǒng)單片機——STC89C52RC主控系統(tǒng),提高系統(tǒng)運行速度、簡化硬件設(shè)計;</p><p>  優(yōu)化的軟件算法,智能化的自動控制;</p><p>  傳感器檢測系統(tǒng),采用光敏電阻與光耦傳感器;</p><p>  信號通過光電耦合器傳遞,實現(xiàn)控制電路與供電驅(qū)動

58、電路隔離;</p><p>  聲光告警指示電路;  </p><p>  在本次設(shè)計過程中,我們?nèi)送献?,排除萬難,終于按時完成了賽題設(shè)計任務(wù)。在這短短的四天三夜比賽過程中我們不僅提高了自己解決問題的能力,而且深深體會到團隊協(xié)作精神的重要性。</p><p><b>  參考文獻:</b></p><p>  《信

59、號與系統(tǒng)》,ALAN V.OPPENHEIM著,西安:西安交通大學(xué)出版社,1997年;</p><p>  《數(shù)字圖像處理學(xué)》,元秋奇著,北京:電子工業(yè)出版社,2000年;</p><p>  《模擬電子線路基礎(chǔ)》,吳運昌著,廣州:華南理工大學(xué)出版社,2004年;</p><p>  《數(shù)字電子技術(shù)基礎(chǔ)》,閻石著,北京:高等教育出版社,1997年;</p>

60、;<p>  《數(shù)據(jù)結(jié)構(gòu)與算法》,張曉麗等著,北京:機械工業(yè)出版社,2002年;</p><p>  《ARM&Linux嵌入式系統(tǒng)教程》,馬忠梅等著,北京:北京航空航天大學(xué)出版社,2004年;</p><p>  《單片機原理及應(yīng)用》,李建忠著,西安:西安電子科技大學(xué),2002年;</p><p><b>  附錄:</b&g

61、t;</p><p>  附1:元器件明細(xì)表:</p><p><b>  D8255AC</b></p><p><b>  STC89C52</b></p><p><b>  DAC0832</b></p><p><b>  ADC08

62、09</b></p><p><b>  74LS245</b></p><p><b>  液晶320*240</b></p><p><b>  附2:儀器設(shè)備清單</b></p><p><b>  數(shù)字示波器</b></p>

63、<p>  數(shù)字萬用表 </p><p><b>  信號發(fā)生器</b></p><p><b>  穩(wěn)壓電源</b></p><p><b>  附3:電路圖圖紙</b></p><p><b>  附4:程序清單</b&

64、gt;</p><p>  /*******************************************************************************此程序是路燈模擬系統(tǒng)</p><p>  ******************************************************************************/&l

65、t;/p><p>  #include<reg52.h></p><p>  #include<absacc.h>//STC 應(yīng)包含的頭文件</p><p>  #include<math.h></p><p>  /************************************</p>

66、<p>  ******以下是對p1口的位尋址定義******</p><p>  *************************************/</p><p>  sbit DIR=P2^0;</p><p>  sbit J1=P1^0;</p><p>  sbit J2=P1^1;</p>&

67、lt;p>  sbit J3=P1^2;</p><p>  sbit J4=P1^3;</p><p>  sbit J5=P1^4;</p><p>  sbit J6=P1^5;</p><p>  sbit J7=P1^6;</p><p>  sbit J8=P1^7;</p><p

68、>  /*******************************</p><p>  *以下是對8255的端口地址的宏定義*</p><p>  ********************************/</p><p>  #define a8255 XBYTE[0X0FF7C]</p><p>  #define

69、b8255 XBYTE[0X0FF7D]</p><p>  #define c8255 XBYTE[0X0FF7E]</p><p>  #define con8255 XBYTE[0X0FF7F]</p><p>  #define uchar unsigned char </p><p>  Unsignedcharcode

70、 table[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e};//此為自己做的板子上的數(shù)碼管顯示編碼</p><p>  /******************************</p><p>  ***以下是對時分秒變量的聲明****</p>&l

71、t;p>  *******************************/</p><p>  int scount=0;//這是中斷次數(shù)的計數(shù)寄存器</p><p>  unsigned int second=0;</p><p>  unsigned int minute=0;</p><p>  unsigned int hou

72、r=0;</p><p>  unsigned int hour_zong=7;</p><p>  unsigned int hour_zong_c=10;</p><p>  unsigned int minute_zong=0;</p><p>  unsigned int minute_zong_c=0;</p><

73、;p>  unsigned int hour_zhi_1=13;</p><p>  unsigned int hour_zhi_1_c=16;</p><p>  unsigned int minute_zhi_1=0;</p><p>  unsigned int minute_zhi_1_c=0;</p><p>  unsign

74、ed int hour_zhi_2=20;</p><p>  unsigned int hour_zhi_2_c=22;</p><p>  unsigned int minute_zhi_2=0;</p><p>  unsigned char minute_zhi_2_c=0;</p><p>  unsigned int zong;&

75、lt;/p><p>  unsigned int zong_k;</p><p>  unsigned int zong_c;</p><p>  unsigned int zhi_2;</p><p>  unsigned int zhi_2_k;</p><p>  unsigned char zhi_2_c;<

76、/p><p>  unsigned int zhi_1;</p><p>  unsigned int zhi_1_k;</p><p>  unsigned int zhi_1_c;</p><p>  /********************************</p><p>  ***以下是按鍵復(fù)用的變量的聲

77、明****</p><p>  *********************************/</p><p>  unsigned char x=0;</p><p>  unsigned char y=0;</p><p>  unsigned char z=0;</p><p>  /***********

78、*****************************</p><p>  ***按鍵掃描部分--判斷哪一個按鍵被按下****</p><p>  *****************************************/</p><p>  unsigned char temp,temp1,temp2;</p><p>  u

79、nsigned char key=0;</p><p>  unsigned char key_down=0; </p><p>  unsigned char key2=0;</p><p>  unsigned char a,b,k;</p><p>  /******************************</p>

80、<p>  ***以下是一段大約6ms的延時****</p><p>  *******************************/</p><p>  void delay()</p><p>  {uchar i,j,k;</p><p>  for(i=1;i>0;i--)</p><p>

81、;  for(j=2;j>0;j--)</p><p>  for(k=200;k>0;k--);</p><p><b>  }</b></p><p>  /******************************</p><p>  ***以下是一段大約防抖的延時****</p>&l

82、t;p>  *******************************/</p><p>  void delay_1()</p><p><b>  {</b></p><p>  uchar d,e,f;</p><p>  for(d=10;d>0;d--)</p><p>

83、  for(e=10;e>0;e--)</p><p>  for(f=200;f>0;f--);</p><p><b>  }</b></p><p>  /******************************</p><p>  ***以下是聲光報警部分的延時程序</p><

84、p>  *******************************/</p><p>  void delay_2()</p><p><b>  {</b></p><p>  uchar ii,jj,kk;</p><p>  for(ii=2;ii>0;ii--)</p><p&

85、gt;  for(jj=50;jj>0;jj--)</p><p>  for(kk=100;kk>0;kk--);</p><p><b>  }</b></p><p>  /******************************</p><p>  ******以下是8255的初始化******&

86、lt;/p><p>  *******************************/</p><p>  void init8255()</p><p><b>  { </b></p><p>  con8255=0x80;</p><p>  c8255=0xff;//colse light

87、 </p><p><b>  }</b></p><p>  /******************************</p><p>  ******以下是定時器0的初始化***</p><p>  *******************************/</p><p>  

88、void timer0_init()</p><p><b>  {</b></p><p>  TMOD=0X01;</p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p><b>  EA=1

89、;</b></p><p><b>  TR0=1;</b></p><p><b>  ET0=1;</b></p><p><b>  }</b></p><p>  /*******************************</p>&l

90、t;p>  ************關(guān)閉定時器0*********</p><p>  *******************************/</p><p>  void close_timer()</p><p><b>  {</b></p><p><b>  EA=0;</b&

91、gt;</p><p><b>  ET0=0;</b></p><p><b>  TR0=0;</b></p><p><b>  }</b></p><p>  /**************************************************<

92、/p><p>  *****以下是定時器0的定時部分也是中斷服務(wù)子程序*****</p><p>  **************************************************/</p><p>  void timer0(void) interrupt 1 using 1</p><p><b>  {<

93、;/b></p><p>  TH0=(65536-50000)/256; </p><p>  TL0=(65536-50000)%256;</p><p><b>  scount++;</b></p><p>  if(scount==20)</p><p><b>  {

94、 </b></p><p><b>  scount=0;</b></p><p><b>  second++;</b></p><p>  if(second==60) </p><p><b>  {</b></p><p><b

95、>  second=0;</b></p><p><b>  minute++;</b></p><p><b>  }</b></p><p>  if(minute==60) </p><p><b>  {</b></p><p>

96、;<b>  minute=0;</b></p><p><b>  hour++;</b></p><p><b>  }</b></p><p>  if(hour==24)</p><p><b>  {</b></p><p&g

97、t;<b>  hour=0;</b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /**********************************

98、*****************</p><p>  *****以下是定時器0的數(shù)碼管顯示部分,人機對話窗口****</p><p>  ****************************************************/</p><p>  void display()</p><p><b>  {<

99、;/b></p><p>  b8255=0x40;</p><p>  a8255=table[second/10];</p><p><b>  delay();</b></p><p>  b8255=0x80;</p><p>  a8255=table[second%10];<

100、;/p><p><b>  delay();</b></p><p>  b8255=0x10;</p><p>  a8255=table[minute/10];</p><p><b>  delay();</b></p><p>  b8255=0x20;</p>

101、;<p>  a8255=table[minute%10];</p><p><b>  delay();</b></p><p>  b8255=0x04;</p><p>  a8255=table[hour/10];</p><p><b>  delay();</b></

102、p><p>  b8255=0x08;</p><p>  a8255=table[hour%10];</p><p><b>  delay();</b></p><p><b>  }</b></p><p>  void display_zong()</p>

103、<p><b>  {</b></p><p>  b8255=0x40;</p><p>  a8255=table[0];</p><p><b>  delay();</b></p><p>  b8255=0x80;</p><p>  a8255=tabl

104、e[0];</p><p><b>  delay();</b></p><p>  b8255=0x10;</p><p>  a8255=table[minute_zong/10];</p><p><b>  delay();</b></p><p>  b8255=0

105、x20;</p><p>  a8255=table[minute_zong%10];</p><p><b>  delay();</b></p><p>  b8255=0x04;</p><p>  a8255=table[hour_zong/10];</p><p><b>  

106、delay();</b></p><p>  b8255=0x08;</p><p>  a8255=table[hour_zong%10];</p><p><b>  delay();</b></p><p><b>  }</b></p><p>  voi

107、d display_zong_c()</p><p><b>  {</b></p><p>  b8255=0x40;</p><p>  a8255=table[0];</p><p><b>  delay();</b></p><p>  b8255=0x80;<

108、;/p><p>  a8255=table[0];</p><p><b>  delay();</b></p><p>  b8255=0x10;</p><p>  a8255=table[minute_zong_c/10];</p><p><b>  delay();</b&g

109、t;</p><p>  b8255=0x20;</p><p>  a8255=table[minute_zong_c%10];</p><p><b>  delay();</b></p><p>  b8255=0x04;</p><p>  a8255=table[hour_zong_c/

110、10];</p><p><b>  delay();</b></p><p>  b8255=0x08;</p><p>  a8255=table[hour_zong_c%10];</p><p><b>  delay();</b></p><p><b> 

111、 }</b></p><p>  void display_zhi_1()</p><p><b>  {</b></p><p>  b8255=0x40;</p><p>  a8255=table[0];</p><p><b>  delay();</b>

112、</p><p>  b8255=0x80;</p><p>  a8255=table[0];</p><p><b>  delay();</b></p><p>  b8255=0x10;</p><p>  a8255=table[minute_zhi_1/10];</p>

113、<p><b>  delay();</b></p><p>  b8255=0x20;</p><p>  a8255=table[minute_zhi_1%10];</p><p><b>  delay();</b></p><p>  b8255=0x04;</p>

114、<p>  a8255=table[hour_zhi_1/10];</p><p><b>  delay();</b></p><p>  b8255=0x08;</p><p>  a8255=table[hour_zhi_1%10];</p><p><b>  delay();</b&g

115、t;</p><p><b>  }</b></p><p>  void display_zhi_1_c()</p><p><b>  {</b></p><p>  b8255=0x40;</p><p>  a8255=table[0];</p><

116、;p><b>  delay();</b></p><p>  b8255=0x80;</p><p>  a8255=table[0];</p><p><b>  delay();</b></p><p>  b8255=0x10;</p><p>  a8255=

117、table[minute_zhi_1_c/10];</p><p><b>  delay();</b></p><p>  b8255=0x20;</p><p>  a8255=table[minute_zhi_1_c%10];</p><p><b>  delay();</b></p&

118、gt;<p>  b8255=0x04;</p><p>  a8255=table[hour_zhi_1_c/10];</p><p><b>  delay();</b></p><p>  b8255=0x08;</p><p>  a8255=table[hour_zhi_1_c%10];</

119、p><p><b>  delay();</b></p><p><b>  }</b></p><p>  void display_zhi_2()</p><p><b>  {</b></p><p>  b8255=0x40;</p>

120、<p>  a8255=table[0];</p><p><b>  delay();</b></p><p>  b8255=0x80;</p><p>  a8255=table[0];</p><p><b>  delay();</b></p><p> 

121、 b8255=0x10;</p><p>  a8255=table[minute_zhi_2/10];</p><p><b>  delay();</b></p><p>  b8255=0x20;</p><p>  a8255=table[minute_zhi_2%10];</p><p>

122、;<b>  delay();</b></p><p>  b8255=0x04;</p><p>  a8255=table[hour_zhi_2/10];</p><p><b>  delay();</b></p><p>  b8255=0x08;</p><p> 

123、 a8255=table[hour_zhi_2%10];</p><p><b>  delay();</b></p><p><b>  }</b></p><p>  void display_zhi_2_c()</p><p><b>  {</b></p>

124、<p>  b8255=0x40;</p><p>  a8255=table[0];</p><p><b>  delay();</b></p><p>  b8255=0x80;</p><p>  a8255=table[0];</p><p><b>  delay

125、();</b></p><p>  b8255=0x10;</p><p>  a8255=table[minute_zhi_2_c/10];</p><p><b>  delay();</b></p><p>  b8255=0x20;</p><p>  a8255=table[

126、minute_zhi_2_c%10];</p><p><b>  delay();</b></p><p>  b8255=0x04;</p><p>  a8255=table[hour_zhi_2_c/10];</p><p><b>  delay();</b></p><

127、;p>  b8255=0x08;</p><p>  a8255=table[hour_zhi_2_c%10];</p><p><b>  delay();</b></p><p><b>  }</b></p><p>  void display_1()</p><p

128、><b>  {</b></p><p>  b8255=0x01;</p><p>  a8255=table[1];</p><p><b>  delay();</b></p><p><b>  }</b></p><p>  void d

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論