過(guò)溫報(bào)警器的設(shè)計(jì)—課程設(shè)計(jì)論文.doc
《過(guò)溫報(bào)警器的設(shè)計(jì)—課程設(shè)計(jì)論文.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《過(guò)溫報(bào)警器的設(shè)計(jì)—課程設(shè)計(jì)論文.doc(42頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、過(guò)溫報(bào)警器課程設(shè)計(jì)說(shuō)明書 電子技術(shù)課程課程設(shè)計(jì) 題 目: 過(guò) 溫 報(bào) 警 器 院 別: 機(jī)電學(xué)院 專 業(yè): 機(jī)電工程 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 二一三年十二月二十一日摘 要隨著科技的不斷進(jìn)步,在工業(yè)生產(chǎn)中溫度是常用的被控參數(shù),而采用單片機(jī)來(lái)對(duì)這些被控參數(shù)進(jìn)行控制已成為當(dāng)今的主流。本設(shè)計(jì)介紹了數(shù)字溫度測(cè)量及自動(dòng)控制系統(tǒng)的設(shè)計(jì)。本設(shè)計(jì)采用單片機(jī)來(lái)實(shí)現(xiàn)對(duì)溫度的控制。它的主要組成部分有:AT89C52單片機(jī)、溫度傳感器、顯示電路、溫度控制電路。它可以實(shí)時(shí)的顯示和設(shè)定溫度,實(shí)現(xiàn)對(duì)溫度的自動(dòng)控制。通過(guò)測(cè)試表明,本設(shè)計(jì)對(duì)溫度的控制有方便、簡(jiǎn)單的特點(diǎn),從而大幅提高了被控溫度的技術(shù)指標(biāo)。本次課程
2、設(shè)計(jì)采用單片機(jī)以及鎖存器、數(shù)碼管、DS18B20溫度傳感器、蜂鳴器等組成簡(jiǎn)單的過(guò)溫報(bào)警器,該過(guò)溫報(bào)警器測(cè)溫準(zhǔn)確,使用方便,顯示清晰。關(guān)鍵詞過(guò)溫報(bào)警器;鎖存器;STC89C52RC;單片機(jī);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、設(shè)計(jì)目的:12、功能要求:1二、設(shè)計(jì)原理及其方案:11、方案:12、原理:2三、設(shè)計(jì)過(guò)程31、元件采購(gòu)(購(gòu)買地點(diǎn):賽格爾電子城):32.電路設(shè)計(jì)及其制圖33、焊接44、調(diào)試54.1硬件調(diào)試54.2 KeiL調(diào)試64.3開(kāi)發(fā)板調(diào)試6四、設(shè)計(jì)作品介紹及其使用說(shuō)明71、硬件設(shè)計(jì)71.1.1 STC89C5281.1.1.1簡(jiǎn)介: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外形及引腳說(shuō)明131.1.5.3 DS18B20接線原理圖142、軟件設(shè)計(jì):143、仿真軟件的介紹15五、 設(shè)計(jì)心得16六、參考文獻(xiàn)17七、致謝17八、附錄181、組分工安排明細(xì)以及進(jìn)程安排表182、編碼程序如下18一、前言:1、設(shè)計(jì)目的:(1)在學(xué)習(xí)了數(shù)字電子技術(shù)和單片機(jī)原理及應(yīng)用這兩門課程之后,為了加深對(duì)理論知識(shí)的理解,學(xué)習(xí)理論知識(shí)在實(shí)際中的應(yīng)用,培養(yǎng)動(dòng)手能力和解決問(wèn)題的能力。(2)熟悉Keil及Ptoteus軟件的調(diào)試和仿真。(3)
7、通過(guò)實(shí)驗(yàn)提高對(duì)數(shù)字電路的認(rèn)識(shí)。(4)啟發(fā)學(xué)生的思維,鍛煉他們團(tuán)結(jié)互助的精神。2、功能要求:(1)、實(shí)時(shí)顯示當(dāng)前溫度數(shù)值(2)、具有過(guò)溫報(bào)警功能(3)、能調(diào)整調(diào)整指定溫度(4)、達(dá)到指定的溫度蜂鳴器發(fā)出聲音二、設(shè)計(jì)方案及其原理:1、方案:方案一:由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類的器件,將隨被測(cè)溫度變化的電壓或電流采樣,進(jìn)行A/D轉(zhuǎn)換后就可以用單片機(jī)進(jìn)行數(shù)據(jù)處理,實(shí)現(xiàn)溫度顯示。這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,增大了電路的復(fù)雜性,而且要做到高精度也比較困難。方案二:考慮到在單片機(jī)屬于數(shù)字系統(tǒng),容易想到數(shù)字溫度傳感器,可選用DS18B20數(shù)字溫度傳感器,此傳感器為單總線數(shù)字溫度傳感器,其體積
8、小、構(gòu)成的系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,它可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)給單片機(jī)處理,即可實(shí)現(xiàn)溫度顯示。另外DS18B20具有3引腳的小體積封裝,測(cè)溫范圍為-55+125攝氏度,測(cè)溫分辨率可達(dá)0.0625攝氏度,其測(cè)量范圍與精度都能符合設(shè)計(jì)要求。通過(guò)以上兩種方案的比較,可以得出第二種方案的電路、軟件設(shè)計(jì)更簡(jiǎn)單,此方案設(shè)計(jì)的系統(tǒng)在功耗、測(cè)量精度、范圍等方面都能很好地達(dá)到相應(yīng)的要求,故本設(shè)計(jì)采用方案二。2、原理:整個(gè)過(guò)溫報(bào)警器電路的工作原理是:在正常的供電狀態(tài)下,首先利用單片機(jī)從DS18B20(溫度傳感器)處理接收的相應(yīng)數(shù)據(jù),然后經(jīng)其處理后并將相應(yīng)的數(shù)據(jù)分別傳送到相應(yīng)的數(shù)碼管和蜂鳴器接收口,從而使數(shù)碼管和蜂鳴器做
9、出相應(yīng)的反應(yīng)。數(shù) 碼管ST89C52基本系統(tǒng)DS18B20(溫度傳感器)電 源蜂鳴器圖1.1 數(shù)字電子鐘總設(shè)計(jì)框圖三、設(shè)計(jì)過(guò)程1、元件采購(gòu)(購(gòu)買地點(diǎn):賽格爾電子城):電子元件數(shù)量單價(jià)印刷電路板17數(shù)碼管(4位共陰)12STC89C52RC1774HC573(鎖存器)21.5蜂鳴器11自鎖開(kāi)關(guān)20.5按鍵20.1DS18B20(溫度傳感器)10.5排式電阻10.5電容20.5晶振11電阻112.2USB下載器16數(shù)據(jù)線12表1 電子時(shí)鐘原件清單2.電路設(shè)計(jì)及其制圖軟件類型軟件名稱軟件版本畫圖、仿真ProteusV7.8編程、調(diào)試KeilUV4燒錄程序STC-ISPV4.8其他MCU小助手1.0表
10、2 電路設(shè)計(jì)及其制圖3、焊接焊接電路的過(guò)程最困難的是對(duì)電路圖的分析和元器件的正負(fù)極的熟悉,所以要焊好一塊完好的電路板。首先要做的就是先對(duì)電路圖進(jìn)行細(xì)致的分析,然后再對(duì)各元器件的引腳的區(qū)別進(jìn)行熟悉,再然后就是將各元器件進(jìn)行排版再通過(guò)相應(yīng)的工具進(jìn)行焊接,最后就是檢查焊接完成的電路板是否存在短路之類的問(wèn)題。圖1.2 各元器件引腳的識(shí)別圖圖1.3焊接電路板的實(shí)物工具圖4、調(diào)試4.1硬件調(diào)試硬件調(diào)試的調(diào)試比較困難。因?yàn)閱纹瑱C(jī)系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能分開(kāi)的,許多硬件錯(cuò)誤是在軟件調(diào)試中被發(fā)現(xiàn)和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結(jié)合起來(lái)調(diào)試以進(jìn)一步排除故障??梢?jiàn)硬件的調(diào)試是基礎(chǔ),如果硬件
11、調(diào)試不通過(guò),軟件設(shè)計(jì)則是無(wú)從做起。而調(diào)試的整體過(guò)程是,先對(duì)硬件進(jìn)行靜態(tài)調(diào)試,再是對(duì)硬件進(jìn)行系統(tǒng)和軟件調(diào)試。硬件的靜態(tài)調(diào)試:1. 排除邏輯故障這類故障往往由于設(shè)計(jì)和加工制板過(guò)程中工藝性錯(cuò)誤所造成的。主要包括錯(cuò)線、開(kāi)路、短路。排除的方法是首先將加工的印制板認(rèn)真對(duì)照原理圖,看兩者是否一致。應(yīng)特別注意電源系統(tǒng)檢查,以防止電源短路和極性錯(cuò)誤,并重點(diǎn)檢查系統(tǒng)總線(地址總線、數(shù)據(jù)總線和控制總線)是否存在相互之間短路或與其它信號(hào)線路短路。必要時(shí)利用數(shù)字萬(wàn)用表的短路測(cè)試功能,可以縮短排錯(cuò)時(shí)間。2. 排除元器件失效造成這類錯(cuò)誤的原因有兩個(gè):一個(gè)是元器件買來(lái)時(shí)就已壞了;另一個(gè)是由于安裝錯(cuò)誤,造成器件燒壞??梢圆扇z
12、查元器件與設(shè)計(jì)要求的型號(hào)、規(guī)格和安裝是否一致。在保證安裝無(wú)誤后,用替換方法排除錯(cuò)誤。3. 排除電源故障在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC 與GND 之間電位,若在4.8V5V 之間屬正常。若有高壓,聯(lián)機(jī)仿真器調(diào)試時(shí),將會(huì)損壞仿真器等,有時(shí)會(huì)使應(yīng)用系統(tǒng)中的集成塊發(fā)熱損壞。硬件的系統(tǒng)、軟件調(diào)試:1.電路的調(diào)試主要看接口以及連線是否正確。依次檢查,直到正常工作。2.本系統(tǒng)的軟件系統(tǒng)較大,全部采用C語(yǔ)言編寫,除語(yǔ)法與邏輯差錯(cuò)外,當(dāng)確認(rèn)程序沒(méi)問(wèn)題時(shí),直接下載到單片機(jī)仿真調(diào)試。采取自下到上的方法,單獨(dú)調(diào)好每一個(gè)模塊,最后完成一
13、個(gè)完整的系統(tǒng)調(diào)試。4.2 KeiL調(diào)試啟動(dòng)Keil軟件,選擇“Project”菜單下的“New Project”命令,輸入項(xiàng)目的文件名,選擇存儲(chǔ)路徑,點(diǎn)擊“保存”按鈕。在“Select Device”窗口中選擇“Atmel”下的“AT89C51” 芯片,單擊“確定”按鈕。展開(kāi)“Project Workspace”窗口中的“Target 1”, 右擊 “Target 1”,選擇“Options for Target Target 1”,選擇“Target”選項(xiàng)在Keil (MHZ)右邊輸入“12m”。選擇“Debug”選項(xiàng),選擇“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”窗口中觀察編譯結(jié)果,根據(jù)提示修改程序,直到?jīng)]有錯(cuò)誤出現(xiàn)。4.3開(kāi)發(fā)板調(diào)試根據(jù)程序的設(shè)計(jì)在開(kāi)發(fā)板上分別連接好各個(gè)端口的連接線,用串口線把計(jì)算機(jī)和試驗(yàn)箱的仿真頭連接好。單擊Keil軟件上的“Start/Sto
15、p Debug Session”按鈕,再單擊“RUN”按鈕,運(yùn)行程序。觀察開(kāi)發(fā)板上出現(xiàn)的效果,分析程序的對(duì)錯(cuò),直到調(diào)試出正確的結(jié)果。圖1.4開(kāi)發(fā)板實(shí)物圖四、設(shè)計(jì)作品介紹及其使用說(shuō)明1、硬件設(shè)計(jì)本課程設(shè)計(jì)中硬件電路主要由STC89C52、外部數(shù)碼管、觸發(fā)器74HC573、蜂鳴器、晶振管、DS18B20(數(shù)字溫度傳感器)等構(gòu)成。(如圖1.5) 圖1.5 電路板元器件標(biāo)注圖根據(jù)要求我所制作的電路原理圖用仿真軟件畫得如下圖1.6圖1.6 Protues仿真電路圖1.1.1 STC89C521.1.1.1 簡(jiǎn)介 STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash
16、 存儲(chǔ)器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,2個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。另外 STC89X52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷
17、或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。 圖1.7 引腳說(shuō)明以及實(shí)物圖1.1.1.2參數(shù):1. 工作電壓:5.5V3.3V(5V 單片機(jī))/3.8V2.0V(3V 單片機(jī)) 2. 工作頻率范圍:040MHz,相當(dāng)于普通8051 的080MHz,實(shí)際工作 頻率可達(dá)48MHz 3. 用戶應(yīng)用程序空間為8K 字節(jié) 4. 片上集成512 字節(jié)RAM 5. 通用I/O 口(32 個(gè)),復(fù)位后為:P0/P1/P2/P3 是準(zhǔn)雙向口/弱上拉, P0 口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為 I/O 口用時(shí),需加上拉電阻。 6. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程)
18、,無(wú)需專用編程器,無(wú) 需專用仿真器,可通過(guò)串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片 7. 具有EEPROM 功能 8. 具有看門狗功能 9. 共3 個(gè)16 位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2 10. 外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒 11. 通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART 12. 工作溫度范圍:-40+85(工業(yè)級(jí))/075(商業(yè)級(jí)) 13. PDIP 封裝1.1.2觸發(fā)器74HC573圖1.8觸發(fā)器的引腳標(biāo)注圖1.9 74HC573內(nèi)部原理圖1
19、.1.3蜂鳴器蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。蜂鳴器驅(qū)動(dòng)電路一般都包含以下幾個(gè)部分:一個(gè)三極管、一個(gè)蜂鳴器、一個(gè)續(xù)流二極管和一個(gè)電源濾波電容。 1蜂鳴器 發(fā)聲元件,在其兩端施加直流電壓(有源蜂鳴器)或者方波(無(wú)源蜂鳴器)就可以發(fā)聲,其主要參數(shù)是外形尺寸、發(fā)聲方向、工作電壓、工作頻率、工作電流、驅(qū)動(dòng)方式(直流/方波)等。這些都可以根據(jù)需要來(lái)
20、選擇。 2續(xù)流二極管 蜂鳴器本質(zhì)上是一個(gè)感性元件,其電流不能瞬變,因此必須有一個(gè)續(xù)流二極管提供續(xù)流。否則,在蜂鳴器兩端會(huì)產(chǎn)生幾十伏的尖峰電壓,可能損壞驅(qū)動(dòng)三極管,并干擾整個(gè)電路系統(tǒng)的其它部分。 3濾波電容 濾波電容C1的作用是濾波,濾除蜂鳴器電流對(duì)其它部分的影響,也可改善電源的交流阻抗,如果可能,最好是再并聯(lián)一個(gè)220uF的電解電容。 4三極管 三極管Q1起開(kāi)關(guān)作用,其基極的高電平使三極管飽和導(dǎo)通,使蜂鳴器發(fā)聲;而基極低電平則使三極管關(guān)閉,蜂鳴器停止發(fā)聲。圖2.0 蜂鳴器的電路原理結(jié)構(gòu)圖1.1.4 LED1.1.4.1簡(jiǎn)介:LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽(yáng)兩類,了解LED的這些特
21、性,對(duì)編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2.2(a)是共陰和共陽(yáng)極數(shù)碼管的內(nèi)部電路圖,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。將多只LED的陰極連在一起即為共陰式,而將多只LED的陽(yáng)極連在一起即為共陽(yáng)式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽(yáng)極接上正電源,該段即會(huì)發(fā)光。當(dāng)然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如我們將b和c段接上正電源,其它端接地或懸空,那么b和c段發(fā)光,此時(shí),數(shù)碼管顯示將顯示數(shù)字“1”。而將a、b、d、e和g段都接上正電源,其它引腳懸空,此時(shí)數(shù)碼管將顯示“2”。其它數(shù)字的顯示原理與此類同。
22、LED的7段數(shù)碼管利用單只LED組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點(diǎn)亮相應(yīng)的點(diǎn)劃來(lái)顯示出0-9的數(shù)字。在這次的設(shè)計(jì)中采用的均是共陰極的LED顯示,當(dāng)I/O口輸出為高電平的時(shí)候,對(duì)應(yīng)段就被點(diǎn)亮。LED數(shù)碼管的結(jié)構(gòu)圖如圖2.2(b)所示。 (a)(b)圖2.1 LED分類結(jié)構(gòu)圖和結(jié)構(gòu)圖這次設(shè)計(jì)的顯示部分采用STC89C52單片機(jī)動(dòng)態(tài)掃描完成,其在多數(shù)的應(yīng)用場(chǎng)合中,我們并不希望使用多I/O端口的單片機(jī),原則上是使用盡量少引腳的器件。在沒(méi)有富余端口的情況下,應(yīng)通過(guò)優(yōu)化設(shè)計(jì)程序和擴(kuò)展電路達(dá)到預(yù)期的目的。動(dòng)態(tài)掃描的頻率有一定的要求,頻率太低,LED將出現(xiàn)閃爍現(xiàn)象。如頻率太高,由于每個(gè)LED
23、點(diǎn)亮的時(shí)間太短,LED的亮度太低,肉眼無(wú)法看清,所以一般均取幾個(gè)ms左右為宜,這就要求在編寫程序時(shí),選通某一位LED使其點(diǎn)亮并保持一定的時(shí)間,程序上常采用的是調(diào)用延時(shí)子程序。1.1.4.2 LED顯示電路(1)靜態(tài)顯示電路LDE顯示器工作在靜態(tài)顯示時(shí),其公共陽(yáng)極(或陰極) 接VCC(或GND) ,一直處于顯示有效狀態(tài),所以每一位的顯示內(nèi)容必須由鎖存器加以鎖存,顯示各位相互獨(dú)立。(2) 動(dòng)態(tài)顯示電路 將所有位的段選線的同名端聯(lián)在一起,由一個(gè)8位I/O口控制,形成段選線的多位復(fù)用。而各位的公共陽(yáng)極或公共陰極則分別由相應(yīng)的I/O口線控制,實(shí)現(xiàn)各位的分時(shí)選通,即同一時(shí)刻只有被選通位是能顯示相應(yīng)的字符,
24、而其他所有位都是熄滅的。由于人眼有視覺(jué)暫留現(xiàn)象,只要每位顯示間隔足夠短,則會(huì)造成多位同時(shí)點(diǎn)亮的假象。這就需要單片機(jī)不斷地對(duì)顯示進(jìn)行控制,CPU需要不斷地進(jìn)行顯示刷新,動(dòng)態(tài)顯示電路參見(jiàn)圖2.3,圖2.3中是擴(kuò)展了五位的LED數(shù)碼管顯示,用一個(gè)74LS04作為五個(gè)LED的段選輸入,采用動(dòng)態(tài)顯示的方式連接。類似地,16位的LED數(shù)碼管顯示也可以用這種方法來(lái)實(shí)現(xiàn)。 圖2.2 五位LED數(shù)碼管的動(dòng)態(tài)顯示結(jié)構(gòu)圖1.1.5 DS18B20(數(shù)字溫度傳感器)1.1.5.1 DS18B20性能l 獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通信l 簡(jiǎn)單的多點(diǎn)分布應(yīng)用l 無(wú)需外部器件l 可通過(guò)數(shù)據(jù)線供電l 零待機(jī)功耗l 測(cè)
25、溫范圍-55+125,以0.5遞增l 可編程的分辨率為912位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625l 溫度數(shù)字量轉(zhuǎn)換時(shí)間200ms,12位分辨率時(shí)最多在750ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字l 應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費(fèi)品、溫度計(jì)和任何熱感測(cè)系統(tǒng)l 負(fù)壓特性:電源極性接反時(shí),傳感器不會(huì)因發(fā)熱而燒毀,但不能正常工作1.1.5.2 DS18B20外形及引腳說(shuō)明圖2.3 DS18B20外形及引腳圖l GND:地l DQ:?jiǎn)尉€運(yùn)用的數(shù)據(jù)輸入/輸出引腳l VD:可選的電源引腳1.1.5.3 DS18B20接線原理圖單總線通常要求接一個(gè)約4.7K左右的上拉電阻,這樣,當(dāng)總線空閑時(shí)
26、,其狀態(tài)為高電平。圖2.3 DS18B20接線原理圖2、軟件設(shè)計(jì): 系統(tǒng)主程序流程圖如下圖DS18B20初始化跳過(guò)讀序列號(hào)數(shù)據(jù)轉(zhuǎn)換處理跳過(guò)讀序列號(hào)啟動(dòng)溫度轉(zhuǎn)換讀取溫度值高低位延時(shí)數(shù)碼管顯示實(shí)時(shí)溫度系統(tǒng)將實(shí)時(shí)溫度與報(bào)警溫度比較DS18B20初始化返回蜂鳴器發(fā)出聲音、LED燈閃爍返回入口 圖2.4 主程序流程圖 3、仿真軟件的介紹Proteus 軟件所提供了30多個(gè)元件庫(kù),數(shù)千種元件。元件涉及到數(shù)字和模擬、交流和直流等。對(duì)于一個(gè)仿真軟件或?qū)嶒?yàn)室, 測(cè)試的儀器儀表的數(shù)量、 類型和質(zhì)量, 是衡量實(shí)驗(yàn)室是否合格的一個(gè)關(guān)鍵因素。在Proteus軟件包中,不存在同類儀表使用數(shù)量的問(wèn)題。Proteus還提供了
27、一個(gè)圖形顯示功能,可以將線路上變化的信號(hào),以圖形的方式實(shí)時(shí)地顯示出來(lái),其作用與示波器相似但功能更多。Proteus ISIS是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:1.實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。 2.支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、
28、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。3.提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。4.具有強(qiáng)大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。單片機(jī)電路的模擬調(diào)試選中單片機(jī)STC89C52,左鍵點(diǎn)擊STC89C52,在出現(xiàn)的對(duì)話框里點(diǎn)擊Program File按鈕,找到剛才編譯得到
29、的HEX文件,然后點(diǎn)擊“OK”按鈕就可以模擬了。點(diǎn)擊模擬調(diào)試按鈕的運(yùn)行按鈕 ,進(jìn)人調(diào)試狀態(tài)。我們還可以單步模擬調(diào)試,點(diǎn)擊按鈕,進(jìn)人單步調(diào)試狀態(tài), 在單步模擬調(diào)試狀態(tài)下,點(diǎn)擊菜單欄的“Debug”,點(diǎn)擊Simulation Log會(huì)出現(xiàn)和模擬調(diào)試有關(guān)的信息??偠灾么藘绍浖挠行ЫY(jié)合使得數(shù)字電子鐘能夠在模擬的環(huán)境下進(jìn)行。因此,可以讓我在制作實(shí)物時(shí),先進(jìn)行軟件的調(diào)試和模擬,使得制作實(shí)物時(shí)能夠更加有效的減少錯(cuò)誤。五、 設(shè)計(jì)心得此次課程設(shè)計(jì)中,難點(diǎn)在于DS18B20的使用,即對(duì)它的時(shí)序控制、初始化以及字節(jié)讀寫方法,任何一個(gè)環(huán)節(jié)出錯(cuò)或是時(shí)序控制不到位的話就不能得到正確的數(shù)據(jù)。一旦學(xué)會(huì)了正確的使用方
30、法,就能感覺(jué)到它帶來(lái)的便利是熱電偶不能比擬的,以后再次使用的話就能很快上手了。軟件設(shè)計(jì)中,把程序按功能分模塊的話能提高編程效率,把問(wèn)題一一解決,同時(shí)畫流程圖能幫助理清思路,使問(wèn)題簡(jiǎn)單化。定義變量時(shí),盡量定義局部變量,在字符型變量能達(dá)到要求的情況下就不用定義成整形變量了,以節(jié)省內(nèi)存空間。同時(shí)局部變量應(yīng)避免與全局變量取同名,否則全局變量將被屏蔽或與局部變量相沖突而達(dá)不到設(shè)計(jì)的效果。另一方面,取變量名時(shí)也要講究技巧,應(yīng)盡量使其見(jiàn)名知意,同樣地,寫程序時(shí)加注釋確是非常必要的,否則隔一段時(shí)間后,想再改進(jìn)或做擴(kuò)展的話就比較困難了,因?yàn)榧词故亲约簩懙某绦蛞沧兊秒y讀難懂了。此設(shè)計(jì)中沒(méi)有為溫度的單位(攝氏度)準(zhǔn)
31、備專用的數(shù)碼管來(lái)顯示,若單獨(dú)用一個(gè)數(shù)碼管顯示“C”來(lái)代替“”的話,看起來(lái)感覺(jué)很別扭。偶然想起如若用一個(gè)數(shù)碼管的上半部顯“0”,即a、b、f、g段點(diǎn)亮,來(lái)代替“”左上角的“度”的話,效果應(yīng)該不錯(cuò),便作了一試,發(fā)現(xiàn)這是確是一個(gè)很好的主意。但是由于本設(shè)計(jì)中并不要求有單位的存在,故沒(méi)有采用這個(gè)辦法來(lái)顯示溫度單位??偟膩?lái)說(shuō),從通過(guò)理論設(shè)計(jì),到確定具體方案,再到編譯程序,最后到調(diào)試、成型。整個(gè)過(guò)程都需要充分利用所有知識(shí)進(jìn)行思考、借鑒。本次設(shè)計(jì)是針對(duì)相關(guān)知識(shí)進(jìn)行的一次比較綜合的檢驗(yàn),也是目前為止我覺(jué)得受益匪淺是收獲最大的一次課程設(shè)計(jì)。在做本次設(shè)計(jì)的過(guò)程中,我感觸最深的就是查閱大量的設(shè)計(jì)資料了。因?yàn)樵诓殚喌倪^(guò)
32、程中,其不僅豐富了自己的一些課外知識(shí),還鞏固了課堂上所學(xué)的知識(shí)。與此同時(shí),我覺(jué)得為了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的。六、參考文獻(xiàn)1徐愛(ài)鈞主編 單片機(jī)原理實(shí)用教程 電子工業(yè)出版社2閻石主編 數(shù)字電子技術(shù)基本教程 清華大學(xué)出版社3郭天祥主編 51單片機(jī)C語(yǔ)言教程 電子工業(yè)出版社4藺鵬,柴世紅. 基于AT89C51單片機(jī)與DS18B20的溫度測(cè)量系統(tǒng)J. 甘肅科技 2008,24(9)2013-12-15. doi:10.3969/j.issn.1000-0952.2008.09.0135王海燕,楊艷華. Proteus和Keil軟件在單片機(jī)實(shí)驗(yàn)教學(xué)中的應(yīng)用J. 實(shí)驗(yàn)室研究與
33、探索 2012,31(5) 2013-12-17. doi: 10.3969/j.issn.1006-7167.2012.05.027 6吳健,候文,鄭賓. 基于STC89C52單片機(jī)的溫度控制系統(tǒng)J. 電腦知識(shí)與技術(shù) 2011,07(4)2013-12-16. doi:10.3969/j.issn.1009-3044.2011.04.076七、致謝在這個(gè)課程設(shè)計(jì)過(guò)程中,很感謝老師的指導(dǎo),從一開(kāi)始,老師在課堂上講了很多關(guān)于這方面的知識(shí),包括觸發(fā)器、三極管,組合設(shè)計(jì)等,而單片機(jī)的學(xué)習(xí)也為我們這次課程設(shè)計(jì)提供了很多的基礎(chǔ)。在課程設(shè)計(jì)的過(guò)程中,跟老師的交流也啟發(fā)了我們很多的想法,盡管在這其中堆積了很
34、多的問(wèn)題,但是老師也是很耐心的指導(dǎo)我們應(yīng)該怎么去做。本次課程設(shè)計(jì)是在劉楊華老師的悉心指導(dǎo)下完成的,從課題的選擇到說(shuō)明書的最終完成的每一個(gè)環(huán)節(jié),自始自終得到了老師的細(xì)心指導(dǎo)和幫助。經(jīng)過(guò)此次課程設(shè)計(jì),我即鞏固了已學(xué)過(guò)的專業(yè)知識(shí),又學(xué)到了許多新知識(shí)。通過(guò)理論和實(shí)踐相結(jié)合,使得我在這期間所學(xué)到的各方面知識(shí)得以融會(huì)貫通。在體會(huì)實(shí)際工作困難的同時(shí),也深深的體會(huì)到實(shí)踐與理論的差距。設(shè)計(jì)中,既要全面掌握理論知識(shí),又要洞悉實(shí)際元器件的工作原理;既要有信心,又要有耐心,其流程設(shè)計(jì)的思路更為重要。通過(guò)查閱資料和請(qǐng)教老師,豐富了自己的理論知識(shí),開(kāi)闊了見(jiàn)識(shí),對(duì)實(shí)際問(wèn)題也有了全面的了解和掌握,在設(shè)計(jì)的過(guò)程中,我得到了老師
35、的大力幫助,尤其得到了劉楊華老師的幫助,她給予了我無(wú)微不至的指導(dǎo)和幫助。對(duì)此向本次課程設(shè)計(jì)中給予過(guò)我?guī)椭睦蠋熀屯瑢W(xué)致上我最真摯的謝意。八、附錄1、組分工安排明細(xì)以及進(jìn)程安排表時(shí)間安排備注(負(fù)責(zé)人)周一上午設(shè)計(jì)原理及設(shè)計(jì)方案討論陳婕妤、甘通權(quán)周一下午元器件采購(gòu)以及電路設(shè)計(jì)及其制圖李榮波、林舜亮周二上午焊接、調(diào)試電路劉偉華、林鵬周二下午設(shè)計(jì)作品介紹及其使用說(shuō)明李凱文、藍(lán)新梅周三上午設(shè)計(jì)心得總結(jié)周 榕另外: 展示、介紹 李凱文、藍(lán)新梅 答辯 陳婕妤、甘通權(quán) 電路繪圖及仿真 劉偉華、周 榕 檢查設(shè)計(jì)介紹及其使用說(shuō)明 林 鵬、林舜亮、李榮波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ù)點(diǎn)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ù)點(diǎn)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í)函數(shù)*/void delay(unsigned char i) while(-i); /*此延時(shí)函數(shù)針對(duì)的是12Mhz的晶振delay(0):延時(shí)518us 誤差:518-2*256=6delay(1):延時(shí)7us (原帖寫5us是錯(cuò)的)dela
38、y(10):延時(shí)25us 誤差:25-20=5delay(20):延時(shí)45us 誤差:45-40=5delay(100):延時(shí)205us 誤差:205-200=5delay(200):延時(shí)405us 誤差:405-400=5*/*DS18B20*/void Init_Ds18b20(void) /DS18B20初始化send reset and initialization commandDQ = 1; /DQ復(fù)位,不要也可行。delay(1); /稍做延時(shí)DQ = 0; /單片機(jī)拉低總線delay(250); /精確延時(shí),維持至少480usDQ = 1; /釋放總線,即拉高了總線delay(
39、100); /此處延時(shí)有足夠,確保能讓DS18B20發(fā)出存在脈沖。uchar Read_One_Byte() /讀取一個(gè)字節(jié)的數(shù)據(jù)read a byte date /讀數(shù)據(jù)時(shí),數(shù)據(jù)以字節(jié)的最低有效位先從總線移出uchar i = 0;uchar dat = 0;for(i=8;i0;i-) DQ = 0; /將總線拉低,要在1us之后釋放總線 /單片機(jī)要在此下降沿后的15us內(nèi)讀數(shù)據(jù)才會(huì)有效。 _nop_(); /至少維持了1us,表示讀時(shí)序開(kāi)始 dat = 1; /讓從總線上讀到的位數(shù)據(jù),依次從高位移動(dòng)到低位。 DQ = 1; /釋放總線,此后DS18B20會(huì)控制總線,把數(shù)據(jù)傳輸?shù)娇偩€上 d
40、elay(1); /延時(shí)7us,此處參照推薦的讀時(shí)序圖,盡量把控制器采樣時(shí)間放到讀時(shí)序后的15us內(nèi)的最后部分 if(DQ) /控制器進(jìn)行采樣 dat |= 0 x80; /若總線為1,即DQ為1,那就把dat的最高位置1;若為0,則不進(jìn)行處理,保持為0 delay(10); /此延時(shí)不能少,確保讀時(shí)序的長(zhǎng)度60us。return (dat);void Write_One_Byte(uchar dat)uchar i = 0;for(i=8;i0;i-) DQ = 0; /拉低總線 _nop_(); /至少維持了1us,表示寫時(shí)序(包括寫0時(shí)序或?qū)?時(shí)序)開(kāi)始 DQ = dat&0 x01;
41、/從字節(jié)的最低位開(kāi)始傳輸 /指令dat的最低位賦予給總線,必須在拉低總線后的15us內(nèi), /因?yàn)?5us后DS18B20會(huì)對(duì)總線采樣。 delay(10); /必須讓寫時(shí)序持續(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); /溫度轉(zhuǎn)換指令I(lǐng)nit_Ds18b20(); /初始化Write_One_Byte(0 xcc); /忽略ROM指令Write_One_Byte(0 xbe); /讀暫存器指令a = Read_One_Byte(); /讀取到的第一個(gè)字節(jié)為溫度LSBb = Read_One_Byte(); /讀取到的第一個(gè)字節(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: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案