過溫報警器的設(shè)計(jì)—課程設(shè)計(jì)論文.doc
《過溫報警器的設(shè)計(jì)—課程設(shè)計(jì)論文.doc》由會員分享,可在線閱讀,更多相關(guān)《過溫報警器的設(shè)計(jì)—課程設(shè)計(jì)論文.doc(42頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、過溫報警器課程設(shè)計(jì)說明書 電子技術(shù)課程課程設(shè)計(jì) 題 目: 過 溫 報 警 器 院 別: 機(jī)電學(xué)院 專 業(yè): 機(jī)電工程 班 級: 姓 名: 學(xué) 號: 指導(dǎo)教師: 二一三年十二月二十一日摘 要隨著科技的不斷進(jìn)步,在工業(yè)生產(chǎn)中溫度是常用的被控參數(shù),而采用單片機(jī)來對這些被控參數(shù)進(jìn)行控制已成為當(dāng)今的主流。本設(shè)計(jì)介紹了數(shù)字溫度測量及自動控制系統(tǒng)的設(shè)計(jì)。本設(shè)計(jì)采用單片機(jī)來實(shí)現(xiàn)對溫度的控制。它的主要組成部分有:AT89C52單片機(jī)、溫度傳感器、顯示電路、溫度控制電路。它可以實(shí)時的顯示和設(shè)定溫度,實(shí)現(xiàn)對溫度的自動控制。通過測試表明,本設(shè)計(jì)對溫度的控制有方便、簡單的特點(diǎn),從而大幅提高了被控溫度的技術(shù)指標(biāo)。本次課程
2、設(shè)計(jì)采用單片機(jī)以及鎖存器、數(shù)碼管、DS18B20溫度傳感器、蜂鳴器等組成簡單的過溫報警器,該過溫報警器測溫準(zhǔn)確,使用方便,顯示清晰。關(guān)鍵詞過溫報警器;鎖存器;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ì)過程31、元件采購(購買地點(diǎn):賽格爾電子城):32.電路設(shè)計(jì)及其制圖33、焊接44、調(diào)試54.1硬件調(diào)試54.2 KeiL調(diào)試64.3開發(fā)板調(diào)試6四、設(shè)計(jì)作品介紹及其使用說明71、硬件設(shè)計(jì)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、軟件設(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)用這兩門課程之后,為了加深對理論知識的理解,學(xué)習(xí)理論知識在實(shí)際中的應(yīng)用,培養(yǎng)動手能力和解決問題的能力。(2)熟悉Keil及Ptoteus軟件的調(diào)試和仿真。(3)
7、通過實(shí)驗(yàn)提高對數(shù)字電路的認(rèn)識。(4)啟發(fā)學(xué)生的思維,鍛煉他們團(tuán)結(jié)互助的精神。2、功能要求:(1)、實(shí)時顯示當(dāng)前溫度數(shù)值(2)、具有過溫報警功能(3)、能調(diào)整調(diào)整指定溫度(4)、達(dá)到指定的溫度蜂鳴器發(fā)出聲音二、設(shè)計(jì)方案及其原理:1、方案:方案一:由于本設(shè)計(jì)是測溫電路,可以使用熱敏電阻之類的器件,將隨被測溫度變化的電壓或電流采樣,進(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)簡單,它可直接將溫度轉(zhuǎn)化成串行數(shù)字信號給單片機(jī)處理,即可實(shí)現(xiàn)溫度顯示。另外DS18B20具有3引腳的小體積封裝,測溫范圍為-55+125攝氏度,測溫分辨率可達(dá)0.0625攝氏度,其測量范圍與精度都能符合設(shè)計(jì)要求。通過以上兩種方案的比較,可以得出第二種方案的電路、軟件設(shè)計(jì)更簡單,此方案設(shè)計(jì)的系統(tǒng)在功耗、測量精度、范圍等方面都能很好地達(dá)到相應(yīng)的要求,故本設(shè)計(jì)采用方案二。2、原理:整個過溫報警器電路的工作原理是:在正常的供電狀態(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ì)過程1、元件采購(購買地點(diǎn):賽格爾電子城):電子元件數(shù)量單價印刷電路板17數(shù)碼管(4位共陰)12STC89C52RC1774HC573(鎖存器)21.5蜂鳴器11自鎖開關(guān)20.5按鍵20.1DS18B20(溫度傳感器)10.5排式電阻10.5電容20.5晶振11電阻112.2USB下載器16數(shù)據(jù)線12表1 電子時鐘原件清單2.電路設(shè)計(jì)及其制圖軟件類型軟件名稱軟件版本畫圖、仿真ProteusV7.8編程、調(diào)試KeilUV4燒錄程序STC-ISPV4.8其他MCU小助手1.0表
10、2 電路設(shè)計(jì)及其制圖3、焊接焊接電路的過程最困難的是對電路圖的分析和元器件的正負(fù)極的熟悉,所以要焊好一塊完好的電路板。首先要做的就是先對電路圖進(jìn)行細(xì)致的分析,然后再對各元器件的引腳的區(qū)別進(jìn)行熟悉,再然后就是將各元器件進(jìn)行排版再通過相應(yīng)的工具進(jìn)行焊接,最后就是檢查焊接完成的電路板是否存在短路之類的問題。圖1.2 各元器件引腳的識別圖圖1.3焊接電路板的實(shí)物工具圖4、調(diào)試4.1硬件調(diào)試硬件調(diào)試的調(diào)試比較困難。因?yàn)閱纹瑱C(jī)系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能分開的,許多硬件錯誤是在軟件調(diào)試中被發(fā)現(xiàn)和糾正的。但通常是先排除明顯的硬件故障以后,再和軟件結(jié)合起來調(diào)試以進(jìn)一步排除故障??梢娪布恼{(diào)試是基礎(chǔ),如果硬件
11、調(diào)試不通過,軟件設(shè)計(jì)則是無從做起。而調(diào)試的整體過程是,先對硬件進(jìn)行靜態(tài)調(diào)試,再是對硬件進(jìn)行系統(tǒng)和軟件調(diào)試。硬件的靜態(tài)調(diào)試:1. 排除邏輯故障這類故障往往由于設(shè)計(jì)和加工制板過程中工藝性錯誤所造成的。主要包括錯線、開路、短路。排除的方法是首先將加工的印制板認(rèn)真對照原理圖,看兩者是否一致。應(yīng)特別注意電源系統(tǒng)檢查,以防止電源短路和極性錯誤,并重點(diǎn)檢查系統(tǒng)總線(地址總線、數(shù)據(jù)總線和控制總線)是否存在相互之間短路或與其它信號線路短路。必要時利用數(shù)字萬用表的短路測試功能,可以縮短排錯時間。2. 排除元器件失效造成這類錯誤的原因有兩個:一個是元器件買來時就已壞了;另一個是由于安裝錯誤,造成器件燒壞。可以采取檢
12、查元器件與設(shè)計(jì)要求的型號、規(guī)格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯誤。3. 排除電源故障在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC 與GND 之間電位,若在4.8V5V 之間屬正常。若有高壓,聯(lián)機(jī)仿真器調(diào)試時,將會損壞仿真器等,有時會使應(yīng)用系統(tǒng)中的集成塊發(fā)熱損壞。硬件的系統(tǒng)、軟件調(diào)試:1.電路的調(diào)試主要看接口以及連線是否正確。依次檢查,直到正常工作。2.本系統(tǒng)的軟件系統(tǒng)較大,全部采用C語言編寫,除語法與邏輯差錯外,當(dāng)確認(rèn)程序沒問題時,直接下載到單片機(jī)仿真調(diào)試。采取自下到上的方法,單獨(dú)調(diào)好每一個模塊,最后完成一
13、個完整的系統(tǒng)調(diào)試。4.2 KeiL調(diào)試啟動Keil軟件,選擇“Project”菜單下的“New Project”命令,輸入項(xiàng)目的文件名,選擇存儲路徑,點(diǎn)擊“保存”按鈕。在“Select Device”窗口中選擇“Atmel”下的“AT89C51” 芯片,單擊“確定”按鈕。展開“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)]有錯誤出現(xiàn)。4.3開發(fā)板調(diào)試根據(jù)程序的設(shè)計(jì)在開發(fā)板上分別連接好各個端口的連接線,用串口線把計(jì)算機(jī)和試驗(yàn)箱的仿真頭連接好。單擊Keil軟件上的“Start/Sto
15、p Debug Session”按鈕,再單擊“RUN”按鈕,運(yùn)行程序。觀察開發(fā)板上出現(xiàn)的效果,分析程序的對錯,直到調(diào)試出正確的結(jié)果。圖1.4開發(fā)板實(shí)物圖四、設(shè)計(jì)作品介紹及其使用說明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 簡介 STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash
16、 存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,2個16 位 定時器/計(jì)數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口。另外 STC89X52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷
17、或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。 圖1.7 引腳說明以及實(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 個),復(fù)位后為:P0/P1/P2/P3 是準(zhǔn)雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴(kuò)展用時,不用加上拉電阻,作為 I/O 口用時,需加上拉電阻。 6. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程)
18、,無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片 7. 具有EEPROM 功能 8. 具有看門狗功能 9. 共3 個16 位定時器/計(jì)數(shù)器。即定時器T0、T1、T2 10. 外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒 11. 通用異步串行口(UART),還可用定時器軟件實(shí)現(xiàn)多個UART 12. 工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級) 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ī)、報警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“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起開關(guān)作用,其基極的高電平使三極管飽和導(dǎo)通,使蜂鳴器發(fā)聲;而基極低電平則使三極管關(guān)閉,蜂鳴器停止發(fā)聲。圖2.0 蜂鳴器的電路原理結(jié)構(gòu)圖1.1.4 LED1.1.4.1簡介:LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特
21、性,對編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2.2(a)是共陰和共陽極數(shù)碼管的內(nèi)部電路圖,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。將多只LED的陰極連在一起即為共陰式,而將多只LED的陽極連在一起即為共陽式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽極接上正電源,該段即會發(fā)光。當(dāng)然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如我們將b和c段接上正電源,其它端接地或懸空,那么b和c段發(fā)光,此時,數(shù)碼管顯示將顯示數(shù)字“1”。而將a、b、d、e和g段都接上正電源,其它引腳懸空,此時數(shù)碼管將顯示“2”。其它數(shù)字的顯示原理與此類同。
22、LED的7段數(shù)碼管利用單只LED組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點(diǎn)亮相應(yīng)的點(diǎn)劃來顯示出0-9的數(shù)字。在這次的設(shè)計(jì)中采用的均是共陰極的LED顯示,當(dāng)I/O口輸出為高電平的時候,對應(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ī)動態(tài)掃描完成,其在多數(shù)的應(yīng)用場合中,我們并不希望使用多I/O端口的單片機(jī),原則上是使用盡量少引腳的器件。在沒有富余端口的情況下,應(yīng)通過優(yōu)化設(shè)計(jì)程序和擴(kuò)展電路達(dá)到預(yù)期的目的。動態(tài)掃描的頻率有一定的要求,頻率太低,LED將出現(xiàn)閃爍現(xiàn)象。如頻率太高,由于每個LED
23、點(diǎn)亮的時間太短,LED的亮度太低,肉眼無法看清,所以一般均取幾個ms左右為宜,這就要求在編寫程序時,選通某一位LED使其點(diǎn)亮并保持一定的時間,程序上常采用的是調(diào)用延時子程序。1.1.4.2 LED顯示電路(1)靜態(tài)顯示電路LDE顯示器工作在靜態(tài)顯示時,其公共陽極(或陰極) 接VCC(或GND) ,一直處于顯示有效狀態(tài),所以每一位的顯示內(nèi)容必須由鎖存器加以鎖存,顯示各位相互獨(dú)立。(2) 動態(tài)顯示電路 將所有位的段選線的同名端聯(lián)在一起,由一個8位I/O口控制,形成段選線的多位復(fù)用。而各位的公共陽極或公共陰極則分別由相應(yīng)的I/O口線控制,實(shí)現(xiàn)各位的分時選通,即同一時刻只有被選通位是能顯示相應(yīng)的字符,
24、而其他所有位都是熄滅的。由于人眼有視覺暫留現(xiàn)象,只要每位顯示間隔足夠短,則會造成多位同時點(diǎn)亮的假象。這就需要單片機(jī)不斷地對顯示進(jìn)行控制,CPU需要不斷地進(jìn)行顯示刷新,動態(tài)顯示電路參見圖2.3,圖2.3中是擴(kuò)展了五位的LED數(shù)碼管顯示,用一個74LS04作為五個LED的段選輸入,采用動態(tài)顯示的方式連接。類似地,16位的LED數(shù)碼管顯示也可以用這種方法來實(shí)現(xiàn)。 圖2.2 五位LED數(shù)碼管的動態(tài)顯示結(jié)構(gòu)圖1.1.5 DS18B20(數(shù)字溫度傳感器)1.1.5.1 DS18B20性能l 獨(dú)特的單線接口僅需一個端口引腳進(jìn)行通信l 簡單的多點(diǎn)分布應(yīng)用l 無需外部器件l 可通過數(shù)據(jù)線供電l 零待機(jī)功耗l 測
25、溫范圍-55+125,以0.5遞增l 可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625l 溫度數(shù)字量轉(zhuǎn)換時間200ms,12位分辨率時最多在750ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字l 應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費(fèi)品、溫度計(jì)和任何熱感測系統(tǒng)l 負(fù)壓特性:電源極性接反時,傳感器不會因發(fā)熱而燒毀,但不能正常工作1.1.5.2 DS18B20外形及引腳說明圖2.3 DS18B20外形及引腳圖l GND:地l DQ:單線運(yùn)用的數(shù)據(jù)輸入/輸出引腳l VD:可選的電源引腳1.1.5.3 DS18B20接線原理圖單總線通常要求接一個約4.7K左右的上拉電阻,這樣,當(dāng)總線空閑時
26、,其狀態(tài)為高電平。圖2.3 DS18B20接線原理圖2、軟件設(shè)計(jì): 系統(tǒng)主程序流程圖如下圖DS18B20初始化跳過讀序列號數(shù)據(jù)轉(zhuǎn)換處理跳過讀序列號啟動溫度轉(zhuǎn)換讀取溫度值高低位延時數(shù)碼管顯示實(shí)時溫度系統(tǒng)將實(shí)時溫度與報警溫度比較DS18B20初始化返回蜂鳴器發(fā)出聲音、LED燈閃爍返回入口 圖2.4 主程序流程圖 3、仿真軟件的介紹Proteus 軟件所提供了30多個元件庫,數(shù)千種元件。元件涉及到數(shù)字和模擬、交流和直流等。對于一個仿真軟件或?qū)嶒?yàn)室, 測試的儀器儀表的數(shù)量、 類型和質(zhì)量, 是衡量實(shí)驗(yàn)室是否合格的一個關(guān)鍵因素。在Proteus軟件包中,不存在同類儀表使用數(shù)量的問題。Proteus還提供了
27、一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實(shí)時地顯示出來,其作用與示波器相似但功能更多。Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:1.實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(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)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(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)的對話框里點(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會出現(xiàn)和模擬調(diào)試有關(guān)的信息??偠灾么藘绍浖挠行ЫY(jié)合使得數(shù)字電子鐘能夠在模擬的環(huán)境下進(jìn)行。因此,可以讓我在制作實(shí)物時,先進(jìn)行軟件的調(diào)試和模擬,使得制作實(shí)物時能夠更加有效的減少錯誤。五、 設(shè)計(jì)心得此次課程設(shè)計(jì)中,難點(diǎn)在于DS18B20的使用,即對它的時序控制、初始化以及字節(jié)讀寫方法,任何一個環(huán)節(jié)出錯或是時序控制不到位的話就不能得到正確的數(shù)據(jù)。一旦學(xué)會了正確的使用方
30、法,就能感覺到它帶來的便利是熱電偶不能比擬的,以后再次使用的話就能很快上手了。軟件設(shè)計(jì)中,把程序按功能分模塊的話能提高編程效率,把問題一一解決,同時畫流程圖能幫助理清思路,使問題簡單化。定義變量時,盡量定義局部變量,在字符型變量能達(dá)到要求的情況下就不用定義成整形變量了,以節(jié)省內(nèi)存空間。同時局部變量應(yīng)避免與全局變量取同名,否則全局變量將被屏蔽或與局部變量相沖突而達(dá)不到設(shè)計(jì)的效果。另一方面,取變量名時也要講究技巧,應(yīng)盡量使其見名知意,同樣地,寫程序時加注釋確是非常必要的,否則隔一段時間后,想再改進(jìn)或做擴(kuò)展的話就比較困難了,因?yàn)榧词故亲约簩懙某绦蛞沧兊秒y讀難懂了。此設(shè)計(jì)中沒有為溫度的單位(攝氏度)準(zhǔn)
31、備專用的數(shù)碼管來顯示,若單獨(dú)用一個數(shù)碼管顯示“C”來代替“”的話,看起來感覺很別扭。偶然想起如若用一個數(shù)碼管的上半部顯“0”,即a、b、f、g段點(diǎn)亮,來代替“”左上角的“度”的話,效果應(yīng)該不錯,便作了一試,發(fā)現(xiàn)這是確是一個很好的主意。但是由于本設(shè)計(jì)中并不要求有單位的存在,故沒有采用這個辦法來顯示溫度單位??偟膩碚f,從通過理論設(shè)計(jì),到確定具體方案,再到編譯程序,最后到調(diào)試、成型。整個過程都需要充分利用所有知識進(jìn)行思考、借鑒。本次設(shè)計(jì)是針對相關(guān)知識進(jìn)行的一次比較綜合的檢驗(yàn),也是目前為止我覺得受益匪淺是收獲最大的一次課程設(shè)計(jì)。在做本次設(shè)計(jì)的過程中,我感觸最深的就是查閱大量的設(shè)計(jì)資料了。因?yàn)樵诓殚喌倪^
32、程中,其不僅豐富了自己的一些課外知識,還鞏固了課堂上所學(xué)的知識。與此同時,我覺得為了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的。六、參考文獻(xiàn)1徐愛鈞主編 單片機(jī)原理實(shí)用教程 電子工業(yè)出版社2閻石主編 數(shù)字電子技術(shù)基本教程 清華大學(xué)出版社3郭天祥主編 51單片機(jī)C語言教程 電子工業(yè)出版社4藺鵬,柴世紅. 基于AT89C51單片機(jī)與DS18B20的溫度測量系統(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ù) 2011,07(4)2013-12-16. doi:10.3969/j.issn.1009-3044.2011.04.076七、致謝在這個課程設(shè)計(jì)過程中,很感謝老師的指導(dǎo),從一開始,老師在課堂上講了很多關(guān)于這方面的知識,包括觸發(fā)器、三極管,組合設(shè)計(jì)等,而單片機(jī)的學(xué)習(xí)也為我們這次課程設(shè)計(jì)提供了很多的基礎(chǔ)。在課程設(shè)計(jì)的過程中,跟老師的交流也啟發(fā)了我們很多的想法,盡管在這其中堆積了很
34、多的問題,但是老師也是很耐心的指導(dǎo)我們應(yīng)該怎么去做。本次課程設(shè)計(jì)是在劉楊華老師的悉心指導(dǎo)下完成的,從課題的選擇到說明書的最終完成的每一個環(huán)節(jié),自始自終得到了老師的細(xì)心指導(dǎo)和幫助。經(jīng)過此次課程設(shè)計(jì),我即鞏固了已學(xué)過的專業(yè)知識,又學(xué)到了許多新知識。通過理論和實(shí)踐相結(jié)合,使得我在這期間所學(xué)到的各方面知識得以融會貫通。在體會實(shí)際工作困難的同時,也深深的體會到實(shí)踐與理論的差距。設(shè)計(jì)中,既要全面掌握理論知識,又要洞悉實(shí)際元器件的工作原理;既要有信心,又要有耐心,其流程設(shè)計(jì)的思路更為重要。通過查閱資料和請教老師,豐富了自己的理論知識,開闊了見識,對實(shí)際問題也有了全面的了解和掌握,在設(shè)計(jì)的過程中,我得到了老師
35、的大力幫助,尤其得到了劉楊華老師的幫助,她給予了我無微不至的指導(dǎo)和幫助。對此向本次課程設(shè)計(jì)中給予過我?guī)椭睦蠋熀屯瑢W(xué)致上我最真摯的謝意。八、附錄1、組分工安排明細(xì)以及進(jìn)程安排表時間安排備注(負(fù)責(zé)人)周一上午設(shè)計(jì)原理及設(shè)計(jì)方案討論陳婕妤、甘通權(quán)周一下午元器件采購以及電路設(shè)計(jì)及其制圖李榮波、林舜亮周二上午焊接、調(diào)試電路劉偉華、林鵬周二下午設(shè)計(jì)作品介紹及其使用說明李凱文、藍(lán)新梅周三上午設(shè)計(jì)心得總結(jié)周 榕另外: 展示、介紹 李凱文、藍(lán)新梅 答辯 陳婕妤、甘通權(quán) 電路繪圖及仿真 劉偉華、周 榕 檢查設(shè)計(jì)介紹及其使用說明 林 鵬、林舜亮、李榮波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ù)*/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復(fù)位,不要也可行。delay(1); /稍做延時DQ = 0; /單片機(jī)拉低總線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之后釋放總線 /單片機(jī)要在此下降沿后的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) /控制器進(jìn)行采樣 dat |= 0 x80; /若總線為1,即DQ為1,那就把dat的最高位置1;若為0,則不進(jìn)行處理,保持為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), /因?yàn)?5us后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); /溫度轉(zhuǎn)換指令I(lǐng)nit_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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二月二來歷課件
- 炎黃國醫(yī)館市場推廣方案
- 醫(yī)患關(guān)系醫(yī)學(xué)知識
- 通信行業(yè)營業(yè)廳現(xiàn)場管理
- 北師大版數(shù)學(xué)五年級下冊《展開與折疊》PPT課件之二(教育精品)
- 工廠精益物流
- 統(tǒng)計(jì)過程控制培訓(xùn)
- 北師大數(shù)學(xué)八年級下冊第五章分式與分式方程認(rèn)識分式1(教育精品)
- 初中地理課件-東南亞(教育精品)
- 二輪專題復(fù)習(xí)-中國近代化的歷程
- 國際服務(wù)貿(mào)易的理論和政策
- 國際工業(yè)合作與科技發(fā)展
- 《諫太宗十思疏》課件
- 質(zhì)量體系過程
- 財務(wù)金融分析師-銷售關(guān)系管理