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

正文內(nèi)容

基于ds18b20的恒溫控制器設計畢業(yè)設計(參考版)

2025-06-30 17:16本頁面
  

【正文】 }。 dat=1。 delay(5)。 DQ = datamp。 i0。}/* 寫一個字節(jié) */void WriteOneChar(unsigned char dat){ unsigned char i=0。 delay(5)。 DQ = 1。i) { DQ = 0。for (i=8。}/* 讀一個字節(jié) */unsigned char ReadOneChar(void){unsigned char i=0。 x=DQ。 //精確延時 大于 480us DQ = 1。 //稍做延時 DQ = 0。 DQ = 1。 } /* 延時函數(shù) */void delay(unsigned int i)//延時函數(shù){ while(i)。//轉(zhuǎn)換為16進制ASC碼 delay1(5)。 ge=date%10。 write_(0x80+0x40+4)。 delay1(5)。 dian=TempL。 delay1(5)。 ge=(TempH%100)%10。 delay1(5)。 shi=(TempH%100)/10。 delay1(5)。 bai=TempH/100。 }void display(){ uchar bai,shi,ge,dian。//轉(zhuǎn)換為16進制ASC碼 delay1(5)。 ge=date%10。 write_(0x80+add)。 E=0。 E=1。 P0=date。 E=0。 E=1。 P0=。 }} /*******寫指令子函數(shù)************/void write_(uchar ){ RS=0。num++) { write_data(table1[num])。 for(num=0。 delay1(5)。num14。 // 清屏 write_(0x80)。//打開顯示,顯示光標不閃爍 write_(0x06)。 write_(0x38)。 } } } }void init_LCD(){ RW=0。//小數(shù)近似處理 display()。0x0F。 } TempH=temp4。 39。 } else { write_(0x80+0x40+9)。 temp=~temp。39。0x8000) { write_(0x80+0x40+9)。 } if(flag==1) { if(flag_get==1) //定時讀取當前溫度 { temp=ReadTemperature()。 shi=Read1302(READ_HOUR)。 fen=Read1302 (READ_MINUTE)。 if(flag1==0) { miao=Read1302(READ_SECOND)。 write_set(set)。 init()。本文能夠成功的完成,讓我獲得了豐富的理論知識,極大地提高了實踐能力。我還要要感謝所有關(guān)心過我,幫助過我的同學,他們在我成長過程中給予了我很大的幫助。授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅接受了全新的思想觀念,樹立了宏偉的學術(shù)目標,領(lǐng)會了基本的思考方式,從論文題目的選定到論文寫作的指導,經(jīng)由您們悉心的點撥,再經(jīng)思考后的領(lǐng)悟,常常讓我有“山重水復疑無路,柳暗花明又一村”。我不是最出色的學生,而您們卻是我最尊敬的老師。四年的求學生涯在師長、親友的大力支持下,走得辛苦卻也收獲滿囊,在論文即將付梓之際,思緒萬千,心情久久不能平靜。通過電子線路課程設計,我了解了電子產(chǎn)品設計的一般過程,掌握電子線路設計的基礎方法和一般過程,能用仿真軟件對電子線路進行仿真設計,能用Portel等軟件繪制PCB圖,掌握了電子電路調(diào)試的方法,能獨立解決設計與調(diào)試過程中出現(xiàn)的一般問題,能正確選用元器件與材料,能對所設計電路的指標和性能進行測試并提出改進意見,能查閱各種有關(guān)手冊和正確編寫設計報告。對于一個復雜的系統(tǒng)來說,要在大量的元器件和線路中迅速,準確地找出故障是見很不容易的事。在調(diào)試過程中,故障是不可避免的,或者正如老師所說沒有故障反而還不正常。return(t)。 b=8。 a=ReadOneChar()。WriteOneChar(0xCC)。 delay(200)。WriteOneChar(0xCC)。unsigned int t=0。程序如下: unsigned int ReadTemperature(void) {unsigned char a=0。緊接著執(zhí)行第二個周期為復位、跳過ROM指令、執(zhí)行讀RAM的存儲器操作指令、讀數(shù)據(jù)(最多為9個字節(jié),中途可停止,只讀簡單溫度值則讀前2個字節(jié)即可)。數(shù)據(jù)的讀寫方法將有下文有詳細介紹。如執(zhí)行溫度轉(zhuǎn)換指令則控制器(單片機)必須等待18B20執(zhí)行其指令,一般轉(zhuǎn)換時間為500uS。存儲器操作指令的功能是命令18B20作什么樣的工作,是芯片控制的關(guān)鍵。 (4) 控制器發(fā)送存儲器操作指令:在ROM指令發(fā)送給18B20之后,緊接著(不間斷)就是發(fā)送存儲器操作指令了。其主要目的是為了分辨一條總線上掛接的多個器件并作處理。 (3) 控制器發(fā)送ROM指令:雙方打完了招呼之后最要將進行交流了,ROM指令共有5條,每一個工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報警芯片搜索。至此,通信雙方已經(jīng)達成了基本的協(xié)議,接下來將會是控制器與18B20間的數(shù)據(jù)通信。當18B20接到此復位信號后則會在15~60uS后回發(fā)一個芯片的存在脈沖。 //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 delay(20)。 //拉高總線 delay(14)。 //單片機將DQ拉低 delay(80)。 //DQ復位 delay(8)。圖23 DS18B20程序流程圖 DS18B20初始化模塊DS18B20的初始化時序時主機總線t0時刻發(fā)送一復位脈,沖(最短為480us的低電平信號)接著在t1時刻釋放總線并進入接收狀態(tài)DSl8B20在檢測到總線的上升沿之后等待1560us接著DS18B20在t2時刻發(fā)出存在脈沖(低電平持續(xù)60240us)如圖中虛線所示初始化時序圖如圖24所示: 圖24 DS18B20初始化時序圖 初始化模塊的程序為: void Init_DS18B20(void) { unsigned char x=0。接著再執(zhí)行初始化時序,然后單片機發(fā)出匹配ROM命令(代碼為55H)并向數(shù)據(jù)線上發(fā)出64位序列號,再發(fā)出讀9個字節(jié)命令(代碼為BEH),就可以讀出智能溫度傳感器DS18B20對應序列號完成溫度轉(zhuǎn)換之后的相應正確溫度。部分流程圖如圖22所示:開始P1口賦值調(diào)用延時子程序P0口賦值調(diào)用延時子程序結(jié)束圖22 LCD顯示的子程序流程圖 DS18B20的子程序單片機控制DS18B20的溫度轉(zhuǎn)換必須按照DS18B20的命令流程。按下按鍵設定溫度的加減。程序中以中斷的方式來重新設定溫度的上下限。流程圖如21 所示。因此,程序可以分為以下幾個功能模塊:溫度設定和啟動;顯示;溫度檢測;溫度控制以及報警
點擊復制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1