- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计报告---简单电子琴设计
单片机课程设计报告
电气与信息工程学院
自动化1班
王建平
第一部分ADI学习板简介
一、系统资源
1、两路16位ADC输入、可作差分输入;
2、12位DAC输出;
3、运放LM358;
4、RS232串口;
5、步进电机(5V、70欧、6线4相)接口;
6、PS/2接口;
7、插针11,用于选择PS/2或者红外接收头;
8、红外接收头;
9、线性稳压芯片7805;
10、复位按键和下载按键;
11、开关以及功能选择插针1~10(从左至右)
12、4X4矩阵式键盘,左边4个可以作独立按键;
13、直流电源输入;
14、USB电源输入接口;
15、IIC接口;
16、RTC DS1307;
17、EEPROM AT24C08;
18、8位数码管;
19、SPI接口;
20、上排图形点阵LCD12864的接口、
下排LCD1602的接口;
21、红外二极管;
22、8路LED;
23、蜂鸣器;
24、P3口扩展接口;
25、单片机AduC848;
26、P2口扩展接口;
27、P0口扩展接口;第二部分
简单电子琴设计
一、设计任务及要求
1.1任务
设计一简易电子琴,要求能够发出1,2,3,4,5,6,7等7个音符,具有一般演奏功能。
2、要求
1)具有一般演奏功能,利用所给键盘的1,2,3,4,5,6,7七个键,能够发出7个不同的音调,并且要求按下按键发声,松开延时一段时间停止,中间再按别的键则发另一个音调的声音
2)具有自动播放已存曲目功能
3)显示当前正在播放的歌曲的名称和歌词
1.2 相关设计说明
该电子琴设计是基于ADuC848开发板,在设计语言方面可用C语言或者硬件语言,两者相比较,C语言简单易懂且本题目对于反映时间的要求不是很高,但为了巩固汇编语言以及更加更加深入了数据在微机中存储,我们选用了汇编语言来编写。
根据2.1所提出的设计要求,主要考虑一下几个方面:音节、按键、蜂鸣器的使用。
1.3 音节。
要求用8个按键发出8个不音调,即按键1、2、3、4、5、6、7、8分别对应音符的1、2、3、4、5、6、7和高音1共八个音调,音阶由不同频率的方波产生,音阶与频率的关系如表一所示。方波的频率由定时器控制。定时器计数溢出后,产生中断,将P2.6口取反即得周期方波。
(见下表 单位:HZ,X为16进制)
音阶 1 2 3 4 5 6 7 f 262 294 330 349 392 440 494 X FF
05 FF
20 FF
39 FF
44 FF
58 FF
6B FF
7E
音的节拍由延时子程序实现。延时子程序实现基本延时时间,节拍值只能是它的整数倍。
1.4 按键
开发板上按键有4行4列共16个,从0--15,从右到左依次为第0列到第3列,其中第0列从上到下依次为1、2、3、4,以此类推,在具体操作时由P2控制列选,P1控制行选,二者共同决定按下的是哪一个按键,如P2=0x0e时选中的是第0列,此时若P1=0x0e则表示选中的是1(在进行按键检测时,程序不断的扫描端口,当检测到低电平时表示该按键被按下)。接线时第0列到第3列依次接P2.0----P2.3,第0行到第3行依次接P1.0----P1.3.
具体对应到每个按键,1——8分别对应8个不同的音节1——7以及搞8度的1,9——12分别控制控制预先存储的4首歌曲:oldboy、songbie、bygh、Music_Code,按下4个键中的一个时程序中断播放所对应的歌曲;按键13表示转到时钟显示时间;0、14、15为无效按键,当检测到其中一个被按下时则跳转到主程序继续执行。
按键输入
该模块原理如图所示
图 按键模块
由于P1口(用于行扫描)内部无上拉电阻,为使无键按下时行信号为高电平,故将行信号接上拉电阻,电阻大小10K即可。
引脚复用:
P2.0~P2.3为4X4矩阵式键盘列扫描信号,又复用作步进电机控制信号,SPI信号、P2.1~P2.3还复用为数码管第5、6、7位位码控制信号。参与复用的一项功能使用时,其他参与复用的功能则不能使用。
插针配置:
(1)插针10上面两脚接跳线帽,4X4矩阵式键盘输入,行扫描信号为P1.0~P1.3,列扫描信号为P2.0~2.3。
(2)插针10下面两脚接跳线帽,独立按键输入,该模式有4个独立按键可用,按键扫描所用端口为P1.0~P1.3。这4个按键为4X4矩阵键盘的左边4个按键。
1.5 程序流程图
1.6具体程序实现
;1.MHZ,TC=0.63VS,T=7.6VS
STH1 EQU 31H
STL1 EQU 30H
ST_ADDR EQU 0000H
ORG ST_ADDR
LJMP MAIN
ORG ST_ADDR+1BH
LJ
文档评论(0)