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

正文內容

溫控自動風扇系統(tǒng)設計-預覽頁

2025-07-06 05:51 上一頁面

下一頁面
 

【正文】 計數器 0) WR(外部數據寫選通 ) RD(外部數據讀選通 ) 6 如有必要,可通過對特殊功能寄存器( SFR)區(qū)中的 8EH 單元的 D0 位置位,可禁止 ALE 操作。在此期間 ,當訪問外部數據存儲器,這兩次有效的 PSEN 信號不出現。如 EA 端為高電平( Vcc 端), CPU 則執(zhí)行內部程序儲存器中的指令。 DS18B20 簡介 DS18B20是 DALLAS公司生產的 單 線式數字溫度傳感器,具有 3引腳 TO- 92小體積封裝形式;溫度測量范圍為- 55℃ ~+ 125℃, 可編程為 9位~ 12位 A/D轉換精度,測溫分辨率可達 ℃ ,被測溫度用符號擴展的 16位數字量方式串行輸出;其工作電源既可在遠端引入,也可采用寄生電源方式產生;多個 DS18B20可以并聯到3根或 2根線上, CPU只需一根端口線就能與諸多 DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。具體引腳說 7 明如圖 26,功能如表 25。 單線總線上的所有操作均從初始化開始,初始化過程如下。 序號 名稱 引腳功能 1 GND 接地 2 DQ 數據輸入 /輸出引腳:開漏單總線接口引腳;當被用到寄生電源下,也可向器件提供電源 3 VDD 可選擇的 VDD 引腳,當工作于寄生電源時,此引腳必須接地 8 一旦總線主機檢測對應答脈沖,便可以 發(fā) 起 ROM操作命令。只有序列號完全匹配的 DS18B20才能響應后面的 內存操作命令,其他不匹配的將等待復位脈沖。 Scarch rom(搜索 rom) F0H 主機調用此命令,通過一個排除法過程,可以識別出總線上所有器件的 ROM序列號。 DS18B20要求有嚴格的時序來保證數據的完整。 首先了解寫時隙。對于主機產生寫 “1” 時 隙的情況,數據線必須先被拉低,然后釋放,在寫時隙開始后的 15μs ,允許 DQ線拉至高電平。數據線 DQ必須 保持低電平至少 1μs ,來自 DS18B20的輸出數據在讀時隙下降沿之后 15μs 內有效。 表 27 內存操作命令與說明 命令類型 命令字節(jié) 功能說明 Write Scratchpad(寫暫存器) 4EH 此命令寫暫存器中地址 2~4的 3個字節(jié)( TH、 TL和配置寄存器)在發(fā)起復位脈沖之前, 3個字節(jié)都必須要寫。如果在此命令后產生讀時隙,那么只要器件在進行復制就會輸出 0,復制完成后,再輸出 1。 Read Power Supply(讀供電方式) B4H 主機發(fā)起此命令后每個讀數據時隙內, DS1820發(fā)信號通知它的供電方式: 0為寄生電源方式, 1為外部供電方式。 DS18B20僅在主機發(fā)出讀數據命令后,必須馬上產生讀時隙,以便 DS18B20能傳輸數據。電阻 R11作為 DS18B20的 I/O口 的 上拉電阻,在讀時隙結束時, I/O引腳將通過此上拉電阻拉回到高電平。通常時鐘由于兩種形式:內部時鐘和外部時鐘。晶振頻率為在 ~ 12MHZ 之間,頻率越高單片機的速度就越快,但對存儲器速度要求就高。 12 圖 復位電路圖 按鍵控制部分 第一個是功能鍵,按一次出現 L20,可以進行對下限溫度進行設置 按一次出現 H30,可以進行對上限溫度進行設置 按第三次恢復溫度顯示 第二個按鍵是增加鍵,可以對上下限溫度進行增大調整 13 第三個按鍵是減小鍵,可以對上下限溫度進行減小調整 風扇部分控制電路的設計 采用用 PWM波進行調速, 可由用戶設置高、低溫度值,測得溫度值在高低溫度之間時打開風扇弱風檔,當溫度升高超過所設定的溫度時自動切換到大風檔,當溫度小于所設定的溫度時自動關閉風扇,控制狀態(tài)隨外界溫度而定。更能增加和提高我們的設計能力。 17 附件一: 總體原理圖: 附件二: 總體 PCB 圖 18 附件 3 總體程序 include //52 系列頭文件 include define uchar unsigned char define uint unsigned int define PWM_T 100 sbit ds=P3^4。 //定義整型的溫度數據 uchar flag。 //控制發(fā)光二極管 sbit led2=P1^2。 sbit PWM=P1^6。//帶小數點的編碼 void delay(uchar z) //延時函數 { uchar a,b。b0。 ET0=1。 TH1=(655364000)/256。 flag=0。 led1=0。 delay(500)。 beep=1。 ds=0。 //等待 1660us,收到低電平一個約 60240us 則復位成功 i=4。 ds=0。i++。 return(dat)。i=8。 } void tempwritebyte(uchar dat) //向 DS18B20 寫一個字節(jié)的數據函數 { uint i。j=8。 if(testb) //寫 1 { ds=0。 i=8。 while(i0) i。 23 } } } void tempchange(void) //DS18B20 開始獲取溫度并轉換 { dsreset()。 //寫溫度轉換指令 } uint get_temp() //讀取寄存器中存儲的溫度數據 { uchar a,b。 //寫跳過讀 ROM 指令 tempwritebyte(0xbe)。 f_temp=temp*。 24 delay(5)。 } if(s1num==2) { flag=2。 if(s2==0) { delay(5)。 if(low==1000) low=200。 if(low==0) low=200。 26 high+=10。 high=10。 while(1) { tempchange()。 PWM_t=70。 } if(templow) { ldidi()。 } if(time_countPWM_t) PWM=0。 t++。 P2=0xfd。break。 //case 3:delay(1)。 P2=0xfe。break。 case 3:P0=table[low%100/10]。 switch(t) { case 0:P0=0x89。 P2=0xfd。break。 } } }
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1