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

正文內(nèi)容

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

2023-07-09 12:45:39 本頁面
 

【正文】 分小,所以 P0 端需要接上拉電阻與5V 電源,通過電壓的變化控制 5V 電源點(diǎn)亮,想要圖中 a 端由電流通過時(shí), 即 給 P0^0 一個(gè)低電平,觸發(fā)上拉電阻兩端間的電勢(shì)差,這樣就能促使電流流向 a 點(diǎn) ,從而使 a 端對(duì)應(yīng)的 LED 燈點(diǎn) 亮 。如以上數(shù)組,使用時(shí)僅僅將需要的數(shù)組中的其中一個(gè) 賦予 P0 口,這樣可以方便直觀 得 使 數(shù)碼管顯示需要的數(shù)字。 在這里就可以利用鎖存器的特性使 P2^7 起到控制那個(gè)數(shù)碼管亮的作用, 使 P2^6 控制數(shù)碼管亮什么樣的數(shù) 字 作用。 P0=srtemp。 duan=1。 duan=1。 在顯示時(shí)容易出現(xiàn)不需要亮的 LED 管微微發(fā)亮的問題,這是因?yàn)樗x擇的位選和段選都是通過 P0賦的值,如果先選擇位選的 8 位值, P0 口不還原成 0x00,就會(huì)導(dǎo)致段選打開后,還未賦予段選 P0 口需要的數(shù)值之前,這段時(shí)間內(nèi) P0 口將剛才位選的 8 位值賦予了段選鎖存器,這樣就會(huì)在極短的時(shí)間內(nèi),一些不需要的 LED 燈點(diǎn)亮,在單片機(jī)上就是由 LED 燈微微亮的情況,所以在這里注 意每次 P0 對(duì) 位選賦值以前 ,都應(yīng)該保證 P0 口為 0x00。 左側(cè)鍵盤的引腳由上至下分別是 P3^0 到 P3^7,第一行暫時(shí)不用,從第二行開始使用,每一行如P3^1 都與 P3^ P3^ P3^6 、 P3^7,他們是線與的關(guān)系。 鍵盤輸入的抖動(dòng)與去抖的方法 7 在 節(jié)中談到了如何實(shí)現(xiàn)鍵盤的掃描,但是理論與實(shí)際還是有一定的差距,當(dāng) 按下鍵盤 到檢測(cè)到有電壓變化,這段時(shí)間在 實(shí)際 中 是存在 一定的時(shí)間誤差 的 ,經(jīng)過這段時(shí)間誤差后 電壓才會(huì)達(dá)到單片能夠檢測(cè)到的范圍,但這期間單片機(jī)很有可能已經(jīng) 完成檢測(cè),見圖 所示。 P3=0xfd。 while(temp!=0xf0) 上述程序是兩個(gè) while 循環(huán)之間的嵌套,第一個(gè) while()語句判斷有鍵按下后,延時(shí)一段時(shí)間再進(jìn)行判斷,如果第二次判斷也認(rèn)為由鍵按下,則可以確認(rèn)的確由鍵盤操作,并不是抖動(dòng)。測(cè)溫范圍 - 55℃ ~+ 125℃ ,固有測(cè)溫分辨率 ℃ 。不銹鋼保護(hù)管直徑 Φ6,適用于 DN15~25, DN40~DN250 各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測(cè)溫,標(biāo)準(zhǔn)安裝螺紋 M10X1, , G1/2”任選, PVC 電纜直接出線或德式球型接線盒出線 ,便于與其它電器設(shè)備連接。 該產(chǎn)品適用于冷凍庫,糧倉,儲(chǔ)罐,電訊機(jī)房,電力機(jī)房,電纜線槽等測(cè)溫和控制領(lǐng)域、軸瓦,缸體,紡機(jī),空調(diào),等狹小空間工業(yè)設(shè)備測(cè)溫和控制、供熱 /制冷管道熱量計(jì)量,中央空調(diào)分戶熱能計(jì)量和工業(yè)領(lǐng)域測(cè)溫和控制、汽車空調(diào)、冰箱、冷柜、以及中低溫干燥箱等。 圖 DS18B20 的 的初始化 2. DS18B20 的寫操作 ( 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ù)線拉高 。 DS18B20 的寫操作時(shí)序圖見圖 所示。 11 圖 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í)際 溫度。 表 配置寄 存 器 結(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 高速暫存存儲(chǔ)器由 9 個(gè)字節(jié)組成。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。 13 表 ROM 指令表 指 令 約定代碼 功 能 讀 ROM 33H 讀 DS1820 溫度傳感器 ROM 中的編碼(即 64 位地址) 符合 ROM 55H 發(fā)出此命 令之后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上與該編碼相對(duì)應(yīng)的 DS1820 使之作出響應(yīng),為下一步對(duì)該 DS1820 的讀寫作準(zhǔn)備。適用于單片工作。 讀暫存器 0BEH 讀內(nèi)部 RAM 中 9 字節(jié)的內(nèi)容 寫暫存器 4EH 發(fā)出向內(nèi)部 RAM 的 4 字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。寄生 供電時(shí) DS1820 發(fā)送 “ 0 ” ,外接電源供電 DS1820 發(fā)送 “ 1 ” 。 要想使 DS18B20 進(jìn)行精確的溫度轉(zhuǎn)換, I/O 線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個(gè) DS18B20 在溫度轉(zhuǎn)換期間工作電流達(dá)到 1mA,當(dāng)幾個(gè)溫度傳感器掛在同一根 I/O 線上進(jìn)行多點(diǎn)測(cè)溫時(shí),只靠 上拉電阻就無法提供足夠的能量,會(huì)造成無法轉(zhuǎn)換溫度或溫度誤差極大。在強(qiáng)上拉方式下可以解決電流供應(yīng)不走的問題,因此也適合于多點(diǎn)測(cè)溫應(yīng)用,缺點(diǎn)就是要多占用一根 I/O 口線進(jìn)行強(qiáng)上拉切換。注意: 在外部供電的方式下, DS18B20 的 GND 引腳不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是 85℃ 。站長(zhǎng)推薦大家在開發(fā)中使用外部電源供電方式,畢竟比 寄生電源方式只多接一根 VCC引線。 temp=P3。 switch(temp) { case 0xed:num=0。 case 0xbd:num=2。 } while(temp!=0xf0) { temp=P3。 經(jīng)過檢測(cè)以后通過不同的 temp 值,使 num 被賦予相應(yīng)的數(shù)值,這樣 num 就是要輸入的一個(gè)數(shù)字。 19 ds=0。 //產(chǎn)生一個(gè) 上升沿 , 進(jìn)入等待應(yīng)答狀態(tài) i=4。 void dswait() { unsigned int i。 while(i0) i。 bit b。 i++。 while(i0) i。 b=0。 b++。 void writeor(uchar order)//寫入命令 { uint b。 for(a=0。 order=1。 for(b=0。 for(b=0。 b++。軟件實(shí)施方法如下: void changetemp()//溫度轉(zhuǎn)變函數(shù) { dsstart()。// 跳過讀序號(hào)列號(hào)的操作 writeor(0x44)。 21 uchar geta,getb。 writeor(0xcc)。//讀取兩個(gè)字節(jié) getb=readbyte()。 tt=temp*。然后溫度獲取 gettemp()子函數(shù)完成。 現(xiàn)在已 獲得了 溫度的數(shù)據(jù), 還要通過軟件計(jì)算出具體傳送數(shù)據(jù)代表的溫度值,在前面已經(jīng)談到數(shù)據(jù)中的 1 就代表了 攝氏度。 22 TL0=(6553646000)%256。 zd=0。 num1=21。 uchar b。 numy=gettemp()。 顯示函數(shù)的分析 以下 是 display()函數(shù)的具體內(nèi)容。 numx=dda/1000。 dis[0]=numx。 dis[2]+=10。//如果百位 和十位都為 0 不顯示 23 if(a0)//負(fù)值 后面加個(gè)小數(shù)點(diǎn) dis[3]+=10。i4。 P0=temp。 P0=table[dis[i]]。 P0=0x00。ccc!=21) bbb++。 dis[3]=num3。 for(i=1。 P0=srtemp。 duan=1。 duan=1。 case 1: dis[1]=num1。 if(dis[2]==21) dis[2]++。i4。//wein 打開后 是低電平亮 wei=0。 P0=table[dis[i]]。 P0=0x00。 case 2: dis[1]=num1。 if(dis[2]==21) dis[2]++。i4。//wein 打開后 是低電平亮 wei=0。 P0=table[dis[i]]。 P0=0x00。 case 3: dis[1]=num1。 else dis[2]+=10。i++) { P0=0xff。// srtemp=_crol_(srtemp,1)。 duan=0。 duan=0。 default:bbb=0。分別將 dda 的千位、百位、十位、個(gè)位取出存放在 Numx,num1, num2, num3 中。第三:只有幾度沒有超過十度。(dis[1]==0)) dis[1]=20。 } 上面這句話就是第一種和第四種情 況的描述。 這里鍵盤輸入溫度的數(shù)碼管顯示使用的是 switch(bbb)語句完成的, bbb 共有 0、 3,這四種情況, bbb 等于 0 時(shí)是無任何輸入的情況, bbb 等于 1 時(shí)是輸入了需要溫度的十位, bbb 等于 2 時(shí)是輸入了需要溫度的個(gè)位, bbb 等于 3 時(shí)是 輸入了需要溫度的小數(shù)點(diǎn)后一位,這里沒有超過 100 度和低于 0度的設(shè)計(jì)。 中斷加熱子函數(shù)的分析 27 以下是程序: void timer0() interrupt 1 { int a。 if(zd==6) { zd=0。num1!=21amp。num3!=21) { jiar=1。 P1=0xff。這樣就達(dá)到了控溫的目的。 首先單片機(jī)顯示出采集到的溫度值,等待系統(tǒng)鍵入溫度,一旦鍵入 3 個(gè)數(shù)字,則第一個(gè)、第二個(gè)、第三個(gè)數(shù)字分別為需要溫度的十位、個(gè)位和小數(shù)點(diǎn)后一位。這里第二個(gè)發(fā)光二極管只是模擬加熱并沒有加熱功能,實(shí)際電路板中只需要將 P1^1 接在 MOC3041的 2 號(hào)接口上即可。 本文主要完成的工作有: ( 1)本文闡述了 鍵盤輸入電路的基本原理,如何通過硬件與軟件消除抖動(dòng) ( 2) 本文闡述了 數(shù)碼管顯示原理,與如何動(dòng)態(tài)顯示數(shù)字的方法并闡釋了如何方便快捷的調(diào)用數(shù)組使數(shù)碼管顯示相應(yīng)的數(shù)字。 本文的設(shè)計(jì)在開發(fā)板上完成了基本功能,對(duì)以后的以后的單片機(jī)開發(fā)有很好的借鑒意義。 。 30 致謝 在本次設(shè)計(jì)過程中首先要感謝我們的張守興老師的悉心指 導(dǎo),他淵博的
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1