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

正文內(nèi)容

基于單片機(jī)的溫度警報(bào)器設(shè)計(jì)方案-資料下載頁

2025-05-03 22:34本頁面
  

【正文】 而以往使用AVR進(jìn)行引腳操作時,一個引腳要么輸入、要么輸出。在1-wire下,一個引腳既要實(shí)現(xiàn)輸入操作、也要實(shí)現(xiàn)輸出操作,因而需要對DDR操作進(jìn)行深入的了解,認(rèn)識DDR操作對引腳電平的影響。1-wire通訊協(xié)議基本基本操作包括復(fù)位、寫數(shù)據(jù)位、讀位數(shù)據(jù)。8個位操作形成字節(jié)數(shù)據(jù)的讀寫,所有操作都在復(fù)位后才可以開始。復(fù)位時序?qū)S18B20進(jìn)行所有操作之前,首先要將它復(fù)位。復(fù)位時序圖611如下:圖18 復(fù)位時序圖 (1)主機(jī)將信號線置為低電平,時間為480~960μS。 (2)主機(jī)將信號線置為高電平,時間為15~60μS。 (3)從機(jī)(DS18B20)發(fā)出60~240μS 的低電平作為應(yīng)答信號,后釋放信號線,信號線恢復(fù)為高電平。主機(jī)收到此信號后,才能認(rèn)定復(fù)位操作完成,可以對DS18820進(jìn)行其它操作。對DS18B20操作的宏復(fù)位的實(shí)現(xiàn)代碼為實(shí)現(xiàn)代碼的可移植性,實(shí)現(xiàn)對DS18B20的操作代碼前,定義如下宏。define OW_PIN PD0define OW_IN PINDdefine OW_OUT PORTDdefine OW_DDR DDRDdefine OW_GET_IN() ( OW_IN amp。 (1OW_PIN))define OW_OUT_LOW() ( OW_OUT amp。= (~(1 OW_PIN)) )define OW_OUT_HIGH() ( OW_OUT |= (1 OW_PIN) )define OW_DIR_IN() ( OW_DDR amp。= (~(1 OW_PIN )) )define OW_DIR_OUT() ( OW_DDR |= (1 OW_PIN) )復(fù)位的實(shí)現(xiàn)代碼unsigned char ow_reset(void){ unsigned char err。 OW_OUT_LOW()。 OW_DIR_OUT()。 //主機(jī)將信號線置為低電平 _delay_us(490)。 //延時480us OW_DIR_IN()。 //主機(jī)將信號線置為高電平,因?yàn)橛猩侠娮? _delay_us(66)。 //延時60us err =OW_GET_IN()。 _delay_us(49066)。//保證取DS18820應(yīng)答信號時間為480 us if(OW_GET_IN()==0) err = 1。 return err。 }寫位數(shù)據(jù)操作時序圖19寫位操作時序圖寫位數(shù)據(jù)操作時序如圖612,主機(jī)將信號線從高電平拉至低電平,產(chǎn)生寫起始信號。低電平的持續(xù)時間要大于1μS小于15μS。從信號線的下降沿開始,在15~60μS的時間內(nèi)從機(jī)(DS18B20)對信號線檢測,如信號線為高電平,則寫1,如信號線為O,則寫0,從而完成了一個寫周期。在開始另一個寫位周期前,必須有1μS以上的高電平恢復(fù)期(制造商稱為間隙)。重復(fù)八次寫位數(shù)據(jù)操作,實(shí)現(xiàn)寫字節(jié)操作。寫字節(jié)數(shù)據(jù)操作的實(shí)現(xiàn)代碼void ow_byte_wr(unsigned char b) { unsigned char i, j。 for(i=0。i8。i++) { OW_DIR_OUT()。 // //主機(jī)將信號線置為低電平 _delay_us(1)。 // 延時1us if(b amp。 0x01) //寫數(shù)據(jù) { OW_DIR_IN()。 //寫1 } else { OW_DIR_OUT()。 //寫0 } _delay_us(151)。 //延時15us _delay_us(6015)。//保證延時60us OW_DIR_IN()。 b = 1。 } }讀位數(shù)據(jù)操作時序圖20 讀位操作時序圖讀位數(shù)據(jù)操作時序如圖613,主機(jī)將信號線從高電平拉低至低電平1μS以上,產(chǎn)生讀起始信號。DS18820在信號線下降沿15μS后,將數(shù)據(jù)放到信號線上,供主機(jī)讀取。主機(jī)讀位數(shù)據(jù)操作的持續(xù)時間至少要60μS, 位數(shù)據(jù)操作完成后數(shù)據(jù)線恢復(fù)為高電平。從而完成了一個讀周期。在開始另一個讀周期前,必須有1μS以上的高電平恢復(fù)期。讀字節(jié)數(shù)據(jù)操作的實(shí)現(xiàn)代碼unsigned char ow_byte_rd(void){ unsigned char i。 unsigned char dat = 0。 // dat用于存儲讀到的數(shù)據(jù),先清零 for(i = 0。i 8。i++) //共讀8位數(shù)據(jù),構(gòu)成一個字節(jié) { OW_DIR_OUT()。 //定義為輸出(拉低數(shù)據(jù)線) _delay_us(1)。 //拉低1微秒 OW_DIR_IN()。 //定義成輸入,讀入數(shù)據(jù)(同時也相當(dāng)于拉高數(shù)據(jù)線) _delay_us(15)。 //延時 dat = 1。 //數(shù)據(jù)右移,讀順序:先低后高 if(OW_GET_IN()) //讀數(shù)據(jù), { dat |= 0x80。 //如果是高,置1,右移數(shù)據(jù) } _delay_us(45)。 //延時大于60us,有1us間隙 } return dat。 //返回讀到的1字節(jié)數(shù)據(jù)}(四)軟件總體設(shè)計(jì)在實(shí)現(xiàn)按鍵、顯示、溫度采集后,就可以進(jìn)行主程序設(shè)計(jì),主程序由初始化和循環(huán)兩部分組成。初始化部分先對各端口初始化,后延時500ms,等待系統(tǒng)穩(wěn)定,最后讀取保持在EEPROM內(nèi)的溫度上下限值保存到內(nèi)存變量。循環(huán)部分依次執(zhí)行四個操作:讀取環(huán)境溫度值;檢測按鍵狀態(tài),如進(jìn)行上下限值修改,修改上下限值后存入EEPROM內(nèi);判斷環(huán)境溫度是超出上下限范圍,如果超出上下限范圍打開報(bào)警,否則關(guān)閉報(bào)警;顯示環(huán)境溫度。 參考文獻(xiàn)文生平,趙國平,江劍強(qiáng),基于MATLAB的熔體溫度控制設(shè)計(jì)研究王寶庫,多功能檢測控制系統(tǒng)的設(shè)計(jì)趙亮,趙國銳,單片機(jī)C語言編程與實(shí)例 *實(shí)驗(yàn)*,張友德等,單片微型機(jī)原理應(yīng)用和實(shí)驗(yàn),
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1