版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
燕山大学课程设计说明书题目:虚拟电子琴设计学院(系):电气工程学院年级专业:学号:学生姓名:指导教师:教师职称:电气工程学院《课程设计》任务书院(系):电气工程学院基层教学单位:自动化仪表系学号学生姓名(专业)班级设计题目虚拟电子琴设计设计技术参数(a)利用Matlab设计基于虚拟琴键的信号发生器。(b)基于单片机对按键输入操作的识别,通过串口发送请求指令给上位机,启动相应琴键发声。在发出不同琴键声音的同时,同时控制单片机系统的LED显示琴键音节数字及波形参数(如幅度、频率等)。(c)扩展:也可编制程序自动生成一节旋律,或进行组合和弦声音输出。设计要求要求至少输出7个音符的信号并实现相应信号的频谱分析,对比不同信号的时域波形和频谱特性。其中可调参数包括幅值、相位、频率、采样频率等。设计软件分析界面。工作量两周的课程设计时间,独立完成了一份课程设计报告书,包括设计的基本原理、设计思路与设计的基本思想、设计体会以及相关的程序代码和软件界面的设计。参考资料1)《微型计算机控制系统》赖寿宏,机械工业出版社(教材)2)《单片机及应用》李大友,高等教育出版社(教材)3)《信号处理原理及应用》谢平等机械工业出版社(教材)4)《Matlab程序设计及其在信号处理中的应用》聂祥飞等西南交通大学出版社5)自选其他有关资料周次第一周第二周应完成内容熟悉伟福单片机编程环境,调试单片机各基本功能模块;熟悉matlab信号处理工具箱,信号处理系统基本功能模块学习和调试单片机系统与信号处理系统综合进行硬件调试,撰写课程设计报告指导教师签字基层教学单位主任签字说明:1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。2、学生那份任务书要求装订到课程设计报告前面。第21页共23页目录目录………………1摘要………………2第一章绪论………31.1设计背景………………31.2硬件环境………………3第二章系统总体设计方案………4第三章单片机模块基本原理………53.1串口模块………………53.2LED八段数码管显示模块………………73.3蜂鸣器模块……………83.416*16LED点阵显示模块………………9第四章单片机硬件实现…………10第五章课设心得…………………11参考文献…………12附录摘要本次“单片机原理及其应用——数字信号处理”课程设计的题目为虚拟电子琴设计。要求上位机和下位机通过串行通讯技术共同控制并实现。本文重点详细介绍了下位机控制和实现部分。主要就是利用伟福仿真软件进行程序编译和链接,基于51单片机和lab6000实验箱的蜂鸣器,16*16LED点阵,LED八段数码管实现虚拟电子琴的功能。关键字:51单片机,伟福仿真,lab6000绪论1.1设计背景当代社会科学技术飞速发展,不仅广泛作用于工业,军事,医疗方面,而且正逐渐渗透到人们的日常生活中,丰富了生活乐趣。虚拟电子琴就是一个很好的实例。数字信号与单片机技术实现虚拟电子琴,制作简单,成本低,功能扩展多样,并且适用人群也更为广泛。1.2硬件环境虚拟电子琴系统设计所需芯片,硬件都已集成于LAB6000实验箱上。80C51单片机,蜂鸣器模块,16*16LED点阵显示模块,LED八段数码管显示模块。由伟福仿真软件,用80C51C语言编程实现蜂鸣器发出7种不同频率脉冲的音调,同时LED八段数码管显示1-7中相应数字,16*16LED点阵显示“哆”“唻”“咪”“發”“唆”“啦”“唏”中相应字符。第二章系统总体设计方案根据课程设计任务书要求,设计7个音符信号,利用matlab设计对应7个虚拟琴键,没按下一次琴键,通过串口通讯技术,对单片机传送,单片机对接收到的信号进行识别,启动蜂鸣器发出相应频率的音调,同时控制LED显示琴键音节数字和16*16LED点阵显示琴键音节字符。扩展部分:编制一段简单旋律自动输出。基于虚拟琴键的信号发生器部分应用matlab软件,详细内容见数字信号课程设计报告部分。下面将详细叙述单片机控制部分。单片机部分涉及到的问题:第一、蜂鸣器模块;第二、LED八段数码管显示模块;第三、16*16LED点阵显示模块;第四;串口通讯模块。第三章单片机模块基本原理3.1串口模块一般通讯方式两种—并行通讯和串行通讯。并行通讯:传输过程中每个字节的各位由多条传输线同时进行传送。并行通讯用线较多,适合短距离传输。串行通讯:每个字节的各位实现在一根传输线上一位一位的传送。在上位机对下位机控制和下位机进行数据接收方面通常采用串行通讯的方式。串行通讯用线少,适合远距离传输。1)串行控制寄存器SCON选择串行口工作方式和工作状态。SM0,SM1:串行口工作方式选择位。SM2:多机通信选择位。REN:串行口允许接收位。REN=1,允许接收;REN=0,禁止接收。TI:串行口发送中断标志位。TI=1,表示发送结束。RI:串行口接收中断标志位。RI=1,表示接收结束。2)串行数据缓冲器SBUF用来存放需发送和接收的数据,有两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器,当执行写SBUF指令时,数据写入到串行口发送缓冲器中;当执行读SBUF指令时,数据读入到串行口接收缓冲器中。3)电源控制寄存器(PCON)该寄存器的最高位(SMOD)是串行口波特率倍增位,SMOD=1,串行口波特率加倍。4)中断允许寄存器(IE)在IE中,ES=0,禁止串行口中断;ES=1,允许串行口中断。EA=1,CPU开放中断;EA=0,CPU屏蔽所有的中断请求。根据串行通讯的原理设计单片机串行通讯工作方式,设计串行通讯中断子程序。串行口SCON=0x50,SM0=0SM1=1串行口工作方式为方式一;REN=1,允许串行接收。串行口工作在方式1,使用定时器/计数器T1产生波特率,SMOD=0,波特率为2400,。T1工作方式为自动重装初值的方式2时,TL1作为计数用,自动重装的初值放在TH1中。溢出率=计数速率/[256-(TH1)](SMOD=0时,n=32)开始开始发送中断读接收缓冲置收到标志位清收发中断标志中断返回否是3.2LED八段数码管显示模块LED八段数码管显示原理所谓八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管分为共阴极和共阳极两种类型。本实验箱采用的是共阴极型。LED显示方式有动态显示和静态显示两种。静态显示的特点,每一位都需要动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样不需要每一位数码管配一个锁存器,大大简化了硬件电路。根据设计要求,需要单片机系统的LED显示琴键音节数字1—7。每按下一个虚拟键,通过串行通讯,使单片机接收并识别数据,使LED显示其对应的数字。//八段管显示码codeunsignedcharLEDMAP[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//根据接收到的数据显示在LED左数第六位上。LEDBuf[5]=LEDMAP[RcvBuf&0x0f];3.3蜂鸣器模块端口输出的信号经放大器滤波后,驱动扬声器发声。利用定时器,可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调。定时按设置的定时参数产生中断,定时参数不同,发出的脉冲频率不同。应用定时器T0工作方式1,计算初值公式(n=16)音节1234567对应64578646866477864821648986496865029开开始是有数据接收Key=Rcvbuf1<key<7是用键值查表得到音频相关数据按音频数据设置定时器启动定时开始发声50个脉冲是关闭定时停止发声3.416*16LED点阵显示模块点阵LED显示器的结构和原理与八段LED数码管显器是一样的,均由发光二极管组成,但两者的排列结构不同。点阵LED显示器是由发光二极管组成的阵列。点阵数很多,接线数量也多,因此不适合用静态扫描,通常采用动态扫描的驱动方式。行驱动是低电平有效,列驱动高电平有效。共16行,从上到下一行一行扫描点亮。我们利用软件找到了七个音节对应字符的代码。写成一个子程序,主程序再调用,使功能实现。第四章单片机硬件实现4.1实验箱介绍本实验系统主机上有丰富的实验电路模块和灵活的组成方法。既可以和MCS51\MCS96CPU也可以和8088/8086cpu组合完成各种实验。本实验仪通用仿真器所具有的逻辑分析仪,波形发生器和程序跟踪器等强大的分析功能。4.2模块接线说明1、串口模块:将芯片上的RXD、TXD和实验箱上的RXD、TXD用导线连接起来。2、蜂鸣器:51单片机的CS0片选端连到8255的片选端,再由8255的PA0口连到蜂鸣器接口。3、LED数码管片选端连到51单片机的CS1片选端。4、16*16点阵显示片选端连到51单片机CS3片选端。4.3总电路图如下第五章课设心得单片机是一门应用性很强的学科,课程设计是培养我们综合运用所学知识,发现问题,分析问题和解决问题,实践操作的重要环节。通过本次课程设计,从设计方案,到编程上机,再到硬件连线,总体调试。加深了编程语言的理解和认识。本次课程设计主题思想是模块化实现系统。每个模块完成他的子功能,把一个大的复杂的问题分解成了几个较为容易的小问题,减轻了工作负担,提高了效率,并且使做出的东西效果更好!这种思想对我们今后的学习和工作都有很大的帮助,在设计思路上有很好的作用,值得我们反复学习,反复实践。课程设计中暴露出我的很多不足,尤其是编程方面,对汇编和C语言很生疏,思路出来之后,想用程序来实现自己的想法很困难,导致效率很低,进度很慢。在两周的时间里,我们小组成员团结协作,共同探讨,解决了一个又一个问题,突破难关,而且还有学长的耐心指导,我们能在规定时间内完成题目。参考文献[1]张淑清等单片机原理及其应用技术国防工业出版社2007[2]赖寿宏微型计算机控制系统机械工业出版社2007[3]李大友单片机及应用高等教育出版社2005附录#include<reg51.h>#definemode0x82;#defineLEDLen6#defineucharunsignedchar#defineuintunsignedintxdataunsignedcharControl_at_0x8003;xdataunsignedcharSpeaker_at_0x8000;xdataunsignedcharOUTBIT_at_0x9002;xdataunsignedcharOUTSEG_at_0x9004;xdataunsignedcharIN_at_0x9001;xdataunsignedcharRowLow_at_0xb002;//行低八位地址xdataunsignedcharRowHigh_at_0xb003;//行高八位地址xdataunsignedcharColLow_at_0xb000;//列低八位地址xdataunsignedcharColHigh_at_0xb001;//列高八位地址unsignedcharRcvBuf;//接收缓冲bitHasRcv=0;//接收标志unsignedcharLEDBuf[LEDLen];//显示缓冲codeunsignedcharLEDMAP[]={//八段管显示码0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//字模每个16x16点阵汉字为:8位x2x16=256位,32字节codeucharFont[][32]={//哆0,0,128,0,132,1,172,2,213,4,167,10,84,17,136,18,144,20,0,20,252,3,4,1,4,1,252,3,0,0,0,0,//唻0,0,132,16,70,8,52,4,68,2,255,63,132,1,68,2,52,4,68,8,128,16,252,19,4,1,252,7,0,0,0,0,//咪0,0,32,8,32,8,38,4,40,3,160,0,255,63,160,0,44,3,34,4,252,11,4,18,4,2,252,7,0,0,0,0,//發0,0,16,16,116,19,72,13,122,9,20,21,51,19,64,17,3,0,230,14,170,18,178,19,40,22,32,0,0,0,0,0,//唆0,0,108,16,66,16,197,9,188,10,136,4,219,10,44,9,72,18,0,16,252,3,4,2,4,2,252,7,0,0,0,0,//啦0,0,8,16,232,16,8,19,14,28,137,19,72,16,136,16,255,31,8,33,8,17,248,7,8,2,8,2,248,7,0,0,//唏0,0,32,15,41,9,37,1,234,31,58,1,101,1,169,15,32,1,4,2,254,3,4,1,4,1,252,3,0,0,0,0,};voiddelay1(uchart){uchari,j;for(i=t;i>0;i--){for(j=0;j<100;j++);}}voidSerialIO0()interrupt4{if(RI){RI=0;//RI接收结束置1RcvBuf=SBUF;HasRcv=1;}else{TI=0;//TI发送结束置1}}voidDelay(unsignedcharCNT){unsignedchari;while(CNT--!=0)for(i=100;i!=0;i--);}voidDisplayLED(){unsignedchari,j;unsignedcharPos;unsignedcharLED;Pos=0x20;//从左边开始显示for(i=0;i<LEDLen;i++){OUTBIT=0;//关所有八段管LED=LEDBuf[i];OUTSEG=LED;OUTBIT=Pos;//显示一位八段管Delay(1);Pos>>=1;//显示下一位}}codeunsignedintToneTable[7]={64578,64686,64778,64821,64898,64968,65029};unsignedcharPulseCNT;unsignedcharPulse;unsignedToneHigh,ToneLow;voidTimer()interrupt1{TR0=0;TH0=ToneHigh;TL0=ToneLow;TR0=1;Speaker=Pulse;Pulse++;PulseCNT--;}voidmain(){unsignedcharKey;uchari,j;ucharcount;uintbitmask;Control=mode;OUTSEG=0;Pulse=0;IE=0x82;//DISABLEALLINTERRUPTTMOD=0x21;//定时器1工作于方式2(8位重装)定时器0工作方式1TH1=0xF3;//2400BPS@12MHzTL1=0xF3;PCON&=0x7F;//SMOD位清零PCON|=0x80;SCON=0x50;//串行口工作方式设置TR1=1;ES=1;EA=1;HasRcv=0;//清屏ColLow=0xff;//行驱动低有效ColHigh=0xff;RowLow=0x00;//列驱动高有效RowHigh=0x00;while(1){while(!HasRcv);LEDBuf[5]=LEDMAP[RcvBuf&0x0f];HasRcv=0;Key=RcvBuf;DisplayLED();{j=RcvBuf-1;for(count=0;count<50;count++){bitmask=0x01;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度影视作品授权使用合同
- 2024年度货物采购协议
- 2024年国际快递公司服务协议
- 2024年度建筑材料采购合同
- 2024年度供应链管理服务合同标的说明
- 04版7月:股权激励计划协议
- 信息技术2.0培训项目个人研修计划
- 七夕节品牌宣传文案(55句)
- 2024年建筑工程施工合同详解
- 2024年城市内商品车搬运服务合同
- 【精】人民音乐出版社人音版五年级上册音乐《外婆的澎湖湾》课件PPT
- 弱电维护保养方案
- 《建筑企业财务 》课件
- 沪科版九年级物理全一册知识点总结(沪教版)
- 飞轮储能在电网调频中的工程应用
- 家长会课件:家庭教育为主题家长会课件
- 麻醉药品和第一类精神药品使用及残余液销毁登记记录
- 六年级英语上册期中考试质量分析
- 临床微生物学检验:实验六 肠道杆菌的检验(一)
- Invoice商业发票模板
- 中药房用中药饮片用户需求书
评论
0/150
提交评论