新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于单片机设计的音乐马桶

基于单片机设计的音乐马桶

作者: 时间:2016-11-28 来源:网络 收藏

AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
1.主要特性:

· 8031 CPU与MCS-51 兼容
· 4K字节可编程FLASH存储器(寿命:1000写/擦循环)
· 全静态工作:0Hz-24KHz
· 三级程序存储器保密锁定
· 128*8位内部RAM
· 32条可编程I/O线
· 两个16位定时器/计数器
· 6个中断源
· 可编程串行通道
· 低功耗的闲置和掉电模式
· 片内振荡器和时钟电路
2.管脚说明:
VCC:供电电压
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:

P3口引脚特殊功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2(外部中断0)
P3.3(外部中断1)
P3.4T0(定时器0外部输入)
P3.5T1(定时器1外部输入)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读先通)

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不再闪烁(停止计时),等待下一次按键(震动触发)。


关键词: 音乐马桶单片

评论


技术专区

关闭