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

正文內(nèi)容

畢業(yè)論文-基于89c51單片機的智能家居控制系統(tǒng)設計(文件)

2024-11-28 08:54 上一頁面

下一頁面
 

【正文】 13 12 11 10 9R P 11KR110KV C CGNDS1 1 S22S33S4 4 S55S66S7 7 S88S99S 11 BS S 100S 12ENP P P P P P P P P P P P P P P P P P S T C 8 9 C 5 2 圖 24 矩陣鍵盤及顯示電路 聲光報警電路介紹 當達到報警條件時,要有報警信號發(fā)出。 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m b e r R e v i s i o nS i z eBD a t e : 1 9 N o v 2 0 1 3 S h e e t o f F i l e : C : \ D o c u m e n t s a n d S e t t i n g s \ A d m i n i s t r a t o r \ 桌面 \ 新建文件夾 1 \ M y D e s i g n . d d bD r a w n B y :4 7 0 R2k9 0 1 4V C CS TC 8 9 C 5 2P 3 .3 圖 25 聲光報警電路 6 3 智能家居控制系統(tǒng)的軟件設計 系統(tǒng)功能結(jié)構(gòu)圖 家居智能控制系統(tǒng)的軟件設計分為 2 個工作狀態(tài):等待密碼輸入狀態(tài)和正常工作狀態(tài)。直到密碼輸入正確為止。整個系統(tǒng)的功能結(jié)構(gòu)框圖如圖 31所示。 主程序的功能是完成開機界面和對單片機所進行的初始化,初始化就是設置各個變量的初始值、進行相關(guān)的中斷設置等。由于項目文件并不太大,所以用五個頭文件的形式將一些必要的時鐘設置、宏定義和一些簡單的驅(qū) 動程序包含在主函數(shù)中,這樣,既可以實現(xiàn)程序設計的模塊化,又不影響程序編譯的效率。在系統(tǒng)進入正常工作狀態(tài)后,顯示當前的溫度值和紅外值。該元件具有體積小,外圍電路簡單等特點。此外該元件上電后默認精度為 9 位,在寫完讀取溫度指令后,會在該器件內(nèi)部的兩個 8位的 RAM 中獲取有效數(shù)據(jù)。 例如 ,對應于 25℃的數(shù)據(jù)格式為 : MSB LSB 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 (符號位 “”) (溫度值 “ ”) 11001110 的補碼 00110010,即,被測溫度值為: T=(1 25 +1 24 +1 2) ℃ =25℃ 表 31 9 位 DS18B20 溫度與數(shù)據(jù)的對應關(guān)系 當系統(tǒng)處于正常工作狀態(tài)時,要循環(huán)的對溫度數(shù)據(jù)采集、顯示和判定。 讀取和寫入數(shù)據(jù)的過程中無法被中斷,所以在DS18B20 的讀寫的情況下關(guān)閉中斷。 DS18B20 控制程序的流程圖如圖 37所示。沒當中斷到來讀取紅外的端口,當紅外有輸出時,打開內(nèi)部計數(shù)器來記錄紅外被遮擋的時間。 因其內(nèi)部參考電壓的復用與電源的輸入,使得芯片的模擬電壓輸入保持在 0~5V 之間 ,達到穩(wěn)定的工作狀態(tài) 。通過讀取 ADC0832 的值,并與上一個讀取的值相比較,來判斷光線是變暗了還是變亮了。 因為所要監(jiān)測的傳感器主要是溫度傳感器和紅外傳感器,任何一個傳感器如果達到報警條件,都可以發(fā)出報警信號。當然,單片機的基本時鐘和引腳設置必不可少。 KEIL ΜVISION 可以方便的使用并且利用其強大的仿真功能進行軟硬件的調(diào)試工作 。它內(nèi)部集成了文件編輯、項目管理、編譯鏈接和仿真調(diào)試等多種功能。 程序的工程建立 ( 1)先建立一個名為“ hyx”的空文件夾,把工程文件放到里面,防止和其它文件相混。 ( 4) 彈出一個對話框 后 , 就可以根據(jù)設計中所需要的單片機。 ( 8)在項目設置中,可以編譯、鏈接,選擇菜單項目 建立目標,連接到單一的工程項目,生成代碼。等調(diào)試全部完成后,為了調(diào)試效果應反復運行多次,其中如發(fā)現(xiàn)錯誤時部分程序作了適當修正后系統(tǒng)才能夠正常運行 。 如下圖 34所示 : 16 圖 42 Keil 程序的調(diào)試 軟件抗干擾措施 當單片機受到干擾,不再按照一定的規(guī)律執(zhí)行,被改變了的程序指針( PC)的值后,使程序而跑飛到其它非程序區(qū),此后它不僅執(zhí)行了一系列毫無意義的指令,而且還可能破壞數(shù)據(jù)存儲器的內(nèi)容,造成難以預料的后果。后送 E1 調(diào)試結(jié)果展示 設計中的要求基本完成,如下圖 41 和 42 所示: ( 1) 開機畫面,需輸入正確密碼 ( 2) 密碼正確后,會顯示當前室內(nèi)溫度 ( 3)紅外,光敏,步進電機都能實現(xiàn)且運行良好 17 圖 43 開機畫面 圖 44 溫度及其他顯示畫面 18 5 結(jié)論及展望 智能家居控制系統(tǒng)的核心任務是數(shù)據(jù)的采集、運算和處理,對于實際物理量的采集必須要有傳感器。 用本文設計的智能家居控制系統(tǒng)具有如下特點: ( 1) 通過矩陣鍵盤輸入密碼,當密碼正確電路進入正常工作狀態(tài)。 ( 5)單片機及接口電路的設計使 I/O 接口線利用率高。為了防止人員的非法進入紅外參數(shù)也是一個比較重要的參數(shù),為了能夠控制室內(nèi)的光線強度,對光線強度的檢測和對窗簾電機的控制也是必不可少的。 ( 2)在原來的設計上加入遠程控制系統(tǒng)( GSM),是整個設計更加體現(xiàn)智能化家具的價值。 sbit L1602_E=P2^5。 sbit KEY_LB = P1^2。 sbit KEY_L2 = P1^6。 sbit ADC0832_DI = P2^3。 sbit SETP_3 = P3^6。 sbit normal_work = status^0。 unsigned char code time_num_h = (unsigned char)((65536time_length)/256)。 unsigned char seconds = 0。 static code unsigned char DPY_TAB[16] = { 0X3f,0X06,0X5b,0X4f,0X66,0X6d,0X7d,0X07, 0X7f,0X6f,0X77,0X7c,0X39,0X5e,0X79,0X71,}。 while(ms) { for(i=0。j++)。i++) { for(j=0。 _nop_()。 _nop_()。 KEY_LC = 0。= 0xE0。 i amp。 KEY_LB = 1。 i amp。 0x80) key = 0x31。 0x20) key = 0x33。 KEY_LD = 1。 i = ~i。 0x40) key = 0x35。 KEY_LB = 1。 i amp。 0x80) key = 0x37。 0x20) key = 0x39。 KEY_LD = 0。 i = ~i。 0x40) key = 0x30。 KEY_LB = 0。 i amp。 i amp。 KEY_LB = 1。 } //************* DS18B20 程序 ********************* void Init_DS18B20(void) { unsigned char i。 delay100us(5)。 delay10us()。 if(ds18b20_bit == 0) { for(i=0。 } } } else { flag_1820 = 0。i8。 ds18b20_bit = 0。 ds18b20_bit = 1。 _nop_()。 _nop_()。= 0x7f。 26 delay10us()。 } /***** 寫 18B20 函數(shù) *****/ void write_18b20(unsigned char t) { unsigned char i。 _nop_()。 _nop_()。 _nop_()。 if(t amp。 delay10us()。 ds18b20_bit = 1。 Init_DS18B20()。 EA = 1。 delayms(200)。 write_18b20(0xbe)。 temp = h。 if((h amp。 } return temp。 L1602_E=0。 L1602_E=1。 L1602_RW=1。 do{ i = L1602_read_status()。 }while(i!=0)。 L1602_E=1。// _nop_()。 do{ i=L1602_read_status()。 }while(i!=0)。 L1602_E=1。 _nop_()。 L1602_write_mand(0x0C)。 30 } void LCD_display_char(unsigned char x , unsigned char y , unsigned char dat) { unsigned char add。 L1602_write_data(dat)。 } for(i=0。) break。 for(i=0。 for(i=0。 psd[1] = 0。 psd[5] = 0。amp。amp。amp。 strcpy(lcd_data, Right !)。 delayms(200)。 break。 strcpy(lcd_data, Worng!)。 delayms(200)。 count = 0。 strcpy(lcd_data, Please input the)。 } } if(skey == 0x08) { 33 count。 strcpy(lcd_data, The password is)。 Beep_bit = 1。 delayms(200)。 LCD_clear()。 strcpy(lcd_data, Password:)。 LCD_display_char(2,9+count,0x20)。 } } } } } //************************ 按鍵密碼程序 *************************/ //************************ ADC0832 程序 *************************/ unsigned char read_adc0832(void) { unsigned char adc1=0。 _nop_()。 ADC0832_CLK = 1。 _nop_()。 ADC0832_DI = 1。 _nop_()。 ADC0832_CLK = 0。 _nop_()。 _nop_()。 _nop_()。 ADC0832_CLK = 1。 _nop_()。i++) { ADC0832_CLK = 0。 j = 1。 _nop_()。 } for(i=0。 _nop_()。 _nop_()。 } ADC0832_CS = 1。 for(k=0。i++) { 37 j = P3。 P3 = j。k8。 j amp。 delayms(1)。 j |= MOTOR_STEP[7i]。i8。 } } } void step_motor_fz(void) { unsigned char i,j,k。= 0x0f。k++) { for(i=0。 return adc1。 _nop_()。 _nop_()。i++) { ADC0832_CLK = 0。 _nop_()。 _nop_()。
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1