freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

智能溫度報警系統(tǒng)的軟件設(shè)計畢業(yè)論文及程序-在線瀏覽

2024-10-31 12:27本頁面
  

【正文】 章 緒論 設(shè)計目標(biāo) 本次畢業(yè)設(shè)計的課題是智能溫度報警系統(tǒng)的軟件設(shè)計,因此我采用的是基于單片機(jī)設(shè)計方案來實(shí)現(xiàn)設(shè)計。使得主控芯片能夠驅(qū)動溫度傳感器采集外界溫度和接收所采集的溫度數(shù)據(jù),并且在液晶顯示器上顯示所采集的溫度值。 為了增加軟件系統(tǒng)的功能,又加入了時鐘功能模塊。系統(tǒng)程序中的控制程序能夠?qū)崿F(xiàn)對溫度上、下限值和時鐘模塊所顯示內(nèi)容的修改設(shè)定。而以單片機(jī)為核心的數(shù)字控制系統(tǒng)在現(xiàn)代化生產(chǎn)中的智能化和自動化運(yùn)用方面,也受到了人們越來越多的應(yīng)用 [1]。而且單片機(jī)具有體積小,數(shù)據(jù)處理強(qiáng)等特點(diǎn)。 課題意義 隨著現(xiàn)代工農(nóng)業(yè)技術(shù)的發(fā)展及人們對生活環(huán)境要求的提高,工農(nóng)業(yè)生產(chǎn)中的很多流程都需要實(shí)時 精確的 測量和控制溫度,而一些生產(chǎn)流程中采用人工測量可能要面臨危險或測量不及時等問題。 因此研究智能溫度報警系統(tǒng) 有利于對現(xiàn)代化工農(nóng)業(yè)的標(biāo)準(zhǔn)化生產(chǎn),以及提高企業(yè)的經(jīng)濟(jì)效益。因此當(dāng)設(shè)計出的軟件在 PIC 單片機(jī)上XXX:智能溫度報警系統(tǒng)的軟件設(shè)計 4 運(yùn)行時,要能夠?qū)崿F(xiàn)實(shí)時的測量周圍的溫度,并判斷其是否超出限定溫度,做到在超出限定時做出及時報警。實(shí)時溫度、上下限溫度、實(shí)時時鐘和日歷上的信息都需要顯示在液晶顯示器上。 2. 在仿真軟件上設(shè)計系統(tǒng)所需的仿真電路,介紹電路的各個模塊的功能,并根據(jù)仿真電路原理圖設(shè)計出系統(tǒng)所需軟件的主程序框架,再根據(jù)主程序框架完成各個功能模塊的程序設(shè)計。 論文結(jié)構(gòu)安排 第一章主要介紹設(shè)計的目標(biāo)、課題背景和意義以及對設(shè)計的要求。 第三章介紹各個模塊的仿真電路設(shè)計及其功能 第四章介紹對溫度報警系統(tǒng)軟件的具體 設(shè)計流程。 第二章 開發(fā)平臺及設(shè)計方案 5 第二章 開發(fā)平臺及設(shè)計方案 編程開發(fā)環(huán)境 MPLAB IDE 集成開發(fā)環(huán)境 這款軟件集成開發(fā)環(huán)境 MPLAB IDE是薇芯公司為 PIC單片機(jī)的嵌入式應(yīng)用進(jìn)行開發(fā)所配備的一種單片機(jī)開發(fā)應(yīng)用平臺。使用 MPLAB IDE編寫 C語言的代碼在經(jīng)過編譯可生成 *.cof和 *.hex 兩個文件。 編程步驟 因為本次設(shè)計用的是 MPLAB IDE 的版本,所采用的是用 C 語言來編寫源程序代碼,所以具體的編程步驟如下: ( 1) 打開 MPLAB IDE 軟件,選擇菜單命令 Project 中的 Project Wizard,出現(xiàn)的窗口點(diǎn)擊下一步。 ( 2) 在( 1)后選擇名為 HITECH PICC Toolsuite 的編譯工具,選完后,點(diǎn)擊下一步。再次點(diǎn)擊下一步,直到出現(xiàn)完成后,點(diǎn)擊完成退出工程向?qū)А? ( 5) 將已保存的源程序添加到當(dāng)前工程名下的 Source Files 文件夾內(nèi)。完成系統(tǒng)軟件的編譯工作。 Proteus 軟件支持多款市面上主流的單片機(jī),其中就有 PIC18 系列單片機(jī)。在編譯方面,它也支持 IAR、 Keil 和 MATLAB 等多種 編譯器 [3]。 溫度采集原件方案 方案一 對于熱電偶溫度傳感器,雖然它耐用,價格低而且不用外接電源,但其電壓與所測溫度是成非線性關(guān)系,需要二次測量,而且不能直接轉(zhuǎn)化為數(shù)字信號。雖然它靈敏度較高,體積小。 方案二 半導(dǎo)體數(shù)字式溫度傳感器 DS18B20 也是常用的溫度傳感器,選其作為采集溫度的原件,具有體積小,硬件開銷低,抗干擾能力強(qiáng),精度高的特點(diǎn) [4]。測量結(jié)果可以以 9~12 位數(shù)字量方式串行傳送 [4]。 主控芯片方案 現(xiàn)在市面上的單片機(jī)芯片種類繁多,按功能分為多種型號,不同的型號系價格也有所不同??紤]到學(xué)過 PIC 單片機(jī)原理這門課程,對 PIC 單片機(jī)更加了解,而且中級 PIC 系列單片機(jī)中的 PIC16F877 型價格只要十幾元,同時 PIC 系列單片機(jī)也是市面上主流的單片機(jī)芯片。 總體 方案設(shè)計 方案的確定 考慮到設(shè)計電路盡可能的簡單,所以溫度采集原件就選用了方案二的 DS18B20 溫度傳感器來設(shè)計溫度模塊。 總體設(shè)計框圖 第二章 開發(fā)平臺及設(shè)計方案 7 圖 總體設(shè)計框圖 系統(tǒng)主程序設(shè)計思路流程圖 圖 系統(tǒng)主程序設(shè)計思路流程圖 PIC 單片機(jī)最小系統(tǒng)模塊 顯示模塊塊 溫度采集模塊 實(shí)時時鐘模塊 報警模塊 按鍵控制模塊 XXX:智能溫度報警系統(tǒng)的軟件設(shè)計 8 第三章 仿真電路設(shè)計 9 第三章 仿真電路設(shè)計 最小系統(tǒng)仿真設(shè)計 PIC16F877 簡介 PIC16F877 采用的總線結(jié)構(gòu)是哈弗結(jié)構(gòu),其程序存儲器 Flash 空間大小為 8K*14 位,數(shù)據(jù)存儲器 RAM 有 512 個字節(jié) (00f~1FFh),可以進(jìn)行重復(fù)燒錄程序。其常用的 PDIP40 引腳排列如圖 [5]。最小系統(tǒng)的仿真電路的復(fù)位方式使用的是人工復(fù)位, PIC16F877的工作電壓為 到 。 因此本設(shè)計中的最小系統(tǒng)模塊的仿真電路如下圖 。 LCD1602 液晶顯示器分為兩行顯示,每一行能夠顯示 16個字符圖形,一共能顯示 32個字符。 LCD1602 在設(shè)計中的應(yīng)用 在仿真電路中 LCD1602 液晶顯示器的第 1腳接地,第 2腳接 5V 正電源,第 3 腳空置,第 4 腳、第 5腳和第 6腳分別與 PIC16F877 的 RA RA2 和 RA3 引腳相連。其連接圖如圖 。其內(nèi)部就能完成 A/D 轉(zhuǎn)換,可根據(jù)用戶自己定義轉(zhuǎn)為9 位到 12 位的精度,所以不需要利用 PIC16F877 的 ACD 功能,可直接接收溫度傳感器DS18B20采集轉(zhuǎn)換的數(shù)據(jù),再經(jīng)過程序轉(zhuǎn)為十進(jìn)制數(shù)在 LCD1602液晶顯示器上輸出顯示。 VCC 接入的是寄生電源,其具體的仿真電路設(shè)計如下圖 所示。 對于年 DS1302 時鐘芯片 只能從 00 年到 99 年,存儲年的寄存器只是一個 8位的字節(jié),所以它保存的 BCD 碼只能表示兩位數(shù)。 DS1302 時鐘芯片 除了這些寄存器之外還有其他 5 個寄存器。在設(shè)計仿真電路中為 DS1302 時鐘芯片 供電的主電源和后備電源都使用同一個電源供電,其工作電壓為 到 。實(shí)時時鐘模塊的仿真電路的具體連接如下圖圖 所示。在設(shè)計中采用了 5個按鍵開關(guān)來實(shí)現(xiàn)設(shè)計的控制模塊功能,每個開關(guān)所控制的功能分別是:進(jìn)入 /退出修改功能、選擇所修改參數(shù)功能、加的功能、減的功能和屏幕切換功能。 圖 按鍵控制模塊仿真電路 報警模塊仿真電路 本設(shè)計的報警模塊采用的是蜂鳴器和發(fā)光二極管共同構(gòu)成,當(dāng)系統(tǒng)判斷出溫度傳感器所采集的溫度超過上下限溫度時,蜂鳴器就能發(fā)出嘀嘀地警報聲音,之后發(fā)光二極管發(fā)出閃爍的紅色 [8]。直到溫度降低到警戒線內(nèi),報警信號才會停止。 第三章 仿真電路設(shè)計 13 圖 報警模塊的仿真電路 總體仿真電路 設(shè)計圖 圖 總體仿真電路連接圖 XXX:智能溫度報警系統(tǒng)的軟件設(shè)計 14 第四章 系統(tǒng)軟件設(shè)計 15 第四章 系統(tǒng)軟件設(shè)計 編程前的準(zhǔn)備 在開始編寫代碼之前,我們要先確定編程所需的數(shù)據(jù)類型和各個數(shù)據(jù)類型所占用的字節(jié)長度以及它們的值域是多少。 表 設(shè)計所需的數(shù)據(jù)類型表 數(shù)據(jù)類型 數(shù)據(jù)長度(位 數(shù)) 值域 char 8 128~127 int 16 32768~32767 long int 32 2147483648~2147483647 unsigned char 8 0~255 unsigned int 16 0~65535 unsigned long int 32 0~4294967295 系統(tǒng)主程序設(shè)計 在本設(shè)計的軟件系統(tǒng)主函數(shù)除了對 PIC16F877 單片機(jī)中所要用到的端口,以及 LCD液晶顯示器進(jìn)行初始化外,還包括需要調(diào)用的 8 個相應(yīng)的子程序。 對單片機(jī)中所要用到端口的具體初始化內(nèi)容為:設(shè)置 RA 口全部為普通數(shù)字 IO 端口且 A口的方向為輸出,用于控制液晶顯示器的讀寫功能;設(shè)置 RB 端口為弱上拉功能,用于實(shí)現(xiàn)按鍵控制模塊與單片機(jī)的功能聯(lián)系;定義 RC 口的 RC4 引腳作輸入口,其它作為為輸出口,用于實(shí)現(xiàn)單片機(jī)與溫度采集模塊、實(shí)時時鐘模塊和報警模塊的功能聯(lián)系。 整個軟件系統(tǒng)的主函數(shù)通過如圖 的循環(huán)結(jié)構(gòu),實(shí)現(xiàn)了各個模塊在設(shè)計中的功能。其具體的指令如圖 所示。 因此根據(jù) LCD1602 控制命令, 在主程序的 LCD 初始化語句為: PORTD=1。//LCD寫入控制命令的子程序 PORTD=0x38。 PORTD=0x0c。 PORTD=0x06。 因為 LCD1602 只能顯示 32 個字符,而需要顯示的內(nèi)容又比較多,又要考慮到顯示字符位置的合理性和美觀性,所以液晶顯示的程序內(nèi)容分為兩大部分。 顯示與溫度有關(guān)的內(nèi)容時 , LCD 的顯示格式如下圖圖 所示,其中以 H 開頭的數(shù)字為上限溫度 值 , L 開頭的數(shù)字為 下限溫度值。 調(diào)用 顯 示這 些 內(nèi)容 的子 函 數(shù)為 display_18b20() 和display_Temperature(),程序流程圖分別如圖 和 所示。其調(diào)用子函數(shù)為 display_ds1302(),其程序流程圖如圖 所示。在其可工作的時序內(nèi)編寫程序,就能正確的實(shí)現(xiàn)對 DS18B20 讀數(shù)據(jù)和寫命令,驅(qū)動DS18B20 工作。 圖 DS18B20 復(fù)位時序圖 XXX:智能溫度報警系統(tǒng)的軟件設(shè)計 20 圖 DS18B20 寫 0 和寫 1時序圖 圖 DS18B20 讀 0和讀 1 時序圖 因此,在本設(shè)計中的對 DS18B20 的復(fù)位程序具體如下,而對 DS18B20 的讀 寫程序具體內(nèi)容見附錄源程序的 read_byte()和 write_byte()函數(shù)。 while(presence) { DQ_HIGH()。 //稍作延時 DQ_LOW() 。 //延時 773us DQ_HIGH()。 //延時 41us if(DQ==0) { presence=0。 //延時 496us DQ_HIGH()。 } 第四章 系統(tǒng)軟件設(shè)計 21 else presence=0。其存儲格式如下圖 所示,其中高 8位的前 5位即 bit15 到 bit10 表 示符號位。溫度大于 0時,只要將數(shù)值乘于 就能得到實(shí)際的溫度值 [9]。 圖 溫度值存儲格式 下表 是 DS18B20 的部分溫度值和與之對應(yīng)的數(shù)字輸出內(nèi)容。 表 溫度值和與之對應(yīng)的數(shù)字 溫度( ℃ ) 輸出數(shù)據(jù) (二進(jìn)制 ) 輸出數(shù)據(jù) (十六進(jìn)制 ) 125 0000 0111 1101 0000 0X07D0 85 0000 0101 0101 0000 0X0550 0000 0001 1001 0001 0X0191 0000 0000 1010 0010 0X00A2 0000 0000 0000 1000 0X0008 0 0000 0000 0000 0000 0X0000 1111 1111 1111 1000 0XFFF8 1111 1111 0101 1110 0XFF5E 1111 1110 0110 1111 0XFE6F 55 1111 1100 1001 0000 0XFC90 溫度采集和轉(zhuǎn)換程序的程序流程圖如圖 ,其中 flag 用于標(biāo)志溫度值的正負(fù)符號在顯示溫度值時要用到。 XXX:智能溫度報警系統(tǒng)的軟件設(shè)計 22 圖 溫度采集和轉(zhuǎn)換程序的程序流程圖 實(shí)時時鐘程序設(shè)計 編寫時鐘程序要先了解 DS1302 的控制字 [10]。圖中的第0 位為 1 表示讀操作,否則表示寫操作,第 6位表示要存取哪里的數(shù)據(jù)。單片機(jī)向 DS1302 讀 /寫一個字節(jié)數(shù)據(jù)的時序圖如圖 ,圖中的 CE 即 RST。 XXX:智能溫度報警系統(tǒng)的軟件設(shè)計 24 圖 DS1302 讀數(shù)據(jù)程序流程圖 圖 DS1302 寫數(shù)據(jù)程序流程圖 第四章 系統(tǒng)軟件設(shè)計 25 完成了向 DS1302 讀寫數(shù)據(jù)的程序,在設(shè)計中還加入了 DS1302 的初始化程序,用于初始化需要現(xiàn)實(shí)的日歷和時鐘的數(shù)據(jù)。
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1