欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

過溫報警器的設計—課程設計論文.doc

上傳人:good****022 文檔編號:116783126 上傳時間:2022-07-06 格式:DOC 頁數(shù):42 大?。?.62MB
收藏 版權申訴 舉報 下載
過溫報警器的設計—課程設計論文.doc_第1頁
第1頁 / 共42頁
過溫報警器的設計—課程設計論文.doc_第2頁
第2頁 / 共42頁
過溫報警器的設計—課程設計論文.doc_第3頁
第3頁 / 共42頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《過溫報警器的設計—課程設計論文.doc》由會員分享,可在線閱讀,更多相關《過溫報警器的設計—課程設計論文.doc(42頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、過溫報警器課程設計說明書 電子技術課程課程設計 題 目: 過 溫 報 警 器 院 別: 機電學院 專 業(yè): 機電工程 班 級: 姓 名: 學 號: 指導教師: 二一三年十二月二十一日摘 要隨著科技的不斷進步,在工業(yè)生產(chǎn)中溫度是常用的被控參數(shù),而采用單片機來對這些被控參數(shù)進行控制已成為當今的主流。本設計介紹了數(shù)字溫度測量及自動控制系統(tǒng)的設計。本設計采用單片機來實現(xiàn)對溫度的控制。它的主要組成部分有:AT89C52單片機、溫度傳感器、顯示電路、溫度控制電路。它可以實時的顯示和設定溫度,實現(xiàn)對溫度的自動控制。通過測試表明,本設計對溫度的控制有方便、簡單的特點,從而大幅提高了被控溫度的技術指標。本次課程

2、設計采用單片機以及鎖存器、數(shù)碼管、DS18B20溫度傳感器、蜂鳴器等組成簡單的過溫報警器,該過溫報警器測溫準確,使用方便,顯示清晰。關鍵詞過溫報警器;鎖存器;STC89C52RC;單片機;DS18B20溫度傳感器Over temperature alarmAbstractWith the constant progress of science and technology, temperature is a accused parameter commonly used in industrial production. At present, USESING the single chip

3、 microcomputer to control these accused parameters has become the mainstream. This design introduces the measurement of digital temperature and the design of automatic control system. This design USES the single chip microcomputer to control the temperature, whose main components are: AT89C52 single

4、 chip computer, temperature sensor, temperature control circuit, display circuit. It can display in real time, set temperature and control the temperature automatically. The test shows that it is not only convenient but also simple in controlling the temperature, which will raise the technique index

5、 of accused temperature.Key words:Over temperature alarm; Latch; STC89C52RC; MCU; DS18B20 temperature sensor目 錄一、前言:11、設計目的:12、功能要求:1二、設計原理及其方案:11、方案:12、原理:2三、設計過程31、元件采購(購買地點:賽格爾電子城):32.電路設計及其制圖33、焊接44、調(diào)試54.1硬件調(diào)試54.2 KeiL調(diào)試64.3開發(fā)板調(diào)試6四、設計作品介紹及其使用說明71、硬件設計71.1.1 STC89C5281.1.1.1簡介:81.1.1.2參數(shù):81.1.2觸發(fā)

6、器74HC57391.1.3蜂鳴器101.1.4 LED111.1.5 DS18B20131.1.5.1 DS18B20性能131.1.5.2 DS18B20外形及引腳說明131.1.5.3 DS18B20接線原理圖142、軟件設計:143、仿真軟件的介紹15五、 設計心得16六、參考文獻17七、致謝17八、附錄181、組分工安排明細以及進程安排表182、編碼程序如下18一、前言:1、設計目的:(1)在學習了數(shù)字電子技術和單片機原理及應用這兩門課程之后,為了加深對理論知識的理解,學習理論知識在實際中的應用,培養(yǎng)動手能力和解決問題的能力。(2)熟悉Keil及Ptoteus軟件的調(diào)試和仿真。(3)

7、通過實驗提高對數(shù)字電路的認識。(4)啟發(fā)學生的思維,鍛煉他們團結互助的精神。2、功能要求:(1)、實時顯示當前溫度數(shù)值(2)、具有過溫報警功能(3)、能調(diào)整調(diào)整指定溫度(4)、達到指定的溫度蜂鳴器發(fā)出聲音二、設計方案及其原理:1、方案:方案一:由于本設計是測溫電路,可以使用熱敏電阻之類的器件,將隨被測溫度變化的電壓或電流采樣,進行A/D轉換后就可以用單片機進行數(shù)據(jù)處理,實現(xiàn)溫度顯示。這種設計需要用到A/D轉換電路,增大了電路的復雜性,而且要做到高精度也比較困難。方案二:考慮到在單片機屬于數(shù)字系統(tǒng),容易想到數(shù)字溫度傳感器,可選用DS18B20數(shù)字溫度傳感器,此傳感器為單總線數(shù)字溫度傳感器,其體積

8、小、構成的系統(tǒng)結構簡單,它可直接將溫度轉化成串行數(shù)字信號給單片機處理,即可實現(xiàn)溫度顯示。另外DS18B20具有3引腳的小體積封裝,測溫范圍為-55+125攝氏度,測溫分辨率可達0.0625攝氏度,其測量范圍與精度都能符合設計要求。通過以上兩種方案的比較,可以得出第二種方案的電路、軟件設計更簡單,此方案設計的系統(tǒng)在功耗、測量精度、范圍等方面都能很好地達到相應的要求,故本設計采用方案二。2、原理:整個過溫報警器電路的工作原理是:在正常的供電狀態(tài)下,首先利用單片機從DS18B20(溫度傳感器)處理接收的相應數(shù)據(jù),然后經(jīng)其處理后并將相應的數(shù)據(jù)分別傳送到相應的數(shù)碼管和蜂鳴器接收口,從而使數(shù)碼管和蜂鳴器做

9、出相應的反應。數(shù) 碼管ST89C52基本系統(tǒng)DS18B20(溫度傳感器)電 源蜂鳴器圖1.1 數(shù)字電子鐘總設計框圖三、設計過程1、元件采購(購買地點:賽格爾電子城):電子元件數(shù)量單價印刷電路板17數(shù)碼管(4位共陰)12STC89C52RC1774HC573(鎖存器)21.5蜂鳴器11自鎖開關20.5按鍵20.1DS18B20(溫度傳感器)10.5排式電阻10.5電容20.5晶振11電阻112.2USB下載器16數(shù)據(jù)線12表1 電子時鐘原件清單2.電路設計及其制圖軟件類型軟件名稱軟件版本畫圖、仿真ProteusV7.8編程、調(diào)試KeilUV4燒錄程序STC-ISPV4.8其他MCU小助手1.0表

10、2 電路設計及其制圖3、焊接焊接電路的過程最困難的是對電路圖的分析和元器件的正負極的熟悉,所以要焊好一塊完好的電路板。首先要做的就是先對電路圖進行細致的分析,然后再對各元器件的引腳的區(qū)別進行熟悉,再然后就是將各元器件進行排版再通過相應的工具進行焊接,最后就是檢查焊接完成的電路板是否存在短路之類的問題。圖1.2 各元器件引腳的識別圖圖1.3焊接電路板的實物工具圖4、調(diào)試4.1硬件調(diào)試硬件調(diào)試的調(diào)試比較困難。因為單片機系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能分開的,許多硬件錯誤是在軟件調(diào)試中被發(fā)現(xiàn)和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結合起來調(diào)試以進一步排除故障??梢娪布恼{(diào)試是基礎,如果硬件

11、調(diào)試不通過,軟件設計則是無從做起。而調(diào)試的整體過程是,先對硬件進行靜態(tài)調(diào)試,再是對硬件進行系統(tǒng)和軟件調(diào)試。硬件的靜態(tài)調(diào)試:1. 排除邏輯故障這類故障往往由于設計和加工制板過程中工藝性錯誤所造成的。主要包括錯線、開路、短路。排除的方法是首先將加工的印制板認真對照原理圖,看兩者是否一致。應特別注意電源系統(tǒng)檢查,以防止電源短路和極性錯誤,并重點檢查系統(tǒng)總線(地址總線、數(shù)據(jù)總線和控制總線)是否存在相互之間短路或與其它信號線路短路。必要時利用數(shù)字萬用表的短路測試功能,可以縮短排錯時間。2. 排除元器件失效造成這類錯誤的原因有兩個:一個是元器件買來時就已壞了;另一個是由于安裝錯誤,造成器件燒壞??梢圆扇z

12、查元器件與設計要求的型號、規(guī)格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯誤。3. 排除電源故障在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC 與GND 之間電位,若在4.8V5V 之間屬正常。若有高壓,聯(lián)機仿真器調(diào)試時,將會損壞仿真器等,有時會使應用系統(tǒng)中的集成塊發(fā)熱損壞。硬件的系統(tǒng)、軟件調(diào)試:1.電路的調(diào)試主要看接口以及連線是否正確。依次檢查,直到正常工作。2.本系統(tǒng)的軟件系統(tǒng)較大,全部采用C語言編寫,除語法與邏輯差錯外,當確認程序沒問題時,直接下載到單片機仿真調(diào)試。采取自下到上的方法,單獨調(diào)好每一個模塊,最后完成一

13、個完整的系統(tǒng)調(diào)試。4.2 KeiL調(diào)試啟動Keil軟件,選擇“Project”菜單下的“New Project”命令,輸入項目的文件名,選擇存儲路徑,點擊“保存”按鈕。在“Select Device”窗口中選擇“Atmel”下的“AT89C51” 芯片,單擊“確定”按鈕。展開“Project Workspace”窗口中的“Target 1”, 右擊 “Target 1”,選擇“Options for Target Target 1”,選擇“Target”選項在Keil (MHZ)右邊輸入“12m”。選擇“Debug”選項,選擇“Use Keil Monitor-51 Driver”。單擊“Se

14、ttings”按鈕,串口選擇“COM1”,波特率選擇“38400”,單擊“OK”按鈕。右擊“Source Group 1”,選擇“Add files to Group Source Group 1,在文件類型中選擇“Asm Source file”,找到將要編譯的程序,單擊 “ADD”按鈕,然后再單擊“CLOSE”按鈕。單擊“Rebuild all target files”,在“Build”窗口中觀察編譯結果,根據(jù)提示修改程序,直到?jīng)]有錯誤出現(xiàn)。4.3開發(fā)板調(diào)試根據(jù)程序的設計在開發(fā)板上分別連接好各個端口的連接線,用串口線把計算機和試驗箱的仿真頭連接好。單擊Keil軟件上的“Start/Sto

