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

正文內(nèi)容

基于單片機的空調(diào)控制器設(shè)計(文件)

2025-07-08 12:43 上一頁面

下一頁面
 

【正文】 它輸入給 LED 數(shù)碼管顯示。如果DIR=“0”G=“0”則 B1 輸入 A1 輸出,其它類同。第 20 腳 VCC,電源正極。電路圖如圖 13 所示。K3K1K2R2R3R415圖 13 溫度設(shè)置電路 控制指示電路控制指示電路由兩個彩燈構(gòu)成,由單片機 (引腳 14) 、(引腳 15,見表 1)輸出控制信號,控制彩燈的亮滅。 系統(tǒng)軟件設(shè)計 DS18B20 數(shù)據(jù)通信概述 和 DS18B20 通信,其命令序列有 3 步:初始化、ROM 命令(跟隨需要交換的數(shù)據(jù))和功能命令(跟隨需要交換的數(shù)據(jù))。2. ROM 命令在主機檢測到應(yīng)答脈沖后,就可以發(fā)出 ROM 命令。主機通過重復執(zhí)行搜索 ROM 循環(huán)(搜索 ROM 命令跟隨著位數(shù)據(jù)交換),以找出總線上所有的從機設(shè)備。如果該命令用于多節(jié)點,系統(tǒng)則必然發(fā)生數(shù)據(jù)沖突,因為每個從機設(shè)備都會響應(yīng)該命令。例如,主機通過在發(fā)出跳越 ROM 命令后,跟隨轉(zhuǎn)換溫度命令[44h]就可以同時命令總線上所有的 DS18B20 開始轉(zhuǎn)換速度,這樣大大節(jié)省了主機的時間。3. 功能命令在主機發(fā)出 ROM 命令,以訪問某個指定的 DS18B20,接著就可以發(fā)出 DS18B20 的某個功能命令。 (2) 復制 RAM 存儲器(48h) 此命令讀 RAM 存儲器的內(nèi)容,開始讀字節(jié) 0,并繼續(xù)讀到第九個字節(jié)(CRC)。17(4)讀電源[B4h] 在此命令送至 DS18B20 之后最先發(fā)出的讀數(shù)據(jù)時間片,器件都會給其電源方式的信號:0=強上拉電阻供電;1=電源供電。 軟件程序設(shè)計1) 主程序模塊(如圖 14 所示)。5) 讀取溫度信號值。19圖 15 DS18B20 工作流程圖 溫度設(shè)定和溫度顯示流程圖分別如圖 12 和圖 13 所示。調(diào)試分三部分進行:片機沒有損壞;;,檢測單片機及其外圍電路能否整體正常工作。步驟二:測試晶振電路是否工作正常。向單 片機錄入以下檢測程序:21ORG 0000HLJMP MAINORG 0100HMAIN:CLR AMOV A,AAHMOV P1,AMOV P2,AMOV P3,AAJMP MAINEND該程序的目的是令單片機的 PPP3 端口都輸出 10101010 的八位數(shù)字信號,這時用電壓表測量這三個端口的電平,若得出符合程序的結(jié)果,則可以確定單片機及其外圍電路都能正常工作。3) 編程時要注意,在程序開始時,要寫入各定時器中斷的入口地址。sbit at=P3^4。static int l_tmp。 code unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x80,0x00}。void tmpwritebyte(uchar dat)。void delayb(uint count)。void sub(void)。 dt=1。 // 設(shè)置成下降沿觸發(fā)方式 while(1) { tmpchange()。while(cout%2!=0){ display()。} while((cout%2!=0) amp。}void add(void){ delayc(20220)。 l_tmp=l_tmp10。 l_tmpdate[1]=l_tmp/10。 if(((l_tmpdate[0]1)amp。(l_tmpdate[0]6)))dt=0。(l_tmpdate[1]8))|(l_tmpdate[0]1))at=0。 P1=P1amp。i++) { temp=l_tmpdate[i]。 if(i==7)break。 while(count) { i=200。 DS=0。 i=4。 DS=0。i++。 return (dat)。i=8。 //將一個字節(jié)數(shù)據(jù)返回}void tmpwritebyte(uchar dat) { //寫一個字節(jié)到 DS18B20 里 uint i。j=8。 if(testb) // 寫 1 部分 { DS=0。 i=8。while(i0)i。28 } }}void tmpchange(void) //發(fā)送溫度轉(zhuǎn)換命令{ dsreset()。 //發(fā)送溫度轉(zhuǎn)換命令}int tmp() //獲得溫度{ float tt。 tmpwritebyte(0xcc)。 temp=b。 tt=temp*。 29 return temp。 temp=tt*10+。 temp=temp|a。 //發(fā)送讀取數(shù)據(jù)命令 a=tmpread()。 dsreset()。 //延時 tmpwritebyte(0xcc)。 i++。 } else { DS=0。i++。0x01。 bit testb。 dat=(j7)|(dat1)。 dat=0。 i=8。 //小延時一下 DS=1。}bit tmpreadbit(void) // 讀一位{ uint i。 while(i0)i。 count。 P1++。 P2=temp。 for(i=0。}void display(void) //顯示{ uchar i,temp。25 if(((l_tmpdate[0]2)amp。(l_tmpdate[1]6))|((l_tmpdate[0]2)amp。 l_tmpdate[2]=11。}void zhuti(int l_tmp){ l_tmpdate[0]=l_tmp/100。 zhuti(l_tmp)。 (p30==0)) {sub()。amp。zhuti(l_tmp)。 //首先開啟總中斷EX0=1。 cout++。void delayc(unsigned int j)。bit tmpreadbit(void)。 //定義數(shù)組變量,并賦值 1,2,3,4,5,6,7,8,就是本程序顯示的八個數(shù)int tmp(void)。uint i=0。 //定義減溫控制接口static int temp。 //定義 DS18B20 接口sbit p30=P3^0。2) 在 DS1820 測溫程序設(shè)計中,向 DS1820 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待 DS1820 的返回信號,一旦某個 DS1820 接觸不好或斷線,當程序讀該 DS18
點擊復制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1