4.2程序設計軟件概述 本設計是以AT89S52最小系統為主控,通過編寫軟件控制單片機,通過按鍵操作設定喂食時間和調整萬年歷,實現溫度和萬年歷的顯示,喂食過程伴隨照明燈的點亮,啟動鬧鈴。 本系統中單片機的開發軟件是采用 KeilC51軟件,該軟件集編譯和調試于一體,包括查看單片機I/O口,串口通信,定時器等內部資源。下載軟件和程序寫入。 KeilC51是美國公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在結構性、功能、可讀性、可維護性顯著的優勢,所以很容易學。此軟件包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境將這些部分組合在一起。如果你使用C語言編程,那么KeilC51就是你的最佳選擇,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。KeilC51軟件是眾多單片機應用開發的優秀軟件之一,它集編輯、編譯、仿真于一體,支持匯編,PLM語言和C語言的程序設計。 4.3軟件調試 1.使用Keil軟件編程步驟: 1) 使用軟件Project菜單項中的New Project建立一個新的工程。 2) 為新工程選擇芯片,添加源程序文件(.c 或是.asm)。 3) 對工程進行相關的配置,Option for Target1配置頁面窗口中選中Output頁面中的Create HEX選項。 4) 編寫程序并使用Project菜單項中的Build All子菜單為應用創建可執行(.HEX)。 2.調試程序 調試程序是發現查找程序的邏輯錯誤的過程。 1) AT89S52單片機下載線,打開實驗 箱電源。 2) 打開電腦桌面上的雙龍電子軟件SLISP。 3) 在SLISP軟件界面中,器件—選擇AT89S52, FLASH存儲器—選擇由Keil軟件生成的**.Hex文件,之后點擊軟件界面最下方的編程按鈕,下載程序,下載完成,單片機會自己執行程序。 4) 觀察程序執行結果,程序運行結果與預期不一致,則返回Keil編程界面,檢查程序邏輯。 5系統調試5.1硬件調試方法 1.是焊接的順序問題。 當初板子做好以后,我一口氣就把所有的元件焊上去了,這樣對于沒有調試過的板子,就很難找到原因。所以焊接的順序很重要,應該是應該按功能劃分的器件進行焊接,順序是功能部件的焊接--調試(OK)--另一功能部件的焊接,這樣能容易找到問題的所在。 2.調試功能劃分的器件上出現問題,按以下步驟進行:
1)檢查原理圖連接是否正確。 2)檢查原理圖與PCB圖的一致性。 3)檢查原理圖與器件的DATASHEET上引腳是否一致。 4)用萬用表檢查是否有虛焊,引腳短路現象。 5)查詢器件的DATASHEET,分析一下時序是否一致,同時分析一下命令字是否正確。 6)用示波器進行檢測。如我就是通過示波器對SRAM各個引腳進行檢查,發現地址線都是有信號的,而數據線無信號出現,才找到問題所在。 7)飛線。用別的的口線進行控制,看看能不能對其進行正常操作,多試驗,才能找到問題出現在什么地方。 3.多觀察,多思考。在調試過程中,對于出現的任何現象都不要放過,問題的解決就是從一些小的現象入手的。 4.軟件的調試要和硬件配合進行,往往問題可能不是硬件上的問題。 5.2硬件調試技巧 1.排除邏輯故障 這類故障往往是由于設計和加工制板過程中工藝性錯誤所造成的。主要包括錯線、開路、短路。排除的方法是首先將加工的印制板認真對照原理圖,看兩者是否一致。應特別注意電源系統檢查,以防止電源短路和極性錯誤,并重點檢查 系統總線(地址總線、數據總線和控制總線)是否存在相互之間短路或與其它信號線路短路。必要時利用數字萬用表的短路測試功能,可以縮短排錯時間。 2.排除元器件失效 造成這類錯誤的原因有兩個:一個是元器件買來時就已壞了;另一個是由于安裝錯誤,造成器件燒壞。可以采取檢查元器件與設計要求的型號、規格和安裝是否一致。在保證安裝無誤后,用替換方法排除錯誤。 3.排除電源故障 在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V~4.8V之間屬正常。 5.3調試遇到問題 1. LCD12864調試 在測試中遇到LCD12864不能夠顯示出時間和日期,經過檢查才發現是LCD12864的背光沒有調好,通過調節接在LCD12864上3腳上的滑動變阻器,改變所給的電壓,可以清晰地看見了LCD能夠顯示。 2.對于DS1302在測試 發現上電后不久會發熱,在檢查電路過程中,不是因為發現芯片短路,最終檢查發現原來是DS1302的引腳接法不正確,給+5V的應該是芯片的腳,給后備電池的是1腳,換過來之后,芯片就不發熱了,而且可以正常顯示出我們要顯示的時間和日期。 3. 電源調試 將變壓器接入電路,接到220V的電源,用萬用表測量發現有的地方沒有接電源線,出現斷路現象。
結 論本設計所研究的是基于單片機技術的智能喂食系統,實現一個寵物自動喂食器,主要包括單片機AT89S52控制、電源電路設計、電機控閥門、按鍵電路、顯示模塊、照明燈DS1302電路模塊、DS18B20溫度測試模塊和蜂鳴器模塊,寵物喂食器的發展和應用給飼養寵物者帶來了很大的便利,意義重大。 寵物喂食器主要是通過蜂鳴器發出聲音吸引寵物過來進食,蜂鳴器發出的音樂是由程序控制的,音樂內容可以根據程序隨時改變,非常方便。喂食時間通過鍵盤設定不同的時間點,當依次到達時間時,控制閥門打開,發光二極管發光,蜂鳴器發出音樂,吸引寵物進食并自動投放食物。溫度傳感器DS18B20是能隨時測試室內溫度,萬年歷能顯示年、月、日、星期、時、分、秒,方便記錄寵物的生長周期,更好的改善寵物的生活。此設備最大特點就是使用戶能夠操作簡單、易懂、靈活;且安全、穩定、智能性高、性價比高,是一款小功率的智能寵物喂食系統。隨著現代人們飼養寵物意識的增強以及科學技術的快速發展,相信該喂食系統必將在更廣闊的領域得到更深層次的應用。 本系統在喂食過程中由單片機AT89S52主控整個系統,對寵物更好的喂養;喂食過程中伴隨著照明燈的點亮,照明燈是由一個繼電器控制的。有萬年歷、溫度顯示、鬧鐘提醒等很有實用價值。 本設計同時也存在著一些不足之處:沒有設置更多的食物放置槽,能方便寵物進食不同的食物和更好的飲水。 本設計還有很多可以完善的地方,可以著手從下面幾個方面繼續擴展: 1.該系統還可以加入遠程短信通知模塊,如果設備出故障及室內溫度過高可以通知用戶,讓用戶更好的喂養寵物。使功能更加可靠完善。 2.可以設置4個或更多的食物放置槽,按提前設置的時間依次打開,由電機控制閥門打開食物槽,方便寵物進食。 3.本設計可以設置幾個不同的定點時間,這樣即使寵物飼養者幾天不在家,寵物的飲食規律也能得到保障。
摘 要
本文設計的是寵物定時喂食器,即先將寵物飼料放入其中,通過設定喂食時間點,當到達這一時間點后,系統發出喂食信號吸引寵物,自動進行喂食。本設計主要研究如何設定時間點并發出喂食信號。寵物自動喂食器主要包括單片機AT89S52、電源電路、電機控閥門、按鍵電路、顯示模塊、照明燈、DS1302電路模塊、DS18B20溫度測試模塊和蜂鳴器模塊。其中單片機為核心單元,對各個模塊的工作進行控制。喂食器的喂食過程是,通過鍵盤設定倒計時間,當依次到達設定時間時,單片機驅動發光二極管發光,蜂鳴器發出響聲,吸引寵物過來進食并自動投放食物。設計中加入的萬年歷和溫度傳感器,方便記錄寵物的生長周期。倒計時和日期等信息通過LCD12864液晶顯示。本設計解決了工作日或節假日由于主人不在不能對寵物喂食和寵物飲食不規律的問題,系統操作簡單,電路運行穩定,具有一定的推廣價值。
|