15、p Debug Session”按鈕,再單擊“RUN”按鈕,運行程序。觀察開發(fā)板上出現(xiàn)的效果,分析程序的對錯,直到調(diào)試出正確的結果。圖1.4開發(fā)板實物圖四、設計作品介紹及其使用說明1、硬件設計本課程設計中硬件電路主要由STC89C52、外部數(shù)碼管、觸發(fā)器74HC573、蜂鳴器、晶振管、DS18B20(數(shù)字溫度傳感器)等構成。(如圖1.5) 圖1.5 電路板元器件標注圖根據(jù)要求我所制作的電路原理圖用仿真軟件畫得如下圖1.6圖1.6 Protues仿真電路圖1.1.1 STC89C521.1.1.1 簡介 STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash

16、 存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標準功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復位電路,2個16 位 定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口。另外 STC89X52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷

17、或硬件復位為止。最高運作頻率35MHz,6T/12T可選。 圖1.7 引腳說明以及實物圖1.1.1.2參數(shù):1. 工作電壓:5.5V3.3V(5V 單片機)/3.8V2.0V(3V 單片機) 2. 工作頻率范圍:040MHz,相當于普通8051 的080MHz,實際工作 頻率可達48MHz 3. 用戶應用程序空間為8K 字節(jié) 4. 片上集成512 字節(jié)RAM 5. 通用I/O 口(32 個),復位后為:P0/P1/P2/P3 是準雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為 I/O 口用時,需加上拉電阻。 6. ISP(在系統(tǒng)可編程)/IAP(在應用可編程)

