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

正文內(nèi)容

ds18b20溫度檢測畢業(yè)設(shè)計-預(yù)覽頁

2025-08-24 16:07 上一頁面

下一頁面
 

【正文】 2 80C51 單片機內(nèi)部結(jié) 構(gòu) 圖 80C51 內(nèi)部結(jié)構(gòu)圖“ [2]” 1. CPU CPU 即中央處理器的簡稱,是單片機的核心部件,它完成各種運算和控制操作, CPU由運算器和控制器兩部分電路組成??刂齐娐吠瓿芍笓]控制工作,協(xié)調(diào)單片機各部分正常工作。 1. 定時器 /計數(shù)器 80C51 單片機片內(nèi)有兩個 16 位的定時 /計數(shù)器,即定時器 0 和定時器 1。對于 8051 其芯片中共有 256 個 RAM單元,其中后 128 個單元被專用寄存器占用,只有前 128 個單元供用戶使用。它具有兩個相互獨立的接收、發(fā)送數(shù)據(jù)緩沖器,兩個緩沖器共用一個地址( 99H),發(fā)送緩沖器只能寫入,不能讀出,接收緩沖器只能讀出,不能寫入。 6. 時鐘電路 80C51 芯片內(nèi)部有時鐘電路,但晶體振蕩器和微調(diào)電容必須外接。 80C51 引腳介紹 圖 80C51 引腳圖“ [3]” VCC:供電電壓 GND:接地 P0 口: P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。 P1 口: P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口, P1 口緩沖器能接收輸出 4TTL門電流。并因此作為輸入時, P2 口的管腳被外部拉低,將輸出電流。 P3 口: P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL 門電流。當振蕩器復(fù)位器件時,要保持 RST 腳兩個機器周期的高電平時當 8051通電,時鐘電路開始工作,在 RESET 引腳上出現(xiàn) 24 個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存 地址的地位字節(jié)。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。 EA/VPP:當 /EA 保持低電平時,則在此期間外部程序存儲器( 0000HFFFFH),不管是否有內(nèi)部程序存儲器。 XTAL2:來自反向振蕩器的輸出。如采用外部時鐘源驅(qū)動器件, XTAL2 應(yīng)不接。 此外, 80C51 設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持 兩種軟件可選的掉電模式。 5 設(shè)計中所編譯的相關(guān)程序 及系統(tǒng)框圖 延時子程序: // //延時子程序 (Delay(2)約為延時 1us) // void Delay(long int milliseconds) { long int i。 i j。 // start external oscillator with crystal for (i=0。 // select external oscillator as SYSCLK source and enable missing clock detector return。 } 單片機 I/O 口初始化設(shè)置: // //單片機 I/O 口初始化設(shè)置 // void PORT_Init () { XBR0 = 0x04。 P1MDOUT|=0xfd。 return。 //數(shù)據(jù)位 sbit ACC_3 =ACC^3。 //數(shù)據(jù)位 sbit ACC_7 =ACC^7。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域 “ [5]” 。 C 范圍內(nèi),精度為 177。 ( 4 )持多點組網(wǎng)功能 多個 DS18B20 可以并聯(lián)在惟一的單線上,實現(xiàn)多點測溫。 ( 7 )負壓特性電源極性接反時, 溫度計不會因發(fā)熱而燒毀,但不能正常工作。 單總線通常要求外接一個約為 — 10K 的上拉電阻,這樣,當總線閑置時其狀態(tài)為高電平“ [6]” 。 ROM 的作用是使每一個 DS18B20 都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個 DS18B20 的目的。 DS18B20 的單總線端口( DQ 引腳)是漏極開路式的,單總線需要一個約 5KΩ的外部上拉電阻;單總線的空閑狀態(tài)是高電平。 圖 DS18B20 硬件構(gòu)造圖 “ [7]” 9 DS18B20 引腳排列 圖 DS18B20 引腳排列圖“ [8]” 1. GND 為電源 地; 2. DQ 為數(shù)字信號輸入/輸出端; 3. VDD 為外接供電電源輸入口 ; DS18B20 芯片各部分介紹 (1) 64BIT ROM AND 1wire PORT 每個 DS18B20 都有一個唯一儲存在 ROM 中的 64 位編碼。 64 位 ROM 和ROM 操作控制區(qū)允許 DS18B20 作為單總線器件并按照單總線協(xié)議工作。這兩個字節(jié)是只讀的。高速暫存器的位 8 是只讀的,包含以上八個字節(jié)的CRC 碼, CRC 的執(zhí)行方式如 CRC 發(fā)生器節(jié)所述??偩€控制器傳遞從暫存器到 EEPROMTH,TL 和配置數(shù)據(jù)必須發(fā)出拷貝暫存器指令 [48h]。 圖 存儲器圖“ [9]” (3) 配置寄存器 存儲器的第 4 位為配置寄存器。暫存器的 位 7 和位 04 被器件保留,禁止寫 入;在讀回數(shù)據(jù)時,它們?nèi)勘憩F(xiàn)為邏輯 1。 CRC 能夠在總線 控制器讀 DS18B20時進行數(shù)據(jù)校驗。 12 第三章 DS18B20 代碼指令介紹及程序設(shè)計 通過單線總線端口訪問 DS18B20 的協(xié)議如下: 步驟 1. 初始化 步驟 2. ROM 操作指令 步驟 3. DS18B20 功能指令 每一次 DS18B20 的操作都必須滿足以上步驟,若是缺少步驟或是順序混亂,器件將不會返回值。 圖 初始化時序圖“ [10]” 本次實驗設(shè) 計的初始化程序: // //空操作 // void NOP(void) { } // //向 DS18B20 發(fā)送 RESET 脈沖(低脈沖) //主機通過把 TX 拉低至少 480us 來發(fā)送 RESET 脈沖。 //發(fā)送完 RESET 脈沖后,主機等待 15us 至 60us 的時間以等待 DS18B20 回復(fù) PRESENCE信號。 // 14 void DS18B20_PRESENCE(void) { while(DQ==1)//DS18B20 仍然沒回應(yīng) PRESENCE 信號 { NOP()。因此首先要搞清主機是如何進行寫 0、寫 讀 0 和讀 1 的。若主機想寫 1,在一開始拉低總線電平 1 微秒后就釋放總線為高電平,一直到寫周期結(jié)束。 //維持 60us 15 DQ=1。 NOP()。 NOP()。 //維持至少 1us NOP()。 NOP()。139。 unsigned int i=0。 if(Write_Lsb==0) 16 { write_0()。讀時隙是從主機把單總線拉低之后,在 1 微秒之后就得釋放單總線為高電平,以讓 DS18B20 把數(shù)據(jù)傳輸?shù)絾慰偩€上。采樣期內(nèi)總線為高電平則確認為 1。 //讀時隙由主機拉低總線開始,持續(xù)至少 1us 并釋放,然后在在之后的 (151)us內(nèi)讀 DS18B20 的值 Delay(2)。 Delay(120)。 unsigned int i=0。i8。 //右移 Read_Byte=Read_Byte|Temp_Byte。這些指令同樣也可以使總線控制器識別有多少 個 什么型號的器件掛在總線上,同樣,它們也可以識別哪些器件已經(jīng)符合報警條件。這些命令允許總線控制器讀寫 DS18B20 的暫存器,發(fā)起溫度轉(zhuǎn)換和識別電源模式。 DS18B20_PRESENCE()。 write_DS18B20(Command)。 Temperature_Low=read_DS18B20()。 ACC_1=Temperature_Low^5。 ACC_5=Temperature_High^1。 } 21 總 結(jié) 經(jīng)過了兩個多月的學習和工作,我終于完成了《基于 80C51 單片機與 DS18B20 的溫度檢測 軟件設(shè)計 》的論文。這次畢業(yè)設(shè)計于我而言收獲很多,對單片機 的編程一直以來都是我弱項,這次設(shè)計不僅使我鞏固了原來的知識體系同時也明白自己還有很多地方需要學習。 long int j。 i ++) { } return。 i 256。 } void WATCH_Dog () { WDTCN = 0xde。 //TX0 和 RX0 連到 和 XBR1 = 0x00。 //設(shè)置 為輸入 P2MDOUT|=0xff。 24 } // //ACC 位定義 // sbit ACC_0 =ACC^0。 //數(shù)據(jù)位 sbit ACC_4 =ACC^4。 void NOP(void) { } void DS18B20_RESET(void) { DQ=0。 Delay(40)。 } return。//發(fā)送結(jié)束,單總線復(fù)位 39。 NOP()。 return。 NOP()。 NOP()。 Delay(120)。 //寫字節(jié)時,從 LSB 位開始寫 for(i=0。 } else { write_1()。 //讀時隙由主機拉低總線開始,持續(xù)至少 1us 并釋放,然后在在之后的 (151)us內(nèi)讀 DS18B20 的值( P15) Delay(2)。 Delay(120)。 unsigned int i=0。i8。 //右移 Read_Byte=Read_Byte|Temp_Byte。 //預(yù)設(shè)高溫報警點 unsigned char TL。//數(shù)字溫度的高字節(jié) bit sign=0。 WATCH_Dog()。) { DS18B20_RESET()。 Command=0x44。 DS18B20_PRESENCE()。 write_DS18B20(Command)。 ACC_2=Temperature_Low^6。 ACC_6=Temperature_High^2。 ACC_1=Temperature_Low^5。 ACC_5=Temperature_High^1。 Absolute_Temperature=127Absolute_Temperature。在論文快要付梓之際,感慨萬千。畢業(yè)設(shè)計的寫作是一個長期的過程,需要不斷的進行精心的修改,不斷地去整理各方面的資料,不斷的想出新的創(chuàng)意,認真總結(jié)。畢業(yè)設(shè)計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。 這次論文我得到了很多老師和同學的幫助,其中我的論文指導(dǎo)老師曾玉對我們
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1