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

正文內(nèi)容

羅云-基于單片機(jī)的溫度實(shí)時(shí)監(jiān)控系統(tǒng)(參考版)

2024-11-11 22:51本頁面
  

【正文】 設(shè)置 HEX文件,如圖 圖 圖 設(shè)置生產(chǎn) HEX文件 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 39 最后編譯程序,檢查程序是否有問題。如圖 圖 編輯程序并保存 并且把該文件添加到項(xiàng)目工程下。b)。a) for(b=60。 for(a=10。 sn2=tmpread()。 tmpwritebyte(0x33)。 dsreset()。 return temp。 temp=tt*10+。 tt=temp*。 temp=temp|a。 temp=b。 //發(fā)送讀取數(shù)據(jù)命令 a=tmpread()。 tmpwritebyte(0xcc)。 dsreset()。 //發(fā)送溫度轉(zhuǎn)換命令 } int tmp() //獲得溫度 { float tt。 //延時(shí) tmpwritebyte(0xcc)。 } } } void tmpchange(void) //發(fā)送溫度轉(zhuǎn)換命令 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 34 { dsreset()。 i++。while(i0)i。 } else { DS=0。 i=8。i++。 if(testb) // 寫 1 部分 { DS=0。0x01。j=8。 bit testb。 //將一個(gè)字節(jié)數(shù)據(jù)返回 } void tmpwritebyte(uchar dat) { //寫一個(gè)字節(jié)到 DS18B20 里 uint i。 dat=(j7)|(dat1)。i=8。 dat=0。 return (dat)。 i=8。i++。 //小延時(shí)一下 DS=1。 DS=0。 } 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 32 bit tmpreadbit(void) // 讀一位 { uint i。 i=4。 while(i0)i。 DS=0。 count。 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 31 while(count) { i=200。_nop_()。_nop_()。 //下一位數(shù)碼管 } } void delay(void) //空 5個(gè)指令 { _nop_()。 P2=0。 //查表法得到要顯示數(shù)字的數(shù)碼段 delay()。ilc。0xF8。 //定義變量 P2=0。i++){ //循環(huán)輸出 10 次,提高亮度 display(l_tmpdate,5)。//獲取小數(shù)第一位 for(i=0。//獲取個(gè)位 l_tmpdate[3]=11。//獲取十位 l_tmp=l_tmp%100。//判斷溫度為正溫度且沒有上百,前面不顯示 } l_tmp=temp%1000。 //判斷溫度為負(fù)溫度,前面加 else { l_tmpdate[0]=temp/1000。 //溫度轉(zhuǎn)換 l_tmp=tmp()。 int l_tmp。 void delayb(uint count)。 bit tmpreadbit(void)。 void tmpwritebyte(uchar dat)。//定義數(shù)組變量,并賦值 1, 2, 3, 4,5, 6, 7, 8,就是本程序顯示的八個(gè)數(shù) int tmp(void)。//延時(shí)子函數(shù), 5 個(gè)空指令 code unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x08,0x00}。 void display(unsigned char *lp,unsigned char lc)。 //定義 DS18B20 接口 int temp。 //將數(shù)值轉(zhuǎn)換為攝氏溫度 return x。 x= temp[1]*0x112 + temp[0]。 //寫入讀存儲(chǔ)器指令 temp[1]=read_byte()。 //復(fù)位 DS18B20 write_byte(0xCC)。 float x。 //用除法實(shí)現(xiàn)移位 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 28 } delay(5)。 DQ = 1。0x01。 i) // 寫一個(gè)字節(jié),每次寫一位 { DQ = 0。 for (i=8。 } return(value)。 if(DQ) value|=0x80。 // 輸出一脈沖 DQ = 1。i) { value=1。 for (i=8。 } byte read_byte(void) //從 1wire 總線上讀取一個(gè)字節(jié) { byte i。 // 讀存在脈沖(低電平有效) delay(25)。 // 送出高電平 delay(3)。 //送出低電平 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 27 delay(29)。 } byte ow_reset(void) //復(fù)位 DS18B20 { byte presence。useconds0。 typedef unsigned int word。在 t1時(shí)刻后 t2時(shí)刻前有效, t2距 to為 15us, 也就是說 t2時(shí)刻前主機(jī)必須完成讀位, 并在 t0后的 60us一 120us內(nèi)釋放總線 . 圖 讀時(shí)序 根據(jù)數(shù)字溫度傳感器的工作時(shí)序及原理進(jìn)行軟件的設(shè)計(jì), DS18B20的 C51程 序代碼如下: sbit DQ =P1^0。 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 25 初始化 單總線上的所有處理均從初始化開始 ROM 操作指令: 總線主機(jī)檢測(cè)到 DSl820 的存在,便可以發(fā)出 ROM 操作命令之一,這些命令如: 指令 代碼 Read ROM(讀 ROM) [33H] Match ROM(匹配 ROM) [55H] Skip ROM(跳過 ROM) [CCH] Search ROM(搜索 ROM) [F0H] Alarm search(告警搜索 ) [ECH] 存儲(chǔ)器操作命令: 指令 代碼 Write Scratchpad(寫暫存存儲(chǔ)器 ) [4EH] Read Scratchpad(讀暫存存儲(chǔ)器 ) [BEH] Copy Scratchpad(復(fù)制暫存存儲(chǔ)器 ) [48H] Convert Temperature(溫度變換 ) [44H] Recall EPROM(重新調(diào)出 ) [B8H] Read Power supply(讀電源 ) [B4H] 時(shí) 序 主機(jī)使用時(shí)間隙 (time slots)來讀寫 DSl820的數(shù)據(jù)位和寫命令字的位 (1)初始化 時(shí)序見圖 to時(shí)刻發(fā)送一復(fù)位脈沖 (最短為 480us的低電平信號(hào) )接著在 tl時(shí)刻釋放總線并進(jìn)入接收狀態(tài) DSl820在檢測(cè)到總線的上升沿之后等待 1560us, 接著 DS1820在 t2時(shí)刻發(fā)出存在脈沖 (低電平 )如圖中虛線所示: 圖 初始化時(shí)序 (2)寫時(shí)間隙 當(dāng)主機(jī)總線 t0時(shí)刻從高拉至低電平時(shí)就產(chǎn)生寫時(shí)間隙,從 to時(shí)刻開始 15us之內(nèi)應(yīng)將所需寫的位送到總線上, DSl820在 t0后 1560us間對(duì)總線采樣若低電平寫入的位是 0, 若高電平寫入的位是 1, 見圖 , 連續(xù)寫 2位間的間隙應(yīng)大于 1us。 表 DS18B20溫度值格式 表 這是 12位轉(zhuǎn)化后得到的 12位數(shù)據(jù),存儲(chǔ)在 18B20 的兩個(gè) 8比特的 RAM 中,二進(jìn)制中的前面 5 位是符號(hào)位,如果測(cè)得的溫度大于 0,這 5 位為 0,只要將測(cè)到的數(shù)值乘于 即可得到實(shí)際溫度;如果溫度小于 0,這 5 位為 1,測(cè)到的數(shù)值需要取反加 1 再乘于 即可得到實(shí)際溫度 。復(fù)位要求主 CPU 將數(shù)據(jù)線下拉 500微秒,然后釋放,當(dāng) DS18B20 收到信號(hào)后等待 16~ 60 微秒左右,后發(fā)出 60~ 240 微秒的存在低脈沖,主 CPU 收到此信號(hào)表示復(fù)位成功。與匯編相比,有如下優(yōu)點(diǎn): ( 1)對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì) 8051 的存貯器結(jié)構(gòu)有初步了解; ( 2)寄存器分配、不同存貯器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯器管理; ( 3)程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù),這種方式可使程序結(jié)構(gòu)化; ( 4)具有將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性; ( 5)關(guān)鍵字及運(yùn)算函數(shù)可用近似人的思維過程方式使用; ( 6)編程及程序調(diào)試時(shí)間顯著縮短,從而提高效率; ( 7)提供的庫包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力; ( 8)已編好程序可容易地植入新程 序,因?yàn)樗哂蟹奖愕哪K化編程技術(shù)。 C 是一種源于編寫 UNIX 操作系統(tǒng)的語言,它是一種結(jié)構(gòu)化語言,可產(chǎn)生緊湊代碼。 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 22 軟件系統(tǒng)設(shè)計(jì) 系統(tǒng)程序流程圖 系統(tǒng)程序流程 圖如圖 所示。 軟件上對(duì)閉合階段的抖動(dòng)一般采取延時(shí)再次確認(rèn)按鍵是否按下的方式消除抖動(dòng)。 圖 47 按鍵抖動(dòng)示意圖 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 21 一次完整的按鍵過程,包含以下幾個(gè)階段 :如圖 47 所示。當(dāng)按鍵被按下或釋放時(shí),按鍵觸點(diǎn)的彈性會(huì)產(chǎn)生抖動(dòng)現(xiàn)象。 理論上當(dāng)按鍵按下或彈起時(shí),可以相應(yīng)的產(chǎn)生低電平或高電平,但實(shí)際并非如此。而行列掃描式鍵盤用在按鍵需求較多的情形下。 常見的鍵盤可分為獨(dú)立按鍵式鍵盤和行列掃描式鍵盤。使用現(xiàn)成的芯片可以節(jié)省 CPU的開銷,但增加了成本,而用軟件實(shí)現(xiàn)具有較強(qiáng)的靈活性,也只需要很少的 CPU開銷,可以節(jié)省開發(fā)成本。 RST 引腳接了上電復(fù)位電路,當(dāng)系統(tǒng)上電時(shí),上電復(fù)位電路會(huì)產(chǎn)生一個(gè)高電平脈沖信號(hào),使系統(tǒng)復(fù)位。 從 而保護(hù)了電路中的 三極管 的安全。當(dāng)反向電壓高于 Q3 的反向擊穿電壓時(shí),會(huì)把三極管成損壞。電路中二極管 D1為續(xù)流二極管, 繼電器 線圈在通過電流時(shí),會(huì)在其兩端產(chǎn)生感應(yīng)電動(dòng)勢(shì)。 聲音報(bào)警電路通過驅(qū)動(dòng)蜂鳴器發(fā)聲實(shí)現(xiàn),當(dāng)其接通 5V 的電壓會(huì)發(fā)出蜂鳴叫聲。 LED數(shù)碼管顯示電路如圖 所示。 6 位共陽極數(shù)碼的 6 個(gè)陽極采用 6 個(gè) PNP 三極管 9012 驅(qū)動(dòng)。 圖 數(shù)碼管外形和引腳圖 圖 共陰極和共陽極數(shù)碼管內(nèi)部電路 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 19 6 位共陽極數(shù)碼管采用掃描形式工作,其 8 個(gè)數(shù)據(jù)為接在單片機(jī)灌電流驅(qū)動(dòng)能力最大的 PO 口, AT89C51 單片機(jī)的 P0口的每一個(gè) I/O 都能能吸收 8 個(gè) TTL 邏輯器件的輸入漏電流,算下來能驅(qū)動(dòng)約 10mA。再把多個(gè)這樣的 8 字裝在一起就成了多位的數(shù)碼管了。在本次設(shè)計(jì)中我們所控的對(duì)象為熱水的溫度。這里選用單總線數(shù)字輸出的集成半導(dǎo)體溫度傳感器 DS18B20,其特點(diǎn): 獨(dú)特的單線接口方式, DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與 DS18B20 的雙向通訊 ; 測(cè)溫范圍- 55℃ ~+ 125℃ ,固有測(cè)溫分辨率 ℃; 支持多點(diǎn)組網(wǎng)功能,多個(gè) DS1820 可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫 ; 工作電源 :3~ 5V/DC。 圖 DS18B20內(nèi)部存儲(chǔ)結(jié)構(gòu)圖 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 16 圖 DS18B20與單片機(jī)的接口 北京理工大學(xué)珠海學(xué)院 2020 屆本科畢業(yè)設(shè)計(jì) 17 4 溫度監(jiān)控系統(tǒng)的設(shè)計(jì) 硬件設(shè)計(jì)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1