18、,無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片 7. 具有EEPROM 功能 8. 具有看門狗功能 9. 共3 個16 位定時器/計數(shù)器。即定時器T0、T1、T2 10. 外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒 11. 通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UART 12. 工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級) 13. PDIP 封裝1.1.2觸發(fā)器74HC573圖1.8觸發(fā)器的引腳標注圖1.9 74HC573內(nèi)部原理圖1

19、.1.3蜂鳴器蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標準用“FM”、“LB”、“JD”等)表示。蜂鳴器驅(qū)動電路一般都包含以下幾個部分:一個三極管、一個蜂鳴器、一個續(xù)流二極管和一個電源濾波電容。 1蜂鳴器 發(fā)聲元件,在其兩端施加直流電壓(有源蜂鳴器)或者方波(無源蜂鳴器)就可以發(fā)聲,其主要參數(shù)是外形尺寸、發(fā)聲方向、工作電壓、工作頻率、工作電流、驅(qū)動方式(直流/方波)等。這些都可以根據(jù)需要來

20、選擇。 2續(xù)流二極管 蜂鳴器本質(zhì)上是一個感性元件,其電流不能瞬變,因此必須有一個續(xù)流二極管提供續(xù)流。否則,在蜂鳴器兩端會產(chǎn)生幾十伏的尖峰電壓,可能損壞驅(qū)動三極管,并干擾整個電路系統(tǒng)的其它部分。 3濾波電容 濾波電容C1的作用是濾波,濾除蜂鳴器電流對其它部分的影響,也可改善電源的交流阻抗,如果可能,最好是再并聯(lián)一個220uF的電解電容。 4三極管 三極管Q1起開關作用,其基極的高電平使三極管飽和導通,使蜂鳴器發(fā)聲;而基極低電平則使三極管關閉,蜂鳴器停止發(fā)聲。圖2.0 蜂鳴器的電路原理結構圖1.1.4 LED1.1.4.1簡介:LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特

