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

正文內容

基于單片機的智能燈光設計畢業(yè)論文(編輯修改稿)

2025-04-03 12:00 本頁面
 

【文章內容簡介】 從而是單片機等控制電路正常工作,且成本低。 2) AMS1084 由于單片機、 LCD、 DS1302 使用電壓為 +5V 直流電,而 NRF2401A 射頻使用電壓為+~+,所以需要將 5V的直流電變壓成 為 NRF2401A 射頻芯片供電,其接線圖如圖 214所示 圖 214 按鍵指示電路及實現 在單片機應用系統(tǒng)中,按鍵主要有兩種形式: 獨立按鍵; 矩陣編碼鍵盤。獨立按鍵的每個按鍵都單獨接到單片機的一個 I/O 口上,獨立按鍵則通過判斷按鍵端口的電位即可識別按鍵操作;而矩陣鍵盤通過行列交叉按鍵編碼進行識別。 通常所用的按鍵為輕觸機械開關,正常情況下按鍵的接點是斷開的,當我們按壓按鈕時,由于機械觸點的彈性作用,一個按鍵開關在閉合時 不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而機械觸點在閉合及斷開的瞬間均伴隨有一連串的抖動,抖動時間的長短由按鍵的機械特性及操作人員按鍵動作決定,一般為 5ms~ 20ms;按鍵穩(wěn)定閉合時間的長短是由操作人員的按鍵按壓時間長短決定的,一般為零點幾秒至數秒不等。 11 在本設計中由于按鍵不是太多,故采用獨立按鍵法,這樣可以減小編程的難度,圖 215為本設計的按鍵接線圖。 圖 215 按鍵接線圖 硬件 電路板制作 開發(fā)環(huán)境 protel99SE 開發(fā)硬件設計主要使用的是 protel 99 軟件 如圖 15 所 示 , protel 是 Altium 公司在80 年代末推出的 EDA 軟件,在電子行業(yè)的 CAD 軟件中,它當之無愧地排在眾多 EDA 軟件的前面,是電子設計者的首選軟件,它較早就在國內開始使用,在國內的普及率也最高,有些高校的電子專業(yè)還專門開設了課程來學習它,幾乎所有的電子公司都要用到它,許多大公司在招聘電子設計人才時在其條件欄上常會寫著要求會使用 protel。 Protel99 SE 共分 5個模塊,分別是原理圖設計、 PCB 設計(包含信號完整性分析)、自動布線器、原理圖混合信號仿真、 PLD 設計。 圖 216 protel工 作空間界面 首先進入 protel 新建一個工程,在菜單欄中的 file→ new,然后選擇路徑和設定工程名稱,單機 OK,這樣就成功的新建了一個工程。在右邊會出現工作空間,單機右鍵→ new 12 →選擇 Schematic Document,這樣就新建了一個電氣原理圖 (如圖 216),修改原理圖名稱,然后進入原理圖,繪制需要的電氣圖。 在原理圖繪制完畢后,對每個元件選擇相應的封裝,接著在菜單欄里的 design 菜單中選擇 Update to PCB, protel 會自動在工作空間中生成與原理圖同名的 PCB 圖,并且在PCB 中標記有飛 線,這樣會方便布線,分布號元器件位置,設置好線寬,焊盤等設置,即可開始繪圖。 如圖 217所示。 圖 217 PCB圖形繪制 電路板的制作 繪制完畢 PCB 圖后,將其打印在轉印紙上,將其覆蓋在擦洗打磨干凈的覆銅板上,平整的固定住,與其一起在快速制版機中加熱。注意,溫度過高可能會使覆銅板銅皮翹起,溫度太低會使碳粉吸附不牢固。轉印好銅板后,將轉印好的銅板放入氯化鐵溶液中浸泡腐蝕,將沒有覆蓋碳粉的部分腐蝕掉,待腐蝕完畢后,用細砂紙將電路上的碳粉打磨掉露出同色的銅皮即可。 使用 的鉆頭在焊盤上打孔 ,并且對照著 PCB 圖焊接好對應的元器件,經過萬用表測試無斷線無短路即可上電使用。 成果如圖 218所示。 圖 218 焊接完畢的電路板 13 第三章 程序的設計實現 系統(tǒng)整體程序框架 本設計整體工作主要由單片機程序控制實現,其工作過程為:電路啟動初始化,電路功能選擇, 通訊握手,讀取信號,顯示信號, 輸出選擇并確定輸出,單片機采集 外部光強和紅外信號 等,程序整體框架如圖 31所示。 圖 31 程序整體框架圖 主控板程序設計 本設計流程框圖如圖 32所示。 首先 上電,對各個模塊進行初始化,然后檢 測各個房間的燈光狀態(tài)(自動狀態(tài),強制開,強制關) , 將狀態(tài)寫給 NRF2401A 射頻芯片的緩存區(qū),并 將其發(fā)射給遙控器。再進行對各個狀態(tài)的處理,強制開狀態(tài)則將該房間對應的管腳置 1;反之,強制關則將對應房間的管腳清零。繼電器輸出模塊會通過管腳電平變化改變繼電器線圈電流,控制線圈吸合或者斷開,從而控制房間燈光的開關。如果是自動狀態(tài),則通過光強傳感器、紅外傳感器 判斷房間是否應該開燈。當外部亮度足夠亮,則不需要開燈;若外部亮度較暗,則通過紅外傳感器檢測是否有 37℃的紅外頻率出現,當有人被紅外傳感器檢測到,紅外傳感器信號位 跳變?yōu)楦唠娖?,單片機相應管腳接收到該信號會進行處理,控 14 制對應房間的管腳變?yōu)楦唠娖健? 圖 32 主控板程序流程圖 燈光延時等待的設計與思考 考慮到在家居時,很多人會暫時離開一下某件屋子,然后會回來 ,這樣使燈具頻繁的開關可能會導致燈具的損壞,所以設計了一套燈光延時等待程序,為了節(jié)省 MCU 的占用率,該段程序使用的是內部定時器進行計時,這樣可以再執(zhí)行其他程序的同時進行延時。 通過 TMOD 將單片機內部定時器 0與定時器 1 的工作方式選方式一。 TMOD 狀態(tài)字如表31 所示 表 31 TMOD狀態(tài)字 D7 D6 D5 D4 D3 D2 D1 D0 GATE C/~T M1 M0 GATE C/~T M1 M0 定時器 /計數器 1 定時器 /計數器 0 計算出 計時器每次計時時間,并對 TH1, TL1, TH0, TL0 進行賦值。計算公式如 32 15 式。 T=(65536X)TCY ( 32) 在式 32 中 T 為定時器定時時間, X 為寄存器存儲值,將其高八位寫入 TH 中低八位寫入 TL中; TCY為一個指令周期, TCY與晶振頻率 f有關, TCY =12/f。 由于每次計時器計時長度有限約 10ms(方便計算),不 能達到系統(tǒng)要求,在使用時,設定了一個時間次數變量 TIME,讓其循環(huán) 100 次即可延時 1S,如需時間改變,改變 TIME值即可。定時器的調用步驟如圖 33 所示。 圖 33 定時器調用框圖 鑒于本設計有多個房間(多于兩個)而單片機中僅有兩個定時器,所以在每次調用定時器時都會有一個對定時器選擇的程序 。當需要使用定時器時,先進行判定,定時器 0 是否被其他房間所占用,若沒有被占用則使用定時器 0,若被占用了,則使用定時器 1 。若定時器 0與定時器 1同時被占用,則調用手動編寫的延時定時器程序,由于該程序段比較占用單片機,會影 響到系統(tǒng)整體的運行速度,所及將其優(yōu)先級放在最后。 遙控器程序設計 遙控器主要包含的模塊有 LCD1602 顯示器, DS1302 時鐘芯片, NRF2401A 射頻模塊, 16 還有按鍵部分。主要 設計思路如下,首先上電對各個模塊初始化,讀取 DS1302 中的時間數據,同時讓 LCD 液晶顯示屏顯示時間與房間,接著通過 NRF2401A 向主控板發(fā)送信號,要求返回各個房間的狀態(tài),并將其寫入 LCE 液晶顯示屏上。然后掃描鍵盤,判斷是否有房間狀態(tài)需要改變,若有鍵盤按下,則將按鍵信號通過 NRF2401A 射頻發(fā)送到主控板中,主控板接 收到信號后改變房間狀體,同時返回當前房間狀態(tài),讓遙控板上的 LCD 作出相應的顯示。其流程框圖如圖 34所示。 圖 34 遙控器工作流程圖 NRF2401A 無線射頻通訊的程序設計 1) 初始化程序 初始化函數: void n1A_Init_Dev() 程序包括端口初始化和向芯 片寫控制字操作,初始化流程如圖 32所示。 17 圖 35 NRF2401A初始化框圖 NRF2401A 的工作模式如表 32所示: 表 32 NRF2401A工作模式 工作模式 PWR_UP CE CS 收發(fā)模式 1 1 0 配置模式 1 0 1 空閑模式 1 0 0 關機模式 0 X X 對 nRF2401A 的初始化包括 nRF2401A 上電和向 nRF2401A 寫控制字。 nRF2401A 上電是將芯片的 PWRUP 管腳設置為高電平,上電以后才可以對 nRF2401A 進行控制和讀寫操作。nRF2401A 共有 18Byte(144bit)的命令字。其配置字格式如表 33所示 。 表 33 配置字格式 位( bit) 位數 名字 功能 111~104 8 DATA1_W 通道 1 有效數據長度 63~24 0 ADDR1 通道 1 地址 23~18 6 ADDR_W 通道 1 地址長度 17 1 CRC_L 8 或 6 位 CRC, 0 是 8 位, 1 是 16 位 16 1 CRC_EN CRC 使能位 14 1 CM 1 是 ShockBurstTM 模式 12~10 3 XO_F 晶振頻率選擇 9~8 2 RF_PWR 發(fā)射功率 7~1 7 RF_CH 信道頻率 0 1 RXEN 0 使能發(fā)射, 1 使能接收 向 nRF2401A 寫控制字操作時序圖 36所示。 18 CSCEC LKD A T AP W R _U PM S B M LB 圖 36 向 nRF2401A寫命令字時序圖 PWRUP 為高, CE 為低時,置位 CS, 芯片處于命令字寫入狀態(tài),通過通道 1 向芯片的控制字緩沖區(qū)寫入命令字,按照由高位到低位的順序,命令字全部寫入后,將 CS 置底,nRF2401A 芯片將會根據命令字配置相應的內部模塊。在第一次配置操作結束后,只有最后兩個字節(jié)的命令字可以被更改,前 16 個字節(jié)的修改無效,如果需要修改前 16 個字節(jié)的命令字(如果通道接收地址,接收數據長度等),則需要掉電( PWRUP 置低)后重新上電( PWRUP置高),才能對芯片進行徹底初始化操作。 2) 數據發(fā)送程序 nRF2401A 采用 ShockBurstTM(突發(fā)模式)方式發(fā)送數據。單 片機向 nRF2401A 發(fā)送數據流程圖 34所示。 圖 37 單片機向 nRF2401A發(fā)送數據流程 19 單片機向 nRF2401A 發(fā)送數據的時序如圖 38 所示。 CSCEC LKD A T AP W R _U PM S B L S B 圖 38 單片機向 nRF2401A發(fā)送數據時序圖 圖 39 單片機向 nRF2401A發(fā)送數據格式 An~A0 為接收機地址,不超過 40 位,通過更換地址,可以向多個 nRF2401A 模塊發(fā)送數據; Dk~D0 為待發(fā)送的數據。以上數據由單片機發(fā)送到 nRF2401A 之后, nRF2401A 將會進行打包并發(fā)射,打包后的數據格式如圖 310 所示。 前緩沖 地址 有效數據 循環(huán)冗余校驗 圖 310 nRF2401A對外發(fā)送數據的打包格式 其中,前緩沖是硬件自動添加,地址由用戶設定。為 3240 位;循環(huán)冗余校驗由內置CRC 糾檢錯硬件電路自動添加。可設為 O、 8或 6位。所有的數據總共長度為 256位。 3) 據接收程序 當接收端成功接收到數據后,將會置位對應的管腳數據請求 DR1/DR2,單片機通過按鍵查詢該管腳狀態(tài),或者通過中斷方式接受數據。數據接收流程如圖 311 所示。 圖 311單片機讀取數據流程 20 單片機從 nRF20401A 讀取數據的時序如圖 312 所示。 CSCED R 1/2C LKD A T AP W R _U PM S B L S B 圖 312 單片機從 nRF2401A讀取數據時序圖 LCD1602 顯示模塊的程序設計 四種基本操作 LCD 有四種基本操作,具體如表 34 所示。 表 34 LCD 與單片機之間有四種基本操作 RS R/W 操作 0 0 寫命令操作 (初始化,光標定位等 ) 0 1 讀狀態(tài)操作 (讀忙標志位 ) 1 0 寫數據操作 (要顯示內容 ) 1 1 讀數據操作 (可以把顯示存儲區(qū)中的數據反讀出來 ) (1)讀狀態(tài)操作 執(zhí)行讀狀態(tài)字操作如表 34 所示,須滿足 RS=0、 R/W=1。根據管腳功能,當為有效電平 時,狀態(tài)命令字可從 LCD 模塊傳輸到數據總線。同時可以保持一段時間,從而實現讀狀態(tài)字的功能。圖 28所示為讀入狀態(tài)字流程圖。 圖 313 LCD讀入狀態(tài)字流程 21 (2)寫命令操作 由表 34可知當 RS=0, R/W=0 時,才可以通過單片機或用戶指令把數據即命令,寫到LCD 模塊,此時就對 LCD 進行調制。可采用查詢方式:先讀入狀態(tài)字,再判斷忙標志,最后寫命令字。 1)命令字 表 35所示為命令字,其主要介紹了指令名稱、控制信號及控制代碼。其指令名稱是指要實現的功能,控制代號是采用的十六進制的數值表示的。 操作是指輸入某命令字后即能將整個屏幕顯示的內容全部清除; home 位:將光標送到初始位;其中的 *號為任意,高低電平均可; :設光標移動方向并指定整體顯示,是否移動。 I/D=0:減量方式, S=1:移位, S=0:不移位;
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1