基于單片機設計的音樂馬桶
·
· 4K字節可編程FLASH存儲器(壽命:1000寫/擦循環)
· 全靜態工作:0Hz-24KHz
· 三級程序存儲器保密鎖定
· 128*8位內部RAM
· 32條可編程I/O線
· 兩個16位定時器/計數器
·
· 可編程串行通道
· 低功耗的閑置和掉電模式
· 片內振蕩器和時鐘電路
2.管腳說明:
VCC:供電電壓
P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
| P3口引腳 | 特殊功能 |
| P3.0 | RXD(串行輸入口) |
| P3.1 | TXD(串行輸出口) |
| P3.2 | |
| P3.3 | |
| P3.4 | T0(定時器0外部輸入) |
| P3.5 | T1(定時器1外部輸入) |
| P3.6 | WR(外部數據存儲器寫選通) |
| P3.7 | RD(外部數據存儲器讀先通) |
3.3音樂馬桶實現原理:
主程序不斷掃描播放標志為0與播放標志為1的兩種情況。初始狀態播放標志為0,音樂模塊置0(不播放),計時變量一直置0,等待計時開始。當震動開關負跳變觸發外部中斷0,外部中斷程序將音樂播放標志位置1。此時主程序給音樂模塊置1(播放),同時計時變量不再清0,當計時變量達到3分鐘時,播放標志清0。 第四章 系統軟件設計
4.1系統程序流程圖:

4.2仿真及調試:
軟件編寫使用keil uvision2編程語言使用C51
仿真軟件采用proteus 7
仿真圖如下:
![]() |
單片機已經處于最小系統狀態。
其中D1代替了發聲模塊,高電工作。
D2僅用于仿真時顯示計時情況,1S滅1S亮。
按鍵開關代替了震動開關,工作原理都為導通開路狀態的切換。
仿真效果如下所述:當按鍵按下放開時(相當于震動開關響應一次震動發生負跳變),D1點亮(單片機輸出高電,相當于發聲模塊得電),同時D2開始閃爍(證明定時器工作正常)。3分鐘后,D1熄滅(相當于發聲模塊斷電),D2不再閃爍(停止計時),等待下一次按鍵(震動觸發)。



評論