21、性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2.2(a)是共陰和共陽極數(shù)碼管的內(nèi)部電路圖,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。將多只LED的陰極連在一起即為共陰式,而將多只LED的陽極連在一起即為共陽式。以共陰式為例,如把陰極接地,在相應段的陽極接上正電源,該段即會發(fā)光。當然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如我們將b和c段接上正電源,其它端接地或懸空,那么b和c段發(fā)光,此時,數(shù)碼管顯示將顯示數(shù)字“1”。而將a、b、d、e和g段都接上正電源,其它引腳懸空,此時數(shù)碼管將顯示“2”。其它數(shù)字的顯示原理與此類同。

22、LED的7段數(shù)碼管利用單只LED組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點亮相應的點劃來顯示出0-9的數(shù)字。在這次的設計中采用的均是共陰極的LED顯示,當I/O口輸出為高電平的時候,對應段就被點亮。LED數(shù)碼管的結構圖如圖2.2(b)所示。 (a)(b)圖2.1 LED分類結構圖和結構圖這次設計的顯示部分采用STC89C52單片機動態(tài)掃描完成,其在多數(shù)的應用場合中,我們并不希望使用多I/O端口的單片機,原則上是使用盡量少引腳的器件。在沒有富余端口的情況下,應通過優(yōu)化設計程序和擴展電路達到預期的目的。動態(tài)掃描的頻率有一定的要求,頻率太低,LED將出現(xiàn)閃爍現(xiàn)象。如頻率太高,由于每個LED

23、點亮的時間太短,LED的亮度太低,肉眼無法看清,所以一般均取幾個ms左右為宜,這就要求在編寫程序時,選通某一位LED使其點亮并保持一定的時間,程序上常采用的是調(diào)用延時子程序。1.1.4.2 LED顯示電路(1)靜態(tài)顯示電路LDE顯示器工作在靜態(tài)顯示時,其公共陽極(或陰極) 接VCC(或GND) ,一直處于顯示有效狀態(tài),所以每一位的顯示內(nèi)容必須由鎖存器加以鎖存,顯示各位相互獨立。(2) 動態(tài)顯示電路 將所有位的段選線的同名端聯(lián)在一起,由一個8位I/O口控制,形成段選線的多位復用。而各位的公共陽極或公共陰極則分別由相應的I/O口線控制,實現(xiàn)各位的分時選通,即同一時刻只有被選通位是能顯示相應的字符,

24、而其他所有位都是熄滅的。由于人眼有視覺暫留現(xiàn)象,只要每位顯示間隔足夠短,則會造成多位同時點亮的假象。這就需要單片機不斷地對顯示進行控制,CPU需要不斷地進行顯示刷新,動態(tài)顯示電路參見圖2.3,圖2.3中是擴展了五位的LED數(shù)碼管顯示,用一個74LS04作為五個LED的段選輸入,采用動態(tài)顯示的方式連接。類似地,16位的LED數(shù)碼管顯示也可以用這種方法來實現(xiàn)。 圖2.2 五位LED數(shù)碼管的動態(tài)顯示結構圖1.1.5 DS18B20(數(shù)字溫度傳感器)1.1.5.1 DS18B20性能l 獨特的單線接口僅需一個端口引腳進行通信l 簡單的多點分布應用l 無需外部器件l 可通過數(shù)據(jù)線供電l 零待機功耗l 測

