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

正文內容

基于單片機的數(shù)字溫度計設計畢業(yè)設計-wenkub

2023-03-09 10:22:04 本頁面
 

【正文】 較經(jīng)濟的溫度控制系統(tǒng)。 AT89C51 是一個低電壓,高性能 CMOS 8 位單片機,片內含 4k bytes 的可反復擦寫的 Flash 只讀程序存儲器和 128 bytes 的隨機存取數(shù)據(jù)存儲器( RAM),器件采用 ATMEL公司的高密度、非易失性存儲技術生產,兼容標準 MCS51 指令系統(tǒng),片內置通用 8 位中央處理器和 Flash 存儲單元,內置功能強大的微型計算機的 AT89C51 提供了高性價比的解決方案。 VCC:供電電壓。 P0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù) /地址的第八位。在 FLASH 編程和校驗時, P1 口作為第八位地址接收 。 P2 口當用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進行存取時, P2 口輸出地址的高八位。當 P3口寫入 “1”后,它們被內部上拉為高電平,并用作輸入。當振蕩器復位器件時,要保持 RST 腳兩個機器周期的高電平時間。因此它可用作對外部輸出的脈沖或用于定時目的。另外,該引腳被略微拉高。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的 /PSEN 信號將不出現(xiàn)。 XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。5%,即 ~ 四川信息職業(yè)技術學院畢業(yè)設計說明書 第 9 頁 。 RST 端的外部復位電路有兩種操作方式:上電自動復位和按鍵手動復位。 單 片機的時鐘信號用來提供單片機片內各種微操作的時間基準,時鐘信號通常用兩種電路形式得到 :內部振蕩和外部振蕩。矩陣式鍵盤是一種常見的輸入裝置,在日常生活中,矩陣式鍵盤在計數(shù)機 、電話、手機、微波爐等各式電子產品上已經(jīng)被廣泛應用。所以本次設計采用的是矩陣式鍵盤,確定矩陣式鍵盤上的何鍵被按下可以采用行掃描法。 判斷閉合鍵所在位置: 在確認有鍵按下后,即可進入確定具體閉合鍵的過程。 圖 34 矩陣鍵盤 四川信息職業(yè)技術學院畢業(yè)設計說明書 第 11 頁 顯示電路 在單片機應用系統(tǒng)中,對于系統(tǒng)的運行狀 態(tài)和運行結果,通常都需要直觀交互顯示出來。 點陣字符型 LCD 的接口特性 點陣字符型 LCD 是專門用于顯示數(shù)字,字母,圖形符號及少量自定義字號的液晶顯示器。 點陣型液晶顯示模塊的基本特點 ( 1)液晶顯示屏是以若干 5x8 或 5x11 點陣塊組成的顯示字符群。 ( 3)內部具有字符發(fā)生器 ROM,可顯示 192 種字符。 ( 7)模塊結構緊湊,輕巧,裝備容易。 表 32 HD47780 的引腳功能表 引腳 符號 狀態(tài) 功能 1 Vss 電源地 2 VDD 電源正,接 +5V 3 VL 液晶顯示偏壓 4 RS 輸入 寄存器選擇:為 1時選擇數(shù)據(jù)寄存器;為 0 時選擇指令寄存器 5 RW 輸入 R/W 為讀寫選擇線:為 1 時進行讀操作,為 0 時進行寫操作 6 E 輸入 使能信號 7 DB0 三態(tài) 數(shù)據(jù)總線( LSB) 8 DB1 三態(tài) 數(shù)據(jù)總線 9 DB2 三態(tài) 數(shù)據(jù)總線 10 DB3 三態(tài) 數(shù)據(jù)總線 11 DB4 三態(tài) 數(shù)據(jù)總線 12 DB5 三態(tài) 數(shù)據(jù)總線 13 DB6 三態(tài) 數(shù)據(jù)總線 14 DB7 三態(tài) 數(shù)據(jù)總線 15 A 背光源正極 16 K 背光源負極 控制器 HD44780 的信號功能控制如表 33 33 控制器 HD44780 的信號功能 RS R/W E 功能 0 0 下降沿 寫指令代碼 0 1 高電平 讀忙標志和 AC 值 1 0 下降沿 寫數(shù)據(jù) 四川信息職業(yè)技術學院畢業(yè)設計說明書 第 13 頁 1 1 高電平 讀數(shù)據(jù) 圖 35 LCD 顯示電路 測溫電路 DS18B20 單線數(shù)字溫度傳感器 由 DALLAS 半導體公司生產的 DS18B20 型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領域的溫度測量及控制儀器、測控系統(tǒng)和大型設備中。它的輸出腳 I/O 直接與單片機相連,并接一個上拉電阻,傳感器采用外部電源供電。 DS18B20 內部結構 DS18B20 內部結構主要由四部分組成: 64 位光刻 ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL,高速暫存器。 圖 36 DS18B20 引腳分布圖 表 34 DS18B20 引腳功能 序號 寄存器名稱 作 用 序 號 寄存器名稱 0 溫度低字節(jié) 以 16 位補碼形式存放 5 保留字節(jié) 2 1 溫度高字節(jié) 以 16 位補碼形式存放 6 計數(shù)器余值 2 TH/用戶字節(jié) 1 存放溫度上限 7 計數(shù)器 /℃ 四川信息職業(yè)技術學院畢業(yè)設計說明書 第 15 頁 3 HL/用戶字節(jié) 2 存放溫度下限 8 CRC 表 35 DS18B20 信號功能 以 12位轉化為例說明溫度高低字節(jié)存放形式及計算: 12位轉化后得到的 12位數(shù)據(jù),存儲在 DS18B20 的兩個高低兩個 8 位的 RAM 中,二進制中的前面 5 位是符號位。此次設計選擇的是前面一種控制。 指 令 約定代碼 操 作 說 明 溫度轉換 44H 啟動 DS18B20 進行溫度轉換 讀暫存器 BEH 讀暫存器 9 個字節(jié)內容 寫暫存器 4EH 將數(shù)據(jù)寫入暫存器的 TH、 TL 字節(jié) 復制暫存器 48H 把暫存器的 TH、 TL 字節(jié)寫到 E2RAM 中 重新調 E2RAM B8H 把 E2RAM 中的 TH、 TL 字節(jié) 寫到暫存器 TH、 TL 字節(jié) 讀電源供電方式 B4H 啟動 DS18B20 發(fā)送電源供電方式的信號給主 CPU R2 VCC DQ GND +5V GND 四川信息職業(yè)技術學院畢業(yè)設計說明書 第 16 頁 圖 37 測溫電路 整機工作原理 當接通電源以后,溫度傳感器正常工作,溫度傳感器將根據(jù)被測溫度的不同來采集不同的數(shù)據(jù),然后將所采集到的數(shù)據(jù)傳送到比較器到中,然后由比較器將采集到的數(shù)據(jù)轉變成高低電平,在送入單片機,單片機通過控制各個引腳電平的高低來來控制溫度的顯示輸出,當溫度顯示 TH 為 110176。時,將自動返回初始值。各執(zhí)行模塊規(guī)劃好以后,就可以規(guī)劃監(jiān)控軟件了。 while(1) { pt=ReadTemperature()。 LCD_Initial()。 //看有無鍵按下 if(key_ok) //如有鍵按下則看到底哪個鍵按下 { key_value=key_scan()。 //單片機將 DQ 拉低 delay_18B20(80)。 delay_18B20(20)。i0。 // 給脈沖信號 if(DQ) dat|=0x80。 WriteOneChar(0xCC)。 //寫入想設定的溫度報警下限 WriteOneChar(RS)。 //8 位數(shù)據(jù)端口 LCD_Write(LCD_COMMAND,0x38)。 //AC 遞增 , 畫面不動 } //*********************************************** void GotoXY(unsigned char x, unsigned char y) { if(y==0) LCD_Write(LCD_COMMAND,0x80|x)。) { LCD_Write(LCD_DATA,*str)。 _nop_()。0x80) { LcdEn=0。 _nop_()。 LcdRw=0。 LcdEn=1。 LCD_Wait()。 NO YES NO YES 圖 45 矩陣鍵盤流程圖 鍵盤掃描函數(shù) sfr key_port=0x90。 x++。 temp=P1。 unsigned char x_scan=0xfe,y_scan=0xef。 delay(200)。i++) { key_port=x_scan。 temp=tempamp。 if(temp==y) { while(key_ok!=0) //等待按鍵松開 { scan_full()。 y_scan=r_left(y_scan)。 } } 四川信息職業(yè)技術學院畢業(yè)設計說明書 (論文 ) 第 29 頁 第 5 章 仿真與調試 仿真與調試 此設計的電路在 Proteus 軟件中進行仿真, 運行 Proteus 的 ISIS 程序后,進入該仿真軟件的主界面。 ( 2)建立工程文件。使用菜單或者單擊工具欄的新建文件按鈕,出現(xiàn)文本便捷窗口,在該窗口中輸入新編制的源程序并保存該文件。當今科技發(fā)展迅速,單片機嵌入式開發(fā)有著光明的前景。但是,在實際的編程以及調試程序過程中,我發(fā)現(xiàn)自己應該學的太多太多。編程的過程中,雖然不乏辛苦,但更多的是程序調試成功后的喜悅。 } /**********ds18b20 初始化函數(shù) **********************/ void Init_DS18B20(void) { unsigned char x=0。 //拉高總線 delay_18B20(14)。 unsigned char dat = 0。 //給脈沖信號 dat=1。 } return(dat)。 i) { DQ = 0。 DQ = 1。 //跳過讀序號列號的操作 WriteOneChar(0x4E)。 //寫配置寄存器 ,格式為 0 R1 R0 1,1 1 1 1 //R1R0=00 分辨率婁 9 位 ,R1R0=11 分辨率為 12 位 } /**************讀取 ds18b20 當前溫度 ************/ unsigned char *ReadTemperature(void) { unsigned char tt[2]。 // 啟動溫度轉換 delay_18B20(70)。 //讀取溫度寄存器等(共可讀 9 個寄存器) 前兩個就是溫度 //delay_18B20(70)。 } //include //用 AT89C51 時就用這個頭文件 include //用華邦 W78E58B 時必須用這個頭文件 //include //include //include //include //include include //測溫頭文件 include //液晶顯示頭文件 include //鍵盤掃描頭文件 四川信息職業(yè)技術學院畢業(yè)設計說明書 (論文 ) 第 35 頁 sbit alarm=P2^6。 //加 1 和減 1 標志 bit alarm_up_flag,alarm_down_flag。 //用戶標定溫度 unsigned char TH=110,TL=20,RS=0x3f。}。 //顯示溫度上下限 ,上電時顯示 TH:+ 00 TL:+ 00C unsigned char code dotcode[4]={0,25,50,75}。 } else TempBuffer1[11]=0x2b。 //分離出十位 TempBuffer1[14]=(temper%100)%10+0x30。 } else TempBuffer0[3]=0x2b。 //0x2B 為 +的 ASCII 碼 TempBuffer0[4]=TH/100+0x30。 //分離出個位 TempBuffer0[12]=TL/100+0x30。 //分離出個位 } /**********溫度轉換為 LCD 顯示數(shù)據(jù) **************** *功能 :將兩個字節(jié)的溫度值 ,分離出符號位 ,整數(shù)及小數(shù) 并將它們轉化為 ACSII 碼 ,送到液晶顯示緩沖區(qū) ************************************************/ void temper_
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1