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

正文內(nèi)容

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

2025-03-30 10:22 上一頁面

下一頁面
 

【正文】 種,本系統(tǒng)設(shè)計采用上電復(fù)位,如圖 23 所示。本系統(tǒng)設(shè)計采用內(nèi)部振蕩方式,如圖 24 所示。在鍵盤中按鍵較多時,為了減少 I/O 口的占用,通常將按鍵排列成矩陣形式。 判斷鍵盤中有無鍵按下: 將全部行線置低電平,然后檢測列 線的狀態(tài)。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。單片機應(yīng)用系統(tǒng)中最常用的顯示器有 LED 和 LCD 兩種。這類顯示器把 LCD 控制器,點陣驅(qū)動器,字符存儲器,顯示體及少 量的組容元件等集成一個液晶顯示模塊,鑒于字符型液晶顯示模塊目前在國際上已經(jīng)規(guī)范化,其電特性及接口特性是統(tǒng)一的。每個點陣塊為一個字符位,字符間距和行距都為一個點的寬度。 ( 4)具有 64 字節(jié)的自定義字符 RAM,可以定義 8 個 5x8 點陣字符或 4 個 5x11 點陣字符。 ( 8)單 +5V電源供電。它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點。傳感器控制程序是按照 DS18B20的通信協(xié)議編制。 DS18B20 的管腳排列如圖 3- 5 所示。如果測得的溫度大于 0,這 5 位為 0,只要將測到的數(shù)值乘于 即可得到實際溫度;如果溫度小于 0,這 5 位為 1,測到的數(shù)值需要取反加 1 再乘于 才能得到實際溫度。表 3- 2 DS18B20 有六條控制命令 CPU對 DS18B20 的訪問流程是:先對 DS18B20 初始化,再進行 ROM 操作命令,最后才能對存儲器操作,數(shù)據(jù)操作。C, TL為 —20176。 整機電路圖如圖 38所示 p 3 . 7P3.7+ 5 VP 3 . 7G NDp 1 . 0p 1 . 1p 1 . 2p 1 . 3p 1 . 4p 1 . 5p 1 . 6p 1 . 7p 1 . 2p 1 . 3p 1 . 1p 1 . 0p 1 . 4p 1 . 5p 1 . 6p 1 . 7X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .0 /T 21P 1 .1 /T 2 E X2P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1AT89C52+ 5 V234567891R P 11 0 K+5VD714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1L M 0 1 6 LDQ2V C C3G ND1U3DS 1 8 B 2 0+ 5 VR24 .7 kC13 0 pC23 0 pX1CR Y S T A LC31 0 u FR11 0 kG NDVCC圖 38整機電路圖 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計說明書 (論文 ) 第 17 頁 第 4 章 軟件設(shè)計 整個系統(tǒng)的功能是由硬件電路配合軟件來實現(xiàn)的,當(dāng)硬件基本定型的時候軟件也基本定下拉了,從軟件的功能不同,可以分為兩的類:一是主程序,它是整個軟件的核心,專門用來協(xié)調(diào)各個執(zhí)行模塊和操作者的聯(lián)系。首先要根據(jù)系統(tǒng)的總體功能選 擇一種最合適的主程序結(jié)構(gòu),然后根據(jù)實時性的條件,合理安排監(jiān)控軟件和執(zhí)行軟件之間的調(diào)度關(guān)系。 temper_LCD()。 LCD_Print(0,0,TempBuffer0)。 //調(diào)用鍵盤掃描程序 key_mand(key_value)。 //精確延時 大于 480us DQ = 1。 等待 50us 讀入 DQ 的狀態(tài) 等待 200us DQ 置 1 初始化結(jié)束 DS18B20 初始化 DQ 置 1 D0 清零,發(fā)復(fù)位脈沖 延時 600us DQ 置 1 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計說明書 (論文 ) 第 20 頁 } /***********ds18b20 讀一個字節(jié) **************/ unsigned char ReadOneChar(void) { unsigned char i=0。i) { DQ = 0。 delay_18B20(4)。 //跳過讀序號列號的操作 WriteOneChar(0x4E)。 } 8位數(shù)據(jù)送完否? DS18B20寫入結(jié)束 延時 15us DQ置 1設(shè)置為恢復(fù)狀態(tài) 寫入一位數(shù)據(jù) 延時 15us DQ清零,將 DQ總線電平拉低 設(shè)置串行位數(shù)為 8 DS18B20寫開始 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計說明書 (論文 ) 第 22 頁 LCD上電時,都必須按照一定的時序?qū)?LCD進行初始化操作,主要任務(wù)是設(shè)置 LCD的工作方式,顯示狀態(tài),清屏,輸入方式,光標(biāo)位置等。 LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR)。 if(y==1) LCD_Write(LCD_COMMAND,0x80|(x0x40))。 str++。//RW=1 表示進行讀操作 LcdEn=1。 _nop_()。 } LcdEn=0。 _nop_()。 _nop_()。 } //設(shè)置顯示模式 ************************************************************ 讀 /寫標(biāo)志位 R/W=0時,進行寫操作 當(dāng) RS=0時,選擇指令寄存器 開始 子程序返回 調(diào)用延時子程序 LCD使能信號 E至高電平后再過兩個時鐘周期至低電平,產(chǎn)生一個下降沿信號,往 LCD寫入指令代碼, LCD執(zhí)行命令 把指令數(shù)據(jù)送至 P0口 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計說明書 (論文 ) 第 25 頁 define LCD_SHOW //顯示開 define LCD_HIDE //顯示關(guān) define LCD_CURSOR //顯示光標(biāo) define LCD_NO_CURSOR //無光標(biāo) define LCD_FLASH //光標(biāo)閃動 define LCD_NO_FLASH //光標(biāo)不閃動 void LCD_SetDisplay(unsigned char DisplayMode) { LCD_Write(LCD_COMMAND, 0x08|DisplayMode)。 //定義 P1 口為鍵盤掃描口 //P0=0x80,P1=0x90,P2=0xA0,P3= bit key_ok=0。 return(x)。 if(temp!=0xf0) key_ok=1。 unsigned char i,j,y。 //延時去抖動 scan_full()。 for(j=0。0xf0。 } key_value=count。 } } y_scan=0xef。主界面由菜單欄、工具欄、預(yù)覽窗口、元件選擇按鈕、元件列表窗口、原理圖繪制窗口和 仿真進程控制按鈕組成(如圖 72 所示)。通常單片機應(yīng)用系統(tǒng)軟件包含多個源程序文件, KEIL C51 使用工程這一概念,將這些參數(shù)設(shè)置和所需的所有文件都加在一個 工程中。 然后,我打開已經(jīng)畫好的仿真圖,再將生成的 HEX 文件導(dǎo)入單片機里,點擊開始按鈕,電路正常工作,并且能夠?qū)崿F(xiàn)預(yù)先設(shè)想的所有功能,而且效果很好,從而驗證了我的程序的正確性。由于單片機經(jīng)濟實用、開發(fā)簡便等特點依然在工業(yè)控制、家電等領(lǐng)域占據(jù)了廣泛的市場。光靠自己在書本上所學(xué)過的這點知識是遠(yuǎn)遠(yuǎn)不夠的,真正地認(rèn)識到了工作就是學(xué)習(xí)的道理。 總之,這次畢業(yè)設(shè)計對我來說是一次比較全面的、富有創(chuàng)造性和探索性的鍛煉,完成了我選題時的心愿。 DQ = 0。 x=DQ。 for (i=8。 DQ = 1。 } /*************ds18b20 寫一個字節(jié) ****************/ void WriteOneChar(unsigned char dat) { unsigned char i=0。 DQ = datamp。 dat=1。 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計說明書 (論文 ) 第 34 頁 WriteOneChar(TH)。 Init_DS18B20()。 // 溫度轉(zhuǎn)化要一段時間 Init_DS18B20()。 tt[0]=ReadOneChar()。 //報警信號 //sbit DQ = P3^7。 //上限報警和下限報警設(shè)置標(biāo)志 bit set_temper_flag。 //上限溫度 110,下限 20,分辨率 10 位 ,也就是 unsigned char t[2],*pt。 //顯示實時溫度 ,上電時顯示 + SET+ 00C unsigned char TempBuffer0[17]={0x54,0x48,0x3a,0x2b,0x20,0x30,0x30,0x20, 0x54,0x4c,0x3a,0x2b,0x20,0x30,0x30,0x43,39。 /***因顯示分辨率為 ,但小數(shù)運算比較麻煩 ,故采用查表的方法 ******* 再將表值分離出十位和個位后送到十分位和百分位 ********************/ /***********用戶設(shè)定溫度轉(zhuǎn)換為 LCD 顯示數(shù)據(jù) ************** *功能 :將用戶設(shè)定溫度 user_temper,分離出符號位 ,百、十、個位 并將它們轉(zhuǎn)化為 ACSII 碼 ,送到液晶顯示緩沖區(qū) ******************************************************/ void user_temper_LCD(unsigned char temper) { if(temper0x7f) //判斷正負(fù) ,如果為負(fù)溫 ,將其轉(zhuǎn)化為其絕對值 { 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計說明書 (論文 ) 第 36 頁 TempBuffer1[11]=0x2d。 ////0x2B 為 +的 ASCII 碼 TempBuffer1[12]=temper/100+0x30。 //分離出個位 } /***************溫度上下限轉(zhuǎn)換為 LCD 顯示數(shù)據(jù) ************ *功能 :將上下限報警溫度 ,分離出符號位 ,百、十、個位 并將它們轉(zhuǎn)化為 ACSII 碼 ,送到液晶顯示緩沖區(qū) ******************************************************/ void alarm_LCD( unsigned char TH, unsigned char TL) { if(TH0x7F) //判斷正負(fù) ,如果為負(fù)溫 ,將其轉(zhuǎn)化為其絕對值 { TempBuffer0[3]=0x2d。 //0x2B 為 +的 ASCII 碼 if(TL0x7f) { TempBuffer0[11]=0x2d。 //分離出 TH 的百十個位 if( TempBuffer0[4]==0x30) TempBuffer0[4]=0xfe。 //分離出 TL 的百十個位 if( TempBuffer0[12]==0x30) TempBuffer0[12]=0xfe。 t[0]=*p
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1