25、溫范圍-55+125,以0.5遞增l 可編程的分辨率為912位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625l 溫度數(shù)字量轉換時間200ms,12位分辨率時最多在750ms內(nèi)把溫度轉換為數(shù)字l 應用包括溫度控制、工業(yè)系統(tǒng)、消費品、溫度計和任何熱感測系統(tǒng)l 負壓特性:電源極性接反時,傳感器不會因發(fā)熱而燒毀,但不能正常工作1.1.5.2 DS18B20外形及引腳說明圖2.3 DS18B20外形及引腳圖l GND:地l DQ:單線運用的數(shù)據(jù)輸入/輸出引腳l VD:可選的電源引腳1.1.5.3 DS18B20接線原理圖單總線通常要求接一個約4.7K左右的上拉電阻,這樣,當總線空閑時

26、,其狀態(tài)為高電平。圖2.3 DS18B20接線原理圖2、軟件設計: 系統(tǒng)主程序流程圖如下圖DS18B20初始化跳過讀序列號數(shù)據(jù)轉換處理跳過讀序列號啟動溫度轉換讀取溫度值高低位延時數(shù)碼管顯示實時溫度系統(tǒng)將實時溫度與報警溫度比較DS18B20初始化返回蜂鳴器發(fā)出聲音、LED燈閃爍返回入口 圖2.4 主程序流程圖 3、仿真軟件的介紹Proteus 軟件所提供了30多個元件庫,數(shù)千種元件。元件涉及到數(shù)字和模擬、交流和直流等。對于一個仿真軟件或?qū)嶒炇遥?測試的儀器儀表的數(shù)量、 類型和質(zhì)量, 是衡量實驗室是否合格的一個關鍵因素。在Proteus軟件包中,不存在同類儀表使用數(shù)量的問題。Proteus還提供了

27、一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似但功能更多。Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:1.實現(xiàn)了單片機仿真和SPICE電路仿真相結合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。 2.支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、

28、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。3.提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。4.具有強大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C和SPICE分析于一身的仿真軟件,功能極其強大。單片機電路的模擬調(diào)試選中單片機STC89C52,左鍵點擊STC89C52,在出現(xiàn)的對話框里點擊Program File按鈕,找到剛才編譯得到

29、的HEX文件,然后點擊“OK”按鈕就可以模擬了。點擊模擬調(diào)試按鈕的運行按鈕 ,進人調(diào)試狀態(tài)。我們還可以單步模擬調(diào)試,點擊按鈕,進人單步調(diào)試狀態(tài), 在單步模擬調(diào)試狀態(tài)下,點擊菜單欄的“Debug”,點擊Simulation Log會出現(xiàn)和模擬調(diào)試有關的信息??偠灾么藘绍浖挠行ЫY合使得數(shù)字電子鐘能夠在模擬的環(huán)境下進行。因此,可以讓我在制作實物時,先進行軟件的調(diào)試和模擬,使得制作實物時能夠更加有效的減少錯誤。五、 設計心得此次課程設計中,難點在于DS18B20的使用,即對它的時序控制、初始化以及字節(jié)讀寫方法,任何一個環(huán)節(jié)出錯或是時序控制不到位的話就不能得到正確的數(shù)據(jù)。一旦學會了正確的使用方

30、法,就能感覺到它帶來的便利是熱電偶不能比擬的,以后再次使用的話就能很快上手了。軟件設計中,把程序按功能分模塊的話能提高編程效率,把問題一一解決,同時畫流程圖能幫助理清思路,使問題簡單化。定義變量時,盡量定義局部變量,在字符型變量能達到要求的情況下就不用定義成整形變量了,以節(jié)省內(nèi)存空間。同時局部變量應避免與全局變量取同名,否則全局變量將被屏蔽或與局部變量相沖突而達不到設計的效果。另一方面,取變量名時也要講究技巧,應盡量使其見名知意,同樣地,寫程序時加注釋確是非常必要的,否則隔一段時間后,想再改進或做擴展的話就比較困難了,因為即使是自己寫的程序也變得難讀難懂了。此設計中沒有為溫度的單位(攝氏度)準

