楊馳+葉波

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