住宅智能安防系統(tǒng)_第1頁
住宅智能安防系統(tǒng)_第2頁
住宅智能安防系統(tǒng)_第3頁
住宅智能安防系統(tǒng)_第4頁
住宅智能安防系統(tǒng)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

.2DS18B20溫度傳感器電路溫度傳感器采用單總線數(shù)字溫度傳感器。電路連接相對簡單。只有對應的數(shù)據(jù)引腳連接到MCU引腳。請注意以下幾點:1.單總線接口模式從主機CPU到溫度傳感器只需要一條數(shù)據(jù)線;2、數(shù)據(jù)線本身供電,無需外接電源;3、當電源倒轉(zhuǎn)時,DS18B20不會出現(xiàn)故障,但不能正常工作。4、在本次畢業(yè)設計中為了更加穩(wěn)定地和DS18B20進行通信,數(shù)據(jù)管腳連接到4.7K的上拉電阻上進行工作。溫度采集電路圖如圖3-3所示。圖3-3溫度采集電路圖3.3MQ-5可燃氣體傳感器電路可燃氣體傳感器可以根據(jù)環(huán)境中可燃氣體的濃度改變傳感器的阻值。傳感器本身輸出的模擬量不能直接被STC89C52單片機進行采集。需要連接一些外圍電路和使用LM393雙通道比較器組合起來進行可燃氣體濃度輸出的對應模擬電壓轉(zhuǎn)換成數(shù)字電壓的工作。首先,外圍電路有一個4.7k電阻和傳感器串聯(lián)起來。根據(jù)串聯(lián)電路劃分原理,當外界可燃氣體濃度發(fā)生變化時,對應的傳感器內(nèi)阻發(fā)生變化,導致可燃氣體默契輸出的電壓發(fā)生變化,將變化的電壓信號傳輸給比較器,比較器進行比較輸出高電平和低電平。單片機通過檢測引腳的電平狀態(tài),然后確定當前可燃氣體濃度是否超過上限。在進行可燃氣體濃度檢測電路設計時一定要注意模塊的加熱電路的設計,因為本次畢業(yè)設計使用的MQ-5可燃氣體傳感器必須處于加熱狀態(tài)才能正常工作。加熱電路中的加熱線集成在傳感器內(nèi)部,如果加熱電路不能正常工作,將會導致傳感器采集的數(shù)據(jù)不正確。本設計中使用的限流電阻為7歐姆。當然,如果平均溫度高或低,可以通過調(diào)整這個電阻的對應阻值。例如,如果溫度較低,即降低限流電阻的值,就會產(chǎn)生更多的熱量用于維持傳感器溫度。其電路圖如圖3-4所示。圖3-4MQ-5基本電路圖3.4報警器電路作為一個完整的住宅智能安防系統(tǒng),報警電路部分往往是不可或缺的。當系統(tǒng)環(huán)境值超標時,或者可燃氣體濃度超標,住宅智能安防系統(tǒng)將會判斷存在火災安全隱患,然后會驅(qū)動警報LED發(fā)出報警,通知用戶及時確認情況,并根據(jù)報警情況及時做出處理,經(jīng)過反饋和調(diào)整對應的可燃氣體濃度閾值和外界溫度傳感器。本設計的報警設計是通過單片機控制的IO口輸出對應的高低電平來驅(qū)動警報LED發(fā)光進行實現(xiàn)的。報警電路相對簡單,通過任意IO端口控制單片機,只要外界溫度或可燃氣體濃度超過設定值,相應的單片機的輸入輸出端口輸出低電平,驅(qū)動警報LED燈進行警報。當可燃氣體濃度和外部溫度在正常范圍內(nèi)時,單片機引腳處于高電平,警報LED出于熄滅狀態(tài)。報警電路圖如圖3-5所示。圖3-5LED報警電路圖3.5液晶顯示屏電路本設計的液晶顯示驅(qū)動電路選用LCD1602,它是一種字符型液晶,可以顯示32個字符。LCD1602液晶面板利用了液晶在適當電流的驅(qū)動下會流動的特性,所以如果外部有一點壓力,液晶就會移動。通過打開電源來操作顯示屏,以便顯示圖形或字符。由于LCD1602價格低廉、使用簡單、穩(wěn)定可靠,本設計將其作為顯示電路的實現(xiàn)元器件。LCD1602引腳描述:1引腳:VSS為接地電源;2腳:VCC連接5V電源;3尺:V0是LCD顯示對比度調(diào)節(jié);4英尺:RS是一個寄存器選擇,它包括一個數(shù)據(jù)寄存器和一個指令寄存器;5英尺:讀寫信號線為R/W;6英尺:E端為使能端,控制液晶模塊是否執(zhí)行指令;7~14英尺:8位雙向數(shù)據(jù)線,可與8位相連,也可僅與4位相連,節(jié)省單片機資源;LCD接口電路圖如圖3-6所示。圖3-6液晶接口電路圖3.6按鍵電路在單片機中,按鍵輸入方式有獨立按鍵、觸摸屏輸入和矩陣鍵盤輸入等。在這些按鍵輸入方式中,每種輸入方式各有優(yōu)點。其中獨立按鍵輸入檢測速度快。然而,一個按鈕需要占用單片機的輸入和輸出端口,并且適合在按鈕數(shù)量較少的情況下使用。矩陣鍵盤按鈕可以檢測多個按鈕使用較少的單片機輸入和輸出端口。缺點是該方法占用MCU資源較大。觸摸屏輸入一般用在單片機上,處理速度比較快。原理是在觸摸屏上執(zhí)行模數(shù)轉(zhuǎn)換轉(zhuǎn)換。當觸摸屏被按下時,被按屏幕的電阻發(fā)生變化,通過在觸摸屏上執(zhí)行行和列。掃描得到被壓位置。本設計的簡單按鍵電路僅在按鍵接口被按下時處理按鍵信息。MCU的初始I/O端口設置為高電平。按下按鈕后,MCU將從原來的高電平變?yōu)榈碗娖?,并開始解析是哪個按鈕被按下。設計的按鍵電路采用三個功能按鍵來調(diào)節(jié)報警峰值。按鈕的一端連接MCU引腳,另一端接地。一開始,MCU引腳處于高狀態(tài),當按鈕處于懸浮狀態(tài)時,使用外部上拉電阻來穩(wěn)定IO端口的電平狀態(tài)。操作按鈕未按下時,I/O口固定為高電平狀態(tài);當操作按鈕時,單片機對應的輸入輸出口將會接地,電平狀態(tài)為低電平。通過檢測單片機引腳的電平狀態(tài)即可判斷是否按下了按鍵。當按鈕松開不工作時,MCU將再次保持在高電平。按鈕電路圖如圖3-7所示。圖3-7按鍵電路圖3.7PCF8574TIO擴展芯片直接使用單片機輸入輸出口驅(qū)動液晶顯示屏LCD1602最少需要11個單片機引腳,這是對單片機硬件資源的巨大浪費,尤其是對STC89C52IO本身來說,它只有P1~P4四組引腳,要盡可能地減少IO的使用。對單片機的硬件性能進行了測試后,為了節(jié)省單片機的IO端口,在本次畢業(yè)設計中,我們使用了PCF8574TIO擴展芯片來擴展STC89C52的IO,減少驅(qū)動LCD1602液晶屏時造成的硬件資源浪費。PCF8574T是一個CMOS電路,它使大多數(shù)微型處理器能夠通過兩個雙向總線實現(xiàn)遠程I/O擴展,其中通訊協(xié)議為常用的I2C協(xié)議。PCF8574TIO引腳擴展芯片包括一個8位準雙向端口和一個總線接口。該元器件具有低電流消耗和輸出鎖存器,具有高電流驅(qū)動能力,可直接驅(qū)動LED。它還有一個可以連接到MCU中斷邏輯的中斷線路。使用INT遠程I/O端口發(fā)送中斷信號,即可通知MCU是否有來自該端口的數(shù)據(jù)輸入,而沒有總線通信,這意味著PCF8574可以作為單個控制器使用。PCF8574T的電路圖如圖3-8所示。圖3-8PCF8574TIO擴展芯片電路圖3.8I2總線特征I2C總線用于不同的集成電路或模塊之間的通信,這種傳輸協(xié)議只需要占用兩個單片機引腳。其中一條是串行數(shù)據(jù)線(SDA),另一條是串行時鐘線(SCL)。當連接到單片機的輸入輸出口時,單片機引腳處于輸出模式,兩條線必須連接到上拉電阻,以保證傳輸數(shù)據(jù)的穩(wěn)定性。數(shù)據(jù)的傳輸只能在總線空閑時進行,否則將會造成總線傳輸數(shù)據(jù)出現(xiàn)錯誤。(1)位轉(zhuǎn)移當每個時鐘脈沖發(fā)生時,總線傳輸一個數(shù)據(jù)位。在時鐘信號的高周期內(nèi),SDA線路上的數(shù)據(jù)位應該是穩(wěn)定的。如果此時SDA線路數(shù)據(jù)發(fā)生變化,則視為總線控制信號(見圖3-8-1)。啟動和停止信號,數(shù)據(jù)和時鐘線保持高時,總線是空閑的。當SCL線出于高電平狀態(tài)時,SDA線路電平從高到低進行跳變被定義為I2C協(xié)議的啟動信號;當SCL線出于高電平狀態(tài)時,SDA線路電平從低到高進行跳變被定義為I2C協(xié)議的停止信號。(見圖3-8-2)圖3-8-1I2C總線上的位傳送圖3-8-2起始信號和停止信號定義(2)應答在啟動和停止信號之間,I2C傳輸?shù)臄?shù)據(jù)量不受限制。每個8位字節(jié)后面是一個確認應答位。確認應答位的時鐘脈沖是由主機產(chǎn)生的。被控接收機在接收到每個字節(jié)的數(shù)據(jù)后必須發(fā)送確認應答信號;在接收到受控發(fā)射機發(fā)送的數(shù)據(jù)后,主控臺還必須發(fā)送確認信號。當與確認應答位相對應的時鐘脈沖發(fā)生時,產(chǎn)生確認位的設備將把SDA線拉低,使SDA在與確認位相對應的時鐘脈沖的高周期內(nèi)保持低。建立和保留時間必須考慮在內(nèi)。當主機作為一個接收器時,它必須在控制器發(fā)送數(shù)據(jù)的最后一個字節(jié)后生成一個無確認信號。此時,發(fā)射機必須將數(shù)據(jù)線放高,使主控機能夠產(chǎn)生停止信號(見圖3-8-3)。圖3-8-3I2C總線上的應答(3)準雙向I/O口準雙向I/O端口可以用作輸入和輸出兩種模式,而不需要通過控制寄存器定義數(shù)據(jù)的方向。I/O端口在開機時出于高電平狀態(tài)。在此模式下,只有vdd提供的電流是有效的。在高負荷輸出時提供一個額外的強大的上拉,使水平迅速上升。當輸出被寫到高電平狀態(tài)時,強上拉模式被打開,當SCL下降沿時,強上拉模式被關(guān)閉。I/O端口在用作輸入之前應該是處于高電平狀態(tài)。本章小結(jié)在本章中,我們將對上一章所選的主控芯片的引腳、溫度傳感器模塊、可燃氣體采集模塊、液晶顯示模塊、IO擴展芯片模塊、按鍵電路模塊進行較為深入的講解。介紹了所選模塊之間的通信協(xié)議。本設計利用I2C協(xié)議實現(xiàn)單片機與IO擴展芯片模塊之間的數(shù)據(jù)傳輸。當與LCD通信時,它以串行轉(zhuǎn)并行方式進行驅(qū)動。第4章軟件設計本設計的程序是通過美國KeilSoft公司開發(fā)的KeilC51軟件開發(fā)的。編程語言主要是用C語言開發(fā)的。將整個程序分割成幾個小的編程驅(qū)動程序,以便于程序開發(fā)和在后續(xù)升級中添加新特性。根據(jù)系統(tǒng)實現(xiàn)的功能和使用的功能選擇對應的硬件模塊編寫程序。本章首先介紹了主程序的流程圖,然后介紹了各個模塊的驅(qū)動程序。4.1開發(fā)軟件KEILC51軟件是KeilSoftwareCo.,Ltd.的產(chǎn)品,KeilSoftware是在美國生產(chǎn)的C語言編譯器。和一般的C語言編譯器不同的結(jié)構(gòu)功能是兼容系統(tǒng)開發(fā)的51系列單片機C語言軟件。比匯編語言更有優(yōu)勢。KeilC51的主要優(yōu)點是可讀性、可維護性和易用性。另一個要點是查看是否可以編譯生成的程序集代碼。由大多數(shù)語句生成的代碼生成的程序集緊湊且易于理解。在開發(fā)大型軟件時,可以更好地反映真正的高級語言。我們必須完成編輯、編譯、鏈接、調(diào)試和仿真的開發(fā)過程。C51工具包中包含的U51和IShell是Windows和DOSC51集成開發(fā)環(huán)境(IDE)。開發(fā)人員可以使用IDE或其他編輯器編輯C源文件或程序集。C51和A51,其中對象文件(OBJ)分別編譯。然后將創(chuàng)建的目標文件構(gòu)建到LIB51L51文件中,這些文件鏈接在一起以生成絕對目標文件和庫文件。通過圖書館。調(diào)試器源代碼級別調(diào)試一個標準文件OH51ABS或十六進制文件dscope51tscope51。它可以直接由模擬器調(diào)試目標板使用,也可以直接寫入程序內(nèi)存。將整個程序分割成幾個小的編程驅(qū)動程序,以便于程序開發(fā)和在后續(xù)升級中添加新特性。4.2主程序設計系統(tǒng)上電后首先對系統(tǒng)各部分進行初始化,然后在主循環(huán)中不斷地判斷系統(tǒng)是否超過設定溫度和超過預定的可燃氣體濃度,假如超過設定的溫度和可燃氣體濃度時,則使與LED相連的單片機輸出引腳輸出低電平,驅(qū)動LED發(fā)光。同時在主程序中注冊定時器,當定時時間到時,進入定時器中斷處理子函數(shù),在中斷處理子函數(shù)中,實現(xiàn)對按鍵的檢測以及溫度檢測的實現(xiàn),同時在溫度檢測子函數(shù)中,實現(xiàn)檢測的溫度結(jié)果在液晶顯示屏上的顯示。以此節(jié)省資源。當溫度或可燃氣體濃度超過一定限度時,判斷住宅有火災隱患,也可以通過按鍵進行修改報警閾值。基于單片機的住宅智能安防系統(tǒng)主程序流程圖如圖4-1所示。圖4-1主程序流程圖4.3PCF8574TIO擴展芯片驅(qū)動程序在本次畢業(yè)設計中,為了節(jié)省單片機的輸入輸出口,使用了IO擴展芯片PCF8574T作為LCD1602的驅(qū)動芯片。PCF8574T引腳擴展芯片使用方便,有專門為LCD1602設計的驅(qū)動模塊,使用I2C協(xié)議進行通信,只需要兩個電源引腳和兩個單片機輸入輸出口即可進行使用,在程序中首先發(fā)送起始信號,成功發(fā)送起始信號之后,發(fā)送元器件地址,當PCF8574TIO擴展芯片接收到地址信號之后,會拉低SDA作為應答。當單片機接收到應答信號之后,正式開始發(fā)送寄存器地址和命令,最后發(fā)出停止信號完成一次數(shù)據(jù)傳輸。PCF8574TIO擴展芯片接收到命令后寫入芯片內(nèi)部對應的寄存器,然后在IO口上輸出對應的高低電平。從而驅(qū)動液晶顯示屏。PCF8574TIO擴展芯片模塊部分程序流程圖如圖4-2所示。圖4-2PCF8574TIO擴展芯片模塊程序流程圖4.4DS18B20溫度傳感器數(shù)據(jù)讀取程序DS18B20使用定時處理位來確認信息交換的讀寫狀態(tài)。當DS18B20在脈沖過渡時間后有復位脈沖時,表示溫度傳感器開始發(fā)送和接收數(shù)據(jù)。DS18B20時需要寫入“0”,單片機將直接拉低15微妙,和DS18B20將有15微妙到60微妙的時間來讀取一位,DS18B20讀取最快的速度為15微妙,典型值是30微妙,在這段時間里進行讀取,通常讀取一位的時間不會超過60微妙,DS18B20必須在這段時間讀取結(jié)束,否則讀取的數(shù)據(jù)將會出錯。當數(shù)據(jù)1寫入DS18B20時,單片機首先將引腳拉低,并且拉下時間大于1微妙。然后總線立即被釋放,引腳拉高,持續(xù)時間也大于60微妙。與寫“0”類似,DS18B20將在15到60微妙之間讀取這個“1”。當讀取DS18B20的數(shù)據(jù)時,我們的微控制器必須先將引腳拉低并保持至少1微妙,然后釋放引腳,并在釋放后盡快讀取。從下拉引腳到讀引腳的狀態(tài)不能超過15微妙。圖中主控制器的采樣時間必須在15微妙內(nèi)完成。溫度傳感器讀取程序流程圖如圖4-3所示。開始開始初始化模塊初始化模塊讀取模塊內(nèi)暫存器的溫度值讀取模塊內(nèi)暫存器的溫度值結(jié)束結(jié)束圖4-3溫度傳感器讀取程序流程圖4.5MQ-5可燃氣體傳感器數(shù)據(jù)讀取程序可燃氣體濃度的采集不是直接通過單片機采集可燃氣體傳感器??扇細怏w傳感器的輸出為模擬信號電壓值。由于本次使用的STC89C52單片機沒有內(nèi)置的模數(shù)轉(zhuǎn)換功能,因此需要添加比較器LM393芯片將電壓值轉(zhuǎn)換為數(shù)字信號進行輸出。本設計采用LM393雙電壓比較器芯片進行采集處理。芯片與單片機通過IO口直接連接。該單片機可以方便地通過LM393雙電壓比較器芯片的高低電平來檢測可燃氣體的濃度。通過讀取單片機引腳的高低狀態(tài),檢測到當前可燃氣體濃度是否超標。4.6系統(tǒng)報警程序設計在設計中,需要對報警閥值進行調(diào)整,按下按鈕即可對報警閥值進行調(diào)整。報警電路的控制端由單片機的P2.4端完成,低電平有效。當P2.4輸出低電平時,報警LED燈亮,并驅(qū)動報警模塊發(fā)出報警。報警電路流程圖如圖4-5所示。4.7液晶屏顯示驅(qū)動程序液晶顯示屏LCD1602通過8位并行數(shù)據(jù)端口和響應控制引腳與PCF8574TIO擴展芯片相連。當單片機驅(qū)動顯示屏顯示相關(guān)內(nèi)容時,底層驅(qū)動部分根據(jù)顯示屏的通信協(xié)議,按照指定的時間寫入相應的數(shù)據(jù)。底層函數(shù)已經(jīng)被廠家封裝好,只需要修改I2C協(xié)議中的PCF8574TIO擴展芯片的期間地址即可進行使用,只需調(diào)用該函數(shù)來編寫要顯示的內(nèi)容。該函數(shù)包含要顯示的位置和顯示內(nèi)容。調(diào)用函數(shù)時,可以寫入相應的參數(shù),提前顯示相應的位置。內(nèi)容。開始開始初始化初始化溫度和可燃氣體濃度溫度和可燃氣體濃度是否超過設定值?否電路啟動LED報警模塊是