31、備專用的數(shù)碼管來顯示,若單獨用一個數(shù)碼管顯示“C”來代替“”的話,看起來感覺很別扭。偶然想起如若用一個數(shù)碼管的上半部顯“0”,即a、b、f、g段點亮,來代替“”左上角的“度”的話,效果應該不錯,便作了一試,發(fā)現(xiàn)這是確是一個很好的主意。但是由于本設計中并不要求有單位的存在,故沒有采用這個辦法來顯示溫度單位。總的來說,從通過理論設計,到確定具體方案,再到編譯程序,最后到調(diào)試、成型。整個過程都需要充分利用所有知識進行思考、借鑒。本次設計是針對相關知識進行的一次比較綜合的檢驗,也是目前為止我覺得受益匪淺是收獲最大的一次課程設計。在做本次設計的過程中,我感觸最深的就是查閱大量的設計資料了。因為在查閱的過

32、程中,其不僅豐富了自己的一些課外知識,還鞏固了課堂上所學的知識。與此同時,我覺得為了讓自己的設計更加完善,查閱這方面的設計資料是十分必要的。六、參考文獻1徐愛鈞主編 單片機原理實用教程 電子工業(yè)出版社2閻石主編 數(shù)字電子技術基本教程 清華大學出版社3郭天祥主編 51單片機C語言教程 電子工業(yè)出版社4藺鵬,柴世紅. 基于AT89C51單片機與DS18B20的溫度測量系統(tǒng)J. 甘肅科技 2008,24(9)2013-12-15. doi:10.3969/j.issn.1000-0952.2008.09.0135王海燕,楊艷華. Proteus和Keil軟件在單片機實驗教學中的應用J. 實驗室研究與

33、探索 2012,31(5) 2013-12-17. doi: 10.3969/j.issn.1006-7167.2012.05.027 6吳健,候文,鄭賓. 基于STC89C52單片機的溫度控制系統(tǒng)J. 電腦知識與技術 2011,07(4)2013-12-16. doi:10.3969/j.issn.1009-3044.2011.04.076七、致謝在這個課程設計過程中,很感謝老師的指導,從一開始,老師在課堂上講了很多關于這方面的知識,包括觸發(fā)器、三極管,組合設計等,而單片機的學習也為我們這次課程設計提供了很多的基礎。在課程設計的過程中,跟老師的交流也啟發(fā)了我們很多的想法,盡管在這其中堆積了很

34、多的問題,但是老師也是很耐心的指導我們應該怎么去做。本次課程設計是在劉楊華老師的悉心指導下完成的,從課題的選擇到說明書的最終完成的每一個環(huán)節(jié),自始自終得到了老師的細心指導和幫助。經(jīng)過此次課程設計,我即鞏固了已學過的專業(yè)知識,又學到了許多新知識。通過理論和實踐相結合,使得我在這期間所學到的各方面知識得以融會貫通。在體會實際工作困難的同時,也深深的體會到實踐與理論的差距。設計中,既要全面掌握理論知識,又要洞悉實際元器件的工作原理;既要有信心,又要有耐心,其流程設計的思路更為重要。通過查閱資料和請教老師,豐富了自己的理論知識,開闊了見識,對實際問題也有了全面的了解和掌握,在設計的過程中,我得到了老師

35、的大力幫助,尤其得到了劉楊華老師的幫助,她給予了我無微不至的指導和幫助。對此向本次課程設計中給予過我?guī)椭睦蠋熀屯瑢W致上我最真摯的謝意。八、附錄1、組分工安排明細以及進程安排表時間安排備注(負責人)周一上午設計原理及設計方案討論陳婕妤、甘通權周一下午元器件采購以及電路設計及其制圖李榮波、林舜亮周二上午焊接、調(diào)試電路劉偉華、林鵬周二下午設計作品介紹及其使用說明李凱文、藍新梅周三上午設計心得總結周 榕另外: 展示、介紹 李凱文、藍新梅 答辯 陳婕妤、甘通權 電路繪圖及仿真 劉偉華、周 榕 檢查設計介紹及其使用說明 林 鵬、林舜亮、李榮波2、編碼程序如下#include #include #defi

