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

正文內(nèi)容

畢業(yè)設(shè)計(jì)--基于51單片機(jī)的家用電熱水器設(shè)計(jì)-文庫(kù)吧

2025-10-28 04:53 本頁(yè)面


【正文】 的操作決定了那幾個(gè)數(shù)碼管亮, P0 操作完成后使 P2^7 呈現(xiàn)低電平,這樣 位選就已鎖定。 段選在程序中由 duan 表示 ,單片機(jī)上是 P2^6 端口 ,與位選相同,操作時(shí)使 P2^6 呈現(xiàn)高電平,這時(shí) P0 的八個(gè)端口對(duì)數(shù)碼管的操作決定了亮的幾個(gè)數(shù)碼管顯示什么數(shù)字, P0 操作完成后使 P2^6 呈現(xiàn)低電平,這樣段選就已鎖定。 見(jiàn)圖 所示由于單片機(jī)僅僅起到控制的作用,其輸出電流十分小,所以 P0端需要接上拉電阻與 5V 電源,通過(guò)電壓的變化控制 5V 電源點(diǎn)亮 ,想要圖中 a端由電流通過(guò)時(shí), 即 給 P0^0 一 個(gè)低電平,觸發(fā)上拉電阻兩端間的電勢(shì)差,這樣 5 就能促使電流流向 a 點(diǎn) ,從而使 a 端對(duì)應(yīng)的 LED 燈點(diǎn)亮 。 圖 單片機(jī)與數(shù)碼管的硬件連接 首先選擇位選,再選擇段選。 uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0xbf,0x86, 0xdb,0xcf,0xe6,0xed, 0xfd,0x87,0xff,0xef, 0x00,0x08,0x88}。 可以直接設(shè)置數(shù)碼管顯示 各 數(shù)字 的十六進(jìn)制 , 即 P0 口應(yīng)賦的十六進(jìn) 制,以便操作。如以上數(shù)組,使用時(shí)僅僅將需要的數(shù)組中的其中一個(gè) 賦予 P0 口 ,這樣可以方便直觀 得 使數(shù)碼管顯示需要的數(shù)字。 選擇位選與選擇片選的過(guò)程 相當(dāng) 快時(shí),顯示在人眼中就是一排易于識(shí)別的十 6 進(jìn)制數(shù)字 ,這就是數(shù)碼管的動(dòng)態(tài)顯示。 鎖存器與 數(shù)碼管顯示 方法 在這里先介紹 74HC573 芯片,這是一個(gè)鎖存器芯片, 連接方法見(jiàn)圖 所示, P2^ P2^6 分別控制位選和段選的 L 端,例如:當(dāng) P2^7(程序中的全局變量 wei)賦高電平時(shí), 74HC573 輸入 端口的值將直接輸送給 74HC573 芯片的輸出端,當(dāng)輸入端變化時(shí), 輸出端也變化。 P2^7 賦低電平時(shí) , 74HC573 芯片將記住最近一次 L 端口是高電平時(shí)芯片輸入端的 8 位,并將其輸出,當(dāng)輸入端變化時(shí),輸出端不變化。 在這里 就可以利用鎖存器的特性使 P2^7 起到 控制那個(gè)數(shù)碼管亮的作用, 使 P2^6 控制數(shù)碼管亮什么樣的數(shù) 字 作用。 圖 74HC573 芯片的連接 以下數(shù)碼管顯示部分程序。 P0=0xff。 wei=1。 P0=srtemp。//wein 打開(kāi)后 是低電平亮 wei=0。 srtemp=_crol_(srtemp,1)。 P0=0x00。 duan=1。 P0=table[dis[i]]。 7 duan=0。 delay(1)。 duan=1。 P0=0x00。 duan=0。 要注意的是位選(程序中的 wei 變量) ,位選 是低電平時(shí)選擇該數(shù)碼管亮。 在顯示時(shí)容易出現(xiàn)不需要亮的 LED 管微微發(fā)亮的問(wèn)題,這是因?yàn)樗x擇的位選和段選都是通過(guò) P0 賦的值,如果先選擇 位選的 8 位值, P0 口不還原成 0x00,就會(huì)導(dǎo)致段選打開(kāi)后 , 還未賦予 段選 P0 口需要的數(shù)值之前,這段時(shí)間內(nèi) P0 口將剛才位選的 8 位值賦予了段選鎖存器,這樣就會(huì) 在極短的時(shí)間內(nèi),一些不需要的 LED 燈點(diǎn)亮,在單片機(jī)上就是由 LED 燈微微亮的情況, 所以在這里注意每次P0 對(duì) 位選賦值以前 , 都應(yīng)該保證 P0 口為 0x00。 鍵盤(pán)輸入設(shè)計(jì) 鍵盤(pán)輸入方法 本設(shè)計(jì)中使用的是矩陣式鍵盤(pán), 見(jiàn) 圖 所示。 圖 矩陣式鍵盤(pán) 8 S10 到 S19 分別代表數(shù)字 0 到 9。 S20 代表確認(rèn)數(shù)字,按下后即可確認(rèn)要輸入數(shù)字的某一位。 左側(cè)鍵盤(pán)的引腳由上至下分別是 P3^0 到 P3^7, 第一行暫時(shí)不用,從第二行開(kāi)始使用,每一行如 P3^1 都與 P3^ P3^ P3^6 、 P3^7, 他們 是線與的關(guān)系。因此可以如此操作,對(duì)圖中第二行、第三行、第四行諸行進(jìn)行掃描。掃描第一行時(shí) P3 口賦值為 0xfd,即為 P3^1 口賦 “0”, P3 的其他口賦 “1”,當(dāng)?shù)诙袥](méi)有按鍵按下時(shí) P3^ P3^ P3^6 、 P3^7 將都是高電平 “1”,一旦有按鍵按下時(shí),由于線與關(guān)系, P3^ P3^ P3^6 、 P3^7 必定有一個(gè)為 “0”,它們之中那一個(gè)為 “0”依次代表 S10 到 S13 哪個(gè)鍵被按下。依次循環(huán)掃描三行 即可 時(shí)時(shí)檢測(cè)是否有鍵按下。 鍵盤(pán)輸入的抖動(dòng)與去抖的方法 在 節(jié)中談到了如何實(shí)現(xiàn)鍵盤(pán) 的掃描,但是理論與實(shí)際還是有一定的差距,當(dāng) 按下鍵盤(pán) 到檢測(cè)到有電壓變化,這段時(shí)間在 實(shí)際 中 是存在一定的時(shí)間誤差的 , 經(jīng)過(guò)這段時(shí)間誤差后 電壓才會(huì)達(dá)到單片能夠檢測(cè)到的范圍,但這期間單片機(jī)很有可能已經(jīng) 完成檢測(cè),見(jiàn) 圖 所示。 圖 抖動(dòng) 示意圖 如果不去除抖動(dòng)的話, 人們 手指按下的瞬間單片機(jī)已經(jīng)開(kāi)始檢測(cè),這時(shí)電壓還未降到穩(wěn)定閉合狀態(tài)所以不能檢測(cè)到按下, 同理不管是按下,還是是松手都會(huì) 9 有 這樣 的情況出現(xiàn), 不利于 操作,所以 應(yīng)該加入去抖操作, 圖中 右側(cè)是硬件去除抖動(dòng),除了硬件去抖以外還可以利用軟件去抖 。 在本設(shè)計(jì)中采用 軟件 去抖的方法, 原理是 檢測(cè)兩次,第一次檢測(cè)到低電平時(shí)延時(shí)一段時(shí)間,再檢測(cè)一次,如果還能檢測(cè)到低電平,則說(shuō)明確實(shí)有鍵按下。具體程序如下: while(temp!=0xf0) { delay(5)。 P3=0xfd。 temp=P3。 temp=tempamp。0xf0。 while(temp!=0xf0) 上述程序是兩個(gè) while 循環(huán)之間的嵌套, 第一個(gè) while()語(yǔ)句判斷有鍵按下后,延時(shí)一段時(shí)間再進(jìn)行判斷,如果第二次判斷也認(rèn)為由鍵按下,則可以確認(rèn)的確由鍵盤(pán)操作,并不是抖動(dòng)。 具體按下后的操作可以在 后一個(gè) while 循環(huán)中書(shū)寫(xiě)。 DS18B20 溫度采集 DS18B20 技術(shù)性能與應(yīng)用范 圍 10 圖 DS18B20 的外形及管腳 圖 DS18B20 是一種可組網(wǎng)數(shù)字溫度傳感器芯片,具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。 獨(dú)特的單線接口方式, DS18B20 在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與 DS18B20 的雙向通訊。測(cè)溫范圍 - 55℃ ~+ 125℃ ,固有測(cè)溫分辨率 ℃ 。支持多點(diǎn)組網(wǎng)功能,多個(gè) DS18B20 可以并聯(lián)在唯一的三 線上,最多只能并聯(lián) 8 個(gè),如果數(shù)量過(guò)多,會(huì)使供電電源電壓過(guò)低,從而造成信號(hào)傳輸?shù)牟环€(wěn)定,實(shí)現(xiàn)多點(diǎn)測(cè)溫。工作電源為 3~5V/DC。在使用中不需要任何外圍元件,測(cè)量結(jié)果以 9~12 位數(shù)字量方式串行傳送。不銹鋼保護(hù)管直徑 Φ6,適用于 DN15~25, DN40~DN250 各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測(cè)溫,標(biāo)準(zhǔn)安裝螺紋 M10X1, , G1/2”任選, PVC 電纜直接出線或德式球型接線盒出線 ,便于與其它電器設(shè)備連接。 負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀, 但不能正常工作。 DS18B20 內(nèi)部結(jié) 構(gòu)主要由四部分組成: 64 位光刻 ROM 、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器 TH 和 TL、配置寄存器。 DS18B20 的外形及管腳排列 見(jiàn) 圖 所示 。 該產(chǎn)品適用于冷凍庫(kù),糧倉(cāng),儲(chǔ)罐,電訊機(jī)房,電力機(jī)房,電纜線槽等測(cè)溫和控制領(lǐng)域、軸瓦,缸體,紡機(jī),空調(diào),等狹小空間工業(yè)設(shè)備測(cè)溫和控制、供熱 /制冷管道熱量計(jì)量,中央空調(diào)分戶熱能計(jì)量和工業(yè)領(lǐng)域測(cè)溫和控制、汽車空調(diào)、冰箱、冷柜、以及中低溫干燥箱等。 DS18B20 的初始化與讀寫(xiě)操作 1. DS18B20 的初始化 ( 1) 先將數(shù)據(jù)線置高電平 “1”; ( 2) 延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短一點(diǎn)) ; ( 3) 數(shù)據(jù)線拉到低電平 “0”; ( 4) 延時(shí) 750 微秒(該時(shí)間的時(shí)間范圍可以從 480 到 960 微秒) ; ( 5) 數(shù)據(jù)線拉到高電平 “1”; ( 6) 延時(shí)等待(如果初始化成功則在 15 到 60 毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由 DS18B20 所返回的低電平 “0”。據(jù)該狀態(tài)可以來(lái)確定它的存在,但是應(yīng) 11 注意不 能無(wú)限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制) ; ( 7) 若 CPU 讀到了數(shù)據(jù)線上的低電平 “0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算 起(第( 5)步的時(shí)間算起)最少要 480 微秒 ; ( 8) 將數(shù)據(jù)線再次拉高到高電平 “1”后結(jié)束 。 DS18B20 的的初始化 見(jiàn) 圖 所示。 圖 DS18B20 的 的初始化 2. DS18B20 的寫(xiě)操作 ( 1) 數(shù)據(jù)線先置低電平 “0”; ( 2) 延時(shí)確定的時(shí)間為 15 微秒 ; ( 3) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位) ; ( 4) 延時(shí)時(shí)間為 45 微秒 ; ( 5) 將數(shù)據(jù)線拉到高電平 ; ( 6) 重復(fù)上( 1)到( 6)的操作直到所有的字節(jié)全部發(fā)送完為止 ; ( 7) 最后將數(shù) 據(jù)線拉高 。 在這里要注意的是( 3),寫(xiě)數(shù)據(jù)時(shí)時(shí) 1bit 單獨(dú)傳送,這里有兩種情況。 當(dāng)需要傳送 “1”時(shí),單片機(jī)應(yīng)該給 DS18B20 芯片的 DQ 接口賦低電平,大約 15 秒以后,將 DQ 釋放為高電平,延時(shí)約 45 微妙即可。 當(dāng)需要傳送 “0”時(shí),單片機(jī)應(yīng)該給 DS18B20 芯片的 DQ 接口賦低電平,并且持續(xù)拉低最少 60 微妙,然后將 DQ 釋放為高電平,再延時(shí)約 15 秒即可。 DS18B20 的寫(xiě)操作時(shí)序圖見(jiàn) 圖 所示。 12 圖 DS18B20 的寫(xiě)操作時(shí)序圖 3. DS18B20 的讀操作 ( 1)將數(shù)據(jù)線拉高 “1”; ( 2)延時(shí) 2 微秒 ; ( 3)將數(shù)據(jù)線拉低 “0”; ( 4)延時(shí) 15 微秒 ; ( 5)將數(shù)據(jù)線拉高 “1”; ( 6)延時(shí) 15 微秒 ; ( 7)讀數(shù)據(jù)線的狀態(tài)得到一個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理 ; ( 8)延時(shí) 30 微秒 ; 這里只要按以上操作將狀態(tài)位的各各 bit 按順序儲(chǔ)存好即可 。 DS18B20 的讀操作時(shí)序圖見(jiàn) 圖 所示。 圖 DS18B20 的 讀 操作時(shí)序圖 DS18B20 的指令與格式 DS18B20 溫度格式圖見(jiàn)圖 所示。 13 圖 DS18B20 溫 度格式圖 這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲(chǔ)在 DS18B20 的兩個(gè) 8 比特的RAM 中,二進(jìn)制中的前面 5 位是符號(hào)位,如果測(cè)得的溫度大于 0, 這 5 位為 0, 只要將測(cè)到的數(shù)值乘于 即可得到實(shí)際溫度;如果溫度小于 0,這 5 位為 1,測(cè)到的數(shù)值需要取反加 1 再乘于 即可得到實(shí)際 溫度。 例如 +125℃ 的數(shù)字輸出為 07D0H, +℃ 的數(shù)字輸出為 0191H,℃ 的數(shù)字輸出為 FE6FH, 55℃ 的數(shù)字輸出為 FC90H 。 DS18B20 溫度傳感器的存儲(chǔ)器 DS18B20 溫度傳感器的內(nèi) 部存儲(chǔ)器包括一個(gè)高速暫存 RAM 和一個(gè)非易失性的可電擦除的 EEPRAM,后者存放高溫度和低溫度觸發(fā)器 TH、 TL 和結(jié)構(gòu)寄存器。配置寄存器, 該字節(jié)各位的意義見(jiàn) 表 所示。 表 配置寄存器結(jié)構(gòu) 溫度 數(shù)據(jù)輸出(二進(jìn)制) 數(shù)據(jù)輸出(十六進(jìn)制) +125℃ 0000 0111 1101 0000 07D0 +85℃ 0000 0101 0101 0000 0550 +℃ 0000 0001 1001 0001 0191 +℃ 0000 0000 1010 0010 00A2 +℃ 0000 0000 0000 1000 0008 0℃ 0000 0000 0000 0000 0000 ℃ 1111 1111 1111 1000 FFF8 ℃ 1111 1111 0101 1110 FF5E ℃ 1111 1110 0110 1111 FE6F 55℃ 1111 1100 1001 0000 FC90 14 高速暫存存儲(chǔ)器由 9 個(gè)字節(jié)組成。 其分配 見(jiàn)表 所示, 當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在 高速暫存存儲(chǔ)器的第 0 和第 1 個(gè)字節(jié)。單片 機(jī)可通過(guò)單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后 。對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位 S=0 時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng) S=1 時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。 表 DS18B20 暫存寄存器分布 寄存器內(nèi)容 字節(jié)地址 溫度值低位 ( LS Byte) 0 溫度值高位 ( MS Byte) 1 高溫限值( TH) 2 低溫限值( TL) 3 配置寄存器 4 保留 5 保留
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1