




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及应用课程设计报告课题名称简易电子琴学院自动控制与机械工程专业电气工程及其自动化班级学号姓名时间2014.6.23-7.2 目录一 设计任务和要求.1二 方案论证与选择.1三 系统设计结构框图.3四 硬件电路组成分析.4 1 AT89C51芯片分析.4 2 LED数码管.7 3 4X4矩形键盘.9 4 振荡和复位及音频电路.11 5 硬件总体原理图.13五 软件部分及其分析. .14 1 音调的实现.14 2 按键信号的识别传输与数码管显示.16 3 扩展歌曲的播放.17六 仿真测试与结果分析.20七 设计完成感想.22八 参考文献.23九 附录.a24一、 设计任务和要求:基于MC
2、S-系列单片机AT89C51。设计一个简易的电子琴。 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出8个不同的音符。1) 并且要求按下按键发声,松开延时一段时间停止,中间再按别的键则发另一音符的声音。2) 使用LED数码管显示8个不同的音调。3) 如果在前一个按下的键发声的同时有另一个键被按下,前面键的发音停止,转到后按的键的发音。4) 增加变调按键“UP1”,“UP2”,“DN1”,“DN2”,在按下“0”“8” 音符时,再按变调键,产生相应的变调。使用LED数码管显示变调情况。5) 其他功能。 二、 方案论证和选择(1)单片机系统型号的选择先介绍下两种单片机AT89C51和A
3、T89S52的基本特性:方案一:选用AT89C51作为系统主控单片机。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压、高性能CMOS 8位微处理器,其可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 方案二:选用AT89S52作为系统主控单片机。AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统
4、可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。我们不难看出两种单片机性能都比较优异而且技术都很成熟,都可使用于本系统的设计,而AT89S52的性能更高于AT89C51,但是我们也要考虑到系统的成本以及资源的充分使用,这样我们选用AT89C51作为系统的控制使用单片机。AT89C51的高效性控制和成熟的外围电路能够保证本设计达到预定的功能。(2) 按
5、键模块的选择方案一:采用自锁开关按键作为演奏按键,它的特点是在按键动作发生后,开关接通两个触点使信号电路导通,并在下次按键动作发生后开关离开两个触点使电路断开,这样能保持导通状态一段时间,能达到目的,但是由于开关的机械运动时间,会使演奏效果有一定的延迟,而且开关的体积较大,不适合经常性的使用。方案二:采用触点开关,这类开关具有体积小,易于操作的特点,开关的结构简单运行效率快,性能稳定。这种开关还有个特点就就就是引脚少,引脚功能明确,外形美观,综合来说使用以后效果还是不错的。一般来说,再能实现同样功能的前提下,我们倾向于选择简洁美观,操作方便的的器件,因此我们选用触点开关。(3)发声器件的选择方
6、案一:采用蜂鸣器作发声器件,通过经过放大的信号以后就能发声,实现音乐播放。但是蜂鸣器结构简单只能输出很少的音调,对于很多声音会造成失真,影响声音的播放效果。方案二:采用普通的扩音器,即喇叭。这种器件比较常见,音效也比较好经过上面分析,我们选用扩音器作为音乐发声器件。三、 系统设计结构框图按照系统设计的功能要求,可以确定系统由单片机控制部分、键盘扫描部分、显示部分、发声部分以及电源5个部分组成。键盘扫描AT89C51数码管显示扬声器发声电源部分图 2-1系统结构图AT89C51工作在12MHZ时钟频率下,使用其定时/计数器T0,工作模式为1,改变计数器TH0和TL0就可以产生不同频率的脉冲信号。
7、本设计有16个键盘,可以发出16种不同的音节,用户能够根据自己喜爱的乐谱在键盘上进行演奏,然后音乐发声器就能通过接受相应的电信号发声,这样通过发生器就能将弹奏者想要弹奏的音乐播放出来。在本设计中,音乐发声器由弹奏者键盘输入来发出相应的音符,因此节拍由弹奏者自己掌握,不由程序控制。由AT89C51单片机产生的音频脉冲信号直接驱动扬声器发声。图2-2主程序设计框图四 硬件电路组成分析(一)AT89C51芯片(1)AT89C51的特点AT89C51是一种低功耗,高性能CMOS8位单片机。片内带4K字节闪存可编程可擦除只读存储器,其可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易
8、失存储器制造技术制造,与工业标准的MCS-51指令集和80C51引脚相兼容。由于将多功能8位中央CPU和闪烁存储器组合在单个芯片中,片上Flash允许程序存储器在系统可编程,也适用于常规编程器,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51具有以下特点:40个引脚(具体引脚见图2-2),4K字节可编程Flash片内程序存储器,128*8位内部RAM,32个可编程双向输入/输出(I/O)口,5个中断源,2个16位的可编程定时/计数器,三级程序存储器锁定,可编程的串行通道,片内振荡器和时钟电路。另外AT89C51
9、还具有低功耗闲置和掉电模式,可通过软件设置省电模式,在空闲模式下,CPU暂停工作,而RAM计算器和串行口以及外中断系统可以继续工作掉电模式会冻结振荡器进而保持RAM数据,停止单片机的其它功能直到外中断激活或者硬件复位动作。 图4-1 AT89C51实物图及管脚图(2)管脚说明:VCC:+5V电源。 GND:接地。 P0口:P0口是一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被
10、拉高。 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口输出地址的高八位。在给出地址“
11、1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示(括号内为第二功能): P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P
12、3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位信号。当输入的复位信号延续2个周期以上的高电平时有效,用于完成单片机的复位操作。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。如果微处理器在外部执行状态ALE禁止,置位无效。 /P
13、SEN:外部程序存储器的选通信号。由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用
14、。如采用外部时钟源驱动器件,XTAL2不接。(二)LED数码管 (1)LED数码管工作原理介绍在本次设计中用到LED数码管显示,这里有必要对LED作以介绍;LED 是一种能够将带你能转化为可见光的半导体,采用电场发光。据分析,LED特点非常明显:寿命长、光效高、无辐射、低功耗。LED核心是固态的半导体晶片,晶片一端是负极,另外一端接电源正极,晶体的两部连接起来就形成一个P-N节。电流流过这个晶片时,电子产生定向移动,导致能量以光子的型式发出,这就是LED发光原理。而光的波长决定光的颜色,由P-N结材料决定。LED是电流控制器件,使用时必须加限流电阻。LED有七段数码管和八段数码管之分(多一个小
15、数点显示)。另外数码管也有共阴极和共阳极之分,发光二极管的阳极连在一起的成为共阳极数码管,阴极连在一起的称为共阴极数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。1位的显示器由八个发光二极管组成,其中七个发光二极管a-g控制七个段的亮或暗,另一个控制一个小数点的亮和暗,这种控制的七段显示管能显示的字符较少,但控制简单,使用方便。(2)LED应用
16、主要在以下几大方面:显示屏、交通信号灯应用LED具有抗冲击、光响应速度快、省电、寿命长的特点。汽车工业上应用汽车用灯,包括各种指示灯、仪表灯、尾灯、刹车灯等许多位置。在这里LED的应用主要时替代白炽灯的不耐撞击、易损坏、寿命短等缺点。LED作为高效率的侧光源以其寿命长、发光效率高、无干扰及高性价比广泛用于电子手表、手机、音频视频播放设备、照相机、电子计算机等众多的电子设备中,随着便携电子产品日趋小型化,LED背光源优势将更为(3)LED的使用条件:段及小数点上加限流电阻。段和小数点使用电压要根据发光颜色决定。使用电流:静态时,每段10mA,总电流80mA;动态时,平均电流4-5mA峰值电流10
17、0mA。下面给出LED数码管的引脚图及共阳极和共阴极数码管,只有正确了解引脚图以后才能正确进行字形段码编码从而显示出正确的字符。 图4-2数码管外形和引脚 图4-3 共阴极与共阳极数(4)I/O并行口直接驱动LED显示把“AT89C51”区域中的P0.0/AD0P0.7/AD7端口用8芯排线连接到一位数码管的ah端口上;要求:P0.0/AD0与a相连,P0.1/A1与b相连, P0.7/A710x3f低 5 SO90x7f中 6 LA20x06低 6 LAA0x6f中 7 SI30x5b低 7 SIb0x77高 1 DO40x4f中 1 DOC0x7c高 2 RE50x66中 2 RED0x3
18、9高 3 M60x6d中 3 ME0x5e高 4 FA70x7d中 4 FAF0x79高 5 SO80x07中 5 SO00x71高 6 LA 表1 音符对照表通过在本设计中,数码管的显示:P0=DSY_CODEk(5)显示电路原理本设计采用的显示器件是LED数码管,由于LED是电流控制器件,使用时必须加限制电阻。通过单片机查表找到数码管显示编码,输出到数码管显示,由此来实现按键与显示的一致性。图4-5数码管显示电路Proteus原理图数码管显示核心是共阳极数码管,通过从单片机输入的I/O口的高低电平来点亮和熄灭数码管上的发光二极管,通过单片机送来的显示编码能够在数码管上显示数字和字符“0D”
19、弹奏者很容易知道自己所按下的音符。(三)4x4矩形键盘(1)去抖动:一般按键所用开关是机械弹性开关,由于机械点的弹性作用,按键在闭合时不能立刻稳定连接电路,同样在断开时也不能立马完全断开,每个按键在按下或松开时,都会产生短时间的一连串抖动。抖动的持续时间与键的机械特性相关,一般为515mm。如果不处理抖动,有可能一次按键造成多次误读。为了保证按键被正确读取必须去抖动,保证在按键稳定闭合和断开的时候再判断按键状态。去抖动问题可通过软件延时或硬件电路解决,由于硬件方法会带来成本上的提升,所以通常采用软件方法。松开按键 按下按键 前抖动稳定闭合后抖动 图4-6按键抖动示意图常用的去除键抖动的软件方法
20、基本原则是避开抖动的时候检测按键或是在抖动的时候检测到的按键不做处理。这里说明一下常用的方法:检测到按键闭合电平后先执行一个12ms24ms 的延时,让前抖动消失后再一次检测按键的状态,如果仍是闭合状态的电平,则认为真的有按键按下;若不是闭合状态电平,则认为没有键按下。若是要判断按键松开的话,也是要在检测到按键释放电平之后再给出12ms24ms 的延时,等后抖动消失后再一次检测按键的状态,如果仍为断开状态电平,则确认按键松开。这种方法的优点是程序比较简单,缺点是由于延时一般采用跑空指令延时,造成程序执行效率低。请问.图4-7键盘扫描功能电路Proteus原理图矩阵键盘,从上到下,从左到右,在数
21、码管上显示时顺序为0-9和A-D,在按功能键时,数码管会显示弹奏者按下的按键。 (四)振荡电路和复位电路以及音频电路(1)振荡电路单片机的时钟信号用来提供单片机内各种位操作的时间基准,时钟信号通常有两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部震荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。晶振通常选用6MHz、12MHz或者24MHz。本设计中采用的是12MHz。电容器C1、C2起稳定振荡频率、快速起振的作用,电容值一般530pF。内部振荡方式所得的时钟信号比较
22、稳定,电路中使用较多。本次设计的振荡方式如下图: 选择C=30pF 图4-8 振荡电路 (2)复位电路复位操作完成单片机内电路的初始化,是单片机从一种确定的状态开始运行。当单片机的复位引脚RET出现5ms以上的高电平时,单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。因此要求单片机复位后能脱离复位状态。根据应用要求,复位操作通常有2种基本形式:上电复位、开关复位。上电复位要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。上电后,由于电容要充电,是RST持续一段时间高电平时间。当
23、单片机已经在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。选择C=10uF,R=10k本次设计的振荡电路如图示: 图4-9 复位电路在单片机启动后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系
24、统自动复位。(3)音频电路 音频喇叭接受AT89C51所传达的按键信号,播放出相应的音调 图4-10音频电路(五)硬件电路总体原理图经过上文充分的探究和仔细的设计,电子琴硬件的各个功能模块已经被合理的设计出来,因此我们将这些功能模块组合在一起,在单片机仿真软件Proteus中绘制出整个系统的硬件原理图,这样硬件部分的开发和设计就已经完成。下面给出电子琴硬件电路的原理图如图:图4-11电子琴硬件电路Proteus仿真图 五 软件部分分析(1) 音调的实现在源代码中插入音符表,当按键输入信号后,查询表格然后发出对应音调AT89C51单片机晶振是12MHz,在这种情况下,C调各音符频率与计算值T对照
25、音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)休止00中 4 FA69864820低1DO26263628中 5 SO78464898低2RE29463835中 6 LA88064968低 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
26、中 3 M65964777高 7 SI196765283 表1音符频率对照表扬声器发出对应音调的原理框图接收按键信号在表中查找扬声器发声 图5-1 扬声器发音原理图接收信号然后发出音调INT_T0: MOV TH0,STH0 MOV TL0,STL0 CPL P2.3 RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H TABLE1: DW 64021,64103,64260,64400 DW 64524,64580,64684,64777 DW 64820,64898,64968,
27、65030 DW 65058,65110,65157,65178 SING: MOV R3,#00H ;R3清零(作为查表偏移)NEXT:MOV A,KEYBUF CJNE A,#14,NEXT1 JMP SONG1NEXT1: CJNE A,#15,NEXT0 JMP SONG2SONG1: MOV A,R3 MOV DPTR,#TABLE2;查表 JMP NEXT3SONG2: MOV A,R3 MOV DPTR,#TABLE3;查表 JMP NEXT3 .当接收了按键信号后,查询音符表,然后输出信号给扬声器发出音调((二)按键信号识别传输与数码管显示 图5-2显示管与按键扬声器结合原理按
28、键识别传输与显示管的显示 MOV A,P1 ANL A,#0F0H CJNE A,#0E0H,NK1 MOV KEYBUF,#0 LJMP DK1 NK1: CJNE A,#0D0H,NK2 MOV KEYBUF,#1 LJMP DK1 NK2: CJNE A,#0B0H,NK3 MOV KEYBUF,#2 LJMP DK1 NK3: CJNE A,#70H,NK4 MOV KEYBUF,#3 LJMP DK1 NK4: NOP DK1: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 .按此循
29、环,当按下键位后,通过 MOVC A,A+DPTR 来进行查表,最后进行传输到显示管从而显示出按键的标号,并向音频电路传出信号,最后发出音调判断键位 查询歌曲接收按键信号循环播放歌曲(3) 扩展歌曲的播放(4)播放歌曲代码 SJMP NEXT;歌曲播放子程序SONG: MOV A,R2;取出节拍 RL A;左移节拍 JNZ KEEP;如果节拍为0就让它等于1 MOV A,#01HKEEP: MOV R2,AREPEAT: ACALL EIGHTH DJNZ R2,REPEAT RET;产生1/8拍延时子程序EIGHTH: MOV A,R7 ;查表取出廷时参数,保存到R4 MOV DPTR,#D
30、ELAY_T MOVC A,A+DPTR MOV R4,A MOV A,R7;查表取出1/8拍周期数,保存到R5 MOV DPTR,#S_PARA MOVC A,A+DPTR MOV R5,ANEXTCYC: ACALL SOUND DJNZ R5,NEXTCYC RET;= 发声子程序 =SOUND: SETB SPK ACALL SDELAY CLR SPK ACALL SDELAY RET;延时子程序SDELAY: MOV A,R4 ; 廷时值在R4内 MOV R0,AXL2: MOV R1,#03HDL1: NOP DJNZ R1,DL1 DJNZ R0,XL2 RET;1/8拍周期表
31、S_PARA: DS 1DH DB 15H,16H,00 DB 19H,00H,1CH,00H,1FH,21H,00H,25H DB 00H,29H,2CH,00H,31H,34H,37H,00H DB 3EH,41H,00H,49H,00H,52H,57H,00H DB 62H;延时参数表DELAY_T: DS 1DH DB 7EH,77H,00H DB 6AH,00H,5EH,00H,54H,4FH,00H,46H DB 00H,3FH,3BH,00H,35H,32H,2FH,00H DB 2AH,27H,00H,23H,00H,1FH,1DH,0C0H DB 1AH;歌曲表TABLE2:
32、DW 2504H,2704H,2904H,2504H DW 2504H,2704H,2904H,2504H DW 2904H,2A04H,2C08H DW 2904H,2A04H,2C08H DW 2C02H,2E02H,2C02H,2A02H,2904H,2504H DW 2C02H,2E02H,2C02H,2A02H,2904H,2504H DW 2904H,2004H,2508H DW 2904H,2004H,2508H DW 0000H TABLE3: DW 2202H,2902H,2902H,2902H,2906H,2702H ;我从山中来 DW 2502H,2702H,2502H,
33、2402H,2208H ;带着兰花草 DW 2E02H,2E02H,2E02H,2E02H,2E06H,2C02H ;种在小园中 DW 2902H,2C02H,2D02H,2A02H,2908H ;祈祷花开早 DW 2902H,2E02H,2E02H,2C02H,2906H,2702H ;一日看三回 DW 2502H,2702H,2502H,2402H,2206H,1D02H ;看得花时过 DW 1D02H,2502H,2502H,2402H,2206H,2902H ;兰花却依然六 仿真测试与结果分析在本次设计中,我添加了2个扩展功能,把音调从8个扩展到14个,并且在源代码中存录了2首歌曲两只
34、老虎和兰花草 点击仿真按钮开始仿真后,选择任意一个按键,比如“A”,按下该按键,可以听到高音的“do”,并且有延时存在并观察数码管看到数码管显示近似“A”字样的字符。长按“A”按键,可以听到扬声器长响。再依次按下“0D”这14个按键,我们能听到扬声器正确的发出“do”低音到“re”高阶高音的14种音符。当点击了第15或14个按钮后,会自动的循环播放存录的歌曲经(1)下面给出测试按键“3”时的仿真是否可以开始运行:图11-1 可演奏电子琴仿真测试图(2这部分的调试是通过仿真软件进行的,主要针对系统的核心单片机进行调试。在仿真开始前,要仔细查电路的连线,特别是单片机的引脚部分的连线是否正确。这部分
35、主要通过对电路原理图的观察来排除电路中可能存在的短路和断路故障。通过自己和同学的观察判断电路确实无误后,可以开始软件仿真。运行仿真软件,开始按照计划测试各部分电路,重点测试单片机矩阵键盘部分、数码管显示部分、发声器。(2) 按键与数码管测试: 图11-2 按键与数码管测试图仿真软件运行后分别按下4和5键 ,可以看到,数码管显示字符“4”和“5”,随机的按下键盘,数码管显示不同字符且显示稳定,可以确定数码管显示正常。(3)发声器测试:在数码管和键盘部分的测试都正常后,如果发声器发声正确那么系统的设计就达到了目的。为了让测试准确,提前熟悉音乐中从“do”低音到“re”高阶高音的D种音符的发音,然后
36、顺序按下从“0”到“D这14个按键,仔细听发声器的发音是确的14个音符的音。可以肯定,系统功能正常,达到设计目的。(4)扩展歌曲测试 进过分别按下15和16键,系统开始循环播放出两只老虎和兰花草的歌曲,证明扩展成功(5)调试结论通过对PROTUES的仿真后,分别对4X4的键盘矩阵的输入信号来与数码管的显示进行对照测试,系统按照指令使扬声器发出不同的14个音调,并且在数码管依次显示出按键的标号,音调在测试过程中没有发生走调现象和杂音问题,按键松开后停止发音,一直按住则一直在发出同一个音调,证明此次调试成功,此次设计成功七 设计完成感想本次课程设计制作简易电子琴,花费了我很多精力,两周内查阅大量的
37、资料,甚至通过网络与网友交谈询问。但收获颇丰,一方面,将自己的理论知识与实践相结合起来,进一步巩固了专业基础知识和相关专业课程知识;另一方面,也培养了自己独立自主、综合分析的思维与创新能力,设计的过程不是一帆风顺,遇到过各种各样的问题。特别是设计软件时,汇编语言和C程序让我每天都截迷糊中,一些很细小的问题都可能导致功能性的错误,修改了多次才通过仿真。在设计过程中我发现自己对以前所学过的知识理解得不够深刻,掌握得不够牢固,所以也利用图书馆、网络资源查阅了大量文献资料,也请教了老师和同学。同时在具体的制作过程中我们发现一些书本上的知识与实际的应用存在着一定的差距,书本上的知识很多都是理想化后的结论
38、,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方面的问题,这也让我更深刻地体会到在今后的学习工作中也要注重理论联系实际。八 参考文献1 吴亦锋单片机原理与接口技术 M电子工业出版社2010.112 徐惠民.微机原理与接口技术M.高等教育出版社,2007.083 谢嘉奎.电子线路(线性部分)M.高等教育出版社,2004.044 潭浩强.C语言程序设计M.清华大学出版社,2008.065 包兴,胡明.电子器件导论理M.北京理工大学出版社,2005.036 李广第,朱月秀,冷祖祁.单片机基础M.北京航空航天大学出版社,2007.67 长德,李华,李东.
39、MCS51/98系列单片机原理与应用M.机械工业出版社.19978 李群芳,张士军,黄建.单片微型计算机原理与接口技术M.电子工业出版社,20029 张龙兴.电子技术基础 M.高等教育出版社,200010 电子制作杂志 J.电子制作杂志社,2010201111 欧阳.大学生电子设计制作.复旦大学出版社,2008 PP. 181194 12 薛栋梁.MCS-5l/151/25l单片机原理与应用M.中国水利水电出版社,200413 刘文涛.单片机语言C51典型应用设计M.人民邮电出版社,200514 余永权.ATMEL89系统单片机应用设计M.北京航空航天大学出版社,200215 周景润,张丽娜,
40、刘印群.Proteus入门实用教程M.机械工业出版社,200716 王为青,程国钢.单片机Keil C×51应用开发技术M.人民邮电出版社,2007九 附录 附录一 程序源代码STH0 EQU 31H STL0 EQU 32H SPK EQU P2.3TEMP EQU 33H ORG 00H LJMP START ORG 0BH LJMP INT_T0 START: MOV TMOD,#01H SETB ET0 SETB EA CLR P2.7MOV A,#00HMOV P0,AWAIT: MOV P1,#0FFH CLR P1.0 MOV A,P1 ANL A,#0F0H XRL
41、A,#0F0H JZ NOKEY1 LCALL DELY10MS MOV A,P1 ANL A,#0F0H XRL A,#0F0H JZ NOKEY1 MOV A,P1 ANL A,#0F0H CJNE A,#0E0H,NK1 MOV KEYBUF,#0 LJMP DK1 NK1: CJNE A,#0D0H,NK2 MOV KEYBUF,#1 LJMP DK1 NK2: CJNE A,#0B0H,NK3 MOV KEYBUF,#2 LJMP DK1 NK3: CJNE A,#70H,NK4 MOV KEYBUF,#3 LJMP DK1 NK4: NOP DK1: MOV A,KEYBUF MO
42、V DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK1A: MOV A,P1 ANL A,#0F0H XRL A,#0F0H JNZ DK1A CLR TR0 NOKEY1: MOV P1,#0FFH CLR P1.1 MOV A,P1 ANL A,#0F0H XRL A,#0F0H JZ NOKEY2 LCALL DELY10MS MOV A,P1 ANL A,#0F0H XRL A,#0F0H JZ NOKEY2 MOV A,P1 ANL A,#0F0H CJNE A,#0E0H,NK5 MOV KEYBUF,#4 LJMP DK2 NK5: CJNE A,#0D0H,NK6 MOV KEYBUF,#5 LJMP DK2 NK6: CJNE A,#0B0H,NK7 MOV KEYBUF,#6 LJMP DK2 NK7: C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论