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