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

正文內(nèi)容

基于單片機(jī)的空調(diào)控制器設(shè)計-閱讀頁

2025-07-05 12:43本頁面
  

【正文】 。當(dāng)不滿足條件時,彩燈熄滅。每次訪問 DS18B20,必須嚴(yán)格遵守這個命令時序,如果出現(xiàn)序列混亂,則單總線則單總線器件不會響應(yīng)主機(jī)。1. 初始化單總線上的所有傳輸過程都是以初始化開始的,初始化過程由主機(jī)發(fā)出的復(fù)位脈沖和從機(jī)響應(yīng)的應(yīng)答脈沖組成,應(yīng)答脈沖使主機(jī)知道總線上有從機(jī)設(shè)備且準(zhǔn)備就緒。ROM 命令與各個從機(jī)設(shè)備的唯一64 位 ROM 代碼相關(guān),允許主機(jī)在單總線上連接多個從機(jī)設(shè)備時,指定操作某個從機(jī)設(shè)備。(1)搜索 ROM[F0h]當(dāng)系統(tǒng)初始上電時,主機(jī)必須找出總線上所有從機(jī)設(shè)備的 ROM 代碼,這樣主機(jī)才能夠判斷出從機(jī)的數(shù)目和類型。如果總線只有一個從機(jī)設(shè)備,則可以采用讀 ROM 命令來替代搜索 ROM 命令。(2)讀 ROM[33h](僅適合于單節(jié)點)該命令僅適用于總線上只有一個從機(jī)設(shè)備,它允許主機(jī)直接讀出從機(jī)的 64 位 ROM16代碼,而無須執(zhí)行搜索 ROM 過程。(3)匹配 ROM[55h]匹配 ROM 命令跟隨 64 位 ROM 代碼,從而允許主機(jī)訪問多節(jié)點系統(tǒng)中某個指定的從機(jī)設(shè)備。(4)跳躍 ROM[CCh](僅適合于單節(jié)點) 主機(jī)能夠采用該命令同時訪問總線上的所有從機(jī)設(shè)備,而無須發(fā)出任何 ROM 代碼信息。注意:如果跳越ROM 命令跟隨的是讀操作命令,則該命令只能應(yīng)用于單節(jié)點系統(tǒng),否則將由于多個節(jié)點都響應(yīng)該命令而引起數(shù)據(jù)沖突。同搜索 ROM 命令一樣,在完成報警搜索循環(huán)后,主機(jī)必須返回至命令序列的第一步。這些命令允許主機(jī)寫入或讀出 DS18B20 的存儲器,啟動溫度轉(zhuǎn)換以及判斷從機(jī)的供電方式。如果不是所有位置均可讀,那么主機(jī)可以再任何時候發(fā)出一復(fù)位命令以中止讀操作。如果不是所有位置均可讀,那么主機(jī)可以再任何時候發(fā)出一復(fù)位命令以中止讀操作。這種重新調(diào)出的操作在對 DS18B20 上電時也自動發(fā)生,因此只要器件一接電,暫存存儲器內(nèi)就有有效的數(shù)據(jù)可供使用。(5)寫 RAM 存儲器[44h] 寫數(shù)據(jù)到 RAM 存儲器,地址為第 第 第 4 字節(jié)(TH、TL、CONF)。溫度變換將被執(zhí)行,接著 DS18B20 便保持在空閑狀態(tài)。2) DS18B20 通訊模塊(如圖 15 所示)。4) 溫度顯示模塊(如圖 17 所示)。6) 與設(shè)定值比較,決定空調(diào)狀態(tài)(制冷還是制暖)。18圖 14 主程序流程圖根據(jù)上述 DS18B20 的通信原理,DS18B20 的工作流程如圖 11 所示。20圖 16 溫度設(shè)置軟件流程圖 圖 17 溫度顯示軟件流程圖完整的程序請詳見附錄。調(diào)試單片機(jī) 89C52 的主要目的是確保單片機(jī)能正常工作。步驟一:確定單片機(jī)沒有損壞。一般來說,使用編程器對單片機(jī)進(jìn)行程序的擦除和燒錄都能成功,并且通過校驗,可以確定單片機(jī)沒有損壞。晶振電路連接上單片機(jī)并且上電后檢測晶體振蕩器的兩端電壓,電壓是+2V 左右時,晶振電路是供電正常。步驟三:錄入檢測程序,檢測單片機(jī)及其外圍電路能否整體正常工作。 程序調(diào)試過程中遇到的問題和解決辦法1) 較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由于 DS1820 與微處理器采用串行數(shù)據(jù)傳送,因此,在對 DS1820 進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。這一點在進(jìn)行 DS1820 硬件連接和軟件設(shè)計時也要給予一定的重視。4) 編程過程中要注意加注釋或分割線,否則,附錄include include define uchar unsigned chardefine uint unsigned int22sbit DS=P3^3。sbit p31=P3^1。 //定義增溫控制接口sbit dt=P3^5。 uint cout=0。uchar flag1。 void display(void)。//共陰數(shù)碼管 09 空表Unsigned char l_tmpdate[8]={0,0,0,0,0,0,0,0}。void tmpchange(void)。uchar tmpread(void)。void dsreset(void)。void zhuti(l_tmp)。void add(void)。23void ISR_EX0() interrupt 0 { delayc(2022)。}void main() //主函數(shù){ at=1。 EA=1。 //開啟外部中斷 0IT0=1。 //溫度轉(zhuǎn)換l_tmp=tmp()。 display()。 while((cout%2!=0) amp。 (p31==0)) {add()。amp。} } }}24void delayc(uint j){ while(j0)。 l_tmp=l_tmp+10。}void sub(void){ delayc(20220)。 zhuti(l_tmp)。 l_tmp=l_tmp%100。 l_tmp=l_tmp%10。 l_tmpdate[3]=l_tmp。amp。amp。 else dt=1。amp。 else at=1。 P2=0。0xf8。i4。 temp=table[temp]。 delayc(100)。 P2=0。 }}void delayb(uint count) //delay{ uint i。 while(i0) i。26 }}void dsreset(void) //DS18B20 初始化 { uint i。 i=103。 DS=1。 while(i0)i。 bit dat。i++。i++。 dat=DS。while(i0)i。}uchar tmpread(void) //讀一個字節(jié){ uchar i,j,dat。 for(i=1。i++)27 { j=tmpreadbit()。 //讀出的數(shù)據(jù)最低位在最前面,這樣剛好 //一個字節(jié)在DAT 里 } return(dat)。 uchar j。 for(j=1。j++) { testb=datamp。 dat=dat1。 i++。 DS=1。while(i0)i。 //寫 0 部分 i=8。 DS=1。i++。 //初始化 DS18B20 delayb(1)。 // 跳過序列號命令 tmpwritebyte(0x44)。 uchar a,b。 delayb(1)。 tmpwritebyte(0xbe)。 //連續(xù)讀兩個字節(jié)數(shù)據(jù) b=tmpread()。 temp=8。 //兩字節(jié)合成一個整型變量。 //得到真實十進(jìn)制溫度值,因為 DS18B20 可以精確到 度,所以讀回數(shù)據(jù)的最低位代表的是 度。 //放大十倍,這樣做的目的將小數(shù)點后第一位也轉(zhuǎn)換為可顯示數(shù)字,同時進(jìn)行一個四舍五入操作。 //返回溫度
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1