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

正文內(nèi)容

-太陽(yáng)能熱水器控制器-文庫(kù)吧資料

2024-12-15 00:36本頁(yè)面
  

【正文】 經(jīng)過(guò) 四 個(gè)多月的設(shè)計(jì) 制作 ,本畢業(yè)設(shè)計(jì)已經(jīng)基本完成。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步。 本設(shè)計(jì)功能已基本符合要求,但是由于自己本身水平有限,所以該系統(tǒng)還有許多不盡如人意的地方,我將在日后的時(shí)間繼續(xù)完善。 在機(jī)型和元器件的選擇上,以性?xún)r(jià)比高為原則,從而組成最小最優(yōu)化的系統(tǒng)。它的開(kāi)發(fā)使用也面臨著以下問(wèn)題:不可缺水,空曬情況下上水會(huì)爆炸;春、秋天,水溫 升高蒸發(fā),造成熱能損失;冬天水溫不夠,需用電等等。太陽(yáng)能是種綠色能源,如何利用太陽(yáng)能是解決世界能源緊缺是值得研究的問(wèn)題。從控制器的功 能和硬件設(shè)計(jì)來(lái)看,該控制器功能全面、技術(shù)成熟可靠、經(jīng)濟(jì)實(shí)用,它的成功開(kāi)發(fā)使用戶(hù)能全天候地使用太陽(yáng)能熱水器。不僅如此,還可以通過(guò)計(jì)算機(jī)斷的軟件實(shí)現(xiàn)單步、全速、運(yùn)行到光標(biāo)的常規(guī)調(diào)試手段。為了解決軟件調(diào)試的問(wèn)題,第二種是硬件調(diào)試,硬件調(diào)試其實(shí)也需要計(jì)算機(jī)軟件的配合,大致過(guò)程是這樣的:計(jì)算機(jī)軟件把 編譯好的程序通過(guò)串行口、并行口或者 USB 口傳輸?shù)接布{(diào)試設(shè)備中(這個(gè)設(shè)備叫仿真器),仿真器仿真全部的單片機(jī)資源(所有的單片機(jī)接口,并且有真實(shí)的引腳輸出),仿真器可以接入實(shí)際的電路中,然后與單片機(jī)一樣執(zhí)行。系統(tǒng)的調(diào)試過(guò)程要結(jié)合具體的仿真器進(jìn)行。常見(jiàn)的軟件錯(cuò)誤有程序失控、中斷錯(cuò)誤(不響應(yīng)中斷或循環(huán)響應(yīng)中斷)、輸入 /輸出錯(cuò)誤和處理結(jié)果錯(cuò)誤等類(lèi)型。接下來(lái)再借助仿真器進(jìn)行聯(lián)機(jī)調(diào)試,分別測(cè)試擴(kuò)展的 RAM、 I/O口、 I/O 設(shè)備、程序存儲(chǔ)器以及晶振和復(fù)位電路,改正其中的錯(cuò)誤。在進(jìn)行硬件調(diào)試時(shí)先進(jìn)行靜態(tài)調(diào)試,用萬(wàn)用表等工具在樣機(jī)加電前根據(jù)原理圖和裝配圖仔細(xì)檢查線路, 核對(duì)元器件的型號(hào)、規(guī)格和安裝是否正確。 4. 1 調(diào)試 4. 1. 1 硬件調(diào)試 單片機(jī)應(yīng)用系統(tǒng)的軟硬件調(diào)試是分不開(kāi)的,通常是先排除明顯的硬件故障后再和軟件結(jié)合起來(lái)進(jìn)行調(diào)試。應(yīng)用系統(tǒng)的調(diào)試步驟和方法是相同的,但具體細(xì)節(jié)與采用的開(kāi)發(fā)系統(tǒng)(即仿真器)及選用的單片機(jī)型號(hào)有關(guān)。R0=DATA {START ADDRESS} LCALL OUTBYT CLR SCK5 SETB CS5 LCALL WIP_POLL 。02H 。把 A 中的數(shù)寫(xiě)到地址 R5 中, 5045 CLR CS5 MOV B,A LCALL WREN 。讀一個(gè)字節(jié)數(shù)到 A 中,地址在 R5 中 CLR SCK5 CLR CS5 MOV A,0BH LCALL OUTBYT MOV A,R5 LCALL OUTBYT LCALL INBYT CLR SCK5 SETB CS5 SETB EA RET 寫(xiě)子程序 : WRITE: CLR EA PUSH b 。由于微處理器必須周期性的觸發(fā) CS/WDI 引腳以避免 RESET 信號(hào)激活而使電路復(fù)位,所以CS/WDI 引腳必須在看門(mén)狗超時(shí)時(shí)間終止之前受到由高至低信號(hào)的觸發(fā) [14] 。在 X5045 內(nèi)部的一個(gè)控制寄存器中有 2 位可編程位決定了定時(shí)周期的長(zhǎng)短,微處理器可以通過(guò)指令來(lái)改變這兩個(gè)位從而改變看門(mén)狗定時(shí)時(shí)間的長(zhǎng)短。READ X5045 STATUS CORD POP ACC SETB EA RET 看門(mén)狗程序 看門(mén)狗定時(shí)器電路監(jiān)測(cè) WDI 的輸 入來(lái)判斷微處理器是否工作正常。STATUS_REG LCALL OUTBYT 。置位寫(xiě)使能子程序 CLR SCK5 CLR CS5 MOV A,01h LCALL OUTBYT 。禁止中斷 PUSH ACC 。下面分別進(jìn)行說(shuō)明 。在一次寫(xiě)狀態(tài)寄存器的操作或?qū)懘鎯?chǔ)器的操作之后做寫(xiě)入的操作,必須首先讀狀態(tài)寄存器并檢查 WIP位,如果 WIP位是高說(shuō)明正在進(jìn)行內(nèi)部的寫(xiě)操作。 在進(jìn)行寫(xiě)操作(字節(jié)或頁(yè)寫(xiě))完成時(shí), CS必須在最后一個(gè)待寫(xiě)入字節(jié)的位 0被寫(xiě)入之后拉至高電平。主控機(jī)可以連續(xù)寫(xiě)入 16個(gè)字節(jié)的數(shù)據(jù), 要限制的 是這 16個(gè)字節(jié)必須寫(xiě)入同一頁(yè),一頁(yè)的地址開(kāi)始于地址 [X XXXX 0000]結(jié)束于地址 [X XXXX 1111]。如果 CS 沒(méi)有在WREN 和 WRITE 指令之間變?yōu)楦唠娖剑瑒t WRITE 指令被忽略。 寫(xiě)存儲(chǔ)器內(nèi)容: 要寫(xiě)存儲(chǔ) 器內(nèi)容, WEL 位必須通過(guò) WREN 指令置為 “1”。地址將會(huì)自動(dòng)地增加到,當(dāng)?shù)竭_(dá)最高地址之后,地址將會(huì)回繞到 $000H 單元。在讀操作碼和地址發(fā)送完畢后,所選中的地址單元的數(shù)據(jù)通過(guò) SD0 線送出。 圖 X5045讀寫(xiě)寄存器時(shí) 序 讀存儲(chǔ)器內(nèi)容: 要讀存儲(chǔ)器的內(nèi)容,首先將 CS 拉低以選中該器件,然后將 8 位的讀指令送到器件中去,跟著送 8 位的地址。這個(gè) 8位數(shù)據(jù)就是相應(yīng)的寄存器中的內(nèi)容。 要 寫(xiě)狀態(tài)寄存器 ,即 將數(shù)據(jù)寫(xiě)入狀態(tài)寄存器,首先必須用 WREN 命令將 WEL 置為“1” 。狀態(tài)寄存器可以在任何時(shí)候被讀出,即使是在 EEPROM內(nèi)部的寫(xiě)周期內(nèi)也可以讀出。 這時(shí)候, 在寫(xiě)了 WREN、 WRDI、 RDSR和 WRSR指令后不需要在后 面 跟上一個(gè)地址或一個(gè)數(shù)據(jù) 了 。在器件復(fù)位后將自動(dòng)禁止寫(xiě)操作,而一旦對(duì)器件寫(xiě)入一個(gè)字節(jié)、一頁(yè)或?qū)懭霠顟B(tài)寄存器后也將自動(dòng)處于寫(xiě)禁止?fàn)顟B(tài)。 表 X5045指令 指令名稱(chēng) 指令格式 完成的操作 WREN 0000 0110 寫(xiě)允許 WRDI 0000 0100 寫(xiě)禁止 RDSR 0000 0101 讀狀態(tài)寄存器 WRSR 0000 0001 寫(xiě)狀態(tài)寄存器(看門(mén)狗和塊鎖定) READ 0000 AS011 從選定的開(kāi)始地址單元中讀數(shù)據(jù) WRITE 0000 AS010 向選定的開(kāi) 始地址單元寫(xiě)入數(shù)據(jù)( 116字節(jié)) 在器件進(jìn)行寫(xiě)操作之前,首先必須設(shè)置寫(xiě)操作指令。其它的指令,還需要一個(gè) 8位的地址以及相關(guān)的數(shù)據(jù)。 這些 命令中有兩條指令代碼只要直接寫(xiě)入芯片即可。 圖 UP鍵流程圖 N Y N Y Y 修改水位設(shè)置 返回 N 修改水溫設(shè)置 State=0 Keys=20H? State=1? State=2? 按鍵檢測(cè) 開(kāi)始 N Y 返回 Y N Y 停止加水 N 加水 Keys=10H? 在加熱嗎? 小于設(shè)定溫度嗎? 開(kāi)始 按鍵檢測(cè) 3. 5 X5045 程序設(shè)計(jì) 因?yàn)?對(duì)設(shè)置的水位和水溫需要 進(jìn)行 保存,本設(shè)計(jì) 選 用帶 EEPROM的 看門(mén)狗 X5045來(lái)保存數(shù)據(jù)。 圖 加水鍵流程圖 返回 Y N N Y Y 停止加水 N 加水 Keys=08H? 在加水嗎? 水到了設(shè)定位置了嗎? 開(kāi)始 按鍵檢測(cè) N Y Keys=04H? N Y State=2 State=0 返回 顯示設(shè)置 溫度,燈亮 顯示當(dāng)前溫度,水溫?zé)魷? State=2? 開(kāi)始 按鍵檢測(cè) ( 5)加熱鍵: 如圖 所示。 圖 水位鍵流程圖 N Y Y State=1 State=0 返回 N 顯示水位 水位燈亮 顯示當(dāng)前溫度,水位燈滅 Keys=02H? State=1? 開(kāi)始 按鍵檢測(cè) Y Y 按鍵檢測(cè) 讀 P1口,保存按鍵值到 Keys 開(kāi)用水 關(guān)用水 返回 N N Key=01H? 在用水嗎 ? 開(kāi)始 ( 3)水溫設(shè)置鍵: 如圖 所示。 部分按鍵設(shè)置流程圖如下 : ( 1)用水開(kāi)關(guān): 如圖 所示。延時(shí)消抖 mov a,p1 cpl a anl a,7fh jz key_ret00 mov keys,a 。 串 轉(zhuǎn)并子程序如下: send: push acc push 07h mov r7,08h mov a,buffer mov dptr,dis_tab movc a,a+dptr dspr: clr disp_clk clr c rlc a mov disp_dat,c nop setb disp_clk nop djnz r7,dspr pop 07h pop acc ret 3. 4 按鍵程序設(shè)計(jì) 在本系統(tǒng)中有 4 個(gè)按鍵 ,通過(guò) P1 口來(lái)讀取。根據(jù)變量 state 來(lái)定,當(dāng) state=0時(shí),顯示當(dāng)前水溫; state=1,顯示設(shè)置水位; state=2,顯示設(shè)置水溫。顯示碼表如表 所示 。 本設(shè)計(jì)采用共陽(yáng) 極的 LED 數(shù)碼管,共陽(yáng)就是 7 段的顯示字碼共用一個(gè)電源的正。 、 作為位選信號(hào), 并 采用動(dòng)態(tài)顯示。報(bào)警,并加水 clr out_w LCALL RET_WDOG lcall display ljmp test_water 。判斷是否加水 cjne a,water,act_w1 act_w1: jc act_w2 setb out_w setb LS ljmp test_water_ret act_w2: clr out_w LCALL RET_WDOG lcalldisplay ljmp test_water 。50% ljmp act_w test_w3: jb ,test_w4 mov water_num,02h 。100% ljmp act_w test_w1: jb ,test_w2 mov water_num,08h 。 圖 水位檢測(cè)程序設(shè)計(jì) 該部分程序中要完成水位檢測(cè)和水位控制。當(dāng)水位到達(dá)該處,相應(yīng)端口輸出高電平,經(jīng)過(guò) ULN2021 反向后,送到 P2 口為低電平,并且該端口 數(shù)碼 顯示 [10] 。 圖 溫度數(shù)字濾波器 Y N 復(fù)位 DS18B20 發(fā)溫度轉(zhuǎn)換命令 溫度檢測(cè) 讀匹配溫度 溫度超限嗎? 報(bào)警 顯示 返回 開(kāi)始 3. 2 水位檢測(cè)程序設(shè)計(jì) 水位設(shè)定為 4 段,包括安全下限 、 50%、 80%、 100%。 溫度檢測(cè)轉(zhuǎn)換 流程圖如圖 。本 設(shè)計(jì) 采用的是算術(shù)平均值濾波法 [9]。 ( 3)只要適當(dāng)改變?yōu)V波程序或運(yùn)行參數(shù),就能方 便的改變其濾波特性。尤其是數(shù)字濾波可以對(duì)頻率很高或很低的信號(hào)進(jìn)行濾波,這是模擬濾波器做不到的。 溫度數(shù)字濾波器設(shè)計(jì) 為了更準(zhǔn)確的 得到 檢測(cè)到的溫度 參數(shù) ,提高抗干擾能力, 所以 對(duì)檢測(cè)到的溫度要進(jìn)行濾波處理。溫度過(guò)高,在加熱時(shí)要停止加熱,當(dāng)水位沒(méi)滿(mǎn)時(shí),自動(dòng)加水,這樣可以得到更多的熱水,使熱水器達(dá)到最大的利 用。 進(jìn)行溫度顯示,這里用兩位數(shù)碼管來(lái)顯示溫度,顯示范圍 00 到 99 度,顯示精度為 1度,因?yàn)?12 位轉(zhuǎn)化時(shí)每一位的精度為 度,所以不要求顯示小數(shù) , 所以可以?huà)仐?29H的低 4位,將 28H 中的低 4位移入 29H 中的高 4 位, 從而 獲得一個(gè)新字節(jié),這個(gè)字節(jié)就是實(shí)際測(cè)量獲得的溫度,非常簡(jiǎn)潔 , 無(wú)需乘以 系數(shù)。 表 DS18B20控制命令 指令 約定代碼 操作說(shuō)明 溫度轉(zhuǎn)換 44H 啟動(dòng) DS18B20進(jìn)行溫度轉(zhuǎn)換 讀暫存器 BEH 讀暫存器 9個(gè)字節(jié)內(nèi)容 寫(xiě)暫存器 4EH 將數(shù)據(jù)寫(xiě)入暫存器 的 TH、 TL字節(jié) 復(fù)制暫存器 48H 把暫存器的 TH、 TL字節(jié)寫(xiě)到 E2RAM中 重新調(diào) E2RAM B8H 把 E2RAM中的 TH、 TL字節(jié)寫(xiě)到暫存器 TH、 TL字節(jié) 讀電源供電方式 B4H 啟動(dòng) DS18B20發(fā)送電源供電方式的信號(hào)給主 CPU 溫度檢測(cè)程序 DS18B20 中的溫度傳感器對(duì)溫度 進(jìn)行檢測(cè) , 是由 16 位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以 ℃/LSB 形式表達(dá),其中 S是 符號(hào)位。s 的存在低脈沖,主 CPU收到此信號(hào)表示
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1