![基于單片機(jī)的寵物喂食器電路設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/18/1cce5a93-7386-4d82-b9f1-02553ee3603d/1cce5a93-7386-4d82-b9f1-02553ee3603d1.gif)
![基于單片機(jī)的寵物喂食器電路設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/18/1cce5a93-7386-4d82-b9f1-02553ee3603d/1cce5a93-7386-4d82-b9f1-02553ee3603d2.gif)
![基于單片機(jī)的寵物喂食器電路設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/18/1cce5a93-7386-4d82-b9f1-02553ee3603d/1cce5a93-7386-4d82-b9f1-02553ee3603d3.gif)
![基于單片機(jī)的寵物喂食器電路設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/18/1cce5a93-7386-4d82-b9f1-02553ee3603d/1cce5a93-7386-4d82-b9f1-02553ee3603d4.gif)
![基于單片機(jī)的寵物喂食器電路設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/18/1cce5a93-7386-4d82-b9f1-02553ee3603d/1cce5a93-7386-4d82-b9f1-02553ee3603d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于單片機(jī)的寵物喂食器電路設(shè)計(jì)i摘要摘要本設(shè)計(jì)所研究的是實(shí)現(xiàn)一個(gè)寵物自動(dòng)喂食器,即先將寵物飼料放入其中,通過設(shè)定五個(gè)喂食時(shí)間點(diǎn),當(dāng)?shù)竭_(dá)這一時(shí)間點(diǎn)后,系統(tǒng)發(fā)出喂食信號(hào)吸引寵物,自動(dòng)進(jìn)行喂食。本設(shè)計(jì)主要研究如何設(shè)定五個(gè)時(shí)間點(diǎn)并發(fā)出喂食信號(hào)。寵物喂食器系統(tǒng)主要包括單片機(jī)控制、自動(dòng)開關(guān)和蜂鳴器提示、倒計(jì)時(shí)間設(shè)定系統(tǒng)。喂食器的喂食過程,通過鍵盤設(shè)定五個(gè)倒計(jì)時(shí)間,當(dāng)依次到達(dá)這五個(gè)時(shí)間時(shí),發(fā)光二極管發(fā)光,蜂鳴器發(fā)出響聲,吸引寵物過來進(jìn)食并自動(dòng)投放食物。本設(shè)計(jì)解決了工作時(shí)或節(jié)假日時(shí)由于主人不在不能對(duì)寵物進(jìn)行喂食,避免了寵物由于飲食不正常所產(chǎn)生的問題。在整個(gè)系統(tǒng)中,利用單片機(jī)對(duì)各個(gè)系統(tǒng)進(jìn)行控制。 倒計(jì)時(shí)系統(tǒng)時(shí)間
2、通過六位七段數(shù)碼管顯示出來。利用鍵盤設(shè)定五個(gè)倒計(jì)時(shí)間,單片機(jī)不停的讀取時(shí)間,并判斷是否到達(dá)喂食時(shí)間。開關(guān)系統(tǒng)電阻和發(fā)光二極管表示 ,發(fā)光二級(jí)管收到低電平時(shí)導(dǎo)通表示開關(guān)打開投放喂食。同時(shí)接有蜂鳴器,當(dāng)?shù)竭_(dá)喂食時(shí)間后蜂鳴器發(fā)出響聲吸引寵物進(jìn)行喂食。關(guān)鍵詞:智能;定時(shí)喂養(yǎng);單片機(jī) at89s52;基于單片機(jī)的寵物喂食器電路設(shè)計(jì)iiabstractthe study design is to achieve an automatic pet feeder, pet feed into which will set the five fed point, when you reach this poin
3、t in time, automatically feeding. the main point of how to set the time within the pet food put out. pet feeder system includes mcu control, automatic switch and music alert system, the remaining time setting system. feeder feeding process, the five remaining time set by the keyboard, when the order
4、 reaches the five time, while the timer chip to send a signal relay and music, music playback chip, a piece of music attracted the pet, the relay switch is closed so that a red light emitting diode, said switch delivery of food. this design solves the holidays when work or not is not the owner of th
5、e pet to feed, to avoid the pet food is not normal because the problems arising. throughout the system, the use of single chip control system of each. countdown to the system time by six out of seven segment digital display. using the keyboard to set the five remaining time, microcontroller reads th
6、e stop time and to determine whether the feeding time arrives. switching system by the relay and the light-emitting diode, said switch is closed when the relay received high light-emitting diode, said switch is running feeding. tip has a music system, when the arrival time after feeding a piece of m
7、usic tips music playback chip to feed pets.key words: intelligent; automatic feeding; mcu基于單片機(jī)的寵物喂食器電路設(shè)計(jì)目 錄中文摘要英文摘要1 緒論.111 設(shè)計(jì)意義.112 設(shè)計(jì)要求.12 設(shè)計(jì)方案.221 按鍵模塊.222 自動(dòng)開關(guān)模塊.223 蜂鳴器模塊.224 顯示模塊.33 硬件電路的設(shè)計(jì).331 單片機(jī).3311 at89s52 單片機(jī)的簡介 .3312 at89s52 的時(shí)鐘介紹 .5313 單片機(jī)中斷的介紹 .732 電源電路.833 時(shí)鐘電路.83. 4 復(fù)位電路 .935 led 數(shù)碼
8、管顯示 .10351 數(shù)碼管顯示簡介.10352 數(shù)碼管編碼表 .1136 開關(guān)控制.1137 單片機(jī)的去抖動(dòng).124 電路的軟件部分.13參考文獻(xiàn).46附錄 1 .47附錄 2 .48附錄 3 .49致謝.50基于單片機(jī)的寵物喂食器電路設(shè)計(jì)11 緒論11 設(shè)計(jì)意義單片機(jī)自 20 世紀(jì) 70 年代問世以來,以其極高的性能價(jià)格比受到人們的重視和關(guān)注,應(yīng)用廣泛,發(fā)展快速。單片機(jī)具有體積小、速度快、抗干擾能力強(qiáng),環(huán)境要求不高,性能可靠和價(jià)格低廉等優(yōu)點(diǎn),通常在其外部配置外圍電路就可構(gòu)成一完整的控制系統(tǒng)。由于具有以上優(yōu)點(diǎn),在我國,單片機(jī)已廣泛應(yīng)用與工業(yè)自動(dòng)化控制、自動(dòng)檢測(cè)、智能儀器儀表、家電電器、電力電
9、子、武器裝備、機(jī)電一體化設(shè)備等各個(gè)方面。單片機(jī),亦稱單片微電腦或單片微型計(jì)算機(jī)。它是把中央處理器(cpu)、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、輸入/輸出端口(i/0)等主要計(jì)算機(jī)功能部件都集成在一塊集成電路芯片上的微型計(jì)算機(jī)。 現(xiàn)在越來越多的家庭都飼養(yǎng)有貓、狗等寵物,但是由于工作等原因,寵物的飲食規(guī)律得不到一定的保障,寵物喂食器可以解決這一問題,寵物自動(dòng)喂食器可以定時(shí)定量的進(jìn)食,且設(shè)計(jì)簡單方便,有一定的實(shí)用價(jià)值。12 設(shè)計(jì)要求 利用單片機(jī)的定時(shí)功能設(shè)計(jì)一個(gè)寵物自動(dòng)喂食盒的電路,要求:可以通過鍵盤輸入至少 3 個(gè)倒計(jì)時(shí)時(shí)間,每一個(gè)倒計(jì)時(shí)時(shí)間到后,發(fā)出寵物開始喂食信號(hào);擴(kuò)展功能: 按
10、照 年/月/日/時(shí)/分 的格式輸入寵物進(jìn)食時(shí)間;基于單片機(jī)的寵物喂食器電路設(shè)計(jì)22 設(shè)計(jì)方案分析本題,根據(jù)設(shè)計(jì)要求先確定了本系統(tǒng)的整體設(shè)計(jì)原理框圖如圖 1:按鍵模塊單片機(jī)自動(dòng)開關(guān)模塊蜂鳴器顯示模塊圖 1 系統(tǒng)整體設(shè)計(jì)原理框圖21 按鍵模塊采用 7 個(gè)觸鍵開關(guān), 可實(shí)現(xiàn)五個(gè)倒計(jì)時(shí)間依次鍵入,同時(shí)還有兩個(gè)調(diào)時(shí)按鍵,再一個(gè)復(fù)位按鍵。22 自動(dòng)開關(guān)模塊采用三極管和發(fā)光二極管近似表示。 本系統(tǒng)是基于 52 單片機(jī)的寵物自動(dòng)喂食的設(shè)計(jì),用電阻和發(fā)光二極管代替比較容易,當(dāng)發(fā)光二級(jí)管接收到一個(gè)低電平時(shí)開關(guān)閉合,發(fā)光二極管導(dǎo)通發(fā)出綠光表示自動(dòng)投食。23 蜂鳴器模塊采用一個(gè)三極管和一個(gè)蜂鳴器,由蜂鳴器發(fā)出響聲吸引
11、寵物過來進(jìn)食。當(dāng)發(fā)光二極管亮燈時(shí),蜂鳴器接收到一個(gè)低電平,蜂鳴器器發(fā)出響聲吸引寵物過來進(jìn)食。24 顯示模塊選用數(shù)碼管顯示,用普通的數(shù)碼管顯示簡單的數(shù)字、符號(hào)、字母。只需一次顯示5 個(gè)倒計(jì)時(shí)間,而且每個(gè)時(shí)間只需顯示 6 個(gè)數(shù)字,即年/月/日?;趩纹瑱C(jī)的寵物喂食器電路設(shè)計(jì)33 硬件電路的設(shè)計(jì)31 單片機(jī)311 at89s52 單片機(jī)的簡介at89s52 是一種低功耗、高性能 cmos8 位微控制器,具有 8k 在系統(tǒng)可編程flash 存儲(chǔ)器。使用 atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工 80c51 產(chǎn)品指令和引腳完全兼容。片上 flash 允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器
12、。at89s52 具有以下標(biāo)準(zhǔn)功能: 8k 字節(jié) flash,256 字節(jié) ram,32 位 i/o 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè) 16 位定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量 2 級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,at89s52 可降至 0hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下,cpu 停止工作,允許 ram、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 3111 主要性能與 mcs-51 單片機(jī)產(chǎn)品兼容8k 字節(jié)在系統(tǒng)可編程 flash 存儲(chǔ)器1000
13、 次擦寫周期全靜態(tài)操作:0hz33hz三級(jí)加密程序存儲(chǔ)器32 個(gè)可編程 i/o 口線三個(gè) 16 位定時(shí)器/計(jì)數(shù)器八個(gè)中斷源全雙工 uart 串行通道低功耗空閑和掉電模式掉電后中斷可喚醒看門狗定時(shí)器雙數(shù)據(jù)指針掉電標(biāo)識(shí)符基于單片機(jī)的寵物喂食器電路設(shè)計(jì)43112at89s52 雙列直插式引腳圖vccp0.5/ad5p0.0/ad0p0.1/ad1p0.2/ad2p0.4/ad4p0.3/ad3p0.6/ad6p0.7/ad7p2.0/a8p2.2/a10p2.1/a9p2.7/a15p2.6/a14p2.5/a13p2.4/a12p2.3/a11psenale/progea/vppt2/p1.0t2
14、ex/p1.1p1.2p1.3p1.4mosi/p1.5miso/p1.6sck/p1.7rxd/p3.0txd/p3.1t0/p3.4t1/p3.5xtal2xtal1gndrst12345678910111213141515171819204039383736353433323130292827262524232221at89s52/p3.7rd/p3.6wr/p3.2int0/p3.3int1圖 2.1 at89s52 雙列直插式引腳圖3113 端口介紹p0 口:p0 口是一個(gè) 8 位漏極開路的雙向 i/o 口。作為輸出口,每位能驅(qū)動(dòng) 8 個(gè)ttl 邏輯電平。對(duì) p0 端口寫“1”時(shí),引
15、腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),p0 口也被作為低 8 位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0 具有內(nèi)部上拉電阻。在 flash 編程時(shí),p0 口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。p1 口:p1 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè) ttl 邏輯電平。對(duì) p1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil) 。此外,p1.0 和 p1.2 分別作定時(shí)器/計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入(p1.0/t2)和時(shí)器/
16、計(jì)數(shù)器 2 的觸發(fā)輸入(p1.1/t2ex) 。在 flash 編程和校驗(yàn)時(shí),p1 口接收低 8 位地址字節(jié)。基于單片機(jī)的寵物喂食器電路設(shè)計(jì)5p2 口:p2 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè) ttl 邏輯電平。對(duì) p2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil) 。在訪問外部程序存儲(chǔ)器或用 16 位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行 movx dptr)時(shí),p2 口送出高八位地址。在這種應(yīng)用中,p2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用 8 位地址(如 mo
17、vx ri)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),p2 口輸出 p2 鎖存器的內(nèi)容。在 flash 編程和校驗(yàn)時(shí),p2 口也接收高 8 位地址字節(jié)和一些控制信號(hào)。 p3 口:p3 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè) ttl 邏輯電平。對(duì) p3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil) 。p3 口亦作為 at89s52 特殊功能(第二功能)使用。在 flash 編程和校驗(yàn)時(shí),p3 口也接收一些控制信號(hào)。312 at89s52 的時(shí)鐘介紹單片機(jī)的工作過程是:取一條指令、譯碼
18、、進(jìn)行操作,再取一條指令、譯碼、進(jìn)行微操作,這樣自動(dòng)的一步一步的由微操作依序完成相應(yīng)指令規(guī)定的功能。各指令的微操作在時(shí)間上由嚴(yán)格的次序,各種微操作的時(shí)間次序稱作為時(shí)序。3121 at89s52 的時(shí)鐘信號(hào)產(chǎn)生方式at89s52 單片機(jī)的時(shí)鐘信號(hào)通常有兩種產(chǎn)生方式:一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。內(nèi)部時(shí)鐘方式如圖 2.2 所示。在 at89s52 單片機(jī)內(nèi)部有一振蕩電路,只要在單片機(jī)的 xtal1 和 xtal2 引腳外接石英晶體,就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘信號(hào)。圖中電容器 c1、c2 的作用是穩(wěn)定頻率,快速起振,電容值在 530pf;晶振 cys 的振蕩器頻率為 1.212m
19、hz。基于單片機(jī)的寵物喂食器電路設(shè)計(jì)6圖 2.2 內(nèi)部時(shí)鐘方式外部時(shí)鐘方式是把已有時(shí)鐘信號(hào)引入到單片機(jī)內(nèi),如圖 2.3 所示。此方式多用于多片 at89s52 單片機(jī)同時(shí)工作。以便于各單片機(jī)同步。一般要求外部信號(hào)高電平的持續(xù)時(shí)間大于 20ns,且為頻率低于 12mhz 的方波。對(duì)于采用 chmos 工藝的單片機(jī),外部時(shí)鐘主要由 xtal1 端引入,而 xtal2 端引腳應(yīng)懸空。圖 2.3 外部時(shí)鐘方式3122 at89s52 的時(shí)鐘信號(hào)晶振周期為最小的時(shí)序單元。晶振信號(hào)經(jīng)分頻器形成兩相錯(cuò)開的時(shí)鐘信號(hào) p1 和p2.時(shí)鐘信號(hào)的周期也稱為 s 狀態(tài),它是晶振周期的兩倍。即一個(gè)時(shí)鐘周期包含兩個(gè)晶振周
20、期。在每個(gè)時(shí)鐘周期的前半周期,相位 1 有效,在每個(gè)時(shí)鐘周期的后半周期,相位 2 有效。每個(gè)時(shí)鐘周期有兩個(gè)節(jié)拍 p1 和 p2,cpu 以兩相時(shí)鐘 p1 和 p2 為基本節(jié)拍指揮各個(gè)部件協(xié)調(diào)工作。晶振信號(hào) 12 分頻后形成機(jī)器周期。一個(gè)晶振周期包含 12 個(gè)晶振周期或 6 個(gè)時(shí)鐘周期。因此每個(gè)機(jī)器周期的 12 個(gè)晶振脈沖可以表示為 s1p1 s2p2s6p6。晶振周期和機(jī)器周期是單片機(jī)內(nèi)計(jì)算其他時(shí)間值的基本時(shí)序單位。如晶振頻率為 12hz,則機(jī)器周期為 1us,指令周期為 1-4us。313 單片機(jī)中斷的介紹在設(shè)計(jì)中用到了外部中斷int0/int1和定時(shí)器t0。它們的中斷請(qǐng)求標(biāo)志分別為ie0,
21、ie1和tf0。這些中斷請(qǐng)求標(biāo)志位分別由特殊功能寄存器tcon和tmod的相應(yīng)位鎖存。在這個(gè)設(shè)計(jì)中,中斷允許寄存器是首要介紹的。3131 中斷允許寄存器 ie 控制 cpu 對(duì)中斷源的開放或屏蔽。中斷的開放和屏蔽實(shí)現(xiàn)2級(jí)控制,一個(gè)總開關(guān)中斷控制所有的中斷。ie的格式如下:基于單片機(jī)的寵物喂食器電路設(shè)計(jì)7ieeaeset1ex1et0ex0位地址afhachabhaaha9ha8h 當(dāng) ea=0 時(shí),所有的中斷請(qǐng)求被屏蔽,cpu 不接受任何請(qǐng)求。當(dāng)ea=1時(shí),cpu開中斷,此時(shí)只要五個(gè)中斷源的中斷請(qǐng)求允許為1,則開中斷。3132 tmod-工作方式控制寄存器用于選擇定時(shí)器/計(jì)數(shù)器的工作模式,字節(jié)
22、地址為89h,8位分2組,高4位控制t1,低4位控制t0,其格式如下: d7d6d5d4d3d2d1d0tmodgatec/tm1m0gatec/tm1m0下面對(duì)工作方式選擇位做說明:m1 m0-工作方式選擇位,m1 m0共有4種編碼,分別對(duì)應(yīng)4種工作方式。如表1:表1 工作方式選擇m1 m0工作方式0 0方式0,為13位定時(shí)器/計(jì)數(shù)器0 1方式1,為16位定時(shí)器/計(jì)數(shù)器1 0方式2,8位的常數(shù)自動(dòng)重新裝載的定時(shí)器/計(jì)數(shù)器1 1方式3,僅適應(yīng)于t0,t0分為兩個(gè)8位的計(jì)數(shù)器,停止計(jì)數(shù)中斷的觸發(fā)方式:電平觸發(fā)方式和下降沿觸發(fā)方式。32 電源電路基于單片機(jī)的寵物喂食器電路設(shè)計(jì)8單片機(jī)電源(220v
23、 轉(zhuǎn) 5v)設(shè)計(jì)電源電路采用 lm7805 集成穩(wěn)壓器作為穩(wěn)壓器件,用典型接法,220v 電源整流濾波后送入 lm7805 穩(wěn)壓,在輸出端接一個(gè) 470u 和 0.1u 電容進(jìn)一步濾除紋波,得到 5v 穩(wěn)壓電源。電路如圖 2.4 所示220v9v體 tf1體體體vin+5vgnd7805d14007d44007d34007d24007c3220uf/25vc21000uf/25vgnd+_vcc圖 2.4 電源電路圖33 時(shí)鐘電路單片機(jī)工作的時(shí)間基準(zhǔn),決定單片機(jī)工作速度。時(shí)鐘電路就是振蕩電路,向單片機(jī)提供一個(gè)正弦波信號(hào)作為基準(zhǔn),決定單片機(jī)的執(zhí)行速度。at89s51 單片機(jī)時(shí)鐘頻率范圍:0 33
24、mhz,本電路選擇 11.0592mhz。電路如圖 2.5 所示。基于單片機(jī)的寵物喂食器電路設(shè)計(jì)9x1體 體 體 體c5體 體c4體 體gnd圖 2.5 時(shí)鐘電路圖34 復(fù)位電路 單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使cpu 及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。 89 系列單片機(jī)的復(fù)位信號(hào)是從 rst 引腳輸入到 芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且 振蕩器穩(wěn)定后,如果 rst 引腳上有一個(gè)高電平并維持 2 個(gè)機(jī)器周期 (24 個(gè)振蕩周期 )以上,則 cpu 就可以響應(yīng)并將系統(tǒng)復(fù)位。 單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位 和上電復(fù)位,這里選用手動(dòng)按鈕復(fù)位。手動(dòng)按鈕復(fù)位需
25、要人為在復(fù)位輸入端rst 上加入高電平。一般采用的辦法是在 rst 端和正電源 vcc 之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則vcc 的+5v 電平就會(huì)直接加到 rst 端。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。復(fù)位電路工作原理如圖所示,vcc 上電時(shí),c 充電,在 10k 電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位;幾個(gè)毫秒后,c 充滿,10k 電阻上電流降為 0,電壓也為 0,使得單片機(jī)進(jìn)入工作狀態(tài)。工作期間,按下 s,c 放電。s 松手,c 又充電,在 10k 電阻上出現(xiàn)電壓,使得單片機(jī)復(fù)位。幾個(gè)毫秒后,單片機(jī)進(jìn)入工作狀態(tài)。基于單片機(jī)的寵物喂食器電路設(shè)計(jì)10c
26、1體 體 體 體sw2體 體 體 體 體r1體 體r2體 體vccgndrst圖 2.6 復(fù)位電路圖35 led數(shù)碼管顯示351 數(shù)碼管顯示簡介數(shù)碼管 led 串口顯示模塊通常有兩種顯示方法:動(dòng)態(tài)顯示和靜態(tài)顯示。動(dòng)態(tài)顯示:連接方法是將每個(gè)二極管的同名端連在一起,而每個(gè)顯示器的 公共極 com 各自獨(dú)立的接受 i/o 線控制,cpu 向字段輸出端口輸出字型碼,所有顯示器接受到相同的字符,而要使用哪個(gè)顯示器要取決于他們的 com 的電平,而這段是由 i/o端控制的,由單片機(jī)輸出。動(dòng)態(tài)掃描時(shí)連續(xù)的動(dòng)態(tài)掃描,只是肉眼暫留現(xiàn)象,乃發(fā)光二極管的余輝效應(yīng),給人的感覺是一組穩(wěn)定的顯示數(shù)據(jù)。靜態(tài)顯示: 靜態(tài)顯示
27、顯示效果好,但是功耗大,但不占用端口,只需兩個(gè)串口線輸出,變成較為簡單。而且采用靜態(tài)顯示需要的驅(qū)動(dòng)器件多,硬件成本相對(duì)更高。 比較以上兩種方案,方案一硬件簡單程序復(fù)雜,方案二硬件復(fù)雜程序簡單,考慮到實(shí)惠和對(duì)自己的編程鍛煉,選擇方案動(dòng)態(tài)顯示。動(dòng)態(tài)掃描方法是用其接口電路把所有顯示器的8個(gè)筆畫字段(ag 和 dp)同名端連在一起,而每個(gè)顯示器的公共極 com 各自獨(dú)立的接受 i/o 線控制。cpu 向字段輸出端口輸出字型碼時(shí),所有顯示器接受到相同的字型碼,但究竟使用哪個(gè)顯示,則取決于公共極 com 端,而這一端是由/wr 和/rd 控制的,由單片機(jī)決定何時(shí)顯示哪一位。動(dòng)態(tài)掃描用分時(shí)的方法去輪流控制各
28、個(gè)顯示的 com 端,時(shí)各個(gè)顯示器輪流亮。在輪流點(diǎn)亮掃描過程中,每為顯示器的點(diǎn)亮?xí)r間極為短暫,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的于輝效應(yīng),給人的印象就時(shí)一組穩(wěn)定的顯示數(shù)據(jù)。顯示部分電路圖:基于單片機(jī)的寵物喂食器電路設(shè)計(jì)11圖2.7 數(shù)碼管顯示原理352 數(shù)碼管編碼表7段數(shù)碼管可以包括小數(shù)點(diǎn)的09的數(shù)字和部分的英文字母,為了獲得不同的字符,數(shù)碼管各段所加的電平也不同,編碼也不一樣。共陰極數(shù)碼管的字型,字段和編碼的關(guān)系如下表2:表2 數(shù)碼管編碼表十六進(jìn)制數(shù)h gf edcba顯示代碼00 x3f10 x0620 x5b30 x4f40 x6650 x6d60 x7d70 x0780 x7f90
29、x6f. .0 x8036 開關(guān)控制 本電路要實(shí)現(xiàn)可設(shè)定 5 個(gè)倒計(jì)時(shí)設(shè)計(jì)要求,需要 1 個(gè)復(fù)位鍵,一個(gè)“+”和一個(gè)基于單片機(jī)的寵物喂食器電路設(shè)計(jì)12“-”按鍵,另外再加 5 個(gè)時(shí)間設(shè)定按鍵用于實(shí)現(xiàn)倒計(jì)時(shí)間設(shè)定,按鍵時(shí)可直接輸出相應(yīng)倒計(jì)時(shí)間。37 單片機(jī)的去抖動(dòng) 單片機(jī)去抖動(dòng)可以用軟件和硬件兩種方法。硬件方法就是加去抖動(dòng)電路,例如在按鍵兩端并聯(lián) 10uf 的電容或通過 rs 觸發(fā)器連接按鍵,硬件去抖動(dòng)從根本上避免抖動(dòng);軟件方法則采用時(shí)間延時(shí)以躲過抖動(dòng),待信號(hào)穩(wěn)定之后再進(jìn)行鍵掃描。對(duì)于系統(tǒng)軟件量不大的場合,采用軟件去除抖動(dòng)既節(jié)約硬件開銷又很實(shí)用且有效。所以本設(shè)計(jì)采用軟件去抖動(dòng)?;趩纹瑱C(jī)的寵物喂
30、食器電路設(shè)計(jì)134 電路的軟件部分單片的使用除了硬件,同樣也要軟件的使用,我們寫匯編程序編程 cpu 可執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,一種是機(jī)器匯編。機(jī)器匯編通過匯編軟件變?yōu)闄C(jī)器碼,用于 msc-51 單片機(jī)的匯編軟件有早期的 a51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從使用普通匯編語言到高級(jí)語言的不斷發(fā)展,keil 是目前最流行開發(fā) mcs-51系列單片機(jī)的軟件。keil c51 匯編,plm 語言和 c 語言的程序設(shè)計(jì),界面友好。keil是美國 keilsoftware 公司出品的 52 系列兼容單片機(jī) c 語言開發(fā)系統(tǒng)。用過匯編語言后再使用 c 語言來開發(fā),體會(huì)更加深刻。程序框圖:
31、基于單片機(jī)的寵物喂食器電路設(shè)計(jì)14y開始系統(tǒng)初始化1 號(hào)鍵按下?1 號(hào)盒倒計(jì)時(shí)時(shí)間設(shè)定開始倒計(jì)時(shí)5 號(hào)鍵按下?2 號(hào)鍵按下?3 號(hào)鍵按下?4 號(hào)鍵按下?2 號(hào)盒倒計(jì)時(shí)時(shí)間設(shè)定3 號(hào)盒倒計(jì)時(shí)時(shí)間設(shè)定4 號(hào)盒倒計(jì)時(shí)時(shí)間設(shè)定5 號(hào)盒倒計(jì)時(shí)時(shí)間設(shè)定倒計(jì)時(shí)完?yyyyy結(jié)束圖 2.8 程序框圖源程序如下:#include#include#define uchar unsigned char#define uint unsigned intsbit b1=p10;sbit b2=p11;sbit b3=p12;sbit b4=p13;基于單片機(jī)的寵物喂食器電路設(shè)計(jì)15sbit b5=p14;sbit be
32、ll=p26;sbit s1=p30;sbit s2=p31;sbit s3=p32;sbit s4=p33;sbit s5=p34;sbit add=p36;sbit dec=p37;char second1=1,minute1=1,hour1=1,second2=2,minute2=2,hour2=2,second3=3,minute3=3,hour3=3;char second4=4,minute4=4,hour4=4,second5=5,minute5=5,hour5=5;uchar g;unsigned char code table=/共陰極 0f 數(shù)碼管編碼0 x3f,0 x06
33、,0 x5b,0 x4f, /030 x66,0 x6d,0 x7d,0 x07, /470 x7f,0 x6f,0 x77,0 x7c, /8b0 x39,0 x5e,0 x79,0 x71 /cf;void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void delay1(uint z)for(;z0;z-);基于單片機(jī)的寵物喂食器電路設(shè)計(jì)16void display(uchar a,uchar b,uchar c)uchar i,j;i=a/10;j=a%10;p2=0 xfb;p0=tablei;delay(2);p
34、2=0 xf7;p0=tablej;delay(2);i=b/10;j=b%10;p2=0 xef;p0=tablei;delay(2);p2=0 xdf;p0=tablej;delay(2);i=c/10;j=c%10;p2=0 xfe;p0=tablei;delay(2);p2=0 xfd;p0=tablej;delay(2);基于單片機(jī)的寵物喂食器電路設(shè)計(jì)17void delay2(uint z)uint x,y; for(x=z;x0;x-) for(y=110;y0;y-) display(0,0,0);void init() ea=1; /開總中斷 et0=1; /本例中使用的是定
35、時(shí)器 t0,如果用 t1。則為et1=0,tmod=0 x10。 tmod=0 x01; /定時(shí)器工作方式 1 th0=(65535-50000)/256; /因?yàn)榫д裼玫氖?11.0592mhz。在取初值時(shí),大概定義為一個(gè)中斷為 50ms tl0=(65535-50000)%256; tr0=1; p1=0 xff;void turn_val1(char newval,uchar flag,uchar slnum) if(flag) /判斷是加一還是減一 newval+; switch(slnum) case 1:if(newval23) newval=0; display(hour1,mi
36、nute1,second1); hour1=newval;基于單片機(jī)的寵物喂食器電路設(shè)計(jì)18 break; case 2:if(newval59) newval=0; display(hour1,minute1,second1); minute1=newval; break; case 3:if(newval59) newval=0; display(hour1,minute1,second1); second1=newval; break; default:break; else newval-; switch(slnum) case 1:if(newval0) newval=23; dis
37、play(hour1,minute1,second1); hour1=newval; break; case 2:if(newval0) newval=59; display(hour1,minute1,second1); minute1=newval; break; case 3:if(newval23) newval=0; display(hour2,minute2,second2); hour2=newval; break; case 2:if(newval59) newval=0; display(hour2,minute2,second2); minute2=newval; brea
38、k; case 3:if(newval59) newval=0; display(hour2,minute2,second2); second2=newval; break; default:break; else基于單片機(jī)的寵物喂食器電路設(shè)計(jì)23 newval-; switch(slnum) case 1:if(newval0) newval=23; display(hour2,minute2,second2); hour2=newval; break; case 2:if(newval0) newval=59; display(hour2,minute2,second2); minute2
39、=newval; break; case 3:if(newval23) newval=0; display(hour3,minute3,second3); hour3=newval; break; case 2:if(newval59) newval=0; display(hour3,minute3,second3); minute3=newval; break; case 3:if(newval59) newval=0; display(hour3,minute3,second3); second3=newval; break; default:break; else newval-; sw
40、itch(slnum) case 1:if(newval0) newval=23; display(hour3,minute3,second3); hour3=newval; break; case 2:if(newval0) newval=59; display(hour3,minute3,second3); minute3=newval; break; case 3:if(newval23) newval=0; display(hour4,minute4,second4); hour4=newval; break; case 2:if(newval59) newval=0; display
41、(hour4,minute4,second4); minute4=newval; break; case 3:if(newval59) newval=0; display(hour4,minute4,second4); second4=newval;基于單片機(jī)的寵物喂食器電路設(shè)計(jì)32 break; default:break; else newval-; switch(slnum) case 1:if(newval0) newval=23; display(hour4,minute4,second4); hour4=newval; break; case 2:if(newval0) newva
42、l=59; display(hour4,minute4,second4); minute4=newval; break; case 3:if(newval23) newval=0; display(hour5,minute5,second5); hour5=newval; break; case 2:if(newval59) newval=0; display(hour5,minute5,second5); minute5=newval; break; case 3:if(newval59) newval=0; display(hour5,minute5,second5); second5=n
43、ewval; break; default:break; else newval-; switch(slnum) case 1:if(newval0) newval=23; display(hour5,minute5,second5); hour5=newval; break;基于單片機(jī)的寵物喂食器電路設(shè)計(jì)37 case 2:if(newval0) newval=59; display(hour5,minute5,second5); minute5=newval; break; case 3:if(newval0) newval=59; display(hour5,minute5,second
44、5); second5=newval; break; default:break; void key_scan5(void) uchar slnum=0; if(s5=0) delay(5); if(s5=0) while(!s5); display(hour5,minute5,second5); slnum+;tr0=0; while(1) display(hour5,minute5,second5); if(s5=0) 基于單片機(jī)的寵物喂食器電路設(shè)計(jì)38 delay(5); if(s5=0) while(!s5); slnum+; if(slnum=1) if(add=0) delay(3
45、); if(add=0) while(!add); turn_val5(hour5,1,1); if(dec=0) delay(3); if(dec=0) while(!dec); turn_val5(hour5,0,1); if(slnum=2) if(add=0)基于單片機(jī)的寵物喂食器電路設(shè)計(jì)39 delay(3); if(add=0) while(!add); turn_val5(minute5,1,2); if(dec=0) delay(3); if(dec=0) while(!dec); turn_val5(minute5,0,2); if(slnum=3) if(add=0) de
46、lay(3); if(add=0) while(!add); turn_val5(second5,1,3); if(dec=0) 基于單片機(jī)的寵物喂食器電路設(shè)計(jì)40 delay(3); if(dec=0) while(!dec); turn_val5(second5,0,3); /寫入日寄存器 if(slnum=4) slnum=0; break; void xian1() if(g=20) g=0;second1-; if(second10) second1=59; minute1-; if(minute10) minute1=59;基于單片機(jī)的寵物喂食器電路設(shè)計(jì)41 hour1-; if(
47、hour10) hour1=0; display(hour1,minute1,second1); if(second1=0&minute1=0&hour1=0)display(0,0,0);tr0=0;b1=0;bell=0;delay2(5);b1=1;bell=1; void xian2() tr0=1; if(g=20) g=0;second2-; if(second20) second2=59; minute2-; if(minute20) minute2=59; hour2-; if(hour20) hour2=0; if(second2=0&minute2=
48、0&hour2=0)display(0,0,0);tr0=0;b2=0;bell=0;delay2(5);b2=1;bell=1; 基于單片機(jī)的寵物喂食器電路設(shè)計(jì)42 display(hour2,minute2,second2);void xian3() tr0=1; if(g=20) g=0;second3-; if(second30) second3=59; minute3-; if(minute30) minute3=59; hour3-; if(hour30) hour3=0; if(second3=0&minute3=0&hour3=0)display(0,0
49、,0);tr0=0;b3=0;bell=0;delay2(5);b3=1;bell=1; display(hour3,minute3,second3);void xian4() tr0=1; if(g=20)基于單片機(jī)的寵物喂食器電路設(shè)計(jì)43 g=0;second4-; if(second40) second4=59; minute4-; if(minute40) minute4=59; hour4-; if(hour40) hour4=0; if(second4=0&minute4=0&hour4=0)display(0,0,0);tr0=0;b4=0;bell=0;dela
50、y2(5);b4=1;bell=1; display(hour4,minute4,second4);void xian5() tr0=1; if(g=20) g=0;second5-; if(second50) second5=59; minute5-;基于單片機(jī)的寵物喂食器電路設(shè)計(jì)44 if(minute50) minute5=59; hour5-; if(hour50) hour5=0; if(second5=0&minute5=0&hour5=0)display(0,0,0);tr0=0;b5=0;bell=0;delay2(5);b5=1;bell=1;while(1)
51、display(0,0,0); display(hour5,minute5,second5);void main() init();while(1) key_scan1(); key_scan2(); key_scan3(); key_scan4(); key_scan5(); tr0=1; if(!(second1=0&minute1=0&hour1=0) xian1(); if(second1=0&minute1=0&hour1=0) if(!(second2=0&minute2=0&hour2=0)基于單片機(jī)的寵物喂食器電路設(shè)計(jì)45 xia
52、n2(); if(second2=0&minute2=0&hour2=0) if(!(second3=0&minute3=0&hour3=0) xian3();if(second3=0&minute3=0&hour3=0)if(!(second4=0&minute4=0&hour4=0)xian4();if(second4=0&minute4=0&hour4=0)xian5();void time()interrupt 1 /如果用 t1 的話,應(yīng)為 interrupt 3 th0=(65535-50000)/25
53、6; /因?yàn)榫д裼玫氖?11.0592mhz。在取初值時(shí),大概定義為一個(gè)中斷為 50ms tl0=(65535-50000)%256; g+; 基于單片機(jī)的寵物喂食器電路設(shè)計(jì)46參考文獻(xiàn)(1)童詩白主編模擬電子技術(shù)基礎(chǔ) ,修訂 2 版,北京:高等教育出版社 1988(2)閻石主編數(shù)字電子技術(shù)基礎(chǔ) ,修訂 3 版,北京:高等教育出版社 1988(3)胡漢才主編, 單片機(jī)原理及其接口技術(shù) , (第二版)北京:清華大學(xué)出版社 2004(4)張毅剛主編, 單片機(jī)原理及應(yīng)用 ,北京:高等教育出版社(5)馬忠梅等編著, 單片機(jī) c 語言應(yīng)用程序設(shè)計(jì) , (第四版) 北京航空航天大學(xué)出版社 2007.1(6)何立民, mcs-51 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì) ,北京航空航天大學(xué)出版社,1998.7(7)徐愛軍,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球電子鎮(zhèn)痛泵行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國正照式CMOS制冷相機(jī)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球生活用紙頭膠行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國奧美沙坦酯氫氯噻嗪片行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球帆布繪畫套件行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國防靜電HPL架空地板行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球ADAS清洗系統(tǒng)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國TGV激光微孔設(shè)備行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國導(dǎo)熱平臺(tái)和導(dǎo)熱板行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國13C-尿素呼氣測(cè)試試劑盒行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- DB21-T 1720-2017海水源熱泵系統(tǒng)工程技術(shù)規(guī)程
- 組長競選課件教學(xué)課件
- 2022年公務(wù)員多省聯(lián)考《申論》真題(遼寧A卷)及答案解析
- 2024 ESC慢性冠脈綜合征指南解讀(全)
- 北師大版四年級(jí)下冊(cè)數(shù)學(xué)第一單元測(cè)試卷帶答案
- 術(shù)后肺炎預(yù)防和控制專家共識(shí)解讀課件
- 中石化高級(jí)職稱英語考試
- 小學(xué)五年級(jí)英語閱讀理解(帶答案)
- 2024二十屆三中全會(huì)知識(shí)競賽題庫及答案
- 2024年全國統(tǒng)一考試高考新課標(biāo)Ⅱ卷語文+數(shù)學(xué)+英語試題(真題+答案)
- (正式版)YS∕T 5040-2024 有色金屬礦山工程項(xiàng)目可行性研究報(bào)告編制標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論