电子琴设计报告书._第1页
电子琴设计报告书._第2页
电子琴设计报告书._第3页
电子琴设计报告书._第4页
电子琴设计报告书._第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理及应用课程设计报告课题名称简易电子琴学院自动控制与机械工程专业电气工程及其自动化班级学号姓名时间201 4. 6. 23- 7. 2目录一 设计任务和要求 1二 方案论证与选择 1三 系统设计结构框图 3四 硬件电路组成分析 41 AT89C51 芯片分析 42 LED 数码管 74X4 矩形键盘 92020振荡和复位及音频电路11202013硬件总体原理图2020软件部分及其分析14202014音调的实现2020按键信号的识别传输与数码管显示1620201722扩展歌曲的播放仿真测试与结果分析设计完成感想八 参考文献 23九 附录 a2420设计任务和要求:基于MCS系列单片机AT

2、89C51设计一个简易的电子琴利用所给键盘的1, 2, 3, 4, 5, 6, 7, 8八个键,能够发出8个不同的音符。1)并且要求按下按键发声,松开延时一段时间停止,中间再按别的键则发 另一音符的声音。2)使用LED数码管显示8个不同的音调。3)如果在前一个按下的键发声的同时有另一个键被按下,前面键的发音停 止,转到后按的键的发音。4)曾加变调按键“ UP1 , “ UP2 , “DN1 , “DN2,在按下“ 0” “8”音符时,再按变调键,产生相应的变调。使用LED数码管显示变调情况。5)其他功能。二、方案论证和选择(1)单片机系统型号的选择先介绍下两种单片机AT89C5和AT89S52

3、勺基本特性:方案一:选用AT89C5作为系统主控单片机。AT89C5是一种带4K字节闪存 可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,其可擦除只读存储器可以反复擦除 1000次。该器件采用ATME高 密度非易失存储器制造技术制造,与工业标准的 MCS51指令集和输出管脚相兼 容。由于将多功能8位CPU川闪烁存储器组合在单个芯片中,ATME的AT89C5是 一种高效微控制器。AT89C5单片机为很多嵌入式控制系统提供了一种灵活性高 且价廉的方案。1方案二:选用AT89S5作为系统主控单片机。AT89S5是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程 Flash

4、 存储器。使用 Atmel公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常 规编程器。在单芯片上拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S5在众多嵌入式控制应用系统中得到广泛应 用。我们不难看出两种单片机性能都比较优异而且技术都很成熟,都可使用于 本系统的设计,而AT89S52勺性能更高于AT89C51但是我们也要考虑到系统的 成本以及资源的充分使用,这样我们选用 AT89C5作为系统的控制使用单片机。 AT89C5的高效性控制和成熟的外围电路能够保证本设计达到预定的功能。( 2) 按键模块的

5、选择 方案一:采用自锁开关按键作为演奏按键,它的特点是在按键动作发生后 ,开关接通两个触点使信号电路导通,并在下次按键动作发生后开关离开两个 触点使电路断开,这样能保持导通状态一段时间,能达到目的,但是由于开关 的机械运动时间,会使演奏效果有一定的延迟,而且开关的体积较大,不适合 经常性的使用。方案二:采用触点开关,这类开关具有体积小,易于操作的特点,开关的 结构简单运行效率快,性能稳定。这种开关还有个特点就就就是引脚少,引脚 功能明确,外形美观,综合来说使用以后效果还是不错的。一般来说,再能实现同样功能的前提下,我们倾向于选择简洁美观,操作 方便的的器件,因此我们选用触点开关。(3)发声器件

6、的选择 方案一:采用蜂鸣器作发声器件,通过经过放大的信号以后就能发声,实 现音乐播放。但是蜂鸣器结构简单只能输出很少的音调,对于很多声音会造成 失真,影响声音的播放效果。方案二:采用普通的扩音器,即喇叭。这种器件比较常见,音效也比较好 经过上面分析,我们选用扩音器作为音乐发声器件。系统设计结构框图按照系统设计的功能要求,可以确定系统由单片机控制部分、键盘扫描部 分、显示部分、发声部分以及电源5个部分组成。图2-1系统结构图AT89C5工作在12MH时钟频率下,使用其定时/计数器TO,工作模式为1,改变 计数器TH0和 TLO就可以产生不同频率的脉冲信号。本设计有 16个键盘,可以发 出16种不

