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

正文內(nèi)容

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

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

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