基于單片機(jī)設(shè)計的音樂馬桶
·
· 4K字節(jié)可編程FLASH存儲器(壽命:1000寫/擦循環(huán))
· 全靜態(tài)工作:0Hz-24KHz
· 三級程序存儲器保密鎖定
· 128*8位內(nèi)部RAM
· 32條可編程I/O線
· 兩個16位定時器/計數(shù)器
·
· 可編程串行通道
· 低功耗的閑置和掉電模式
· 片內(nèi)振蕩器和時鐘電路
2.管腳說明:
VCC:供電電壓
P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口引腳 | 特殊功能 |
P3.0 | RXD(串行輸入口) |
P3.1 | TXD(串行輸出口) |
P3.2 | (外部中斷0) |
P3.3 | (外部中斷1) |
P3.4 | T0(定時器0外部輸入) |
P3.5 | T1(定時器1外部輸入) |
P3.6 | WR(外部數(shù)據(jù)存儲器寫選通) |
P3.7 | RD(外部數(shù)據(jù)存儲器讀先通) |
3.3音樂馬桶實現(xiàn)原理:
主程序不斷掃描播放標(biāo)志為0與播放標(biāo)志為1的兩種情況。初始狀態(tài)播放標(biāo)志為0,音樂模塊置0(不播放),計時變量一直置0,等待計時開始。當(dāng)震動開關(guān)負(fù)跳變觸發(fā)外部中斷0,外部中斷程序?qū)⒁魳凡シ艠?biāo)志位置1。此時主程序給音樂模塊置1(播放),同時計時變量不再清0,當(dāng)計時變量達(dá)到3分鐘時,播放標(biāo)志清0。 第四章 系統(tǒng)軟件設(shè)計
4.1系統(tǒng)程序流程圖:
4.2仿真及調(diào)試:
軟件編寫使用keil uvision2編程語言使用C51
仿真軟件采用proteus 7
仿真圖如下:
單片機(jī)已經(jīng)處于最小系統(tǒng)狀態(tài)。
其中D1代替了發(fā)聲模塊,高電工作。
D2僅用于仿真時顯示計時情況,1S滅1S亮。
按鍵開關(guān)代替了震動開關(guān),工作原理都為導(dǎo)通開路狀態(tài)的切換。
仿真效果如下所述:當(dāng)按鍵按下放開時(相當(dāng)于震動開關(guān)響應(yīng)一次震動發(fā)生負(fù)跳變),D1點亮(單片機(jī)輸出高電,相當(dāng)于發(fā)聲模塊得電),同時D2開始閃爍(證明定時器工作正常)。3分鐘后,D1熄滅(相當(dāng)于發(fā)聲模塊斷電),D2不再閃爍(停止計時),等待下一次按鍵(震動觸發(fā))。
評論