7、同的音节,用户能够根据自己喜爱的乐谱在键盘上进行演奏,然后音 乐发声器就能通过接受相应的电信号发声,这样通过发生器就能将弹奏者想要 弹奏的音乐播放出来。在本设计中,音乐发声器由弹奏者键盘输入来发出相应 的音符,因此节拍由弹奏者自己掌握,不由程序控制。由AT89C5单片机产生的音频脉冲信号直接驱动扬声器发声。图2-2主程序设计框图四硬件电路组成分析(一) AT89C5芯片(1)AT89C5的特点AT89C51是一种低功耗,高性能CMOS8位单片机。片内带4K字节闪存可编 程可擦除只读存储器,其可擦除只读存储器可以反复擦除1000次。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标准

8、的MCS-51指令集和80C51引脚相兼容。由于将多功能8位中央CPU和闪烁存储器组合在单个芯片中,片 上Flash允许程序存储器在系统可编程,也适用于常规编程器,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统 提供了一种灵 活性高且价廉的方案。AT89C51具有以下特点:40个引脚(具体引脚见图2-2),4K字节可编程Fl ash片内程序存储器,128*8位内部RAM,32个可编程双向输入/输出(I/O) 口 ,5个中断源,2个16位的可编程定时/计数器,三级程序存储器锁定,可编程的 串行通道,片内振荡器和时钟电路。另外 AT89C51还具有低功耗闲置

