基于单片机设计的音乐马桶
·
· 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不再闪烁(停止计时),等待下一次按键(震动触发)。
评论