课程设计(论文)基于单片机电子琴的设计.doc
《课程设计(论文)基于单片机电子琴的设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于单片机电子琴的设计.doc(16页珍藏版)》请在三一办公上搜索。
1、基于单片机电子琴的设计 摘 要随着计算机在社会各领域的渗透,单片机的应用正在不断地走向深入,同时带动着工业、农业、商业、家电以及玩具的日新月异更新,极大地提高了电子电路及系统设计质量和效率。电子琴是现代电子科技与音乐结合的产物,在现代音乐扮演者重要的角色,单片机对于电子琴的设计具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中成为不可替代的一部分。本文主要是用AT89S51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控模块,在主控模块上设有16个按键和扬声器。其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的
2、实用和参考价值。关键字:单片机;AT89S51;电子琴1.系统硬件电路设计 电子琴的控制电路由单片机AT89S51、工作知识LED、LED显示器、按键输入、喇叭接口等几部分组成。硬件电路结构框图如图1所示: 图1 电子琴硬件电路1.1 单片机AT89S51的简介AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4K的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片机芯片中,ATMEL公司的
3、功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。主要性能参数:l 与MCS-51产品指令系统完全兼容l 4K字节在系统编程(ISP)Flash 闪速存储器l 1000次擦写周期l 4.0-5.5V的工作电压范围l 全静态工作模式:0HZ-33MHZl 三级程序加密锁l 128*8字节内部RAMl 32个可编程I/O口线l 2个16位定时/计数器l 6个中断源l 全双工串行UART通道l 低功耗空闲和掉电模式l 中断可从空闲模式唤醒系统l 看门狗(WDT)及双数据指针l 掉电标示和快速编程特性l 灵活的在系统编程(ISP-字节或页写模式)功能特性概
4、述: AT89S51提供以下标准功能:4K字节闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中到内容,但振荡器停止工作并禁止其它所有工作部件直到下一个硬件复位。图2单片机AT89S51引脚图引脚功能说明:Vcc:电源电压GND:接地P0口:P0口是一组8位漏极开路型双向I/O口,也即地
5、址/数据总线复用口。作为输出口时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序
6、校验期间,P1接收低8位地址。P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVE DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦
7、接收高位地址和其他控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2P3.3P3.4T0P3.5T1P3.6P3.71.2电子琴硬件仿真图 图3 仿真设计的硬件电路2.系统软件电路设计2.1整体程序简易流程图 图4程序流程图2.2弹奏程序流程图
8、:图5弹奏程序流程图2.3自动播放歌曲程序流程图: 图6播放程序流程图2.4设计原程序: BUFF EOU 30H STH0 EQU 31H STL0 EQU 32H TEMP EQU 33H ORG 00H LJMP START ERG OBH LJMP TNT_TO ORG 001BH LJMP TIM1START: MOV TMOD,#01H ;设置T0工作方式 SETB ETO SETB EA ;启动T0MAIN: MOV P1,#0FFH ;P1全置1 CLR P1.4 ;开始扫描第一行 MOV A,P1 ANL A,#0FH ;屏蔽高四位 XRL A,#0FH ;低位有0则按下,否
9、则无 JZ KKEY1 ;判断有无键按下,有则继续,没有则转移到 KKEY1 LCALL DELY10MS ;调用延时程序 MOV A,P1 ;重新开始判断有无键按下 ANL A,#0FH XRL A,#0FH JZ KKEY1 MOV A,P1 ANL A,#0FH ;求键值 CJNE A,#0CH,CKK1 ;相等说明该行第一列有键按下,不等则转移 MOV BUFF,#0 ;该键值为0 LJMP NDK1 ;跳到NDK1执行相应的功能程序CKK1: CJNEA,#0DH,KK2 ;相等说明该行第二列有键按下,不等则转移 MOV BUFF,#1 ;该键值为1 LJMP NDK1 ;跳到NDK
10、1执行相应的功能程序KK2: CJNE A,#0BH,KK3 ;相等说明该行第三列有键按下,不等则转移 MOV BUFF,#2 ;该键值为2 LJMP NDK1 ;跳到NDK1执行相应的功能程序KK3: CJNE A,#07H,KK4 ;相等说明该行第四列有键按下,不等则转移 MOV BUFF,#3 ;该键值为2 LJMP NDK1 ;跳到NDK1执行相应的功能程序KK4: NOPNDK1: MOV A,BUFF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV A,BUFF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABL
11、E1 MOVC A,A+DPTR MOV STH0,A MOV THO,A INC TEMP MOV A,TEMP MOVC A,A_DPTR MOV STL0,A MOV TL0,A SETB TRONDK1A: MOV A,P1 ANL A,#OFH XRL A,#0FH JNZ NDK1A CLR TR0KKEY1: MOV P1,#0FFH ;开始扫描第二行 CLR P1.5 MOV A,P1 ANL A,#0FH XRL A,#0FH JZ KKEY2 LCALL DELAY10MS MOV A,P1 ANL A,#0FH XRL A,#0FH JZ KKEY2 MOV A,P1 A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 单片机 电子琴 设计
链接地址:https://www.31ppt.com/p-3993526.html