楊馳+葉波

摘要:本文介紹了以keil C51為編譯器,編寫了智能垃圾桶的語音控制程序、紅外避障傳感器程序和總程序,使得智能垃圾桶能實現(xiàn)語音控制功能和紅外避障功能,從而實現(xiàn)防垃圾亂扔和垃圾溢出。
關(guān)鍵詞:語音控制程序;紅外避障程序
引言
隨著人類的不斷進步,城市中產(chǎn)生的廢棄垃圾也越來越多,這嚴重威脅著我們賴以生存的環(huán)境,合理處理垃圾是人們的一個重要任務。而在處理垃圾之前,垃圾的搜集也是非常重要的。然而,城市中的垃圾桶雖然可以分類收集垃圾,但是人們常常卻未能準確地將垃圾扔進垃圾桶,或者垃圾堆滿了也沒有及時清理,這給市容和環(huán)境帶來了巨大影響。本文就此設(shè)計一款防垃圾亂扔、垃圾溢出新型垃圾桶的軟件系統(tǒng)。
本設(shè)計利用單片機實現(xiàn)防垃圾亂扔和垃圾溢出功能,主要講述軟件系統(tǒng)的設(shè)計與實現(xiàn)。
1軟件系統(tǒng)設(shè)計
1.1語音能控制程序
設(shè)計的主要功能是能夠在不同的場合播放不同的語音。根據(jù)語音芯片的使用說明情況,在這里選用的是串口指令控制。串口的使用主要包括串口的初始化以及設(shè)置相關(guān)的波特率。
所用串口相關(guān)指令如表1所示。語音控制程序主要包括三個程序。
(一)串口的初始化程序
(1)定義TMOD,SCON,PCON這三個參數(shù),初始化串口;
(2)通過定義TH1和TL1,設(shè)置串口的工作速率為9600bps;
(3)定義TRI=1,表示允許發(fā)送;
(4)定義REN=1,表示允許接收;
(5)定義ES=1,表示打開串口。
(二)串口發(fā)送一個字節(jié)程序
定義函數(shù)“Uart_PutByte”,在此函數(shù)中,通過
(三)串口發(fā)送一幀指令程序
定義函數(shù)“SendCmd”,在此函數(shù)中通過調(diào)用“Uart_PutByte”函數(shù),從而發(fā)送不同的指令,以此來實現(xiàn)音量調(diào)節(jié),播放曲目,暫停與播放等功能。
(四)串口向外發(fā)送命令程序
定義參數(shù)“dat”,分別發(fā)送“dat”的高8位和低8位來識別音樂。
1.2紅外避障傳感器程序
紅外避障功能主要是通過單片機的外部中斷程序來實現(xiàn),當有垃圾擋住了紅外傳感器,那么傳感器會輸出一個低電平,從而引發(fā)外部中斷。具體實現(xiàn)算法如下:
(一)定義兩個外部中斷0和1;
(二)外部中斷0判斷垃圾桶外部的情況:當有垃圾落在垃圾箱外面時,此時傳感器被擋住,定義time=1,調(diào)用0x03指令播放音樂,以及0x02指令播放對應的語音指令,即播放“請把把垃圾放入桶中,好嗎”;
若垃圾及時移開,則結(jié)束中斷;
若垃圾仍然還在,調(diào)用0x03和0x01指令,播放對應的語音指令,即播放“仍有垃圾未清理”。
(三)外部中斷1判斷垃圾桶內(nèi)部情況:
當內(nèi)部垃圾溢出時,引發(fā)中斷,調(diào)用0x03和0x03指令,播放對應的語音指令,即播放“垃圾溢出,請及時清理”。
2功能實現(xiàn)情況
該軟件系統(tǒng)設(shè)計結(jié)合系統(tǒng)硬件設(shè)計,通過語音控制部分和紅外避障部分實現(xiàn)了防垃圾亂扔、垃圾溢出的新型垃圾桶感應裝置。
3結(jié)語
本文設(shè)計的新型垃圾桶感應裝置軟件系統(tǒng)功能新穎完善,當有人沒有把垃圾扔進垃圾箱內(nèi)時,會有語音提示“請把垃圾扔進垃圾箱內(nèi),好嗎”;當垃圾一直沒有被扔進垃圾箱內(nèi)時,會有語音提示‘仍有垃圾未清理”;當垃圾箱內(nèi)部垃圾快溢出時,會發(fā)出語音“垃圾溢出,請及時清理”。本設(shè)計通過語音控制和紅外感應裝置很好的實現(xiàn)了防垃圾亂扔及垃圾溢出功能,成本低廉,功能新穎完善。