電路啟動LED報警模塊結(jié)束結(jié)束圖4-5報警電路流程圖本章小結(jié)本章首先介紹了主程序的流程圖,本次畢業(yè)設計中程序使用了主程序中調(diào)用各種子程序的方法來實現(xiàn)功能,主要是在主程序中不斷地檢測時間片是否達到定時時間,如果定時時間到,則進入函數(shù)中執(zhí)行所需要的功能。然后介紹了各個模塊的驅(qū)動程序。根據(jù)設計的程序流程圖編寫程序,經(jīng)過調(diào)試得出實際結(jié)果。證明所設計的程序流程圖能夠達到預期的功能。本設計主要分為以下幾個小驅(qū)動程序:DS18B20溫度傳感器數(shù)據(jù)讀取程序、MQ-5可燃傳感器數(shù)據(jù)讀取程序、系統(tǒng)報警程序設計、按鍵模塊驅(qū)動程序和LCD顯示驅(qū)動程序。然后通過主程序調(diào)用每一個子程序來實現(xiàn)整體功能。

第5章系統(tǒng)調(diào)試在以上章節(jié)中,軟件設計是根據(jù)需要實現(xiàn)的功能,以及需要實現(xiàn)的功能,以硬件電路為基礎進行的。在本章中,完成了整個系統(tǒng)的硬件調(diào)試和軟件調(diào)試。首先介紹了各模塊在硬件調(diào)試中的作用。然后介紹如何將程序刻錄到單片機中。5.1硬件調(diào)試焊接硬件環(huán)節(jié)也是一門藝術(shù),不能盲目的進行焊接,首先需要做的是一個合理規(guī)劃的布局設計,然后按一定的順序,焊接的時候首先把設計硬件分為以下幾個步驟:首先是對最小系統(tǒng)的單片機進行焊接調(diào)試。51單片機的最小系統(tǒng)包括單片機本身、晶體振蕩電路、復位電路和電源電路。只有這部分電路連接正確,才能保證單片機最小系統(tǒng)的正常工作。當涉及到系統(tǒng)時,應注意以下幾點。本設計的STC89C52單片機采用5V直流電壓供電,電壓不能過高或過低,且必須保證電壓的紋波噪聲。在范圍內(nèi)(一般不高于100mv),否則單片機在運行時容易跑死,甚至無法運行;其次,單片機的晶振電路需要確定晶振的取值和合理的啟動電容。晶體振蕩器相當于單片機的心臟。由此可見,沒有晶體振蕩器的單片機的最小系統(tǒng)是根本無法運行的。本設計中需要單片機的UART串口通信接口,因此我們使用11.0592MHz的晶體振蕩器來方便程序中波特率的匹配。當然,也可以使用其他的晶體值,但是最好在程序中使用它。匹配晶體振蕩器的波特率值,否則UART接口通信不正常。振蕩電容是為了使晶體振蕩器更容易啟動,提高單片機系統(tǒng)的穩(wěn)定性和抗干擾能力。本設計選用22pF電容值。第三,復位電路采用高電平復位。電容器的價值應在這里注明。一般情況下,我們使用約1uF的電容器。過高或過低都可能導致正常復位。經(jīng)過實際測試,單片機的最小系統(tǒng)可以正常工作。然后焊接LCD1602屏幕顯示電路,這顯示是一個并行端口通信方法,為了拯救單片機銷,在這個畢業(yè)設計使用PCF8574TIO串口擴展芯片模塊并行端口設計,只需要SCL和SDA兩個I2C接口就可以連接到單片機同時進行通信。I2C數(shù)據(jù)引腳連接到單片機的P2.0和P2.1。PCF8574TIO擴展芯片模塊是一個準雙向I/O口,可以直接輸出高電平驅(qū)動LCD1602A拉出輸出口,不需要使用上拉電阻即可確保數(shù)據(jù)能夠正確通信。然后,傳感器部分需要焊接。本設計需要對可燃氣體濃度和溫度傳感器進行測量??扇細怏w濃度傳感器的特點是利用模擬電壓信號輸出,傳感器本身可根據(jù)環(huán)境量的變化輸出相應的電壓信號。MCU只需根據(jù)電壓值計算出相應的電流環(huán)境量即可。然而,STC89C52沒有內(nèi)置的模擬數(shù)字轉(zhuǎn)換功能。因此,本設計采用LM393雙通道比較器。當傳感器檢測到外部可燃氣體濃度超過設定時。當該值固定時,比較器的輸出引腳輸出低電平。當MCU檢測到比較器輸出低時,MCU進入報警模式。實際測試輸出正常后,以后只能使用單片機程序;對于DS18B20溫度這部分傳感器連接起來比較簡單。它是通過單總線和單片機進行通信的。需要注意的是DS18B20的數(shù)據(jù)引腳需要使用上拉電阻進行拉高。我們一般用10K的電阻。因此,需要首先連接硬件,然后再使用程序?qū)ο到y(tǒng)進行調(diào)試。接下來,需要對按鈕電路和LED顯示報警電路進行焊接調(diào)試。這部分是通過直接控制單片機的引腳來操作的。電路接通后,用萬用表的開/關(guān)擋位對電路進行測試。例如,按下按鈕看單片機的引腳是否拉低。如果是則電路正常。最后,需要硬件與程序的組合,所以只需要確保在焊接期間電路連接正確同時沒有虛焊。5.2調(diào)試軟件與過程本設計的調(diào)試軟件主要用于KEILC51,以及51開發(fā)板及其配套的下載燒錄軟件STC479。首先,我們先打開KEILC51軟件,然后選擇ATMEL,89C51并保存時創(chuàng)建一個新項目,創(chuàng)建一個新的文本框并編寫代碼,然后點擊保存并添加到組中。然后開始檢查是否有語法錯誤,檢查后確認沒有錯誤,然后生成一個十六進制文件可執(zhí)行的51單片機。然后使用51開發(fā)板匹配刻錄的CH340USB轉(zhuǎn)串口芯片,將十六進制文件刻錄到微控制器中。編程成功后,可以在單片機上運行測試程序,檢查所寫的功能是否實現(xiàn)。5.2.1顯示模塊測試首先,需要測試一下屏幕是否可以顯示。在測試過程中,不能在開始時顯示。所以通過改變程序來改變它的狀態(tài),但是在燒寫代碼之后,仍然不能正常顯示。最后,我選擇檢查硬件焊接是否有問題,最后發(fā)現(xiàn)當1602液晶屏連接到單片機時。插入的引腳是相反的,所以代碼中傳輸?shù)臄?shù)據(jù)完全相反。對程序進行修改后然后繼續(xù)測試,發(fā)現(xiàn)還是不能正常顯示,經(jīng)過仔細檢查,發(fā)現(xiàn)使用的PCF8574TIO擴展芯片的I2C地址與PCF8574IO擴展芯片不一樣,所以在I2C通信過程中不能正常使用。其次,可以顯示測試后,還需要測試顯示是否正常,需要顯示的內(nèi)容是否正確。在測試中,我發(fā)現(xiàn)屏幕總是出現(xiàn)有部分存在花屏現(xiàn)象,但是內(nèi)容是正確的。所以我改變了代碼的延時時間,改變了屏幕的延遲。改變之后,花屏的情況得到了完全的解決。5.2.2按鍵模塊測試然后要測量的是按鍵被按下后,STC89C52單片機是否能夠?qū)︽I值進行讀取,同時傳輸?shù)揭壕э@示屏LCD1602中進行顯示。然后通過查看顯示器是否對按鍵值進行顯示來確定鍵盤是否工作。確定按鍵正常后,再添加本次畢業(yè)設計中需要單片機執(zhí)行按下鍵盤后運行的程序功能,以及這些代碼是否可以正常使用。經(jīng)過最后的測試,我發(fā)現(xiàn)基本的功能是正常的,但是有時候按鈕不夠靈敏。之后在按鍵上增加了10K的上拉電阻來穩(wěn)定電壓,徹底解決了按鍵不敏感的問題。同時在程序中加入20Ms延時,消除按鍵抖動問題。5.2.3復位模塊測試首先要確定測試復位按鈕可用,將代碼燒寫進去之后,若出現(xiàn)顯示屏花屏現(xiàn)象時,我們可以選擇按復位鍵必須回到初始狀態(tài),而不用像我之前一樣,斷電重啟才行。最后的測試結(jié)果正常。首先,確保硬件復位按鍵能夠正常使用。代碼燒入后,如果

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論