久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機設計的音樂馬桶

基于單片機設計的音樂馬桶

作者: 時間:2016-11-28 來源:網絡 收藏




音樂馬桶實現圖:
橢圓標注的陶瓷壁內為音樂馬桶控制模塊的安裝位置。適合開口更換電池。能更好地傳導震動。


結束語

接觸學習單片機已經有一段時間了,回想剛開始的時候,覺得單片機牽涉到太多領域的知識,有電子,有微機原理,有程序編寫等等。而且在起初的理論學習階段,有好多晦澀難懂的概念。通過這次課程設計實踐,讓我思考了理論與實踐的相互關系。
在初期階段,面對一個全新的,龐然大物般的新知識體系,理論的引導作用無法替代,起碼要先建立起對它的興趣,愛好,進而規劃發展。否則面對再好的前景規劃也無從下手。
雖然現在我還處在入門的階段,但是也能深刻的感受到,正是由于單片機涉及的知識面很廣,所以帶來了無比的自由性,適應性,靈活性。從模塊、IC的琳瑯滿目,到數不盡的周邊電子元件組合方式,更有基本上沒有限制的軟件編程實現。這一切都使得單片機解決問題的途徑不是唯一,更使得解決實際問題游刃有余,能夠貼合各種實際情況、環境。
這次課程設計,要求設計一種音樂馬桶,解決人們在上廁所發出聲響遭遇尷尬的實際問題。在學習過程中,我也做過一些題目和小實物。最大的區別是,在這次課程設計之前,我是為了應用某個特定的知識點,才去實踐。而這次是為了解決某個實際問題,去應用所學知識。或許這才是工程人的基本出發點。
按照老師給出的解決思路。聲控電路、聲控感應,這些生活中常見常用的功能模塊,確實也像第一時間就給出了清晰明了的答案。但是經過深入的分析,日常所見的東西存在于某個地方,或許我們都習以為常,其實它們都是很好的貼合了所在環境實際要求,才成為習慣的。那么對于馬桶、廁所,這些少有接觸的環境,這些模塊,這些電路又是否合適呢?
試想廁所、馬桶肯定是常常接觸水的,假如電路復雜,模塊不夠緊湊導致不能很好地放濕,防水,肯定是不能適應環境的。在我看來,這一點是聲控控制不能滿足的,若加上了防水防濕的外保護,更會影響其靈敏度。更進一步,在公共場合嘈雜的環境中,聲控控制會工作不理想。
基于以上一些分析,最后決定了用簡單可靠地震動傳導來作為觸發。當然,單片機的解決方案多種多樣,并不能說這個就更加貼切,但是只有不斷思考和論證才有更好,沒有最好的答案。這就是單片機、嵌入式的魅力。

附錄:

程序:


//12MHZ
#include

sbit sound_mod = P2^1;

#define uchar unsigned char
uchar second;
uchar minute;
bit play_flag; //音樂模塊播放控制位
sbit shine = P2^0; //仿真時秒閃爍LED

void run(void);

void init(void) //定時器,中斷初始化函數
{
sound_mod = 0;
TH0 = -50000/256;
TL0 = -50000%6;
TMOD = 0x01;
TR0 = 1;
IE = 0x83;
IT0 = 1;
}

void main(void)
{
init();
while (1)
{
run();
}
}
void run(void)
{
if (play_flag) //播放標志為1時,音樂模塊供電
{
sound_mod = 1;
}
else if (!play_flag) //播放標志為0時,音樂模塊不供電,同時為重新計時3分鐘復位
{
minute = 0;
sound_mod = 0;
}
}

void timer(void) interrupt 1
{
static uchar counter;

counter++;
if (20 == counter) //20個定時器溢出為1秒
{
counter = 0;
second++;
shine = !shine;
if (60 == second) //分進位
{
second = 0;
minute++;
{
if (3 == minute)//定時器定時3分鐘后,播放標志位清0
{
minute = 0;
play_flag = 0;
}
}
}
}


}
void shake(void) interrupt 0
{
play_flag = 1; //震動開關跳變觸發中斷,播放標志位置1
}

上一頁 1 2 3 4 下一頁

關鍵詞: 音樂馬桶單片

評論


相關推薦

技術專區

關閉