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

正文內(nèi)容

基于stm32單片機的智能家居系統(tǒng)設計-文庫吧

2025-06-12 18:56 本頁面


【正文】 面??梢燥@示84行1616點陣的漢字. 。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。:(1)、低電源電壓(VDD:++)(2)、顯示分辨率:12864點 (3)、內(nèi)置漢字字庫,提供8192個1616點陣漢字(簡繁體可選) (4)、內(nèi)置 128個168點陣字符 (5)、2MHZ時鐘頻率 (6)、顯示方式:STN、半透、正顯 (7)、驅(qū)動方式:1/32DUTY,1/5BIAS (8)、視角方向:6點 (9)、背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/5—1/10 (10)、通訊方式:串行、并口可選 (11)、內(nèi)置DCDC轉(zhuǎn)換電路,無需外加負壓 (12)、無需片選信號,簡化軟件設計(13)、工作溫度: 0℃ +55℃ ,存儲溫度: 20℃ +60℃、應用說明①欲在某一個位置顯示中文字符時,應先設定顯示字符位置,即先設定顯示地址,再寫入中文字符編碼。②顯示ASCII字符過程與顯示中文字符過程相同。不過在顯示連續(xù)字符時,只須設定一次顯示地址,由模塊自動對地址加1指向下一個字符位置,否則,顯示的字符中將會有一個空ASCII字符位置。③當字符編碼為2字節(jié)時,應先寫入高位字節(jié),再寫入低位字節(jié)。④模塊在接收指令前,向處理器必須先確認模塊內(nèi)部處于非忙狀態(tài),即讀取BF標志時BF需為“0”,方可接受新的指令。如果在送出一個指令前不檢查BF標志,則在前一個指令和這個指令中間必須延遲一段較長的時間,即等待前一個指令確定執(zhí)行完成。指令執(zhí)行的時間請參考指令表中的指令執(zhí)行時間說明。⑤“RE”為基本指令集與擴充指令集的選擇控制位。當變更“RE”后,以后的指令集將維持在最后的狀態(tài),除非再次變更“RE”位,否則使用相同指令集時,無需每次均重設“RE”位。 外部存儲芯片AT24C02EEPROM (Electrically Erasable Programmable ReadOnly Memory),電可擦可編程只讀存儲器,是一種掉電后數(shù)據(jù)不丟失的存儲芯片。 EEPROM 可以在電腦上或?qū)S迷O備上擦除已有信息,重新編程。一般用在即插即用。它是可用戶更改的只讀存儲器(ROM),其可通過高于普通電壓的作用來擦除和重編程(重寫)。不像EPROM芯片,EEPROM不需從計算機中取出即可修改。AT24CXX是美國ATMEL公司的低功耗CMOS串行EEPROM,典型的型號有AT24C01A/02/04/08/16等5種,它們的存儲容量分別是1024/2048/4096/8192/16384位;也就是128/256/512/1024/2048字節(jié);使用電壓級別有5V,,。AT24C02是一個CMOS標準的EEPROM存儲器,是AT24CXX系列(AT24C01/02/04/08/16)成員之一,這些EEPROM存儲器的特點是功耗小、成本低、電源范圍寬,靜態(tài)電源電流約30uA~110uA,具有標準的I2C總線接口,是應用廣泛的小容量存儲器之一。圖5 圖5是AT24C02的引腳圖,這個芯片是一個8腳芯片,內(nèi)部存儲器有256字節(jié)。引腳功能介紹如下:A0(引腳1):器件地址的A0位,是器件地址的最低位,器件地址排列是A6 A5 A4 A3 A2 A1 A0 R/W。A1(引腳2):器件地址的A1位。A2(引腳3):器件地址的A2位。GND(引腳4):地線。SDA(引腳5):數(shù)據(jù)總線引腳。SCL(引腳6):時鐘總線引腳。TEST(引腳7):測試引腳,Vcc(引腳8):電源線引腳。模塊分析本系統(tǒng)的硬件部分主要由單片機STM32F103RBT晶振電路、報警電路、44矩陣鍵盤和OLCD12864顯示電路和人體熱釋感應模塊組成;其中報警電路使用揚聲器進行聲音報警??偟膩碚f,智能家居系統(tǒng)主要由微處理器模塊(MCU)、模塊、人體紅外檢測報警模塊、鍵盤模塊、顯示模塊構(gòu)成。 STM32控制模塊 微處理器模塊,也就是由STM32F103RBT6單片機構(gòu)成,因為本系統(tǒng)要實現(xiàn)密碼檢測、密碼設定、聲光提醒等功能,要求微處理器必須提供足夠的I/O口,而且由于系統(tǒng)體積限制,所以選用STM32F103RBT6單片機。 4x4密碼鎖鍵盤輸入及存儲模塊本設計采用的是矩陣式按鍵鍵盤,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點上,密碼鎖的密碼由鍵盤輸入完成,與獨立式按鍵鍵盤相比,要節(jié)省很多I/O口。本設計中使用的這個4*4鍵盤不但能完成密碼的輸入還能作特別功能鍵使用,比如修改密碼后退功能等。鍵盤的每個按鍵功能可以在程序設計中設置。存儲模塊不僅可以存儲及修改用戶的6位密碼,還可以動態(tài)地存儲修改用戶的手機號碼,手機號碼的最大容量為7個,方便用戶更換手機后不影響GSM模塊的報警功能的使用。 當檢測到非法入侵的人體時,啟動報警模塊報警。 考慮到友好的人機界面,采用OLCD12864液晶顯示。顯示模塊的作用主要是顯示當前家居安全情況、提示信息和輸入的密碼,以方便用戶使用。 報警模塊主要有兩大部分組成。第一部分是由語音芯片、功放、揚聲器組成的聲音報警電路,當密碼輸入錯誤次數(shù)大于三次,或者有非法侵入等行為,系統(tǒng)會用揚聲器實現(xiàn)聲音報警;第二部分主要是由GSM模塊構(gòu)成的短信通知電路,當遇到前面所述的情況時,GSM模塊會向主人手機發(fā)送短信提醒有非法入侵。硬件組成部分及仿真分析 硬件組成部分: STM32單片機控制模塊:圖6 存儲芯片AT24C02模塊電路圖:圖7 4x4密碼鎖鍵盤輸入模塊:圖8 GSM模塊:圖9 SW調(diào)試接口:圖10 報警模塊:圖11 電源模塊:圖124. 人體熱釋感應模塊:圖13 顯示模塊:圖14 仿真分析 由于電路的其它部分功能相對簡單,所以在硬件上直接可以實現(xiàn),并未對它們進行仿真,這里只對GSM模塊進行仿真調(diào)試,分析結(jié)果如下:通過RS232將GSM模塊和主控制板連接起來。這樣要注意要將RXDRXD,TXDTXD連接起來,不要憑經(jīng)驗交叉連接。這里我采用串口調(diào)試助手,通過RS232與電腦連接來調(diào)試。把串口波特率設置為9600,效驗為設置為NONE,數(shù)據(jù)位8位,停止位1位。圖15模塊有兩種發(fā)送方式:TEXT模式和PDU模式。PDU模式可以用Unicode編碼發(fā)送英文、漢字。采用PDU模式比較復雜,TEXT模式雖然只能發(fā)送英文,但其無需編碼,發(fā)送簡單,所以我在測試時采用TEXT模式。TEXT 發(fā)送模式:(相對簡單很多。)發(fā)送:AT回車返回:AT回車OK發(fā)送:AT+CMGF=1回車返回:AT+CMGF=1回車OK發(fā)送:AT+CSCA=+8613010130500回車返回:AT+CSCA=+8613010130500回車OK發(fā)送:AT+CMGS=13132061066回車返回:AT+CMGS=13132061066回車發(fā)送:XXXXXX(09,AZ)[XXXXX 是指阿拉伯數(shù)字09,英文26 個字母AZ]返回:XXXXXX(09,AZ)[XXXXX 是指阿拉伯數(shù)字09,英文26 個字母AZ]發(fā)送:1A(十六進制發(fā)送)回車返回:+CMGS: XXXOK以上為 TEXT 方式發(fā)送截圖:如果不能正常發(fā)送,返回ERROR,則說明需要格式化??梢园l(fā)送ATamp。F 命令格式化。發(fā)送:ATamp。F回車返回:ATamp。F回車電路板的制作,焊接,調(diào)試在制作電路板之前,先畫好PCB電路圖。注意點有三個:①、元件的封裝。注意焊盤的大小和焊盤之間的距離。②、注意線寬大小。③、布局和布線。注意盡量少飛線和單層PCB板布線。電路板制作有以下5步:(1)打印電路圖:先設置相關(guān)的參數(shù),后在油性紙面上進行PCB電路圖的打印,將圖紙打印好之后后,注意不要刮落到碳粉。(2)過塑:把打印的PCB圖緊緊貼到電路板上,并且用膠紙來黏好。之后把電路板放到過塑機上進行過塑,約20~40次。若印得不太理想,但是基本脈絡都在,則可以使用油性筆進行線路修補。(3)腐蝕:把過塑好的電路板放到鹽酸與雙氧水的混合物上面進行腐蝕。腐蝕過后,電路板要用清水清洗。(4)用洗板水把碳粉清理干凈,此時可以看到清晰的銅線線路。(5)對焊盤中間進行鉆孔,鉆孔之后就是最終完成的電路板。圖16 PCB圖電路板制作好后,便可以進行焊接了。焊接時要注意下問題:(1)檢查一下電路板銅線是否存在隔斷,若存在,則進行焊錫把隔斷的銅線線路進行相連。(2)對照原理圖以及PCB圖來進行焊接。(3)注意排阻和電容的極性,插座的方向等問題。(4)焊錫時注意某些相近的管腳是否相連導致短路。在電路板調(diào)試的過程中,我們是分模塊進行調(diào)試,同時軟件和硬件相結(jié)合,最開始的是檢查LCD模塊的實現(xiàn),在接上各元器件之后,整個電路表面運行良好,屏幕也無法顯示。我們再次檢查電路,最開始以為是焊接出現(xiàn)問題,便再進行一次電路的檢查,同時調(diào)節(jié)液晶顯示的對比度,以希望得到最好的我亮度顯示。最終經(jīng)反復檢查,發(fā)現(xiàn)時液晶接口的第三口的滑動變阻器的封裝問題導致該滑動變阻器無法正常工作,經(jīng)過討論我們將其進行跳線連接。然后進行蜂鳴器報警功能的檢查,通過改變限流電阻的大小并燒寫合適程序,我們是蜂鳴器達到預想期的效果。第三就是進行人體紅外感應模塊的調(diào)試,該電路和程序較為簡單,較為容易實現(xiàn)。第四總系統(tǒng)的調(diào)試,經(jīng)過前一輪的奮戰(zhàn),我們將所有模塊按設想結(jié)合起來,修改程序并經(jīng)過多次測試終于實現(xiàn)了預定功能。討論及進一步研究和建議本設計的功能主要包括,手動修改和清除密碼,手動輸入、修改和刪除手機號碼(最大容量為7個),輸入密碼錯誤3次報警,人體紅外檢測入侵及入侵報警,密碼斷電保護,GSM短信報警,手動復位。應該特別提到的是密碼斷電保護,由于修改密碼后,如果沒有斷電保護裝置的話,在下一次啟動電路的時候,上一次的密碼是不會保存的,這對密碼的安全性有很大的威脅;在此次設計中,我們是通過AT24C02芯片可實現(xiàn)密碼和手機號碼的存儲,進行掉電保護。同時GSM短信報警可以實現(xiàn)遠距離監(jiān)控。課程設計心得我們主要是運用單片機設計了一個報警系統(tǒng),并且用模塊化的設計方法來實現(xiàn)這個電路。在程序編寫結(jié)束后,我們還對該程序進行了調(diào)試, 能按預期的效果進行模擬,基本完成課程設計的要求。通過這次單片機課程設計,我們收獲了很多:首先是對單片機的整個認識和把握,這個過程包括選題,利用c語言設計程序,選元器件,畫電路原理圖和PCB電路圖,制板,到最后利用自制的板進行下載調(diào)試和檢驗,整個過程哪怕有一個細節(jié)錯了,整個設計也就失敗。我們一開始編好程序后,出現(xiàn)一些小錯誤導致無法完成編譯。在解決程序設計問題之后,我們開始畫電路原理圖和PCB電路圖,特別是在畫PCB的時候,元器件的放置,布線出現(xiàn)很多問題。通過查閱相關(guān)資料,完成PCB之后我們又在制板的過程中遇到很多問題,如PCB線寬設置、焊盤直徑設置等等,因為這些小問題會影響制板后電路板的制作效果,甚至會影響元器件的焊接。在焊接完程序片機后用單開發(fā)板進行下載調(diào)試和檢驗,最后才完成了這個課程設計。因為一開始沒有經(jīng)驗,所以在整個過程中遇到了很多錯誤和麻煩,然而我們對一些錯誤卻不能一步到位的判斷出來,這就告訴我們設計一個實驗或者做一件事情時,首先有一個大局意識,而且能夠預見出現(xiàn)的問題和能夠快速作出對這些問題或錯誤的反應與處理。同時通過這個實驗,我們也深刻的發(fā)現(xiàn)理論與實際的區(qū)別,特別是電路的仿真與實際電路的運行有著很大的差別,往往能夠在電腦進行成功仿真的電路在實際電路上卻相差甚遠。其次是通過寫實驗報告,我們也學到了一些東西,例如我們把我們的實驗過程和成果弄出來了,如何把它們展示給其他人看,這就是規(guī)則的問題,雖然我們寫的時候有時候會很麻煩,但是這也是方便大家交流的一種好方法。最后,通過這次設計實驗,我們發(fā)現(xiàn)了編程軟件有時候并不很好的放映實踐情況,因此我們應該設計一個更好的軟件來仿真,一個好的仿真軟件可以減少對試驗箱的依賴而且更方便仿真調(diào)試與程序的修改??傊?,這次實驗不僅僅加強了我們的動手編程能力,也大大加強了我們團隊合作以及設計的能力,使我們在理論學習和編程練習方面都獲得了較大的收獲。附錄include include include include include //用戶任務函數(shù)include //與開發(fā)板相關(guān)的函數(shù)include include include include include include include include define MEM_BK20_NUM 10 define MEM_BK20_SIZE 200 define NULL 0define PHONE_IADD 8define PHONE_NADD 8define PHONE_MAX 7define PHONE_NMLEN 16OS_STK StartUp_Stk[STARTUP_STK_SIZE]。 //定義棧OS_STK LED0_Stk[LED0_STK_SIZE]。 //定義棧OS_STK MainApp_Stk[MainApp_STK_SIZE]。 //定義棧OS_STK Alarm_Stk[Alarm_STK_SIZE]。 //定義棧uint8_t FlagFirstInter = 1。typedef enum app_state {ST_PREVENT_DIS,ST_PREVENT_EN} APP_STATE。APP_STATE ST_Current = ST_PREVENT_DIS。OS_MMID MemBk20_ID。 unsigned int MemBk20[MEM_BK20_SIZE/4]。 uint8_t Alarm_Flag = 0。uint8_t Alarm_EN = 0。APP_STATE StPreventDis(void)。APP_STATE StPreventEn(void)。APP_STATE SetPassWord(void)。uint8_t CheckPassWord(void)。uint8_t SetIPhone(void)。void Phone_Init(void)。void Task_StartUp(void *pdata){ (void)pdata。 BSP_Init()。 GUI_Init()。 VirKey_Init()。 VirIntrudeCheck_Init()。 VirWarning_Init()。 VirExtMemory_Init()。// GUI_P8x16Str(0, 0,JJJJ)。
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1