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

正文內(nèi)容

基于51單片機的智能窗戶的設(shè)計與實現(xiàn)(已改無錯字)

2022-12-30 21:42:58 本頁面
  

【正文】 JKFJDSKJF DSJF。DS 表 41 LCD12864 引腳說明 128X64HZ 引腳說明 引腳號 引腳名稱 方向 功能說明 1 VSS 模塊的電源地 2 VDD 模塊的電源正端 3 V0 LCD 驅(qū)動電壓輸入端 4 RS(CS) H/L 并行的指令 /數(shù)據(jù)選擇信號;串行的片選信號 5 R/W(SID) H/L 并行的讀寫選擇信號;串行的數(shù)據(jù)口 6 E(CLK) H/L 并行的使能信號;串行的同步時鐘 7~14 DB0~DB7 H/L 數(shù)據(jù) 0~數(shù)據(jù) 7 15 PSB H/L 并 /串行接口選擇: H并行; L串行 16 NC 空腳 17 /RET H/L 復(fù)位 低電平有效 18 NC 空腳 19 LED_A ( LED+5V) 背光源正極 20 LED_K ( LEDOV) 背光源負極 邏輯工作電壓 (VDD): ~ 電源地 (GND): 0V 工作溫度 (Ta): 10℃ ~ 60℃ (常溫 ) / 20℃~ 70℃(寬溫) 其中, VL 為 液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生 “ 鬼影 ” ,使用時可以通過一個 10K 的電位器調(diào)整對比度。 RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 R/W 為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng) RS 和 R/W 共同為低電平時可以寫入指令或者顯示地址,當(dāng) RS為低電平 R/W 為高電平時可以讀忙信號,當(dāng) RS為高電平 R/W為低電平時可以寫入數(shù)據(jù)。 E端為使能端,當(dāng) E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 D0~D7為 8位雙向數(shù)據(jù)線。 LCD12864 與單片機的連接如圖 ,其中, RT1 電位器用來調(diào)節(jié) LCD 的對比度,該對比度必須在 LCD 正常工作的時候調(diào)節(jié)到一個合適值。 圖 LCD12864 電路原理圖 時鐘電路設(shè)計 時鐘電路是利用單片機 STC89C52 控制串行實時時鐘芯片 DS1302 構(gòu)成的,實現(xiàn)計時的功能。時鐘芯片 DS1302 帶有后備電池,具備對后備電源進行涓細電流充電的能力,保證電路斷電后仍保存時間和數(shù)據(jù)信息,這些優(yōu)點解決了目前常用實時時鐘計時不可靠等缺點。 時鐘芯片 DS1302 是 DALLAS 公司推出的涓流充電時鐘芯片,內(nèi)含一個 實時時鐘 /日歷和 31 字節(jié)靜態(tài) RAM,可以通過串行接口與單片機進行通信。實時時鐘 /日歷電路提供秒、分、時、日、星期、月、年的信息,每個月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。DS 通過 AM/PM 標志位決定采用 24或 12小時時間格式。 DS1302 與單片機之間能簡單地采用同步串行的方式進行通信,僅需三根 I/O 線:復(fù)位( RST)、 I/O 數(shù)據(jù)線、串行時鐘( SCLK)。時鐘 /RAM 的讀 /寫數(shù)據(jù)以一字節(jié)或多達 31 字節(jié)的字符組方式通信。 DS1302 工作時功耗很低,保持數(shù)據(jù)和時鐘信息時,功耗小于 1mW。 圖 DS1302 的內(nèi)部結(jié)構(gòu)圖 圖 時鐘電路 光電 開關(guān) 電路設(shè)計 光電 開關(guān) 電路是利用光電反射傳感器 ST178 來控制的。 當(dāng)檢測到 黑 色 帶 時, 輸出低 電平 電機轉(zhuǎn)動即窗戶運動 ,當(dāng)檢測到白色帶 時 ,輸出 高電平電機停止轉(zhuǎn)動即窗戶停止運動。 、 ST178 的底視圖和內(nèi)部電路如下圖: 圖 ST178 的底視圖和內(nèi)部電路 、 ST178 的 特點 1.采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成。 2.檢測距離可調(diào)整范圍大, 410mm 可用。 3.采用非接觸檢測方式。 DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。DS 按鍵電路的設(shè)計 本設(shè)計的按鍵主要是用來設(shè)定開關(guān)窗的時間和是否要根據(jù)溫濕度情況和設(shè)定時間的情況來開關(guān)窗。 圖 按鍵電路的原理圖 DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。DS 第 5 章 軟件設(shè)計 主程序流程圖 本系統(tǒng)的 MCU使用了 ATMEL 公司的低功耗單片機 STC89C52。主程序中僅完成了系統(tǒng)的初始化和開始的顯示部分,然后就進入待機模式。其他功能模塊都在中斷服務(wù)子程序中完成。當(dāng)產(chǎn)生中斷時, MCU 被喚醒并執(zhí)行相應(yīng)的中斷服務(wù)子程序,從中斷子程序返回后,系統(tǒng)又進入到待機模 式,并關(guān)閉顯示設(shè)備,節(jié)省電量。整個程序的設(shè)計使系統(tǒng)在絕大多數(shù)時間都處于最低功耗狀態(tài)。整個程序用全部用 C 語言編寫,使用模塊化的設(shè)計方法,把各個模塊相關(guān)的程序放在一個文件中,便于分塊調(diào)試和管理,縮短了調(diào)試周期,增加了程序的可移植性和可剪裁性。 在主程序中,首先關(guān)閉了看門狗和總中斷,避免了在初始化過程中看門狗或其他中斷導(dǎo)致單片機復(fù)位,使初始化無法完成。初始化過程分模塊進行,增加了程序的可讀性,而已便于分塊調(diào)試,縮短了調(diào)試周期。 整個系統(tǒng)軟件需要對溫度傳感器 DHT1報警器、窗戶控制系統(tǒng)進行管理。溫度傳感器 DHT11 為數(shù)字式溫度傳感器,直接與單片機的 串口 連接來讀取溫度。以上所有模塊均在主程序中完成初始化過程,系統(tǒng)流程圖如圖 51所示。 圖 主程序流程圖 各部分子程序 溫 濕 度檢測程序 DHT11 子程序是結(jié)合它的用戶使用資料編寫,主要完成的是初始化 DHT11,從 DHT11中讀出一個字節(jié)的數(shù)據(jù),向 DHT11 中寫入一個字節(jié)的數(shù)據(jù),配置 DHT11 包括警報溫度的上系統(tǒng)初始化 中斷初始化 溫濕度數(shù)據(jù)讀取 有異常? 處理 N 開始 結(jié)束 DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。DS 限和下限、溫度轉(zhuǎn)換的精度,讀出 Scrachpad 存儲器中的九個字節(jié)的數(shù)據(jù),讀出 Rom 中的64位 Code 值,對讀出的 Scrachpad 數(shù)據(jù)進行 CRC 校驗,然后根據(jù)讀出的數(shù)據(jù)得到測量出的十進制溫度值。從 DHT11 中讀出九個字節(jié)數(shù)據(jù)的流程圖如圖 所示。 圖 溫度讀取流程圖 DHT11 數(shù)據(jù)的 CRC 校驗。為了解決單總線串行傳輸數(shù)據(jù)可能引起的錯誤, DHT11內(nèi)部具有產(chǎn)生 CRC校驗碼電路,這樣 編程時 可以通過對讀出的數(shù)據(jù)進行 CRC 校驗碼,并用這個校驗碼和獲得的數(shù)據(jù)的最后一個字節(jié)比較,若兩者相同則證明數(shù)據(jù)傳送沒有錯誤,從而驗證通信 過程中數(shù)據(jù)傳輸?shù)恼_性,使采集溫度信號的可靠性得到保證。 CRC 檢驗的求法。 M為一個 k位長的信息幀。 P 為 n+1 位預(yù)先確定的用來生成校驗碼的二進制序列其最高位和最低位必須為 1, DS18B20 中使用的序列為: P = 1 0011 0001。 F 為n位 FCS,即校驗碼序列。 T為 k+n位被傳輸?shù)膸R驗?F是接在 M 信息幀之后的,因此 T=M 178。 2 n (2 n 為 2的 n次方 )中, M 178。 2 n 相當(dāng)于 M 左移n位,后面添n個零。設(shè) M 178。 2 n 除以 P 的商和余數(shù)分別是 Q和 R,則有 M 178。 2 n =P 178。 Q+R 即 M 178。 2 n /P=Q+R/P 若設(shè) T=M 178。 2 n +R,則 T定能被整除。因為按模 2的加減運算相當(dāng)于異或運算,故有 T/P=(M 178。 2 n +R)/P=(M 178。 2 n )/P+R/P =Q+R/P+R/P=Q 這樣一來,校驗碼序列 F 就是 M 178。 2 n 除以 P的余數(shù) R。通過計算可以得到 256 個用于 CRC 檢驗的數(shù)據(jù)[4]。 在本設(shè)計中,為了降低處理器的功耗,選用了查表法來進行計算。其關(guān)鍵代碼如下: for(i=0。icrc_number。i++) { checkdata=(checkdata8)^CRCTable[((checkdata8)^crc_data[i])]。 } CRC_CCITT_L=(unsigned char)(checkdata%256)。 CRC_CCITT_H=(unsigned char)(checkdata/256)。 初始化 ROM 指令 讀取溫濕度 Y 儲存溫度 N 結(jié)束 CRC 校驗 DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。DS 電機 控制系統(tǒng) 窗戶控制系統(tǒng)主要包括開關(guān)窗戶的控制。 夏天 當(dāng)溫度傳感器檢測到室 外 溫度 高于 30℃時 , = 低電平,電機正轉(zhuǎn)窗戶關(guān)閉到限位點時,電機停止。溫度傳感器檢測到室外溫度低于 25℃時, =0、 高電 平,電機反轉(zhuǎn)窗戶開啟到限位點時,電機停止。 圖 窗戶控制程序流程圖 顯示程序設(shè)計 LCD 顯示程序最主要的部分就在發(fā)送命令和發(fā)送數(shù)據(jù)這兩個基礎(chǔ)程序。通過 LCD 的數(shù)據(jù)手冊,可知 LCD時序圖如下。 表 51 LCD12864 基本操作狀態(tài)表 1. 讀操作時序 根據(jù) LCD12864 控制器的數(shù)據(jù)手冊,可以通過流程圖來得知 LCD 讀取數(shù)據(jù)和寫入數(shù)據(jù)的時序及流程。 如圖 。 電機反轉(zhuǎn)開窗 電機正轉(zhuǎn)關(guān)窗 是 是 開始 溫度 25℃ 結(jié)束 溫度 30℃ ? DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。DS 圖 LCD12864 讀操作時序 2. 寫操作時序如圖 圖 LCD12864 寫操作時序 LCD 寫操作包括寫數(shù)據(jù)和寫命令兩個部分構(gòu)成,當(dāng) RS=0 時,為寫命令,當(dāng) RS=1 時為寫數(shù)據(jù)。 具體程序 見附頁。 DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。DS 第 6 章 系統(tǒng)組裝與調(diào)試 基本電路板檢查 根據(jù)前面的研究完成各個電路模塊的原理設(shè)計并生成 PCB 圖,制作電路板,進行實驗調(diào)試。 ( 1) 檢查印制板的印制線是否有斷路,是否有毛刺,是否與其它線或是焊盤粘連,焊盤是否有脫落,過孔是否有未金屬化現(xiàn)象等等。 ( 2) 先用萬用表復(fù)核目測中認 為可疑的連接或是接點,檢查它們的通短狀態(tài)是否與設(shè)計規(guī)定相符。再檢查各種電源線與地線之間是否有短路現(xiàn)象,如有再仔細檢查出并排除。短路現(xiàn)象一定要在器件安裝及加電前檢查出。 ( 3) 路接通電源后,用手摸一下芯片是否發(fā)熱,如果發(fā)熱,立即關(guān)掉電源,稍后再進行再次檢測;如果沒有發(fā)熱,再測試芯片的 VCC端電壓是否達到設(shè)計要求,接地端是否都接地。 主控模塊調(diào)試 在本次設(shè)計中,主控模塊是非常重要的部分,它不僅是本次設(shè)計的核心,在本次硬件調(diào)試中也遇到了問題,接上電源的時候, 液晶顯示 亮了,但沒有任何顯示,于是我做了如下的工 作: (1)檢查電源是否通電,使用萬用表測試之后, 主要測試各個芯片和液晶顯示是否正常通電, 發(fā)現(xiàn)電壓、電流都是正確的; (2)液晶顯示通電但沒信號顯示,檢測發(fā)現(xiàn)是 電位器 燒壞了,換了一個好的。重新通電液晶 正常 顯示。 軟件調(diào)試 當(dāng)硬件制作完成后,軟件制作也是不可輕視的部分,是實現(xiàn)電路的功能的關(guān)鍵部分,通過本次畢業(yè)設(shè)計,總結(jié)經(jīng)驗如下: ( 1) 先進行人工檢查。寫好程序后,不要立刻燒入單片機,先對紙面上的程序進行人工檢查。由于采用 C語言編程,所以要特別小心地檢查語法錯誤,如括號不配對,漏寫分號等,通過仔細的檢查 ,發(fā)現(xiàn)并排除這些錯誤。 ( 2) 人工檢查無誤后,上機調(diào)試。在編譯時給出的語法錯誤的信息,根據(jù)提示的信息具體找出程序中錯誤之處并改之,從上至下逐一改正。應(yīng)當(dāng)注意的是:有的提示出錯行并不是真正出錯的行,如果在提示出錯的行上找不到錯誤的話,則應(yīng)該到上行再找。 ( 3) 當(dāng)確認程序無語法錯誤和邏輯錯誤時, 通過直接下載到單片機來調(diào)試。采用的是自下到上的調(diào)試方法,即單獨調(diào)好每一個模塊,然后再連接成一個完整的系統(tǒng)調(diào)試。 ( 4) 程序燒入單片機后,觀察各個部件的工作是否正常,功能是否實現(xiàn)。如不能正常工作,則繼續(xù)檢查程序中的相應(yīng) 模塊,必要時從上到下重新檢查程序。 數(shù)據(jù)整理 當(dāng)外界濕度大于 80%時,窗戶都是關(guān)閉的;
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1