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

正文內(nèi)容

基于51單片機(jī)與若干傳感器的智能開關(guān)窗系統(tǒng)_課程設(shè)計報告-文庫吧

2025-05-12 21:46 本頁面


【正文】 讀取溫度并顯示 我們的主程序設(shè)計目標(biāo)是當(dāng)溫度在 20到 30 度之間、光照充足且無雨的情況下,窗戶關(guān)閉,液晶顯示 OFF;三個條件有一個不滿足則窗戶打開,液晶顯示 ON。 二 、 步進(jìn)電機(jī)的編程控制方法 控制步進(jìn)電機(jī)的關(guān)鍵是利用控制脈沖的快慢、順序 、個數(shù) 來調(diào)節(jié)電機(jī)轉(zhuǎn)速、正反轉(zhuǎn) 、轉(zhuǎn)動角度 等狀態(tài)。 步進(jìn)電機(jī) 28BYJ48 型四相八拍電機(jī),電壓為 DC5V— DC12V。當(dāng)對步進(jìn)電機(jī)施加一系列連續(xù)不斷的控制脈沖時,它可以連續(xù)不斷地轉(zhuǎn)動。每一個脈沖信 號對應(yīng)步進(jìn)電機(jī)的某一相或兩相繞組的通電狀態(tài)改變一次,也就對應(yīng)轉(zhuǎn)子轉(zhuǎn)過一定的角度(一個步距角)。當(dāng)通電狀態(tài)的改變完成一個循環(huán)時,轉(zhuǎn)子轉(zhuǎn)過一個齒距。 四相步進(jìn)電機(jī)可以在不同的通電方式下運(yùn)行,常見的通電方式有單(單相繞組通電)四拍( ABCDA。),雙(雙相繞組通電)四拍( ABBC CDDAAB。),八拍( AABBBCCCDDDAA。)。 這里我們采用的通電方式是四相單雙八拍,各相電平與十六進(jìn)制相序?qū)?yīng)如下表所示: 橙 黃 粉 藍(lán) 十六制( P1口) 1 0 0 0 0xf8 1 1 0 0 0xfc 0 1 0 0 0xf4 判斷是否有雨、陰天、超限 窗戶開關(guān)狀態(tài) 關(guān)窗 不操作 判斷是否有雨、陰天、超限 開窗 0 1 1 0 0xf6 0 0 1 0 0xf2 0 0 1 1 0xf3 0 0 0 1 0xf1 1 0 0 1 0xf9 所以可以定義旋轉(zhuǎn)相序 uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}。 //正轉(zhuǎn)相序編碼表 uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}。//反轉(zhuǎn)相序編碼表 下面 這段程序是我們程序中的步進(jìn)電機(jī)控制部分 ,它可以實(shí)現(xiàn)控制電機(jī)的 正轉(zhuǎn)或反轉(zhuǎn) 45度,以此代表窗戶打開或關(guān)閉 。 if(z1flag==0) //電機(jī)反轉(zhuǎn),窗戶打開 { for(。num20。num2) { if(v8) { P1 = REV[v]。v++。 } if(v==8) v=0。 delaynms(15)。 } num2=512。 //轉(zhuǎn) 45度 z1flag=1。 state=0。 } if(z2flag==0) //電機(jī)正轉(zhuǎn),窗戶關(guān)上 { for(。num20。num2) { if(v8) { P1 = FFW[v]。v++。 } if(v==8) v=0。 delaynms(15)。 } num2=512。 //轉(zhuǎn) 45 度 state=1。 z2flag=1。 } 電機(jī)轉(zhuǎn)一圈即 360 度需要 64*64=4096 個脈沖,所以要想電機(jī)轉(zhuǎn) 45度,需要 4096/8=512 個脈沖,這里用 num2=512 來控制電機(jī)轉(zhuǎn) 45度。 三、 LCD1602 液晶的編程控制 顯示流程圖如圖 ,流程圖分析如下:首先對 1602顯示屏進(jìn)行初始化(初始化大約持續(xù) 10ms),然后檢查忙信號,若 BF=0,則獲得顯示 RAM地址,寫入相應(yīng)的數(shù)據(jù)顯示。若 BF=1,則代表模塊正在進(jìn)行內(nèi)部操作,不接受任何外部指令和數(shù)據(jù),直到 BF=0為止。 LCD顯示程序流程圖 LCD1602 基本操作時序?yàn)椋? 讀狀態(tài) 輸入: RS=L, RW=H,E=H 輸出: DB0~ DB7=狀態(tài)字 寫指令 輸入: RS=L, RW=L, E=下降沿脈沖,DB0~ DB7=指令碼 輸出:無 讀數(shù)據(jù) 輸入: RS=H, RW=H,E=H 輸出: DB0~ DB7=數(shù)據(jù) 寫數(shù)據(jù) 輸入: RS=H, RW=L, E=下降沿脈沖, DB0~ DB7=數(shù)據(jù) 輸出:無 第五章 心得體會 為其近半個學(xué)期的傳感器課程設(shè)計結(jié)束了,在這期間我收獲了很多,感到很有意義。 這次課設(shè)我主要負(fù)責(zé)的是步進(jìn)電機(jī)模塊的電路設(shè)計及軟件編程,另外我還學(xué)習(xí)了 LCD1602 液晶顯示的編程控制方法。 早在大二自學(xué)單片機(jī)時我就注意到步進(jìn)電機(jī)這種器件,但當(dāng)時只是略作了解,沒有學(xué)習(xí)它的原理與編程控制,這次借課程設(shè)計的機(jī)會,我得以對步進(jìn)電機(jī)進(jìn)行了較為深入的了解和學(xué)習(xí)。 在課設(shè)的前期我通過查閱了許多資料,學(xué)習(xí)了步進(jìn)電機(jī)的工作原理。之后我開始考慮整體硬件電路的設(shè)計,顯示、驅(qū)動電路的設(shè)計,最終選擇使用 28BYJ48 型步進(jìn)電機(jī)、 ULN2021 驅(qū)動芯片、 1602 液晶顯示。在這之后我開始考慮要實(shí)現(xiàn)的電機(jī)功能, 在完成了原理圖與 PCB 圖繪制、電路元件焊接后,我開始著手進(jìn)行程序設(shè)計。我與我們組負(fù)責(zé)傳感器和單片機(jī)電路部分的同學(xué)反復(fù)討論,對程序不斷修改、調(diào)試,最終,完成了預(yù)想的目標(biāo)。 我認(rèn)為智能開關(guān)窗系統(tǒng)這個課題,既包含多種傳感器能夠充分地檢驗(yàn)我們這學(xué)期傳感器課程的學(xué)習(xí)成果,又十分具有應(yīng)用價值 。 通過這次課設(shè)我得以學(xué)習(xí)到了步進(jìn)電機(jī)的工作原理與編程控制方法,以及光敏、雨水、溫度等幾種傳感器的使用方法。另外,在這次課設(shè)過程中涉及的 LCD1602 控制等內(nèi)容也對我很有幫助。通過本次課設(shè)我對 51單片機(jī)的編程控制、定時器中斷等知識也得到了充分的復(fù)習(xí)鞏固。 總之,這次課設(shè)讓我受益匪淺,感謝楊老師一學(xué)期來傳感器課程的悉心教導(dǎo),這對我們的課設(shè)得以順利完成很有幫助。 附件 一、 電路原理圖 最小系統(tǒng)與步進(jìn)電機(jī)模塊 光敏電阻模塊 二、 電路 PCB圖 三、 電路實(shí)物圖 總體電路(所有器件): 步進(jìn)電機(jī)板: 四、 源程序 include //包含單片機(jī)寄存器的頭文件 include //包含 _nop_()函數(shù)定義的頭文件 define uchar unsigned char define uint unsigned int uchar code digit[10]={0123456789}。 //定義字符數(shù)組顯示數(shù)字 uchar code Str[]={state:}。 //說明顯示的是溫度 uchar code Error[]={Error!Check!}。 //說明沒有檢測到 DS18B20 uchar code Temp[]={Temp: }。 //說明顯示的是溫度 uchar code Cent[]={Cent}。 //溫度單位 uchar code winon[]={ON }。 uchar code winoff[]={OFF}。 uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}。 //正轉(zhuǎn)相序編碼表 uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}。//反轉(zhuǎn)相序編碼表 uchar z1flag=1。 uchar z2flag=1。 uchar state=1。 //窗戶開 uchar templ=20。 uchar temph=30。 //uint num1=2。 uint num2=512。 sbit yu = P3^5。 sbit light=P3^6。 /******************************************************************************* 以下是對液晶模塊的操作程序 *******************************************************************************/ sbit RS=P2^0。 //寄存器選擇位,將 RS 位定義為 sbit RW=P2^1。 //讀寫選擇位,將 RW 位定義為 sbit E=P2^2。 //使能信號位,將 E位定義為 sbit BF=P0^7。 //忙碌標(biāo)志位,將 BF 位定義為 /***************************************************** 函數(shù)功能:延時 1ms (3j+2)*i=(3 33+2) 10=1010(微秒 ),可以認(rèn)為是 1 毫秒 ***************************************************/ void delay1ms() { unsigned char i,j。 for(i=0。i4。i++) for(j=0。j3
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1