9、和掉电模 式,可通过软件设置省电模式,在空闲模式下,CPU暂停工作,而RAM计算器和串行口以及外中断系统可以继续工作掉电模式会冻结振荡器进而保持RAM数HI Q(MOSO 戸* pi a c ESOCJ P1.T cFIST 匚iFtXOl F3CC CTjsm ns i r (IFFTI P3c (INTI) P3c 4TO P3. C 1 |P Z g32) E B (A1XI iPO t (AO4) PO s (AOfi) FO B CADS) iPO 7 ADF) 口 ESiVPP.Al I31PSFH P7 Fn n G (A14 二I iPJ (A l 砂 二| F? 4 (Al

10、二I PJ A11) 二J FJ g (A9Q 二I P?予屮0) PH O图4-1 AT89C5实物图及管脚图2)管脚说明 :VCC : +5V 电源。GND:接地。P0口: P0口是一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的 管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可 以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉P1 口: P1 口是一个内部提供上拉电阻的8位双向I/O 口,P1 口缓冲器能接收输出4 TTL门电流。P1 口管脚写入1后,被内部上拉为高

11、,可用作输入,P1 口被外部下 拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1 口作为第八位地址接收。P2口: P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个 TTL门电流,当P2口被写“ 1时,其管脚被内部上拉电阻拉高,且作为输入。并 因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的 缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1时”,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLAS

12、 H编程和校验时接收高八位地址信号和控制信号。P3口: P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流 。当P3口写入“ 1后,它们被内部上拉为高电平,并用作输入。作为输入,由于 外部下拉为低电平,P3口将输出电流(ILL )这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示(括号内为第二功能)P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 /INTO (外部中断0)P3.3 /INT1 (外部中断1)P3.4 T0 (记时器0外部输入)P3.5 T1 (记时器1外部输入)P3.6 /WR (外部数据存储器写选通)P

13、3.7 /RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位信号。当输入的复位信号延续2个周期以上的高电平时有效,用于完 成单片机的复位操作。ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地 址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。由外部程序存储器取指期间,每个 机器周期两次/PSEN有效。但在访问

14、外部数据存储器时,这两次有效的 /PSEN信 号将不出现。/EA/VPP :当/EA保持低电平时,则在此期间外部程序存储器(OOOOH-FFFFH),不管是否有内部程序存储器。当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件, XTAL2 不接。(二)LED数码管(1)LED数码管工作原理介绍

15、在本次设计中用到LED数码管显示,这里有必要对 LED作以介绍;LED是 一种能够将带你能转化为可见光的半导体,采用电场发光。据分析,LED特点非常明显:寿命长、光效高、无辐射、低功耗。 LED核心是固态的半导体晶片,晶 片一端是负极,另外一端接电源正极,晶体的两部连接起来就形成一个P-N 节。电流流过这个晶片时, 电子产生定向移动, 导致能量以光子的型式发出, 这就是 LED发光原理。而光的波长决定光的颜色,由 P-N结材料决定。LED是电流控制 器件,使用时必须加限流电阻。LED有七段数码管和八段数码管之分(多一个小 数点显示)。另外数码管也有共阴极和共阳极之分,发光二极管的阳极连在一起

16、的成为共阳极数码管, 阴极连在一起的称为共阴极数码管。 共阳数码管在应用时 应将公共极CO暇到+5V,当某一字段发光二极管的阴极为低电平时,相应字段 就点亮。当某一字段的阴极为高电平时, 相应字段就不亮。 共阴数码管在应用时 应将公共极CO暇到地线GNDh,当某一字段发光二极管的阳极为高电平时, 相 应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 1 位的显示器 由八个发光二极管组成, 其中七个发光二极管 a-g 控制七个段的亮或暗, 另一个 控制一个小数点的亮和暗, 这种控制的七段显示管能显示的字符较少, 但控制简 单,使用方便。(2)LED应用主要在以下几大方面: 显示屏、交通

17、信号灯应用LED具有抗冲击、光响应速度快、省电、寿 命长的特点。 汽车工业上应用汽车用灯,包括各种指示灯、仪表灯、尾灯、刹车灯等 许多位置。在这里LED的应用主要时替代白炽灯的不耐撞击、易损坏、寿 命短等缺点。 LED作为高效率的侧光源以其寿命长、发光效率高、无干扰及高性价比 广泛用于电子手表、手机、音频视频播放设备、照相机、电子计算机等众多的电子设备中,随着便携电子产品日趋小型化,LED背光源优势将更为(3) LED的使用条件: 段及小数点上加限流电阻。 段和小数点使用电压要根据发光颜色决定。 使用电流:静态时,每段10mA总电流80mA动态时,平均电流4-5mA峰值电流100mA下面给出L

18、ED数码管的引脚图及共阳极和共阴极数码管,只有正确了解引脚 图以后才能正确进行字形段码编码从而显示出正确的字符。IJHa b G d a g h.GHB共阴樞丫程敷码営共阳极丁段数码菅9#图4-2数码管外形和引脚图4-3共阴极与共阳极数(4) I/O并行口直接驱动LED显示把“AT89C51区域中的P0.0/AD0- P0.7/AD7端口用8芯排线连接到一位数码管的a- h端口上;要求:P0.0/AD0与a相连,P0.1/A1与b相连,P0.7/A710x3f低5 SO90x7f中6 LA20x06低6 LAA0x6f中7 SI30x5 b低7 SIb0x77高1 DO40x4f中1 DOC0

19、x7 c高2 RE50x66中2 RED0x39高3 M60x6d中3 ME0x5e高4 FA70x7d中4 FAF0x79高5 SO80x07中5 SO00x71高6 LA表1音符对照表通过在本设计中,数码管的显示:PO=DSY_CODEk(5) 显示电路原理本设计采用的显示器件是LED数码管,由于LED是电流控制器件,使用时必 须加限制电阻。通过单片机查表找到数码管显示编码, 输出到数码管显示,由此 来实现按键与显示的一致性。-TC.T-9 r10#*J32_-2L五,.图4-5数码管显示电路Proteus原理图数码管显示核心是共阳极数码管,通过从单片机输入的I/O 口的高低电平来点亮和熄

20、灭数码管上的发光二极管,通过单片机送来的显示编码能够在数码管上显示数字和字符“ 0D”弹奏者很容易知道自己所按下的音符。(三)4x4矩形键盘(1) 去抖动:一般按键所用开关是机械弹性开关,由于机械点的弹性作用,按键在闭合时不能 立刻稳定连接电路,同样在断开时也不能立马完全断开, 每个按键在按下或松开 时,都会产生短时间的一连串抖动。 抖动的持续时间与键的机械特性相关, 一般 为5 15mm如果不处理抖动,有可能一次按键造成多次误读。为了保证按键被 正确读取必须去抖动,保证在按键稳定闭合和断开的时候再判断按键状态。 去抖 动问题可通过软件延时或硬件电路解决, 由于硬件方法会带来成本上的提升, 所

21、 以通常采用软件方法。常用的去除键抖动的软件方法基本原则是避开抖动的时候检测按键或是在 抖动的时候检测到的按键不做处理。这里说明一下常用的方法: 检测到按键闭合电平后先执行一个12ms- 24ms的延时,让前抖动消失后再一次 检测按键的状态,如果仍是闭合状态的电平,则认为真的有按键按下;若不是闭 合状态电平,则认为没有键按下。若是要判断按键松开的话,也是要在检测到按 键释放电平之后再给出12ms- 24ms的延时,等后抖动消失后再一次检测按键的 状态,如果仍为断开状态电平,则确认按键松开。这种方法的优点是程序比较简 单,缺点是由于延时一般采用跑空指令延时,造成程序执行效率低。请问.图4-7键盘

22、扫描功能电路 Proteus原理图矩阵键盘,从上到下,从左到右,在数码管上显示时顺序为0-9和A-D,在按功能键时,数码管会显示弹奏者按下的按键。(四)振荡电路和复位电路以及音频电路(1)振荡电路单片机的时钟信号用来提供单片机内各种位操作的时间基准,时钟信号通常有两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶 体振荡器(简称晶振)或陶瓷谐振器,就构成了内部震荡方式。由于单片机内部 有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟 脉冲。晶振通常选用 6MHz 12MHz或者24MHz本设计中采用的是 12MHz电容 器C1、C2起稳定振荡

23、频率、快速起振的作用,电容值一般 530pF。内部振荡方 式所得的时钟信号比较稳定,电路中使用较多。本次设计的振荡方式如下图:选择C=30pF1213#(2) 复位电路复位操作完成单片机内电路的初始化,是单片机从一种确定的状态开始运 行。当单片机的复位引脚RET出现5m$以上的高电平时,单片机就完成了复位操 作。如果RST寺续为高电平,单片机就处于循环复位状态,而无法执行程序。因 此要求单片机复位后能脱离复位状态。根据应用要求,复位操作通常有2种基本形式:上电复位、开关复位。上电复位要求接通电源后,自动实现复位操作。开关复位要求在电源接通的 条件下,在单片机运行期间,如果发生死机,用按钮开关操

24、作使单片机复位。上电后,由于电容要充电,是RST寺续一段时间高电平时间。当单片机已经 在运行之中时,按下复位键也能使 RST寺续一段时间的高电平,从而实现上电且 开关复位的操作。选择 C=10uF R=10k本次设计的振荡电路如图示:XTAL2R$TPGEhl图4-9复位电路ALE 巨在单片机启动后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的 电压接近于0V, RS处于低电平所以系统正常工作。当按键按下的时候,开关导 通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压从5V释放到变 为了 1.5V,甚至

25、更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST5I脚又接收到高电平。单片机系统自动复位。(3)音频电路音频喇叭接受AT89C5所传达的按键信号,播放出相应的音调14(五)硬件电路总体原理图经过上文充分的探究和仔细的设计,电子琴硬件的各个功能模块已经被合理的设计出来,因此我们将这些功能模块组合在一起,在单片机仿真软件Proteus中绘制出整个系统的硬件原理图,这样硬件部分的开发和设计就已经完成。下面给出电子琴硬件电路的原理图如图:J*XTS11PDOADDP3.1WDIP倍Q2PU3SD3PD.iWIpg 55曲礙ERSTR07W起屎P2.M腔新I

26、展P2 4,12EAP25P.13P26iP.1LR27ift15P1E1P11卩 3.1/rtDP12P14叩抽TlP1*PISPISP17AiT38C513E37313E15#图4-11电子琴硬件电路 Proteus仿真图#五软件部分分析(一)音调的实现在源代码中插入音符表,当按键输入信号后,查询表格然后发出对应音调AT89C51单片机晶振是12MHz在这种情况下,C调各音符频率与计算值T对照音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)休止00中4 FA69864820低1 DO26263628中5 SO78464898低2 RE29463835中6 LA88064968低

27、3 M33064021中7 SI98865030低4 FA34964103高1 DO104665058低5 SO39264260高2 RE117565110低6 LA44064400高3 M131865157低7 SI49464524高4 FA139765178中1 DO52364580高5 SO156865217中2 RE58764684高6 LA176065252中3 M65964777高7 SI196765283表1音符频率对照表扬声器发出对应音调的原理框图接收按键信号在表中A扬声器发声查找16#图5-1扬声器发音原理图#接收信号然后发出音调SING:MOV R3,#00HNEXT:MO

28、V A,KEYBUFCJNE A,#14,NEXT1JMP SONG1NEXT1:CJNE A,#15,NEXT0JMP SONG2SONG1:MOV A,R3MOV DPTR,#TABLE2JMP NEXT3SONG2:MOV A,R3MOV DPTR,#TABLE3 JMP NEXT3;R3 清零(作为查表偏移);查表;查表INT_T0:MOV TH0,STH0MOV TL0,STL0CPL P2.3RETITABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HTABLE1:DW 64021,64

29、103,64260,64400DW 64524,64580,64684,64777DW 64820,64898,64968,65030DW 65058,65110,65157,6517817#当接收了按键信号后,查询音符表,然后输出信号给扬声器发出音调#(二)按键信号识别传输与数码管显踏宇置显示弘 個抜mi的中音殲曲显示A 播加也的中音”魏码显示砂 擢放峠的中音丿催战a的高看-18#图5-2显示管与按键扬声器结合原理#按键识别传输与显示管的显示MOV A,P1ANL A,#0F0HCJNE A,#0E0H,NK1MOV KEYBUF,#0LJMP DK1NK1:CJNE A,#0D0H,NK2

30、MOV KEYBUF,#1LJMP DK1NK2:CJNE A,#0B0H,NK3MOV KEYBUF,#2LJMP DK1NK3:CJNE A,#70H,NK4MOV KEYBUF,#3LJMP DK1NK4:NOPDK1:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,AMOV A,KEYBUFMOV B,#2MOVC A,A+DPT来进行查表,并向音频电路传出信号,最后发 按此循环,当按下键位后,通过 最后进行传输到显示管从而显示出按键的标号,出音调(三)扩展歌曲的播放接收按键信号(四)19判断键位查询歌曲循环播放歌曲20播放歌曲代码SJMP

31、 NEXT; 歌曲播放子程序SONG:MOV A,R2;取出节拍RL A;左移节拍JNZ KEEP;如果节拍为0 就让它等于 1MOV A,#01HKEEP:MOV R2,AREPEAT:ACALL EIGHTHDJNZ R2,REPEATRET; 产生 1/8 拍延时子程序EIGHTH:MOV A,R7;查表取出廷时参数 ,保存到 R4MOV DPTR,#DELAY_TMOVC A,A+DPTRMOV R4,AMOV A,R7;查表取出 1/8 拍周期数 ,保存到 R5MOV DPTR,#S_PARAMOVC A,A+DPTRMOV R5,ANEXTCYC:ACALL SOUNDDJNZ R

32、5,NEXTCYCRET;= 发声子程序 =SOUND: SETB SPKACALL SDELAYCLR SPKACALL SDELAYRET;延时子程序SDELAY:MOV A,R4 ; 廷时值在 R4 内MOV R0,AXL2:MOV R1,#03HDL1:NOPDJNZ R1,DL1DJNZ R0,XL2RET;1/8 拍周期表S_PARA:DS 1DHDB 15H,16H,0021DB 19H,00H,1CH,00H,1FH,21H,00H,25HDB 00H,29H,2CH,00H,31H,34H,37H,00HDB 3EH,41H,00H,49H,00H,52H,57H,00HDB

33、 62H;延时参数表DELAY_T:DS 1DHDB 7EH,77H,00HDB 6AH,00H,5EH,00H,54H,4FH,00H,46HDB 00H,3FH,3BH,00H,35H,32H,2FH,00HDB 2AH,27H,00H,23H,00H,1FH,1DH,0C0HDB 1AH;歌曲表TABLE2:DW 2504H,2704H,2904H,2504HDW 2504H,2704H,2904H,2504HDW 2904H,2A04H,2C08HDW 2904H,2A04H,2C08HDW 2C02H,2E02H,2C02H,2A02H,2904H,2504HDW 2C02H,2E0

34、2H,2C02H,2A02H,2904H,2504HDW 2904H,2004H,2508HDW 2904H,2004H,2508HDW 0000HTABLE3:DW 2202H,2902H,2902H,2902H,2906H,2702H ; 我从山中来DW 2502H,2702H,2502H,2402H,2208H ; 带着兰花草DW 2E02H,2E02H,2E02H,2E02H,2E06H,2C02H ; 种在小园中DW 2902H,2C02H,2D02H,2A02H,2908H ; 祈祷花开早DW 2902H,2E02H,2E02H,2C02H,2906H,2702H ; 一日看三回D

35、W 2502H,2702H,2502H,2402H,2206H,1D02H ; 看得花时过DW 1D02H,2502H,2502H,2402H,2206H,2902H ; 兰花却依然22六仿真测试与结果分析在本次设计中,我添加了 2个扩展功能,把音调从8个扩展到14个,并且 在源代码中存录了 2首歌曲一一两只老虎和兰花草点击仿真按钮开始仿真后,选择任意一个按键,比如“ A”,按下该按键,可以听到高音的“ do”,并且有 延时存在并观察数码管看到数码管显示近似“ A”字样的字符。长按“ A”按键, 可以听到扬声器长响。再依次按下“ 0D”这14个按键,我们能听到扬声器正 确的发出“ do”低音到

36、“re”高阶高音的14种音符。当点击了第15或14个按 钮后,会自动的循环播放存录的歌曲(1)下面给出测试按键“ 3”时的仿真是否可以开始运行:I DZQ - KS.刑)HiYi 血 IKD ew 洒血 SiW网 w srao w百嘛&巳.乳t *屮葺Q虬女 快、為zxib犠# % z *: aJ5E5+IHLI.E 75EGWM;7HESPAD:SOUttA 事倔Fl 脚创OR 脚ISTCfil图11-1可演奏电子琴仿真测试图(2这部分的调试是通过仿真软件进行的,主要针对系统的核心单片机进行调试。在仿真开始前,要仔细查电路的连线,特别是单片机的引脚部分的连线是否正确。这部分主要通过对电路原理

