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

正文內容

基于單片機數(shù)字溫度計設計_畢業(yè)設計(論文)-預覽頁

2025-08-09 21:12 上一頁面

下一頁面
 

【正文】 .............................................. 23 致謝 ........................................................................................................................................ 26 中國石油大學勝利學院本科畢業(yè)設計 (論文 ) 附錄 ........................................................................................................................................ 27 附錄 A 程序清單 ......................................................................................................................................................... 27 附錄 B 系統(tǒng)總設計圖 ................................................................................................................................................... 37 中國石油大學勝利學院本科畢業(yè)設計 (論文 ) 6 前 言 隨著新技術的不斷開發(fā)與應用,近年來單片機發(fā)展十分迅速,一個以微機應用為主的新技術革命浪潮正在蓬勃興起,單片機的應用已經滲透到電力、 冶金、化工、建材、機械、食品、石油 等各個行業(yè)。因此對數(shù)據(jù)采集的精度和采用的控制方法也不相同。這些控制技術大大的提高了控制精度,不但使控制變得簡便,而且使產品的質量更好,降低了產品的成本,提高了生產效率。單片機作為主控制器,數(shù)字溫度傳感器 DS18B20 作為測溫元件,傳感器 DS18B20 可以讀取被測量溫度值,進行轉換,從而用 4位共陰極 LED 數(shù)碼管來顯示轉換后的溫度值。 4. 可以設定溫度的上下限報警功能。 ALE/PROG:地址鎖存允許信號 PSEN:外部存儲器讀選通信號 EA/VPP:程序存儲器的內外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內部程序存儲器讀指令。 DS18B20 測溫 原理 DS18B20 的測溫原理如圖 12所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小 , 用于產生固定頻率的脈沖信號送給減法計數(shù)器 1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產生的信號作為減法計數(shù)器 2 的脈沖輸入,圖中還隱含著計數(shù)門,當計數(shù)門打開時, DS18B20 就對低溫度系數(shù)振蕩器產生的時鐘脈沖 進行計數(shù),進而完成溫度測量 。 中國石油大學勝利學院本科畢業(yè)設計 (論文 ) 10 圖 12 DS18B20 測溫原理圖 DS18B20 的工作時 序 DS18B20的 工作協(xié)議流程是:初始化→ ROM操作指令→存儲器操作指令→數(shù)據(jù)傳輸。在 15us 之內將所需寫的位送到數(shù)據(jù)線上,在 15us 到 60us 之間對數(shù)據(jù)線進行采樣,如果采樣為高電平,就寫 1,如果為低電平, 就 寫 0。每個讀周期最短的持續(xù)期為 60us,各個讀周期之間也必須有 1us 以上的高電平恢復期。 圖 15 按鍵模塊 報警電路 設計 三極管驅動蜂鳴器:報警電路如圖 16所示 , 三極管 Q5 來驅動喇叭 LS1。 主 程序流程圖 主程序的主要功能是負責溫度的實時顯示、讀出并處理 DS18B20 測量的當前溫度值,溫度測量每 1s 進行一次。溫度轉換命令子程序流程圖如圖 23 所示: Y 發(fā) DS18B20 復位命令 發(fā)跳過 ROM 命令 發(fā)讀取溫度命令 讀取操作, CRC 校驗 9 字節(jié)完? CRC校驗正?確? 移 入溫度暫存器 結束 N N Y 中國石油大學勝利學院本科畢業(yè)設計 (論文 ) 16 發(fā) DS18B20 復位命令 發(fā)跳過 ROM 命令 發(fā)溫度轉換開始命令 結束 圖 23 溫度轉換命令子程序流程圖 計算溫度子程 序 計算溫度子 程序流程圖如圖 24 所示。如 圖 27 所示 N N Y Y N Y 圖 27 按鍵掃描子程序流程圖 Keil C51 編程軟件 Keil C51 簡介 Keil C51 是美國 Keil Software 公司出品的 51 系列兼容單片機 C 語言軟件開發(fā)系統(tǒng),與匯編相比, C 語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。 Keil 提供包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,由以下幾部分組成: μVision IDE 集成開發(fā)環(huán)境 C51 編譯器、 A51 匯編器、 LIB51庫管理器、 BL51 連接 /定位器、 OH51 目標文件生成器以及 實時操作系統(tǒng) 。首先選擇菜單 File→ New? ,在源程序編輯器中輸入?yún)R編語言或 C 語言源程序 (或選擇 File→ Open? ,直接打開已用其它編輯器編輯好的源程序文檔 )并保存,注意保存時必須在文件名后加上擴展名 .asm(.a51)或 .c;然后選擇菜單 Project→ New Project,建立新工程并保存 (保存時無需加擴展名,也可加上擴展名 .uv2);工程保存后會立即彈出一個設備選擇對話框 ,選擇 CPU 后點確定返回主界面。工程設置后按 F7 鍵 (或點擊編譯工具欄上相應圖標 )進行編譯 /匯編、連接以及產生目標文件。 對于一些必須滿足一定條件 (如按鍵被按下等 )才能被執(zhí)行的、難以用單步執(zhí)行方式進行調試的程序行,可采用斷點設置的方法處理 。是目前世界上唯一將電路仿真軟件、 PCB 設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持805 HC1 PIC10/12/16/18/24/30/DsPIC3 AVR、 ARM、 8086和 MSP430等 。如示波器、邏輯分析儀、信號發(fā)生器等,調試非常方便。因此在仿真和程序調試時,關心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內容的改變 ,而是從工程的角度直接看程序運行和電路工作的過程和結果 。在工作前,要設 置view 菜單下的捕捉對齊和 system 下的顏色、圖形界面大小等項目。 Protues 測溫仿真 通過仿真軟件驗證該原理圖的可行性。 圖 31 Protues 仿真圖 圖 32 DS18B20 仿真圖 中國石油大學勝利學院本科畢業(yè)設計 (論文 ) 22 當按下 K1 鍵一次時,進入溫度報警上線調節(jié),此時顯示軟件設置的溫度報警上線,按 K2 或 K3 分別對報警溫度進行加一或減一。 如圖 33是第一次按下 K1 鍵顯示的上限溫度報警值,此時 按 K2 或 K3 鍵分別對上限溫度報警值進行加一或減一;圖 34 是第二次按下 K1鍵顯示的下限溫度報警值,此時按 K2 或 K3鍵分別對下限溫度報警值進行加一或減一。另外, 0~ 100℃的測量范圍使得該溫度計完全適合一般的應用場合,其低壓供電特性可以做成電池供電的手持電子溫度計。 硬件方面 本設計采用的是 AT89C51 單片機為核心的數(shù)字溫度計,包含了利用溫 度傳感器DS18B20 的測溫電路、外接鍵盤、顯示電路、繼報警電路、復位電路和晶振電路。C 語言設計了溫度的讀、寫程序,并利用程序實時 對顯示電路進行更新操作。定義變量時,盡量定義局部變量,在字符型變量能達到要求的情況下就不用定義成整形變量了,以節(jié)省內存空間。另外,如果對按鍵進行釋放判斷的話就能解決長時間按鍵導致按鍵重復響應的問題。更深入了解并掌握了傳感器的基本理論知識, 并在單片機實際電路開發(fā)和常用編程設計思路掌握方面有了一定程度的掌握,盡管本次設計還不是很完善,但這為我以后的設計之路積累了寶貴的經驗。 //數(shù)碼管 1 sbit L2=P2^1。 //蜂鳴器 sbit set=P1^4。 //顯示當前溫度和設置溫度的標志位為 0 時顯示當前溫度 uint h。 uchar sign。 uchar code ditab[16]={0x00,0x01,0x01,0x02, //溫度小數(shù)部分用查表法 0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07, 中國石油大學勝利學院本科畢業(yè)設計 (論文 ) 28 0x08,0x08,0x09,0x09}。 //讀出溫度暫放 uchar data display[5]={0x00,0x00,0x00,0x00,0x00}。 } void scan() { int j。L4=0。L3=0。L2=0。L1=0。w3=0。 while(presence) { while(presence) { DQ=1。 delay(50)。 //presence=0 復位成功 ,繼續(xù)下一步 } delay(45)。 for(i=8。 中國石油大學勝利學院本科畢業(yè)設計 (論文 ) 30 _nop_()。 _nop_()。 //最低位移出 delay(6)。 } uchar read_byte(void) //DS18B20 讀 1 字節(jié)函數(shù) //從總線上取 1 個字節(jié) { uchar i。i) { DQ=1。 DQ=0。 _nop_()。 _nop_()。 //延時 66 us } DQ=1。 write_byte(0xcc)。 write_byte(0xcc)。 //讀溫度值的高字節(jié) temp=temp_data[1]。 return temp。} // 負溫度求補碼 ,標志位置 1 display[4]=temamp。 // 取中間八位 ,即整數(shù)部分的值 display[3]=display[4]/100。 //個位數(shù)據(jù) r=display[1]+display[2]*10+display[3]*100。} //負溫度時最高位顯示 } void xianshi(int horl) //設置溫度顯示轉換 { int n=0。 display[3]=display[3]amp。 display[0]=0。 //負溫度時最高位顯示 } } void keyscan() //按鍵查詢程序 { int temp1。 } if(temp1==1) { xianshi(high)。 } if(dec==0) { while(!dec) scan()。 low+=1。 } if(temp1=3) { temp1=0。 } } void main() //主函數(shù) { dm=0x00。 中國石油大學勝利學院本科畢業(yè)設計 (論文 ) 36 L1=0。 } ow_reset()。h100。 sc
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1