36、ne uchar unsigned char#define uint unsigned intsbit led=P17;sbit buzzer=P23;sbit DQ = P10; /數(shù)據(jù)口define interfacesbit dula = P21; /數(shù)碼管段選sbit wela = P20; /數(shù)碼管位選uchar A1,A2,A3,A4;uint temp; /溫度值 variable of temperatureuchar num,num1;float tt;uchar a,b;/不帶小數(shù)點unsigned char code table = 0 x3f,0 x06,0 x5b,0

37、 x4f,0 x66,0 x6d,0 x7d, 0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/帶小數(shù)點unsigned char code table1 = 0 xbf,0 x86,0 xdb,0 xcf,0 xe6,0 xed,0 xfd,0 x87,0 xff,0 xef;/*精確延時函數(shù)*/void delay(unsigned char i) while(-i); /*此延時函數(shù)針對的是12Mhz的晶振delay(0):延時518us 誤差:518-2*256=6delay(1):延時7us (原帖寫5us是錯的)dela

38、y(10):延時25us 誤差:25-20=5delay(20):延時45us 誤差:45-40=5delay(100):延時205us 誤差:205-200=5delay(200):延時405us 誤差:405-400=5*/*DS18B20*/void Init_Ds18b20(void) /DS18B20初始化send reset and initialization commandDQ = 1; /DQ復位,不要也可行。delay(1); /稍做延時DQ = 0; /單片機拉低總線delay(250); /精確延時,維持至少480usDQ = 1; /釋放總線,即拉高了總線delay(

39、100); /此處延時有足夠,確保能讓DS18B20發(fā)出存在脈沖。uchar Read_One_Byte() /讀取一個字節(jié)的數(shù)據(jù)read a byte date /讀數(shù)據(jù)時,數(shù)據(jù)以字節(jié)的最低有效位先從總線移出uchar i = 0;uchar dat = 0;for(i=8;i0;i-) DQ = 0; /將總線拉低,要在1us之后釋放總線 /單片機要在此下降沿后的15us內(nèi)讀數(shù)據(jù)才會有效。 _nop_(); /至少維持了1us,表示讀時序開始 dat = 1; /讓從總線上讀到的位數(shù)據(jù),依次從高位移動到低位。 DQ = 1; /釋放總線,此后DS18B20會控制總線,把數(shù)據(jù)傳輸?shù)娇偩€上 d

40、elay(1); /延時7us,此處參照推薦的讀時序圖,盡量把控制器采樣時間放到讀時序后的15us內(nèi)的最后部分 if(DQ) /控制器進行采樣 dat |= 0 x80; /若總線為1,即DQ為1,那就把dat的最高位置1;若為0,則不進行處理,保持為0 delay(10); /此延時不能少,確保讀時序的長度60us。return (dat);void Write_One_Byte(uchar dat)uchar i = 0;for(i=8;i0;i-) DQ = 0; /拉低總線 _nop_(); /至少維持了1us,表示寫時序(包括寫0時序或?qū)?時序)開始 DQ = dat&0 x01;

41、/從字節(jié)的最低位開始傳輸 /指令dat的最低位賦予給總線,必須在拉低總線后的15us內(nèi), /因為15us后DS18B20會對總線采樣。 delay(10); /必須讓寫時序持續(xù)至少60us DQ = 1; /寫完后,必須釋放總線, dat = 1; delay(1);uint Get_Tmp() /獲取溫度get the temperatureInit_Ds18b20(); /初始化Write_One_Byte(0 xcc); /忽略ROM指令Write_One_Byte(0 x44); /溫度轉換指令Init_Ds18b20(); /初始化Write_One_Byte(0 xcc); /忽略ROM指令Write_One_Byte(0 xbe); /讀暫存器指令a = Read_One_Byte(); /讀取到的第一個字節(jié)為溫度LSBb = Read_One_Byte(); /讀取到的第一個字節(jié)為溫度MSBtemp = b; /先把高八位有效數(shù)據(jù)賦于temptemp =2500)EA=1; else led=1; buzzer=0; EA=0; void T0_time()interrupt 1TH0=(65536-45872)/256;TL0=(65536-45872)%256;num1+;if(num1=6) num1=0;led=led; buzzer=buzzer;35

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!