37、图的观察来排除电路中可能存在的短路和断路故障。通过自己和同学的观察判断电路确实无误后, 可以开始软件仿真。运行仿真 软件,开始按照计划测试各部分电路,重点测试单片机矩阵键盘部分、 数码管显 示部分、发声器。(2)按键与数码管测试:仿真软件运行后分别按下4和5键,可以看到,数码管显示字符“ 4”和“5”,, 随机的按下键盘,数码管显示不同字符且显示稳定,可以确定数码管显示正常。(3) 发声器测试:在数码管和键盘部分的测试都正常后,如果发声器发声正确那么系统的设计 就达到了目的。为了让测试准确,提前熟悉音乐中从“do”低音到“re”高阶高 音的D种音符的发音,然后顺序按下从“ 0”到“ D这14个

38、按键,仔细听发声器 的发音是确的14个音符的音。可以肯定,系统功能正常,达到设计目的。(4) 扩展歌曲测试进过分别按下15和16键,系统开始循环播放出两只老虎和兰花草的歌曲, 证明扩展成功(5) 调试结论通过对PROTUE的仿真后,分别对4X4的键盘矩阵的输入信号来与数码管的显示 进行对照测试,系统按照指令使扬声器发出不同的14个音调,并且在数码管依次显示出按键的标号,音调在测试过程中没有发生走调现象和杂音问题,按键松开后停止发音,一直按住则一直在发出同一个音调, 证明此次调试成功,此次设 计成功七 设计完成感想本次课程设计制作简易电子琴, 花费了我很多精力, 两周内查阅大量的资料, 甚至通过

