马福文多功能高级电子琴课设报告.docx
- 文档编号:2615486
- 上传时间:2022-11-03
- 格式:DOCX
- 页数:23
- 大小:88.85KB
马福文多功能高级电子琴课设报告.docx
《马福文多功能高级电子琴课设报告.docx》由会员分享,可在线阅读,更多相关《马福文多功能高级电子琴课设报告.docx(23页珍藏版)》请在冰豆网上搜索。
15211172 单片机课程设计实验报告 马福文
单片机课程设计
多功能高级电子琴
实
验
报
告
班级:
通信1507
姓名:
马福文
学号:
15211172
指导老师:
于振宇
2017年6月13日
目录
1.应用背景及需求分析 -3-
2.设计目标及性能指标 -3-
3.设计原理 -3-
4.设计方案及思路 -5-
4.1总体框图 -5-
4.2蜂鸣电路 -5-
5.软件设计流程及描述 -6-
5.1软件设计思路 -6-
5.2各部分功能介绍 -7-
5.2.1红外接收程序 -7-
5.2.2键盘键值读取程序 -7-
5.2.3中断计时 -7-
5.2.4LED灯显示 -8-
5.2.5数码管显示 -8-
5.2.6液晶显示 -8-
5.2.7音乐播放 -8-
5.2.8主程序 -8-
6.实验源程序 -9-
7.实验总结及体会 -22-
附:
参考文献 -23-
1.应用背景及需求分析
1.计算机得到广泛普及,利用计算机发声原理,液晶显示原理,红外扫描原理能够做出单片机多功能电子琴。
2.汇编语言成为学习的风尚,编程的基本思想深入人心。
3.熟悉定时器,蜂鸣器,液晶显示屏,数码管,LED灯,红外接收器,中断程序和键盘扫描电路的工作原理及编程方法,在市场上占有一定份额。
2.设计目标及性能指标
利用JD51开发板上的定时器,蜂鸣器,液晶显示屏,数码管,LED灯,红外接收器,红外遥控器,键盘按键设计高级电子琴,要求:
1、扫描方式,读取红外遥控器键值,并把获得的键值显示于8个LED,同时蜂鸣器响。
2、当所按键是0~9时,1个七段显示器显示对应的数字。
液晶屏显示相应的数字。
3、当所按键是1~8时,蜂鸣器发出音调1、2、3、4、5、6、7、i。
4、按下CH+时,8个LED呈跑马灯闪烁三个循环。
5、当所按键是0时,播放同一首歌。
3.设计原理
音节由不同频率的方波产生,音节与频率的关系通过查表可得。
要产生音频方波,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。
利用计时器计时此半周期时间,每当计时到后就将输出方波的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚得到此频率的方波。
在JD51单片机上,产生方波的I/O脚选用P2.4,通过跳线选择器将单片机的P2.4与蜂鸣器的驱动电路相连。
这样P2.4输出不同频率的方波,蜂鸣器便会发出不同的声音。
另外,音乐的节拍是由延时实现的,如果1拍为0.4秒,1/4拍是0.1秒。
只要设定延时时间,就可求得节拍的时间。
延时作为基本延时时间,节拍值只能是它的整数倍。
每个音节相应的定时器初值X可按下法计算:
(1/2)*(1/f)=(12/fose)*(216-x)
即x=216-(fose/24f)
其中f:
音调频率,当晶振fose=11.0592MHz时,音节“1”相应的定时器初值为x,则可得x=63777D=F921H其它的可同样求得。
表1
音调
频率(Hz)
X(HEX)
1
262
F921
2
294
F9E1
3
330
FA8C
4
349
FAD8
5
392
FB68
6
440
FBE9
7
494
FC5B
i
523
FC8F
4.设计方案及思路
数码管显示电路
4.1总体框图
液晶显示电路
红外遥控器控制,键盘控制
89C51
单片机
LED灯输出电路
声音输出电路
按键重播控制
音乐播放控制
红外遥控控制
程序中断控制
硬件图
4.2蜂鸣电路
模块鸣器驱动电路和89C51组成。
选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100MA驱动电流。
当89C51输出为低电平时蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。
5.软件设计流程及描述
根据要实现的功能,流程图如下:
熟悉定时器和键盘扫描电路的工作原理及编程方法。
开始
系统初始化
判断按键
判断按键
电子琴
LED,数码管,液晶显示
播放音调
播放音乐,中断服务
红外遥控
音乐
5.1软件设计思路
高级电子琴主要的工作是将红外遥控器的信息读取,然后根据按键,用计数器输出相对应的频率,实现电子琴的音调。
程序主要为8部分,红外接收、键盘扫描、中断计时、LED灯显示、数码显示、液晶显示、音乐播放、主程序,他们分别执行不同的功能。
5.2各部分功能介绍
5.2.1红外接收程序
红外发送以及接收部分,遥控载波的频率为38KHz(占空比为1:
3);当某个按键按下时,系统首先发射一个完整的全码,如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。
一个完整的全码=引导码+用户码+用户码+数据码+数据反码。
其中,引导码高电平4.5ms,低电平4.5ms;系统码8位,数据码8位,共32位;其中前 16 位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。
后 16 位为 8 位的操作码和 8位的操作反码,用于核对数据是否接收准确。
收端根据数据码做出应该执行什么动作的判断。
连发代码是在持续按键时发送的码。
它告知接收端,某键是在被连续地按着。
5.2.2键盘键值读取程序
键盘键值读取程序包括键盘扫描、消除抖动、键译码等内容。
按键的识别主要有两种方法:
行反转法和行扫描法。
因为键盘为机械开关,容易引入抖动。
为了消除抖动干扰,在程序中要加入消除抖动的部分。
5.2.3中断计时
中断部分,中断定时器1主要负责输出不同频率的方波,产生声音,中断定时器1主要是计时按键时间及按键间隔时间的功能,在播放音乐的时候,还担任着播放音乐的节拍的任务。
5.2.4LED灯显示
这个部分主要是点亮LED灯,实现灯与音调的对应亮灭。
5.2.5数码管显示
这个部分主要是数码管显示数字,实现数字与音调的对应显示以及循环滚动显示。
5.2.6液晶显示
这个部分主要是液晶显示屏显示文字,实现音调与相应的文字和歌曲名称的对应。
5.2.7音乐播放
音乐播放部分主要是播放音乐。
5.2.8主程序
主程序主要是随时发出按键的声音功能,并且通过红外的扫描,判断是否是播放按键声音还是播放音乐,还是继续发出按键声音。
MAIN:
JNBP3.2,IR;遥控扫描
LJMPMAIN;在正常无遥控信号时,一体化红外接收头输出是高电平,程序一直在循环。
;=================================================
;解码程序
IR:
;以下对遥控信号的9000微秒的初始低电平信号的识别
MOVR6,#10
IR_SB:
ACALLDELAY882;调用882微秒延时子程序
JBP3.2,IR_ERROR;延时882微秒后判断P2.2脚是否出现高电平如果有就退出解码程序
DJNZR6,IR_SB;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序
;识别连发码,和跳过4.5ma的高电平。
JNBP3.2,$;等待高电平避开9毫秒低电平引导脉冲
ACALLDELAY2400
JNBP3.2,IR_Rp;这里为低电平,认为是连发码信号。
ACALLDELAY2400;延时4.74毫秒避开4.5毫秒的结果码
;以下32位数据码的读取 ,0和1的识别
MOVR1,#1AH;设定1AH为起始RAM区
MOVR2,#4
IR_4BYTE:
MOVR3,#8
IR_8BIT:
JNBP3.2,$;等待地址码第一位的高电平信号
LCALLDELAY882;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态
MOVC,P3.2;将P3.2引脚此时的电平状态0或1存入C中
JNCIR_8BIT_0;如果为0就跳转到IR_8BIT_0
LCALLDELAY1000
IR_8BIT_0:
MOVA,@R1;将R1中地址的给A
RRCA;将C中的值0或1移入A中的最低位
MOV@R1,A;将A中的数暂时存放在R1中
DJNZR3,IR_8BIT;接收地址码的高8位
INCR1;对R1中的值加1,换下一个RAM
DJNZR2,IR_4BYTE;接收完16位地址码和8位数据码和8位数据,
;存放在1AH/1BH/1CH/1DH的RAM中
;解码成功
JMPIR_GOTO
IR_Rp:
;这里为重复码执行处
;按住遥控按键时,每过108ms就到这里来
JMPIR_GOTO
IR_ERROR:
;错语退出
LJMPMAIN;退出解码子程序
;=================================================
6.实验源程序
/***************************程序功能说明******************************
扫描方式,读取红外遥控器键值,并把获得的键值显示于8个LED,同时蜂鸣器响.
当所按键是0~9时,1个七段显示器显示对应的数字。
液晶屏显示相应的数字
当所按键是1~8时,蜂鸣器发出音调1、2、3、4、5、6、7、i。
按下CH+时,8个LED呈跑马灯闪烁三个循环。
当所按键是0时,播放同一首歌
******************************************************************/
;端口引脚定义区
LCD_RS BIT P2.6 ;1602数据命令选择端口
LCD_RW BIT P3.6 ;1602读写选择端口
LCD_EN BIT P2.7 ;1602使能端口
LCD_DATA EQU P0 ;1602数据端口
;变量声明区
ALL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 马福文 多功能 高级 电子琴 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)