资源描述:
《电子琴单片机实训报告大学论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、单片机设计与制作实训报告题目:电子琴系别:xx系班级:xx班姓名:xxx学号:123456789指导老师:xxx实训时间:一周x年x月xx日1、实训目的:熟悉单片机使用方法及领域,软硬件结合掌握单片机综合应用糸统设计和调试的方法,2、设计要求:电子琴有九个按键,其中有八个按键分别对应八个乐谱中的基本音符,第九个按键为自动播放按键,当按下此键即自动播放歌曲直到播放歌曲直到歌曲结束或按下音符键即停止播放音乐。3、开发环境及简介:1.系统概述KeilC51是美国KeilSoftware公司出品的51系列兼
2、容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4、实训器件:1.AT89C511个2.按键9个3.PNP三极管1个4.4.7K电阻
3、1个5.10k电阻1个6.无源蜂鸣器1个7.电解电容1个8.30pF磁片电容2个9.晶振1个4.1主要元器件简介(1)AT89C51单片机AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功
4、能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要特性:与MCS-51兼容;4K字节可编程闪烁存储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24MHz;三级程序存储器锁定;128×8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路。(2)蜂鸣器蜂鸣器是一种一体化结构的电子讯响
5、器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。1.电压式蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。2.电磁式蜂鸣器电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成
6、。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。(3)多谐振荡器多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。5、设计原理:通过单片机实现电子琴演奏实质就是将不同按键和特定频率的方波信号对应起来,以方波信号驱动蜂鸣器发出乐音,乐音实质是固有频率的信号,在音乐理论中,把一组音按音调高低依次排列起来就成为音阶,也
7、就是1234567和高音1。为了发出某一特定频率的乐音,可以控制I/O接口产生该频率的方波信号经三极管放大信号后发出该乐音。对于方波的产生可以使用单片机的一个定时,产生溢出中断,中断发生时将输出引脚的电平取反,然后重新载入计数器的计数初值。6、设计思路:6.1实训原理图:开始6.3程序流程图音符乐谱编码初始化音符键有按下?N关闭T0定时器判断键值YT0定时器赋初值开启T0定时器中断P10取反音乐键有按下?Na值是否<100?YN音符键是否按下?YNY给T1定时器赋值开启T1定时器中断取反P10延时节
8、拍时长6.2软件程序://电子琴+歌曲#include#defineucharunsignedcharsbitP10=P1^0;//蜂鸣器接口sbitP30=P3^0;//模式转换端口uchartimer0h,timer0l,time;//T1定时器高八位,低八位初值;//音阶频率表高八位codeucharFH[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,//低音0xF9,0xF9,0xFA,0xFA,0xFB,0xF