39、网络与网友交谈询问。 但收获颇丰, 一方面, 将自己的理论知识与实践 相结合起来, 进一步巩固了专业基础知识和相关专业课程知识; 另一方面,也培 养了自己独立自主、 综合分析的思维与创新能力, 设计的过程不是一帆风顺, 遇 到过各种各样的问题。特别是设计软件时,汇编语言和C程序让我每天都截迷糊 中,一些很细小的问题都可能导致功能性的错误, 修改了多次才通过仿真。 在设 计过程中我发现自己对以前所学过的知识理解得不够深刻, 掌握得不够牢固, 所 以也利用图书馆、 网络资源查阅了大量文献资料, 也请教了老师和同学。 同时在 具体的制作过程中我们发现一些书本上的知识与实际的应用存在着一定的差距, 书

40、本上的知识很多都是理想化后的结论, 忽略了很多实际的因素, 或者涉及的不 全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方面的问题, 这也让我更深刻地体会到在今后的学习工作中也要注重理论联系实际。25八 参考文献1 吴亦锋单片机原理与接口技术 M 电子工业出版社 2010.112 徐惠民 .微机原理与接口技术 M. 高等教育出版社, 2007.083 谢嘉奎 .电子线路(线性部分) M. 高等教育出版社, 2004.044 潭浩强.C语言程序设计M.清华大学出版社,2008.065 包兴,胡明 . 电子器件导论理 M. 北京理工大学出版社, 2005.036 李广第,朱月秀,冷祖祁

