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

正文內(nèi)容

基于單片機的多點溫度測試系統(tǒng)_畢業(yè)設(shè)計論文-預覽頁

2025-08-09 19:42 上一頁面

下一頁面
 

【正文】 ......................................................................................................................26 1 課題背景 隨著現(xiàn)代科技的發(fā)展,溫度成為了各行各業(yè)最普遍而重要的測量和控制參數(shù)。以單片機為核心,運用溫度傳感器可完成對溫度采集,并進行相應(yīng)的處理。 2 總的來說溫度的測量發(fā)展可分為:繼續(xù)對傳統(tǒng)的溫度測量元件的不斷完善;加強新原理、新材料、新加工工藝的開發(fā);向智能化、集成化、適用化方向發(fā)展等。 本設(shè)計的內(nèi)容及任務(wù) 設(shè)計內(nèi)容 要求利用單片機、傳感器及其他所需器件設(shè)計一個多點溫度測試系統(tǒng),可以同時對多個點進行溫度的檢測和顯示 。 3 系統(tǒng)概述 單片機系統(tǒng)的設(shè)計,關(guān)鍵是系統(tǒng)內(nèi)信號傳輸?shù)膯栴}。 系統(tǒng)工作原理 本系統(tǒng)利用 4個溫度傳感器 DS18B20把所測的溫度發(fā) 送到 AT89C52,通過單片機的處理控制顯示單元進行顯示,并通過按鍵系統(tǒng)進行溫度上下限設(shè)定,對各點溫度進行聲光測控報警。隨著微電子設(shè)計技術(shù)及計算機技術(shù)的不斷發(fā)展,單片機產(chǎn)品和技術(shù)日新月異。 AT89C52 引腳圖如圖 22所示。 DS18B20 是美國 MAXIM 半導體公司的全資子公司 Dallas 生產(chǎn)的一種單數(shù)據(jù)總線數(shù)字輸出型全集成式智能 溫度傳感器。 DS18B20 的工作步驟可分為三步: 第一步 初始化 DS18B20,發(fā)送“初始化脈沖”信號。否則, DS18B20 不能做出正常響應(yīng)。 跳過 ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS18B20 發(fā)溫度轉(zhuǎn)換溫度,適用單片機工作。 寫寄存器 4EH 用于使主機向 DS18B20 片內(nèi)暫存器寫入 3 個字節(jié)的數(shù)據(jù),寫入過程必須從低字節(jié)向高字節(jié)順序進行。 DS18B20 主要功能參數(shù)如下: 1) 測溫范圍: 55~ +125℃;在 10~ +85℃范圍內(nèi),測溫精度為177。 3) 測溫讀數(shù)分辨力: 9 位轉(zhuǎn)換精度時為 ℃; 10 位轉(zhuǎn)換精度時為℃; 11 位轉(zhuǎn)換精度時為 ℃; 12位轉(zhuǎn)換精度時為 ℃。 顯示器的選擇 由于本系統(tǒng)要同時對采集的 四路溫度進行顯示,如選用數(shù)碼管顯示,所需的數(shù)碼管較多,而使用液晶在顯示器可以滿足同時對多路溫度進行顯示的需求。 其外形如圖 24所示。 表 22 LCD1602 操作指令 序號 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清屏 0 0 0 0 0 0 0 0 0 1 2 光標歸為 0 0 0 0 0 0 0 0 1 * 3 輸入模式設(shè)置 0 0 0 0 0 0 0 1 I/D S 4 顯示與不顯示設(shè)置 0 0 0 0 0 0 1 D C B 5 光標或屏幕內(nèi)容移位選擇 0 0 0 0 0 1 S/C R/L * * 6 功能設(shè)置 0 0 0 0 1 DL N F * * 7 CGRAM 地址設(shè)置 0 0 0 1 CGRAM 地址 8 DDRAM 地址設(shè)置 0 0 1 DDRAM 地址 9 讀忙標志和計數(shù)器 地址設(shè)置 0 1 BF 計數(shù)器地址 10 寫 DDRAM 或 CGROM 1 0 要寫的數(shù)據(jù) 11 讀 DDRAM 或 CGROM 1 1 讀出的數(shù)據(jù) 命令說明: 命令 1:清屏( DDRAM 全寫空格)。 命令 3: 光標和顯示模式設(shè)置 。 D:顯示的開與關(guān),為 1 表示開顯示,為 0 表示關(guān)顯示。 S/C:為 1 時移動屏幕內(nèi)容,為 0時移動光標。 N:為 0 時單行顯示,為 1 時雙行顯示。 命令 9:讀忙 標志和計數(shù)器地址。 命令 11:讀 DDRAM 或 CGROM。 11 單片機最小系統(tǒng)的設(shè)計 單片機最小系統(tǒng),是組成一個獨立工作的單片機系統(tǒng)是,芯片和連接各芯片之間的總線少的不能再少。單片機上電后首先從復位操作開始。復位電路如圖 32 所示,按鍵復位支路由按鍵 RESET,電阻 R1, R2 組成,電路的參數(shù)為: R1=470Ω,R2=200Ω。 四片 DS18B20 采用外接獨立電源供電,這使 DS18B20 的工作穩(wěn)定,并使測控系統(tǒng)可以隨時偵測 DS18B20 的工作狀態(tài),做出適時的指令操作。 14 圖 34 LCD1602 接口電路 鍵盤電路 控制電路是一個單片機系統(tǒng)必不可少組成部分,本系統(tǒng)在運行的過程中會根據(jù)外部環(huán)境的變化對溫度報警的上下限進行設(shè)置,故把單片機的 ~ 口作為控制按鈕的輸入端,它們在運行中對應(yīng)的功能分別為設(shè)置溫度報警上限、設(shè)置溫度報警下限、溫度值加 溫度值減 1 和退出。聲光報警電路如圖 36 所示,通過 口來控制蜂鳴器報警,通過 ~ 來控制四只不同顏色的發(fā)光二極管,四只發(fā)光二極管對應(yīng)四只 DS18B20 溫度傳感器,單片機復位后 P1口輸出高電平,四只二極管被點亮,當某只溫度傳感器超出溫度范圍時,相應(yīng)的控制端口置0,熄滅發(fā)光二級管進行報警提示,同時蜂鳴器會響起。 主程序流程圖 程序處理是整個系統(tǒng)的關(guān)鍵,即簡潔的硬件結(jié)構(gòu) 是靠復雜的軟件來支持的。 17 開 始L C D 初 始 化 顯 示讀 取 并 顯 示 四 路 溫 度按 鍵 處 理 子 程 序溫 度 報 警 子 程 序退 出 溫 度 上 下 限 設(shè)定 , 顯 示 四 路 溫 度設(shè) 定 溫 度 上 下 限 子 程 序 圖 41 主程序流程圖 溫度讀取轉(zhuǎn)換模塊 四路溫度采集傳感器分別接在單片機的 ~ 口,可以從四個口讀取溫度,在讀取溫度時可以跳過讀 ROM 命令, DS18B20 操作命令可以分為四步:復位命令、跳過讀 ROM 命令、讀 RAM 命令和數(shù)據(jù)交換命令。 2) 寫時隙 寫“ 0”時,主機把 DQ 單總線直接下拉為點電平,并保持 60μs 以上(且小于 120μs),完成寫 0 時隙。且在兩次獨立的讀時隙之間,至少需要 1μs 的恢復時間。 LCD 顯示模塊流程圖如圖 43所示。 PROTEUS 軟件最大的特色之處就是可以仿真包括外圍接口模數(shù)混合電路在內(nèi)的微控制器系統(tǒng),是一款不可多得的優(yōu)秀單片機系統(tǒng)仿真平臺。由于整個系統(tǒng)使用的信號全部為數(shù)字量,可以直接將底線接在電源的負極,而不用去考慮模擬接地。 24 參考文獻 [1] 李全利 《單片機原理及接口技術(shù)》,北京:高等教育出版社, 20xx 年,第二版,第19~ 29 頁。 [5] 蘇震 《現(xiàn)代傳感技術(shù)》,北京:電子工業(yè)出版社 ,20xx 年 ,第 366~ 397 頁。每當一項進度遇到困難時,王老師都細心指導,在她的幫助下,我學會了查閱相關(guān)論文資料,掌握相關(guān)芯片的使用方法,最終完成畢業(yè)設(shè)計的任務(wù)要求。 //二號 ds18b20 與單片機連接口 sbit DQ2=P1^2。 //二號 ds18b20 報警顯示接口 sbit D3=P2^3。 sbit EN=P2^7。 sbit key3=P3^6。 uchar code str4[]={set low }。 uchar data disdata3[5]。 //溫度設(shè)定初始值 uint flag0,flag1,flag2,flag3,flag4。 //溫度 正負標志 /*******************lcd1602 程序 **********************/ void delay1ms(uint ms) //延時 1 毫秒 { unsigned int i,j。j110。 P0=。 EN=0。 delay1ms(5)。 } void lcd_init() //LCD 初始化設(shè)置 { 28 wr_(0x38)。 //顯示清 0,數(shù)據(jù)指針清 0 } void display(uchar *p) //顯示 { while(*p!=39。 delay1ms(5)。 wr_(0x80+0x0A)。 wr_(0x80+0x4A)。 //DQ 復位 delay_18B20(4)。 //拉高 delay_18B20(40)。i0。 //給脈沖信號 if(DQ) dat|=0x80。 for (i=8。0x01。 } } read_temp() //1 號讀取溫度值并轉(zhuǎn)換 { uchar a,b。 //啟動溫度轉(zhuǎn)換 ds1820rst()。 b=ds1820rd()。 if(tvalue0x07ff) tflag=0。 //溫度值擴大 10 倍,精確到 1 位小數(shù) return(tvalue)。 //十位數(shù) disdata[2]=tvalue%100/10+0x30。 //負溫度顯示負號 : if(disdata[0]==0x30) { disdata[0]=0x20。 //顯示符號位 wr_(0x80+0x01)。 //顯示十位 wr_(0x80+0x03)。 //顯示小數(shù)點 31 wr_(0x80+0x05)。 DQ1 = 1。 //精確延時大于 480us DQ1 = 1。 for (i=8。 DQ1 = 1。 } void ds1820wr1(uchar wdata1) //寫數(shù)據(jù) { uchar i=0。 DQ1 = wdata1amp。 32 wdata1=1。 //跳過讀序列號 ds1820wr1(0x44)。 //讀取溫度 a1=ds1820rd1()。 tvalue1=tvalue1|a1。 } tvalue1=tvalue1*()。 //百位數(shù) disdata1[1]=tvalue1%1000/100+0x30。 //正溫度不顯示符號 else flagdat1=0x2d。 wr_dat(flagdat1)。 wr_dat(disdata1[1])。 wr_dat(0x2e)。 } void ds1820rst2() //ds1820 復位 { uchar x=0。 //DQ 拉低 delay_18B202(100)。 uchar dat2 = 0。 //給脈沖信號 dat2=1。 } return(dat2)。 i) { DQ2 = 0。 DQ2 = 1。 ds1820wr2(0xcc)。 //跳過讀序列號 ds1820wr2(0xbe)。 tvalue2=8。 tflag2=1。 disdata2[0]=tvalue2/1000+0x30。 //小數(shù)位 35 if(tflag2==0) flagdat2=0x20。 //如果百位為 0,十位為 0 也不顯示 } wr_(0x80+0x40)。 //顯示百位 wr_(0x80+0x42)。 //顯示個位 wr_(0x80+0x44)。 //顯示小數(shù)位 } /*******************四號 DS18B20 程序 **************************/ void delay_18B203(unsigned int i) //延時 1 微秒 { while(i)。 //延時 DQ3 = 0。 } uchar ds1820rd3() //讀數(shù)據(jù) { uchar i=0。i) { 36 DQ3 = 0。 delay_18B203(10)。 i0。 delay_18B203(10)。 ds1820rst3()。 ds1820wr3(0xcc)。 tvalue3=b3。 else { tvalue3=~tvalue3+1。 37 } /*******************************************************************/ void ds1820disp3() //4 號溫度值顯示 { uchar flagdat3。 //個位數(shù) disdata3[3]=tvalue3%10+0x
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1