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

正文內(nèi)容

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

 

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