41、 . 单片机基础 M. 北京航空航天大学出版社,2007.67 长德,李华,李东.MCS51/98系列单片机原理与应用M.机械工业出版社.19978 李群芳,张士军,黄建 . 单片微型计算机原理与接口技术 M. 电子工业出版社, 20029 张龙兴.电子技术基础 M. 高等教育出版社, 200010 电子制作杂志J.电子制作杂志社,2010201111 欧阳.大学生电子设计制作 .复旦大学出版社, 2008 PP. 181 19412 薛栋梁.MCS-5I/151/25I单片机原理与应用M.中国水利水电出版 社, 200413 刘文涛.单片机语言C51典型应用设计M.人民邮电出版社,20051

42、4 余永权.ATMEL89系统单片机应用设计M.北京航空航天大学出版社,200215 周景润,张丽娜,刘印群 .Proteus 入门实用教程 M. 机械工业出版社,200716 王为青,程国钢.单片机Keil C X 51应用开发技术M.人民邮电出版 社, 2007九 附录附录STH0STL0 SPK TEMPSTART:程序源代码EQU 31HEQU 32HEQU P2.3EQU 33HORG 00H LJMP STARTORG 0BH LJMP INT_T0MOV TMOD,#01HSETB ET0SETB EACLR P2.7 MOV A,#00H MOV P0,AWAIT:28#NK1

43、:NK2:NK3:MOV P1,#0FFHCLR P1.0MOV A,P1ANL A,#0F0HXRL A,#0F0HJZ NOKEY1LCALL DELY10MSMOV A,P1ANL A,#0F0HXRL A,#0F0HJZ NOKEY1MOV A,P1ANL A,#0F0HCJNE A,#0E0H,NK1MOV KEYBUF,#0LJMP DK1CJNE A,#0D0H,NK2MOV KEYBUF,#1LJMP DK1CJNE A,#0B0H,NK3MOV KEYBUF,#2LJMP DK1CJNE A,#70H,NK4MOV KEYBUF,#329LJMP DK1NK4:NOPDK1:

44、MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,AMOV A,KEYBUFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1 MOVC A,A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK1A:MOV A,P1ANL A,#0F0HXRL A,#0F0HJNZ DK1ACLR TR0NOKEY1:MOV P1,#0FFHCLR P1.1MOV A,P1ANL A,#0F0HXRL A,#0F0HJZ

45、 NOKEY2 LCALL DELY10MSMOV A,P1ANL A,#0F0HXRL A,#0F0HJZ NOKEY2MOV A,P1ANL A,#0F0H CJNE A,#0E0H,NK5 MOV KEYBUF,#4 LJMP DK2NK5:CJNE A,#0D0H,NK6MOV KEYBUF,#5LJMP DK2NK6:CJNE A,#0B0H,NK7MOV KEYBUF,#6LJMP DK2NK7:CJNE A,#70H,NK8MOV KEYBUF,#7LJMP DK2NK8:NOPDK2:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,

46、AMOV A,KEYBUFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK2A:MOV A,P1ANL A,#0F0HXRL A,#0F0HJNZ DK2ACLR TR0NOKEY2:MOV P1,#0FFHCLR P1.2MOV A,P1ANL A,#0F0HXRL A,#0F0HJZ NOKEY3 LCALL DELY10MSMOV A,P1ANL A,#0F0HXRL A,#

47、0F0HJZ NOKEY3MOV A,P1ANL A,#0F0HCJNE A,#0E0H,NK9MOV KEYBUF,#8LJMP DK3NK9:CJNE A,#0D0H,NK10MOV KEYBUF,#9LJMP DK3NK10:CJNE A,#0B0H,NK11MOV KEYBUF,#10LJMP DK3NK11:CJNE A,#070H,NK12MOV KEYBUF,#11LJMP DK3NK12:NOPDK3:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,AMOV A,KEYBUFMOV B,#2MUL ABMOV TEMP,AMOV D

48、PTR,#TABLE1MOVC A,A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK3A:MOV A,P1ANL A,#0F0HXRL A,#0F0HJNZ DK3ACLR TR0NOKEY3:MOV P1,#0FFHCLR P1.3MOV A,P1ANL A,#0F0HXRL A,#0F0HJZ NOKEY4LCALL DELY10MSMOV A,P1ANL A,#0F0HXRL A,#0F0HJZ NOKEY4MOV A,P1ANL A,#0F0HCJNE A,#0E0

49、H,NK13MOV KEYBUF,#12LJMP DK4NK13:CJNE A,#0D0H,NK14MOV KEYBUF,#13LJMP DK4NK14:CJNE A,#0B0H,NK15MOV KEYBUF,#14LJMP DK4NK15:CJNE A,#70H,NK16MOV KEYBUF,#15LJMP DK4NK16:NOPDK4:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,ALCALL SINGNEXT0:MOV A,KEYBUFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,A+DPTR

50、MOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK4A:MOV A,P133ANL A,#0F0HXRL A,#0F0HJNZ DK4ACLR TR0NOKEY4:LJMP WAIT34#DELY10MS:MOV R6,#10D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1 RETINT_T0:MOV TH0,STH0MOV TL0,STL0CPL P2.3RETITABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77

51、H,7CH,39H,5EH,79H,71HTABLE1:DW 64021,64103,64260,64400DW 64524,64580,64684,64777DW 64820,64898,64968,65030DW 65058,65110,65157,65178SING:;R3 清零(作为查表偏移)MOV R3,#00HNEXT:MOV A,KEYBUF CJNE A,#14,NEXT1 JMP SONG1NEXT1:CJNE A,#15,NEXT0JMP SONG2SONG1:MOV A,R3MOV DPTR,#TABLE2JMP NEXT3SONG2:MOV A,R3MOV DPTR,#TABLE3JMP NEXT3NEX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论