论文投稿百科

电子琴的毕业论文日记

发布时间:2024-07-04 21:13:11

电子琴的毕业论文日记

我可以做仿真,实现电子琴,但是我不写论文。你看怎么样?

我的中国梦 2梦境的似真还假、亦真亦幻令人不胜惊叹、唏嘘不已,梦的飘渺、梦的美妙不断地陶醉着梦中人,这种精神现象曾经令多少文人骚客为之神往,多少志士仁人为之奋斗。正是梦的存在使我们倍加前进的勇气和取胜的信心,因为梦,我们的世界更加多彩和美好。 有人说中国是一个难以创新的国家,因为中国没有梦和敢做梦的人,有人说中国人的处世风格是世界上最现实的,比一般的商人还无利不起早。但是,在历史上,中国和中国人是历来不缺少梦的。庄生梦蝶体现了思想的自由释放,万户的奔月更是表现了追求的大胆探索,从秦汉的明月到唐明的关城,中国人的梦不但一直在做,而且为了到达梦境的彼岸去不断地尝试和冲击,于是我们有了引以为傲的四大发明,有了浩若烟海的文学艺术,成就了中国的伟大和不同凡响。 可如今一提起梦,我们现在的中国人首先想到的是荒诞不经,如果说到要为之努力,周边的人除了会给予更多的白眼和不屑外,就不会再看第二眼了,至于梦中的机会和可能就永远地被湮没了。在我们的视野中梦只是孩童的天真和痴人的乱语,我们生活在聪明人的现实世界,我们要发展,我们要理性、我们要挣钱,我们要……我们究竟要什么,生活必须这样过吗?每当深夜来临的时候,当我们蘸着唾沫津津有味地数着红红的革命成果的时候,我们的心在哪里?当我们为了生存四处奔波,当我们为了金钱付出一切的时候,我们得到了什么,而又失去了什么呢?难道我们的欲望只有更多的钱才能满足?我们得到了钱,却失去了梦。 “我有一个梦想”,这是马丁·路德金的著名演讲,描绘了他心目中的美国梦--一个没有歧视和偏见、追求公平和正义的梦想。正是有了这样的追求、这样的坚持,才成就了今日美国的强盛。 当我们现在醉心于美国的文明和富有的时候,是否曾经想过我们也曾经有过那样的辉煌,当我们现在耳边到处充斥美国梦的时候,可曾想过中国梦的存在。有人会问中国梦存在吗?我说美国梦一开始就存在吗,人清醒地时候是很难做梦的,时时刻刻只考虑现实性和可能性那还叫梦吗? 美国梦成就了今日美国,那么未来中国就更需要中国梦来成就她将来的辉煌。我们的中国梦需要我们敢想敢梦的勇气,需要我们克服现实的障碍,需要我们努力实现梦想的信心。跳出既有思维和生活的范式,走出现实的压抑,在生活中去寻觅真善美的踪迹,在生活中重造梦中的美好。 如果有人问我,你的中国梦是什么,我会说,我的中国梦是中国要有梦,中国人要敢做梦。 因为有梦就有创新,有梦才有未来。

2010年9月1日上午9点整,北京市奋斗小学38个教学班的学生安静地坐在教室里,收看《开学第一课》。当电视屏幕上出现一群朝气蓬勃的少年握紧拳头、坚定地说出“少年智则中国智,少年强则中国强;我的梦是中国梦,中国的梦是我们的梦”时,孩子们个个坐得笔直,全神贯注,生怕错过了精彩的瞬间。今天,全国共有亿名中小学生同时收看了《开学第一课》。开学第一天,由教育部和中央电视台联合推出的以“我的梦·中国梦[1]”为主题的大型公益节目《开学第一课》在中央电视台播出。节目分为“我的梦”、“坚持梦想”、“探索梦想”、“中国梦”4个篇章,既有袁隆平院士、马云、李连杰、房祖名、章子怡等知名人士参与,也有一批少年英雄登台亮相,如豆豆、张子枫。节目还通过网络征集了全国中小学生的10万个梦想。编辑本段上课详情当主持人王小丫讲述舟曲孩子的梦想时,几度哽咽,也感动了电视机前的学生们。韩璇是舟曲县城关一小二年级学生。灾难来临时,她的爸爸从离家200米的地方飞奔回来,但看到的已是一片泥沙。整整3天,爸爸在泥土堆里拼命地挖啊找啊,直到看见了那枚红色的发卡。泥土堆里的韩璇,长发上满是泥浆,爸爸为心爱的女儿最后一次洗净了头发,亲手为她扎起了小辫。爸爸说,小韩璇的梦想是当一名老师,他们家有一块小黑板,小韩璇经常在上面写写画画,还让爸爸妈妈坐在小板凳上,听她讲课。虽然小韩璇没有机会实现这个梦想,但梦想绝不会消逝,即使是房屋倒塌,生命不再,梦想一定还在!今天上午9点,湖北800万中小学生同上开学第一课。武昌实验小学利用多媒体教学系统为全体学生播放了《开学第一课》。不时爆发的掌声、满含泪水的双眼……精彩的节目震撼着师生的心灵。该校四年级(A)班的黄小璐说:“以前我总是一遇到困难就想放弃,节目里那个没有手臂却能用脚弹出美妙琴声的大哥哥让我明白,只有永不放弃,才能实现梦想。”“这种开学第一课的形式非常好,既能吸引学生又能教育学生。”“钢琴王子”郎朗小学期间的班主任、现任沈阳市浑南一小校长冯凝说:“全社会都来宣传和弘扬崇高的理想,是对教育工作的最大支持。过去往往是学校‘单枪匹马’地进行德育,而今天的第一课,为孩子树立了追寻梦想的榜样,这一课上得非常有意义!”2010年9月1日,湖南桂东县、安化县、龙山县相关学校均组织广大师生同时收看了《开学第一课》,并举行了梦想大集合活动。安化县二中高一学生唐倩说,自己连续三年收看《开学第一课》,这次感触尤其深刻:进入高中了,梦想就是努力考上一所理想的大学,要像袁隆平那样用自己的智慧,倾尽毕生精力造福全人类。北京奋斗小学1400多名学生今早一到校,先参加了隆重的开学典礼。结合即将播出的《开学第一课》,典礼的主题定为“做脚踏实地的快乐追梦人”。校长见培炎充满激情地讲道:“我愿全校每一个同学的心中都装有很多的梦、美好的梦、多彩的梦……我希望同学们能把自己的梦想和祖国的强盛、人民的幸福紧紧地联系在一起。希望同学们大胆地做梦,快乐地追梦,在追梦中成长,成为造福于祖国和人民的人。”亿名中小学生是中国未来的希望,从小培养孩子们的梦想,对中国未来发展至关重要。每个孩子的梦想聚集起来,就汇成了明天的中国梦。央视一套节目部副主任许文广告诉记者,希望《开学第一课》成为孩子们一个共同的记忆,成为引领其价值观和人生观健康发展的推动力量,这正是《开学第一课》的意义所在。

在大学数学教学中,数学文化是一个非常重要的组成部分,是学习数学的精髓。下面是我为大家整理的,供大家参考。

一、在数学教学中渗透语言的艺术美

斯托利亚曾说:“数学教学也就是数学语言的教学。”数学作为一门逻辑性非常强的学科,虽然和其他学科相比具有其特殊性,但其语言和其他学科语言一样,也是一门艺术,因此,数学教学语言的艺术技巧显得非常重要。为此,数学教师要不断锤炼自己的语言,用精准、简明、形象、生动的数学语言激发学生的兴趣、启迪学生思维,并积极鼓励学生不断探索,可以有效地优化数学教学效果。如:在学习高中数学必修一幂函式性质时,我很神秘地说:同学们,你们知道的365次方和的365次方分别约等于多少?当同学们不知所措时,我给出答案:的365次方约等于,的365次方约等于,并解释这道题蕴含的哲理是:的365次方也就是说你每天进步一点,即使只有,一年365天后,你将进步很大,远远超过1;的365次方也就是说你每天退步一点点,即使只有,一年365天后,你将远远小于1,几乎接近于0,远远被人抛在后面。通过这样的语言,学生很快认识了幂函式的值如何随底数变化而变化。同时鼓励同学们珍惜时间,不断努力,坚持下去,一定会有进步。富有艺术之美的语言在数学教学中具有强大的生命力,教师要创造机会,让学生体会艺术的语言给我们带来的数学之美,让学生在语言中逐渐理解、提升。

二、在数学教学中感受、欣赏艺术美

通过讲解共轭复数、对称多项式、对称矩阵等,让学生感受数学代数对称之美;通过讲解轴对称、中心对称、互补、互逆、相似等,让学生感受数学几何对称之美等。在学习选修内容《数系的扩充与复数》时,讲到历史上曾一度被看做是“幻想中的数”的虚数,由于它带有某种奇异色彩,更能使学生产生幻想和揭示其奥妙的欲望,这也正是数学的神秘之美。学生在教师充满艺术美的教学中感美、欣赏美,学生的学习劲头倍增,必定会达到意想不到的效果。

三、在数学教学中建立艺术化教学环境

在学习高中数学必修五数列知识时,我请一位同学用电子琴现场表演节目,同学们一下子就被这个新颖、独特的课前引入吸引,在观看表演后不禁问,老师葫芦里卖什么药。接着我简要介绍电子琴的键盘,让学生了解到琴的键中其中5个黑键恰好就是著名的斐波那契数列中的前几个数。在同学们追问什么是斐波那契数列时,我说:同学想知道什么是斐波那契数列,那么就要先学习好是数列,这样一步一步带领学生探索知识。教育家罗伯特•特拉弗斯说:“教学之所以被称为具有独特的表演艺术,它区别于其他任何表演艺术,就是由教师与那些观看表演的人的关系所决定的。”毫无疑问,掌握一定课堂教学艺术的教师,就能够取得较好的教学效果。

四、总结

综上所述,把艺术教育巧妙地渗透到数学教学中,使数学教学的课堂变得丰富多彩,充满活力,让学生在学习数学知识的同时促进艺术教育的发展。

一、限制职业学校数学教学发展的主要因素

一学生数学基础普遍较差

从职业学校的生源来看,学生以初中生为主。他们对数学基础知识的掌握普遍较差,缺少数学学习的积极性和自信心。大部分学生对数学思想的掌握不够全面,没有清晰的数学思维和逻辑,对数学中的很多概念性知识的理解不到位,缺少解决综合问题的能力。由于训练量的缺失,很多学生的运算能力不过关,很容易在数学运算中出现错误。

二数学课程安排不尽合理

近些年来,职业学校纷纷提高了对专业课程教学和实习的重视,为专业课程安排了更多的教学课时。这大大压缩了数学教学的时间,使得职业学校数学教师们面临着课时少、内容多的难题。很多数学教师只能将教学重心放到追赶教学进度上,对于很多重难点做不到细致的讲解,课堂练习的机会更是少之又少,从而大大影响了数学课堂的教学质量。

二、职业学校数学课堂教学的改革方向

一深化思想认识,端正学生学习态度

要想真正提高职业学校数学课堂教学质量,必须从思想认识上提高重视程度,从学校和学生两个层面配合数学教学工作。职业学校在保证专业课程教学时间的同时,还要尽量增加数学教学的课时,避免出现教学时间少、教学任务重、数学教师满负荷工作的现象。教师要加强与学生的交流,充分了解学生对数学课程的看法,教会学生数学学习的方法,帮助学生端正数学学习的态度,让学生能够自觉配合教师工作,更积极地参与到数学教学中。

二转变教学方式,激发学生学习兴趣

深化职业学校数学课堂教学改革必须加快教学方式的转变,数学教师要注重培养学生学习主动性和积极性,改变传统“一言堂”的灌输式教学,突出学生的主体地位,将课堂还给学生。为此,数学教师在课堂中要注重角色的转变,从课堂的主导者转变为引导者,通过构建情境、设定问题等方式让学生对教学内容进行自主探究,让学生在不断的学习成功中获得自信,从而达到激发学生学习兴趣,提高学生课堂参与度的目的。

三注重能力培养,灵活安排内容

职业学校数学课程不仅是为了提高学生数学运算能力,还要为学生日后的专业实习和工作打好基础。数学教师在安排课堂教学内容时,虽然做到了面面俱到,各类数学知识点都有涉及,但这种重理论轻应用的教学安排,使得数学的实用性和灵活性受到限制。所以,在职业学校数学课堂教学改革中,数学教师要灵活安排教学课堂内容,将数学教学与教育实际相结合,提高专业的针对性,针对不同专业的学生安排不同的教学内容和教学方式,提高学生在专业范畴内解决问题的能力,让数学真正为学生的专业学习、工作提供帮助。

四改善师生关系,实现课下教学拓展

良好的师生关系对激发学生学习积极性、提高课堂学习质量有重要帮助。数学教师在课堂教学中,要努力利用生动、幽默的课堂语言拉近与学生的距离,消除学生对数学学习的恐惧感和牴触情绪,对于学生面临的数学难题,教师要耐心解答。除了在课堂学习中的帮助,教师在平时的生活中也要加强与学生的沟通,加深与学生之间的感情,并及时了解学生对教师教学方法的想法,以便及时对教学方法和教学内容进行调整,提高数学课堂的教学效果。数学课程是职业学校不可或缺的基础课程。深化职业学校数学课堂教学改革必须从深化思想认识、转变教学方式、注重能力培养、改善师生关系等方面入手,达到激发学生学习积极性、提高数学课堂的教学质量的目的,让职业学校为社会提供更多的创造性人才和实用型人才。、

简易电子琴毕业论文

简易电子琴设计 你可以到网上参考一些图片什么的

楼主我这里有电子琴的单片机程序,做毕业设计那个我觉得还是自己做得好,因为你没懂的话论文答辩是过不了的。简易电子琴#include<> //包含51单片机寄存器定义的头文件sbit P14=P1^4; //将P14位定义为引脚sbit P15=P1^5; //将P15位定义为引脚sbit P16=P1^6; //将P16位定义为引脚sbit P17=P1^7; //将P17位定义为引脚unsigned char keyval; //定义变量储存按键值sbit sound=P3^7; //将sound位定义为 int C; //全局变量,储存定时器的定时常数unsigned int f; //全局变量,储存音阶的频率//以下是C调低音的音频宏定义#define l_dao 262 //将“l_dao”宏定义为低音“1”的频率262Hz#define l_re 286 //将“l_re”宏定义为低音“2”的频率286Hz#define l_mi 311 //将“l_mi”宏定义为低音“3”的频率311Hz#define l_fa 349 //将“l_fa”宏定义为低音“4”的频率349Hz#define l_sao 392 //将“l_sao”宏定义为低音“5”的频率392Hz#define l_la 440 //将“l_a”宏定义为低音“6”的频率440Hz#define l_xi 494 //将“l_xi”宏定义为低音“7”的频率494Hz//以下是C调中音的音频宏定义#define dao 523 //将“dao”宏定义为中音“1”的频率523Hz#define re 587 //将“re”宏定义为中音“2”的频率587Hz#define mi 659 //将“mi”宏定义为中音“3”的频率659Hz#define fa 698 //将“fa”宏定义为中音“4”的频率698Hz#define sao 784 //将“sao”宏定义为中音“5”的频率784Hz#define la 880 //将“la”宏定义为中音“6”的频率880Hz#define xi 987 //将“xi”宏定义为中音“7”的频率53//以下是C调高音的音频宏定义#define h_dao 1046 //将“h_dao”宏定义为高音“1”的频率1046Hz#define h_re 1174 //将“h_re”宏定义为高音“2”的频率1174Hz#define h_mi 1318 //将“h_mi”宏定义为高音“3”的频率1318Hz#define h_fa 1396 //将“h_fa”宏定义为高音“4”的频率1396Hz#define h_sao 1567 //将“h_sao”宏定义为高音“5”的频率1567Hz#define h_la 1760 //将“h_la”宏定义为高音“6”的频率1760Hz#define h_xi 1975 //将“h_xi”宏定义为高音“7”的频率1975Hz/**************************************************************函数功能:软件延时子程序**************************************************************/void delay20ms(void) {unsigned char i,j;for(i=0;i<100;i++)for(j=0;j<60;j++);}/*******************************************函数功能:节拍的延时的基本单位,延时200ms******************************************/void delay() {unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}/*******************************************函数功能:输出音频入口参数:F******************************************/void Output_Sound(void){C=(46083/f)*10; //计算定时常数TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法TR0=1; //开定时T0delay(); //延时200ms,播放音频TR0=0; //关闭定时器sound=1; //关闭蜂鸣器keyval=0xff; //播放按键音频后,将按键值更改,停止播放}/*******************************************函数功能:主函数******************************************/ void main(void){ EA=1; //开总中断ET0=1; //定时器T0中断允许ET1=1; //定时器T1中断允许TR1=1; //定时器T1启动,开始键盘扫描TMOD=0x10; //分别使用定时器T1的模式1,T0的模式0TH1=(65536-500)/256; //定时器T1的高8位赋初值TL1=(65536-500)%256; //定时器T1的高8位赋初值 while(1) //无限循环{switch(keyval){case 1:f=dao; //如果第1个键按下,将中音1的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 2:f=l_xi; //如果第2个键按下,将低音7的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 3:f=l_la; //如果第3个键按下,将低音6的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 4:f=l_sao; //如果第4个键按下,将低音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 5:f=sao; //如果第5个键按下,将中音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 6:f=fa; //如果第6个键按下,将中音4的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 7:f=mi; //如果第7个键按下,将中音3的频率赋给fOutput_Sound(); //转去计算定时常数 break; case 8:f=re; //如果第8个键按下,将中音2的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 9:f=h_re; //如果第9个键按下,将高音2的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 10:f=h_dao; //如果第10个键按下,将高音1的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 11:f=xi; //如果第11个键按下,将中音7的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 12:f=la; //如果第12个键按下,将中音6的频率赋给fOutput_Sound(); //转去计算定时常数 break; case 13:f=h_la; //如果第13个键按下,将高音6的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 14:f=h_sao; //如果第14个键按下,将高音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 15:f=h_fa; //如果第15个键按下,将高音4的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 16:f=h_mi; //如果第16个键按下,将高音3的频率赋给fOutput_Sound(); //转去计算定时常数 break; } } } /**************************************************************函数功能:定时器T0的中断服务子程序,使引脚输出音频方波**************************************************************/ void Time0_serve(void ) interrupt 1 using 1 {TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法 sound=!sound; //将引脚取反,输出音频方波}/**************************************************************函数功能:定时器T1的中断服务子程序,进行键盘扫描,判断键位**************************************************************/ void time1_serve(void) interrupt 3 using 2 //定时器T1的中断编号为3,使用第2组寄存器{TR1=0; //关闭定时器T0P1=0xf0; //所有行线置为低电平“0”,所有列线置为高电平“1”if((P1&0xf0)!=0xf0) //列线中有一位为低电平“0”,说明有键按下{delay20ms(); //延时一段时间、软件消抖if((P1&0xf0)!=0xf0) //确实有键按下{P1=0xfe; //第一行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=1; //可判断是S1键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=2; //可判断是S2键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=3; //可判断是S3键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=4; //可判断是S4键被按下P1=0xfd; //第二行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=5; //可判断是S5键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=6; //可判断是S6键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=7; //可判断是S7键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=8; //可判断是S8键被按下P1=0xfb; //第三行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=9; //可判断是S9键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=10; //可判断是S10键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=11; //可判断是S11键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=12; //可判断是S12键被按下P1=0xf7; //第四行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=13; //可判断是S13键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=14; //可判断是S14键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=15; //可判断是S15键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=16; //可判断是S16键被按下}}TR1=1; //开启定时器T1TH1=(65536-500)/256; //定时器T1的高8位赋初值TL1=(65536-500)%256; //定时器T1的高8位赋初值 }

简易电子琴的设计摘 要 随着基于CPLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制用计算机等领域的重要性日益突出。作为一个学电子信息专业的学生,我们必须不断地了解更多的新产品信息,这就更加要求我们对EDA有个全面的认识。本程序设计的是简易电子琴的设计。采用EDA作为开发工具,VHDL语言为硬件描述语言,MAX + PLUS II作为程序运行平台,所开发的程序通过调试运行、波形仿真验证,初步实现了设计目标。本程序使用的硬件描述语言VHDL,可以大大降低了硬件数字系统设计的入门级别,让人感觉就是C语言的近亲。通过老师的指导和自己的学习完成了预想的功能。关键词 电子琴;课程设计;EDA;VHDL1 引言 课程设计的目的巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,通过对一个简易的八音符电子琴的设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。巩固所学课堂知识,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。为了进一步了解计算机组成原理与系统结构,深入学习EDA技术,用VHDL语言去控制将会使我们对本专业知识可以更好地掌握。 课程设计的内容(1)设计一个简易的八音符电子琴,它可通过按键输入来控制音响。(2)演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存入的乐曲。(3)能够自动演奏多首乐曲,且每首乐曲可重复演奏。2 开发工具简介 EDA技术EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL( Hardware Description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。也就是说,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。适配器的功能是将由综合器产生的王表文件配置与指定的目标器件中,产生最终的下载文件,如JED文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于在综合器中已指定的目标器件系列。硬件描述语言HDL是相对于一般的计算机软件语言,如:C、PASCAL而言的。HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。目前,就FPGA/CPLD开发来说,比较常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。硬件描述语言—VHDLVHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。(1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(4) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 VHDL的设计流程:(1) 设计输入根据电路设计所提出的要求,将程序输入到VHDL编辑器中去编辑。(2) 功能级模拟用VHDL,模拟器对编辑后的程序进行模拟,如果达不到设计要求,则可以重新修改程序,直到通过功能模拟。(3) 逻辑综合与优化 将通过功能模拟的程序放到VHDL编译器中,进行逻辑综合与优化。(4) 门级模拟对电路用VHDL。仿真器仿真。可对门级电路的延时、定时状态、驱动能力等进行仿真。如不符合要求,可重复步骤(3),再门级模拟,直到符合要求止。(5) 版图生成 用相应的软件处理后,就可以拿去制版。设计过程设计规划根据系统设计要求,系统设计采用自顶向下的设计方法,系统的整体组装设计原理图如图3-1所示,它由乐曲自动演奏模块、音调发生模块和数控分频模块三部分组成。图3-1 系统的整体组装设计原理图 各模块的原理及其程序(1)乐曲自动演奏模块乐曲自动演奏模块()的作用是产生8位发声控制输入信号/当进行自动演奏时,由存储在此模块中的8位二进制数作为发声控制输入,从而自动演奏乐曲。VHDL源程序()LIBRARY IEEE;USE ;USE ;USE ;ENTITY AUTO ISPORT ( CLK : IN STD_LOGIC;AUTO : IN STD_LOGIC;CLK2 : BUFFER STD_LOGIC;INDEX2 : IN STD_LOGIC_VECTOR(7 DOWNTO 0);INDEX0 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END AUTO;ARCHITECTURE BEHAVIORAL OF AUTO ISSIGNAL COUNT0: INTEGER RANGE 0 TO 31;BEGINPULSE0 :PROCESS(CLK,AUTO)VARIABLE COUNT :INTEGER RANGE 0 TO 8;BEGINIF AUTO ='1' THENCOUNT := 0;CLK2<='0';ELSIF(CLK'EVENT AND CLK ='1')THENCOUNT :=COUNT +1;IF COUNT =4 THENCLK2 <='1';ELSIF COUNT =8 THENCLK2<='0'; COUNT:=0;END IF ;END IF ;END PROCESS;MUSIC:PROCESS(CLK2)BEGINIF (CLK2'EVENT AND CLK2='1')THENIF (COUNT0=31)THENCOUNT0<=0;ELSECOUNT0<=COUNT0+1;END IF ;END IF ;END PROCESS;COM1:PROCESS(COUNT0,AUTO,INDEX2)BEGINIF AUTO ='0' THENCASE COUNT0 ISWHEN 0=>INDEX0<="00000100"; --3WHEN 1=>INDEX0<="00000100"; --3WHEN 2=>INDEX0<="00000100"; --3WHEN 3=>INDEX0<="00000100"; --3WHEN 4=>INDEX0<="00010000"; --5WHEN 5=>INDEX0<="00010000"; --5WHEN 6=>INDEX0<="00010000"; --5WHEN 7=>INDEX0<="00100000"; --6WHEN 8=>INDEX0<="10000000"; --8WHEN 9=>INDEX0<="10000000"; --8WHEN 10=>INDEX0<="10000000"; --8WHEN 11=>INDEX0<="00000100"; --3WHEN 12=>INDEX0<="00000010"; --2WHEN 13=>INDEX0<="00000010"; --2WHEN 14=>INDEX0<="00000001"; --1WHEN 15=>INDEX0<="00000001"; --1WHEN 16=>INDEX0<="00010000"; --5WHEN 17=>INDEX0<="00010000"; --5WHEN 18=>INDEX0<="00001000"; --4WHEN 19=>INDEX0<="00001000"; --4WHEN 20=>INDEX0<="00001000"; --4WHEN 21=>INDEX0<="00000100"; --3WHEN 22=>INDEX0<="00000010"; --2WHEN 23=>INDEX0<="00000010"; --2WHEN 24=>INDEX0<="00010000"; --5WHEN 25=>INDEX0<="00010000"; --5WHEN 26=>INDEX0<="00001000"; --4WHEN 27=>INDEX0<="00001000"; --4WHEN 28=>INDEX0<="00000100"; --3WHEN 29=>INDEX0<="00000100"; --3WHEN 30=>INDEX0<="00000010"; --2WHEN 31=>INDEX0<="00000010"; --2WHEN OTHERS =>NULL;END CASE;ELSE INDEX0<=INDEX2;END IF;END PROCESS;END BEHAVIORAL;(2) 音调发生模块音调发生模块的作用是产生音阶的分频预置值。当8位发声控制输入信号中的某一位为高电平时,则对应某一音节的数值将输出,该数值即为该音阶的分频预置值,分频预置值控制数控分频模块进行分频,由此可得到每个音阶对应的频率。VHDL源程序()LIBRARY IEEE;USE ;USE ;USE ;ENTITY TONE ISPORT (INDEX: IN STD_LOGIC_VECTOR(7 DOWNTO 0);CODE: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HIGH: OUT STD_LOGIC;TONE0: OUT INTEGER RANGE 0 TO 2047);END TONE;ARCHITECTURE ART OF TONE ISBEGINSEARCH : PROCESS(INDEX)BEGINCASE INDEX ISWHEN "00000001"=>TONE0 <=773;CODE<="1001111";HIGH<='1';WHEN "00000010"=>TONE0 <=912;CODE<="0010010";HIGH<='1';WHEN "00000100"=>TONE0 <=1036;CODE<="0000110";HIGH<='1';WHEN "00001000"=>TONE0 <=1116;CODE<="1001100";HIGH<='1';WHEN "00010000"=>TONE0 <=1197;CODE<="0100100";HIGH<='1';WHEN "00100000"=>TONE0 <=1290;CODE<="0100000";HIGH<='0';WHEN "01000000"=>TONE0 <=1372;CODE<="0001111";HIGH<='0';WHEN "10000000"=>TONE0 <=1410;CODE<="0000000";HIGH<='0';WHEN OTHERS =>TONE0<=2047;CODE<="0000001";HIGH<='0';END CASE;END PROCESS;END ART;(3) 数控分频模块数控分频模块是对时基脉冲进行分频,得到与1、2、3、4、5、6、7七个音符相对应的频率。VHDL源程序()LIBRARY IEEE;USE ;USE ;USE ;ENTITY FENPIN ISPORT(CLK1: IN STD_LOGIC;TONE1: IN INTEGER RANGE 0 TO 2047;SPKS: OUT STD_LOGIC);END ENTITY FENPIN;ARCHITECTURE ART OF FENPIN ISSIGNAL PRECLK:STD_LOGIC;SIGNAL FULLSPKS:STD_LOGIC;BEGINPROCESS(CLK1)VARIABLE COUNT:INTEGER RANGE 0 TO 8;BEGINIF (CLK1'EVENT AND CLK1='1')THENCOUNT:=COUNT +1;IF COUNT=2 THENPRECLK<='1';ELSIF COUNT =4 THENPRECLK<='0';COUNT:=0;END IF ;END IF ;END PROCESS;PROCESS(PRECLK,TONE1)VARIABLE COUNT11:INTEGER RANGE 0 TO 2047;BEGINIF (PRECLK'EVENT AND PRECLK='1')THENIF COUNT11CLK32MHZ,INDEX2=>INDEX1,INDEX0=>INDX,AUTO=>HANDTOAUTO);U1:TONEPORTMAP(INDEX=>INDX,TONE0=>TONE2,CODE=>CODE1,HIGH=>HIGH1);U2:FENPIN PORT MAP(CLK1=>CLK32MHZ,TONE1=>TONE2,SPKS=>SPKOUT);END ART;4 波形仿真(1)乐曲自动演奏模块的仿真(如图4-1所示)图4-1乐曲自动演奏模块的仿真图(2)音调发生模块的仿真(如图4-2)图4-2 音调发生模块的仿真图(3)数控分频模块的仿真(如图4-3)图4-3数控分频模块仿真图(4)简易电子琴整个系统的仿真(如图4-4)图4-4简易电子琴整个系统的仿真图5 结束语经过努力,简易电子琴的设计基本上完成了。在整个设计过程中,包括前期中期和后期,我都有着许多不同的体会:1) 这个设计的基本是接触一门新的语言并加以应用,对于我来说,没有想到的是入手的速度比我的预料快,在以前编程的基础上,从接触到开始动手编程的时间得到了很大的缩短。知识的接收速度在很大的程度上决定了动手的时间。2) VHDL的编程与C语言的编程有着本质的不同,然而以往形成的旧编程习惯在VHDL编程中依然起着很大的作用。一通百通,不是没有道理的。对于学习新的知识并予以应用的信心,显得更足了。3) VHDL的设计关键是电路逻辑设计,而一个程序的关键是总体设计。对于硬件设计接触不多的我们清楚这一点也许不无好处。4)通过这个程序设计让我学会一种新的语言,对数字系统结构也有了更进一步的了解和认识,对我以后的学习有很大的帮助。希望其他人在看再做类似设计时有所借鉴。通过几天的课程设计,我对数据库软件EDA技术、VHDL、等系列知识都有了一定的了解。使用EDA技术开发页面的能力也有了很大提高。在整个设计过程中,有很多人对任务的完成给予了重要的支持和帮助。感谢老师给了我本次设计的机会并提供指导;感谢许多同学在我此课程设计遇到问题时给我的帮助使我能够顺利地进行设计的工作;论坛中有很多认识不认识的朋友也都为我的设计提出了很宝贵的建议,同样在这里感谢他们。参考文献《VHDL与数字电路设计》.卢毅, 赖杰. 科学出版社《VHDL语言100例详解——北京理工大学ASIC研究所》.北京理工大学ASIC研究所. 清华大学出版社《VHDL 程序设计》(第二版). 曾繁泰等. 清华大学出版社《VHDL入门与应用》陈雪松, 滕立中 .人民邮电出版社 《VHDL简明教程》.王小军 .清华大学出版社

毕业论文简易电子琴

在大学数学教学中,数学文化是一个非常重要的组成部分,是学习数学的精髓。下面是我为大家整理的,供大家参考。

一、在数学教学中渗透语言的艺术美

斯托利亚曾说:“数学教学也就是数学语言的教学。”数学作为一门逻辑性非常强的学科,虽然和其他学科相比具有其特殊性,但其语言和其他学科语言一样,也是一门艺术,因此,数学教学语言的艺术技巧显得非常重要。为此,数学教师要不断锤炼自己的语言,用精准、简明、形象、生动的数学语言激发学生的兴趣、启迪学生思维,并积极鼓励学生不断探索,可以有效地优化数学教学效果。如:在学习高中数学必修一幂函式性质时,我很神秘地说:同学们,你们知道的365次方和的365次方分别约等于多少?当同学们不知所措时,我给出答案:的365次方约等于,的365次方约等于,并解释这道题蕴含的哲理是:的365次方也就是说你每天进步一点,即使只有,一年365天后,你将进步很大,远远超过1;的365次方也就是说你每天退步一点点,即使只有,一年365天后,你将远远小于1,几乎接近于0,远远被人抛在后面。通过这样的语言,学生很快认识了幂函式的值如何随底数变化而变化。同时鼓励同学们珍惜时间,不断努力,坚持下去,一定会有进步。富有艺术之美的语言在数学教学中具有强大的生命力,教师要创造机会,让学生体会艺术的语言给我们带来的数学之美,让学生在语言中逐渐理解、提升。

二、在数学教学中感受、欣赏艺术美

通过讲解共轭复数、对称多项式、对称矩阵等,让学生感受数学代数对称之美;通过讲解轴对称、中心对称、互补、互逆、相似等,让学生感受数学几何对称之美等。在学习选修内容《数系的扩充与复数》时,讲到历史上曾一度被看做是“幻想中的数”的虚数,由于它带有某种奇异色彩,更能使学生产生幻想和揭示其奥妙的欲望,这也正是数学的神秘之美。学生在教师充满艺术美的教学中感美、欣赏美,学生的学习劲头倍增,必定会达到意想不到的效果。

三、在数学教学中建立艺术化教学环境

在学习高中数学必修五数列知识时,我请一位同学用电子琴现场表演节目,同学们一下子就被这个新颖、独特的课前引入吸引,在观看表演后不禁问,老师葫芦里卖什么药。接着我简要介绍电子琴的键盘,让学生了解到琴的键中其中5个黑键恰好就是著名的斐波那契数列中的前几个数。在同学们追问什么是斐波那契数列时,我说:同学想知道什么是斐波那契数列,那么就要先学习好是数列,这样一步一步带领学生探索知识。教育家罗伯特•特拉弗斯说:“教学之所以被称为具有独特的表演艺术,它区别于其他任何表演艺术,就是由教师与那些观看表演的人的关系所决定的。”毫无疑问,掌握一定课堂教学艺术的教师,就能够取得较好的教学效果。

四、总结

综上所述,把艺术教育巧妙地渗透到数学教学中,使数学教学的课堂变得丰富多彩,充满活力,让学生在学习数学知识的同时促进艺术教育的发展。

一、限制职业学校数学教学发展的主要因素

一学生数学基础普遍较差

从职业学校的生源来看,学生以初中生为主。他们对数学基础知识的掌握普遍较差,缺少数学学习的积极性和自信心。大部分学生对数学思想的掌握不够全面,没有清晰的数学思维和逻辑,对数学中的很多概念性知识的理解不到位,缺少解决综合问题的能力。由于训练量的缺失,很多学生的运算能力不过关,很容易在数学运算中出现错误。

二数学课程安排不尽合理

近些年来,职业学校纷纷提高了对专业课程教学和实习的重视,为专业课程安排了更多的教学课时。这大大压缩了数学教学的时间,使得职业学校数学教师们面临着课时少、内容多的难题。很多数学教师只能将教学重心放到追赶教学进度上,对于很多重难点做不到细致的讲解,课堂练习的机会更是少之又少,从而大大影响了数学课堂的教学质量。

二、职业学校数学课堂教学的改革方向

一深化思想认识,端正学生学习态度

要想真正提高职业学校数学课堂教学质量,必须从思想认识上提高重视程度,从学校和学生两个层面配合数学教学工作。职业学校在保证专业课程教学时间的同时,还要尽量增加数学教学的课时,避免出现教学时间少、教学任务重、数学教师满负荷工作的现象。教师要加强与学生的交流,充分了解学生对数学课程的看法,教会学生数学学习的方法,帮助学生端正数学学习的态度,让学生能够自觉配合教师工作,更积极地参与到数学教学中。

二转变教学方式,激发学生学习兴趣

深化职业学校数学课堂教学改革必须加快教学方式的转变,数学教师要注重培养学生学习主动性和积极性,改变传统“一言堂”的灌输式教学,突出学生的主体地位,将课堂还给学生。为此,数学教师在课堂中要注重角色的转变,从课堂的主导者转变为引导者,通过构建情境、设定问题等方式让学生对教学内容进行自主探究,让学生在不断的学习成功中获得自信,从而达到激发学生学习兴趣,提高学生课堂参与度的目的。

三注重能力培养,灵活安排内容

职业学校数学课程不仅是为了提高学生数学运算能力,还要为学生日后的专业实习和工作打好基础。数学教师在安排课堂教学内容时,虽然做到了面面俱到,各类数学知识点都有涉及,但这种重理论轻应用的教学安排,使得数学的实用性和灵活性受到限制。所以,在职业学校数学课堂教学改革中,数学教师要灵活安排教学课堂内容,将数学教学与教育实际相结合,提高专业的针对性,针对不同专业的学生安排不同的教学内容和教学方式,提高学生在专业范畴内解决问题的能力,让数学真正为学生的专业学习、工作提供帮助。

四改善师生关系,实现课下教学拓展

良好的师生关系对激发学生学习积极性、提高课堂学习质量有重要帮助。数学教师在课堂教学中,要努力利用生动、幽默的课堂语言拉近与学生的距离,消除学生对数学学习的恐惧感和牴触情绪,对于学生面临的数学难题,教师要耐心解答。除了在课堂学习中的帮助,教师在平时的生活中也要加强与学生的沟通,加深与学生之间的感情,并及时了解学生对教师教学方法的想法,以便及时对教学方法和教学内容进行调整,提高数学课堂的教学效果。数学课程是职业学校不可或缺的基础课程。深化职业学校数学课堂教学改革必须从深化思想认识、转变教学方式、注重能力培养、改善师生关系等方面入手,达到激发学生学习积极性、提高数学课堂的教学质量的目的,让职业学校为社会提供更多的创造性人才和实用型人才。、

楼主我这里有电子琴的单片机程序,做毕业设计那个我觉得还是自己做得好,因为你没懂的话论文答辩是过不了的。简易电子琴#include<> //包含51单片机寄存器定义的头文件sbit P14=P1^4; //将P14位定义为引脚sbit P15=P1^5; //将P15位定义为引脚sbit P16=P1^6; //将P16位定义为引脚sbit P17=P1^7; //将P17位定义为引脚unsigned char keyval; //定义变量储存按键值sbit sound=P3^7; //将sound位定义为 int C; //全局变量,储存定时器的定时常数unsigned int f; //全局变量,储存音阶的频率//以下是C调低音的音频宏定义#define l_dao 262 //将“l_dao”宏定义为低音“1”的频率262Hz#define l_re 286 //将“l_re”宏定义为低音“2”的频率286Hz#define l_mi 311 //将“l_mi”宏定义为低音“3”的频率311Hz#define l_fa 349 //将“l_fa”宏定义为低音“4”的频率349Hz#define l_sao 392 //将“l_sao”宏定义为低音“5”的频率392Hz#define l_la 440 //将“l_a”宏定义为低音“6”的频率440Hz#define l_xi 494 //将“l_xi”宏定义为低音“7”的频率494Hz//以下是C调中音的音频宏定义#define dao 523 //将“dao”宏定义为中音“1”的频率523Hz#define re 587 //将“re”宏定义为中音“2”的频率587Hz#define mi 659 //将“mi”宏定义为中音“3”的频率659Hz#define fa 698 //将“fa”宏定义为中音“4”的频率698Hz#define sao 784 //将“sao”宏定义为中音“5”的频率784Hz#define la 880 //将“la”宏定义为中音“6”的频率880Hz#define xi 987 //将“xi”宏定义为中音“7”的频率53//以下是C调高音的音频宏定义#define h_dao 1046 //将“h_dao”宏定义为高音“1”的频率1046Hz#define h_re 1174 //将“h_re”宏定义为高音“2”的频率1174Hz#define h_mi 1318 //将“h_mi”宏定义为高音“3”的频率1318Hz#define h_fa 1396 //将“h_fa”宏定义为高音“4”的频率1396Hz#define h_sao 1567 //将“h_sao”宏定义为高音“5”的频率1567Hz#define h_la 1760 //将“h_la”宏定义为高音“6”的频率1760Hz#define h_xi 1975 //将“h_xi”宏定义为高音“7”的频率1975Hz/**************************************************************函数功能:软件延时子程序**************************************************************/void delay20ms(void) {unsigned char i,j;for(i=0;i<100;i++)for(j=0;j<60;j++);}/*******************************************函数功能:节拍的延时的基本单位,延时200ms******************************************/void delay() {unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}/*******************************************函数功能:输出音频入口参数:F******************************************/void Output_Sound(void){C=(46083/f)*10; //计算定时常数TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法TR0=1; //开定时T0delay(); //延时200ms,播放音频TR0=0; //关闭定时器sound=1; //关闭蜂鸣器keyval=0xff; //播放按键音频后,将按键值更改,停止播放}/*******************************************函数功能:主函数******************************************/ void main(void){ EA=1; //开总中断ET0=1; //定时器T0中断允许ET1=1; //定时器T1中断允许TR1=1; //定时器T1启动,开始键盘扫描TMOD=0x10; //分别使用定时器T1的模式1,T0的模式0TH1=(65536-500)/256; //定时器T1的高8位赋初值TL1=(65536-500)%256; //定时器T1的高8位赋初值 while(1) //无限循环{switch(keyval){case 1:f=dao; //如果第1个键按下,将中音1的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 2:f=l_xi; //如果第2个键按下,将低音7的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 3:f=l_la; //如果第3个键按下,将低音6的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 4:f=l_sao; //如果第4个键按下,将低音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 5:f=sao; //如果第5个键按下,将中音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 6:f=fa; //如果第6个键按下,将中音4的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 7:f=mi; //如果第7个键按下,将中音3的频率赋给fOutput_Sound(); //转去计算定时常数 break; case 8:f=re; //如果第8个键按下,将中音2的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 9:f=h_re; //如果第9个键按下,将高音2的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 10:f=h_dao; //如果第10个键按下,将高音1的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 11:f=xi; //如果第11个键按下,将中音7的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 12:f=la; //如果第12个键按下,将中音6的频率赋给fOutput_Sound(); //转去计算定时常数 break; case 13:f=h_la; //如果第13个键按下,将高音6的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 14:f=h_sao; //如果第14个键按下,将高音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 15:f=h_fa; //如果第15个键按下,将高音4的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 16:f=h_mi; //如果第16个键按下,将高音3的频率赋给fOutput_Sound(); //转去计算定时常数 break; } } } /**************************************************************函数功能:定时器T0的中断服务子程序,使引脚输出音频方波**************************************************************/ void Time0_serve(void ) interrupt 1 using 1 {TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法 sound=!sound; //将引脚取反,输出音频方波}/**************************************************************函数功能:定时器T1的中断服务子程序,进行键盘扫描,判断键位**************************************************************/ void time1_serve(void) interrupt 3 using 2 //定时器T1的中断编号为3,使用第2组寄存器{TR1=0; //关闭定时器T0P1=0xf0; //所有行线置为低电平“0”,所有列线置为高电平“1”if((P1&0xf0)!=0xf0) //列线中有一位为低电平“0”,说明有键按下{delay20ms(); //延时一段时间、软件消抖if((P1&0xf0)!=0xf0) //确实有键按下{P1=0xfe; //第一行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=1; //可判断是S1键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=2; //可判断是S2键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=3; //可判断是S3键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=4; //可判断是S4键被按下P1=0xfd; //第二行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=5; //可判断是S5键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=6; //可判断是S6键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=7; //可判断是S7键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=8; //可判断是S8键被按下P1=0xfb; //第三行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=9; //可判断是S9键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=10; //可判断是S10键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=11; //可判断是S11键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=12; //可判断是S12键被按下P1=0xf7; //第四行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=13; //可判断是S13键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=14; //可判断是S14键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=15; //可判断是S15键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=16; //可判断是S16键被按下}}TR1=1; //开启定时器T1TH1=(65536-500)/256; //定时器T1的高8位赋初值TL1=(65536-500)%256; //定时器T1的高8位赋初值 }

下面的都是毕业论文范文,有用的话,请给我红旗LMX2350/LMX2352芯片简介及电路设计基于LMX2306/16/26 芯片简介及应用电路设计 基于LT5500f 的 GHzLNA/混频器电路设计基于LT5517 40MHZ到90NHZ 积分解调器的设计基于LT5527的400MHz至高信号电平下变频混频器电路设计基于LT5572的芯片简介及应用电路设计基于LT5516的芯片简介及应用电路设计 基于MAX2039的芯片简介及应用电路设计 基于MAX2102/MAX2105芯片简介及应用电路设计基于MAX2106 芯片简介及应用电路设计 基于MAX2323/MAX2325 的芯片简介及应用电路设计 基于MAX2338芯片简介及应用电路设计 基于MAX2511的芯片简介及应用电路设计 基于MAX2685的芯片简介及应用电路设计 基于MAX2753的芯片简介及应用电路设计基于MAX9981芯片简介及应用电路设计基于MAX9994的芯片简介及应用电路设计 基于MAX9995的芯片简介及应用电路设计基于MC12430的芯片简介及应用电路设计基于MC88920芯片简介及应用电路设计基于MPC97H73的简介及电路设计基于MPC9229 芯片简介及应用电路设计 基于mpc9239芯片简介及应用电路设计 基于MPC9992 芯片简介及应用电路设计基于mpc92433芯片的简介及应用电路设计基于TQ5121的无线数据接收器电路设计基于TQ5135的芯片简介及应用电路设计基于TQ5631 3V PCS波段CDMA射频放大混频器电路设计语音信号处理技术及应用网络文档发放与认证管理系统网络配置管理对象分析与应用三维激光扫描仪中图像处理快速算法设计基于分形的自然景物图形的生成图像压缩编码基于奇异值分解的数字图像水印算法研究数字图象融合技术汽车牌照定位与分割技术的研究焦炉立火道温度软测量模型设计加热炉的非线性PID控制算法研究直接转矩控制交流调速系统的转矩数字调节器无线会议系统的设计温度检测控制仪器简易远程心电监护系统基于LabVIEW的测试结果语音表达系统程控交换机房环境监测系统设计单片机控制的微型频率计设计基于DSP的短波通信系统设计(射频单元)等精度数字频率计不对称半桥直直变换器仿真研究基于MATLAB的直流电动机双闭环调速系统无线传输应变型扭矩仪模糊控制在锅炉焊接过程中的应用三层结构的工作流OA的应用与实现基于的永磁直线电机的有限元分析及计算音频信号的数字水印技术低压CMOS零延迟1:11时钟发生器基于ADF4116/4117/4118的芯片简介及应用电路设计ADF4193芯片简介及应用电路设计LMX2310U/LMX2311U/LMX2312U/LMX2313U芯片简介及应用电路设计MAX2754芯片简介及应用电路设计MPC92432芯片简介及应用电路设计高增益矢量乘法器基于400MSPS 14-Bit,直接数字合成器AD9951基于900MHz低压LVPECL时钟合成器的电路设计基于 MAX2450芯片简介及应用电路设计基于AD831低失真有源混频器的电路设计基于AD7008的芯片简介及应用电路设计基于AD8341 芯片简介及应用电路设计基于AD8348的50M-1000M正交解调器基于AD8349的简介及应用电路设计基于AD9511的简介及电路应用基于AD9540的芯片简介及电路设计基于AD9952的芯片简介和应用电路设计基于ADF436的集成数字频率合成器与压控振荡器基于ADF4007简介及电路设计基于ADF4110/ADF4111/ADF4112/ADF4113上的应用电路设计基于ADF4154的芯片简介及应用电路设计基于ADF4360-0的芯片简介及应用电路设计基于ADF4360-3电路芯片简介及应用电路设计基于ADF4360-6的简介及应用电路设计基于ADF4360-7的集成整形N合成器的压控振荡器基于ADL5350的简介及应用电路设计基于CMOS 200 MHZ数字正交上变频器设计基于CMOS 的AD9831芯片数字频率合成器的电路设计基于CX3627ERDE的芯片简介及应用电路设计基于CXA3275Q的芯片简介及应用电路设计基于CXA3556N的芯片简介及应用电路设计基于IMA-93516的芯片简介及应用电路设计VPN技术研究UCOSII在FPGA上的移植IPTV影音信号传输网络设计GSM移动通信网络优化的研究与实现 FSK调制系统DSP处理GPS接收数据的应用研究Boot Loader在嵌入式系统中的应用ADS宽带组网与测试基于FPGA的IIR滤波器设计MP3宽带音频解码关键技术的研究与实现基本门电路和数值比较器的设计编码器和译码器的设计智力竞赛抢答器移位寄存器的设计与实现四选一数据选择器和基本触发器的设计四位二进制加法器和乘法器数字钟的设计与制作数字秒表的设计数控分频器及其应用汽车尾灯控制器的设计交通灯控制器的设计简易电子琴的设计简单微处理器的设计DSP最小系统的设计与开发基于消息队列机制(MSMQ)的网络监控系统基于DSP的电机控制的研究基于数学形态学的织物经纬密度的研究纱条均匀度测试的研究 图像锐化算法的研究及其DSP实现 手写体数字识别有限冲击响应滤波器的设计及其DSP实现 同步电机模型的MATLAB仿真USB通信研究及其在虚拟仪器中的应用设计WLAN的OFDM信道估计算法研究采用S12交换机支持NGN下MEGACO呼叫流程的设计基于语音信号预测编码的数据压缩算法的研究与实现基于小波变换数字图像水印盲算法基于小波变换和神经网络的短期负荷预测研究嵌入式系统建模仿真环境PtolemyII的研究与应用分布式计算环境的设计与实现复合加密系统中DES算法的实现大学自动排课算法设计与实现基于AES的加密机制的实现基于AES算法的HASH函数的设计与应用基于DM642的视频编码器优化和实现基于Huffman编码的数据压缩算法的研究与实现基于internet的嵌入式远程测控终端研制基于Matlab的FMCW(调频连续波)的中频正交处理和脉冲压缩处理 基于MATLAB的对称振子阻抗特性和图形仿真基于windows的串口通信软件设计基于粗糙集和规则树的增量式知识获取算法自适应蚁群算法在DNA序列比对中的应用远程监护系统的数据记录与传输技术研究基于分布式体系结构的工序调度系统的设计基于活动图像编码的数据压缩算法的设计与实现基于宽带声音子带编码的数据压缩算法的设计与实现基于网络数据处理XML技术的设计基于小波变换的数据压缩算法的研究与实现基于小波变换的配电网单相接地故障定位研究及应用英特网上传输文件的签名与验证程序

简易电子琴的设计毕业论文

现在基本都用采样琴了。。。。

简易电子琴的设计摘 要 随着基于CPLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制用计算机等领域的重要性日益突出。作为一个学电子信息专业的学生,我们必须不断地了解更多的新产品信息,这就更加要求我们对EDA有个全面的认识。本程序设计的是简易电子琴的设计。采用EDA作为开发工具,VHDL语言为硬件描述语言,MAX + PLUS II作为程序运行平台,所开发的程序通过调试运行、波形仿真验证,初步实现了设计目标。本程序使用的硬件描述语言VHDL,可以大大降低了硬件数字系统设计的入门级别,让人感觉就是C语言的近亲。通过老师的指导和自己的学习完成了预想的功能。关键词 电子琴;课程设计;EDA;VHDL1 引言 课程设计的目的巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,通过对一个简易的八音符电子琴的设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。巩固所学课堂知识,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。为了进一步了解计算机组成原理与系统结构,深入学习EDA技术,用VHDL语言去控制将会使我们对本专业知识可以更好地掌握。 课程设计的内容(1)设计一个简易的八音符电子琴,它可通过按键输入来控制音响。(2)演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存入的乐曲。(3)能够自动演奏多首乐曲,且每首乐曲可重复演奏。2 开发工具简介 EDA技术EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL( Hardware Description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。也就是说,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。适配器的功能是将由综合器产生的王表文件配置与指定的目标器件中,产生最终的下载文件,如JED文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于在综合器中已指定的目标器件系列。硬件描述语言HDL是相对于一般的计算机软件语言,如:C、PASCAL而言的。HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。目前,就FPGA/CPLD开发来说,比较常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。硬件描述语言—VHDLVHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。(1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(4) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 VHDL的设计流程:(1) 设计输入根据电路设计所提出的要求,将程序输入到VHDL编辑器中去编辑。(2) 功能级模拟用VHDL,模拟器对编辑后的程序进行模拟,如果达不到设计要求,则可以重新修改程序,直到通过功能模拟。(3) 逻辑综合与优化 将通过功能模拟的程序放到VHDL编译器中,进行逻辑综合与优化。(4) 门级模拟对电路用VHDL。仿真器仿真。可对门级电路的延时、定时状态、驱动能力等进行仿真。如不符合要求,可重复步骤(3),再门级模拟,直到符合要求止。(5) 版图生成 用相应的软件处理后,就可以拿去制版。设计过程设计规划根据系统设计要求,系统设计采用自顶向下的设计方法,系统的整体组装设计原理图如图3-1所示,它由乐曲自动演奏模块、音调发生模块和数控分频模块三部分组成。图3-1 系统的整体组装设计原理图 各模块的原理及其程序(1)乐曲自动演奏模块乐曲自动演奏模块()的作用是产生8位发声控制输入信号/当进行自动演奏时,由存储在此模块中的8位二进制数作为发声控制输入,从而自动演奏乐曲。VHDL源程序()LIBRARY IEEE;USE ;USE ;USE ;ENTITY AUTO ISPORT ( CLK : IN STD_LOGIC;AUTO : IN STD_LOGIC;CLK2 : BUFFER STD_LOGIC;INDEX2 : IN STD_LOGIC_VECTOR(7 DOWNTO 0);INDEX0 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END AUTO;ARCHITECTURE BEHAVIORAL OF AUTO ISSIGNAL COUNT0: INTEGER RANGE 0 TO 31;BEGINPULSE0 :PROCESS(CLK,AUTO)VARIABLE COUNT :INTEGER RANGE 0 TO 8;BEGINIF AUTO ='1' THENCOUNT := 0;CLK2<='0';ELSIF(CLK'EVENT AND CLK ='1')THENCOUNT :=COUNT +1;IF COUNT =4 THENCLK2 <='1';ELSIF COUNT =8 THENCLK2<='0'; COUNT:=0;END IF ;END IF ;END PROCESS;MUSIC:PROCESS(CLK2)BEGINIF (CLK2'EVENT AND CLK2='1')THENIF (COUNT0=31)THENCOUNT0<=0;ELSECOUNT0<=COUNT0+1;END IF ;END IF ;END PROCESS;COM1:PROCESS(COUNT0,AUTO,INDEX2)BEGINIF AUTO ='0' THENCASE COUNT0 ISWHEN 0=>INDEX0<="00000100"; --3WHEN 1=>INDEX0<="00000100"; --3WHEN 2=>INDEX0<="00000100"; --3WHEN 3=>INDEX0<="00000100"; --3WHEN 4=>INDEX0<="00010000"; --5WHEN 5=>INDEX0<="00010000"; --5WHEN 6=>INDEX0<="00010000"; --5WHEN 7=>INDEX0<="00100000"; --6WHEN 8=>INDEX0<="10000000"; --8WHEN 9=>INDEX0<="10000000"; --8WHEN 10=>INDEX0<="10000000"; --8WHEN 11=>INDEX0<="00000100"; --3WHEN 12=>INDEX0<="00000010"; --2WHEN 13=>INDEX0<="00000010"; --2WHEN 14=>INDEX0<="00000001"; --1WHEN 15=>INDEX0<="00000001"; --1WHEN 16=>INDEX0<="00010000"; --5WHEN 17=>INDEX0<="00010000"; --5WHEN 18=>INDEX0<="00001000"; --4WHEN 19=>INDEX0<="00001000"; --4WHEN 20=>INDEX0<="00001000"; --4WHEN 21=>INDEX0<="00000100"; --3WHEN 22=>INDEX0<="00000010"; --2WHEN 23=>INDEX0<="00000010"; --2WHEN 24=>INDEX0<="00010000"; --5WHEN 25=>INDEX0<="00010000"; --5WHEN 26=>INDEX0<="00001000"; --4WHEN 27=>INDEX0<="00001000"; --4WHEN 28=>INDEX0<="00000100"; --3WHEN 29=>INDEX0<="00000100"; --3WHEN 30=>INDEX0<="00000010"; --2WHEN 31=>INDEX0<="00000010"; --2WHEN OTHERS =>NULL;END CASE;ELSE INDEX0<=INDEX2;END IF;END PROCESS;END BEHAVIORAL;(2) 音调发生模块音调发生模块的作用是产生音阶的分频预置值。当8位发声控制输入信号中的某一位为高电平时,则对应某一音节的数值将输出,该数值即为该音阶的分频预置值,分频预置值控制数控分频模块进行分频,由此可得到每个音阶对应的频率。VHDL源程序()LIBRARY IEEE;USE ;USE ;USE ;ENTITY TONE ISPORT (INDEX: IN STD_LOGIC_VECTOR(7 DOWNTO 0);CODE: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HIGH: OUT STD_LOGIC;TONE0: OUT INTEGER RANGE 0 TO 2047);END TONE;ARCHITECTURE ART OF TONE ISBEGINSEARCH : PROCESS(INDEX)BEGINCASE INDEX ISWHEN "00000001"=>TONE0 <=773;CODE<="1001111";HIGH<='1';WHEN "00000010"=>TONE0 <=912;CODE<="0010010";HIGH<='1';WHEN "00000100"=>TONE0 <=1036;CODE<="0000110";HIGH<='1';WHEN "00001000"=>TONE0 <=1116;CODE<="1001100";HIGH<='1';WHEN "00010000"=>TONE0 <=1197;CODE<="0100100";HIGH<='1';WHEN "00100000"=>TONE0 <=1290;CODE<="0100000";HIGH<='0';WHEN "01000000"=>TONE0 <=1372;CODE<="0001111";HIGH<='0';WHEN "10000000"=>TONE0 <=1410;CODE<="0000000";HIGH<='0';WHEN OTHERS =>TONE0<=2047;CODE<="0000001";HIGH<='0';END CASE;END PROCESS;END ART;(3) 数控分频模块数控分频模块是对时基脉冲进行分频,得到与1、2、3、4、5、6、7七个音符相对应的频率。VHDL源程序()LIBRARY IEEE;USE ;USE ;USE ;ENTITY FENPIN ISPORT(CLK1: IN STD_LOGIC;TONE1: IN INTEGER RANGE 0 TO 2047;SPKS: OUT STD_LOGIC);END ENTITY FENPIN;ARCHITECTURE ART OF FENPIN ISSIGNAL PRECLK:STD_LOGIC;SIGNAL FULLSPKS:STD_LOGIC;BEGINPROCESS(CLK1)VARIABLE COUNT:INTEGER RANGE 0 TO 8;BEGINIF (CLK1'EVENT AND CLK1='1')THENCOUNT:=COUNT +1;IF COUNT=2 THENPRECLK<='1';ELSIF COUNT =4 THENPRECLK<='0';COUNT:=0;END IF ;END IF ;END PROCESS;PROCESS(PRECLK,TONE1)VARIABLE COUNT11:INTEGER RANGE 0 TO 2047;BEGINIF (PRECLK'EVENT AND PRECLK='1')THENIF COUNT11CLK32MHZ,INDEX2=>INDEX1,INDEX0=>INDX,AUTO=>HANDTOAUTO);U1:TONEPORTMAP(INDEX=>INDX,TONE0=>TONE2,CODE=>CODE1,HIGH=>HIGH1);U2:FENPIN PORT MAP(CLK1=>CLK32MHZ,TONE1=>TONE2,SPKS=>SPKOUT);END ART;4 波形仿真(1)乐曲自动演奏模块的仿真(如图4-1所示)图4-1乐曲自动演奏模块的仿真图(2)音调发生模块的仿真(如图4-2)图4-2 音调发生模块的仿真图(3)数控分频模块的仿真(如图4-3)图4-3数控分频模块仿真图(4)简易电子琴整个系统的仿真(如图4-4)图4-4简易电子琴整个系统的仿真图5 结束语经过努力,简易电子琴的设计基本上完成了。在整个设计过程中,包括前期中期和后期,我都有着许多不同的体会:1) 这个设计的基本是接触一门新的语言并加以应用,对于我来说,没有想到的是入手的速度比我的预料快,在以前编程的基础上,从接触到开始动手编程的时间得到了很大的缩短。知识的接收速度在很大的程度上决定了动手的时间。2) VHDL的编程与C语言的编程有着本质的不同,然而以往形成的旧编程习惯在VHDL编程中依然起着很大的作用。一通百通,不是没有道理的。对于学习新的知识并予以应用的信心,显得更足了。3) VHDL的设计关键是电路逻辑设计,而一个程序的关键是总体设计。对于硬件设计接触不多的我们清楚这一点也许不无好处。4)通过这个程序设计让我学会一种新的语言,对数字系统结构也有了更进一步的了解和认识,对我以后的学习有很大的帮助。希望其他人在看再做类似设计时有所借鉴。通过几天的课程设计,我对数据库软件EDA技术、VHDL、等系列知识都有了一定的了解。使用EDA技术开发页面的能力也有了很大提高。在整个设计过程中,有很多人对任务的完成给予了重要的支持和帮助。感谢老师给了我本次设计的机会并提供指导;感谢许多同学在我此课程设计遇到问题时给我的帮助使我能够顺利地进行设计的工作;论坛中有很多认识不认识的朋友也都为我的设计提出了很宝贵的建议,同样在这里感谢他们。参考文献《VHDL与数字电路设计》.卢毅, 赖杰. 科学出版社《VHDL语言100例详解——北京理工大学ASIC研究所》.北京理工大学ASIC研究所. 清华大学出版社《VHDL 程序设计》(第二版). 曾繁泰等. 清华大学出版社《VHDL入门与应用》陈雪松, 滕立中 .人民邮电出版社 《VHDL简明教程》.王小军 .清华大学出版社

简易电子琴设计 你可以到网上参考一些图片什么的

楼主我这里有电子琴的单片机程序,做毕业设计那个我觉得还是自己做得好,因为你没懂的话论文答辩是过不了的。简易电子琴#include<> //包含51单片机寄存器定义的头文件sbit P14=P1^4; //将P14位定义为引脚sbit P15=P1^5; //将P15位定义为引脚sbit P16=P1^6; //将P16位定义为引脚sbit P17=P1^7; //将P17位定义为引脚unsigned char keyval; //定义变量储存按键值sbit sound=P3^7; //将sound位定义为 int C; //全局变量,储存定时器的定时常数unsigned int f; //全局变量,储存音阶的频率//以下是C调低音的音频宏定义#define l_dao 262 //将“l_dao”宏定义为低音“1”的频率262Hz#define l_re 286 //将“l_re”宏定义为低音“2”的频率286Hz#define l_mi 311 //将“l_mi”宏定义为低音“3”的频率311Hz#define l_fa 349 //将“l_fa”宏定义为低音“4”的频率349Hz#define l_sao 392 //将“l_sao”宏定义为低音“5”的频率392Hz#define l_la 440 //将“l_a”宏定义为低音“6”的频率440Hz#define l_xi 494 //将“l_xi”宏定义为低音“7”的频率494Hz//以下是C调中音的音频宏定义#define dao 523 //将“dao”宏定义为中音“1”的频率523Hz#define re 587 //将“re”宏定义为中音“2”的频率587Hz#define mi 659 //将“mi”宏定义为中音“3”的频率659Hz#define fa 698 //将“fa”宏定义为中音“4”的频率698Hz#define sao 784 //将“sao”宏定义为中音“5”的频率784Hz#define la 880 //将“la”宏定义为中音“6”的频率880Hz#define xi 987 //将“xi”宏定义为中音“7”的频率53//以下是C调高音的音频宏定义#define h_dao 1046 //将“h_dao”宏定义为高音“1”的频率1046Hz#define h_re 1174 //将“h_re”宏定义为高音“2”的频率1174Hz#define h_mi 1318 //将“h_mi”宏定义为高音“3”的频率1318Hz#define h_fa 1396 //将“h_fa”宏定义为高音“4”的频率1396Hz#define h_sao 1567 //将“h_sao”宏定义为高音“5”的频率1567Hz#define h_la 1760 //将“h_la”宏定义为高音“6”的频率1760Hz#define h_xi 1975 //将“h_xi”宏定义为高音“7”的频率1975Hz/**************************************************************函数功能:软件延时子程序**************************************************************/void delay20ms(void) {unsigned char i,j;for(i=0;i<100;i++)for(j=0;j<60;j++);}/*******************************************函数功能:节拍的延时的基本单位,延时200ms******************************************/void delay() {unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}/*******************************************函数功能:输出音频入口参数:F******************************************/void Output_Sound(void){C=(46083/f)*10; //计算定时常数TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法TR0=1; //开定时T0delay(); //延时200ms,播放音频TR0=0; //关闭定时器sound=1; //关闭蜂鸣器keyval=0xff; //播放按键音频后,将按键值更改,停止播放}/*******************************************函数功能:主函数******************************************/ void main(void){ EA=1; //开总中断ET0=1; //定时器T0中断允许ET1=1; //定时器T1中断允许TR1=1; //定时器T1启动,开始键盘扫描TMOD=0x10; //分别使用定时器T1的模式1,T0的模式0TH1=(65536-500)/256; //定时器T1的高8位赋初值TL1=(65536-500)%256; //定时器T1的高8位赋初值 while(1) //无限循环{switch(keyval){case 1:f=dao; //如果第1个键按下,将中音1的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 2:f=l_xi; //如果第2个键按下,将低音7的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 3:f=l_la; //如果第3个键按下,将低音6的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 4:f=l_sao; //如果第4个键按下,将低音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 5:f=sao; //如果第5个键按下,将中音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 6:f=fa; //如果第6个键按下,将中音4的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 7:f=mi; //如果第7个键按下,将中音3的频率赋给fOutput_Sound(); //转去计算定时常数 break; case 8:f=re; //如果第8个键按下,将中音2的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 9:f=h_re; //如果第9个键按下,将高音2的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 10:f=h_dao; //如果第10个键按下,将高音1的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 11:f=xi; //如果第11个键按下,将中音7的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 12:f=la; //如果第12个键按下,将中音6的频率赋给fOutput_Sound(); //转去计算定时常数 break; case 13:f=h_la; //如果第13个键按下,将高音6的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 14:f=h_sao; //如果第14个键按下,将高音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 15:f=h_fa; //如果第15个键按下,将高音4的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 16:f=h_mi; //如果第16个键按下,将高音3的频率赋给fOutput_Sound(); //转去计算定时常数 break; } } } /**************************************************************函数功能:定时器T0的中断服务子程序,使引脚输出音频方波**************************************************************/ void Time0_serve(void ) interrupt 1 using 1 {TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法 sound=!sound; //将引脚取反,输出音频方波}/**************************************************************函数功能:定时器T1的中断服务子程序,进行键盘扫描,判断键位**************************************************************/ void time1_serve(void) interrupt 3 using 2 //定时器T1的中断编号为3,使用第2组寄存器{TR1=0; //关闭定时器T0P1=0xf0; //所有行线置为低电平“0”,所有列线置为高电平“1”if((P1&0xf0)!=0xf0) //列线中有一位为低电平“0”,说明有键按下{delay20ms(); //延时一段时间、软件消抖if((P1&0xf0)!=0xf0) //确实有键按下{P1=0xfe; //第一行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=1; //可判断是S1键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=2; //可判断是S2键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=3; //可判断是S3键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=4; //可判断是S4键被按下P1=0xfd; //第二行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=5; //可判断是S5键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=6; //可判断是S6键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=7; //可判断是S7键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=8; //可判断是S8键被按下P1=0xfb; //第三行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=9; //可判断是S9键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=10; //可判断是S10键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=11; //可判断是S11键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=12; //可判断是S12键被按下P1=0xf7; //第四行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=13; //可判断是S13键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=14; //可判断是S14键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=15; //可判断是S15键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=16; //可判断是S16键被按下}}TR1=1; //开启定时器T1TH1=(65536-500)/256; //定时器T1的高8位赋初值TL1=(65536-500)%256; //定时器T1的高8位赋初值 }

声光电子琴设计目的毕业论文

电子信息工程毕业论文题目参考

论文写作,简单的说,就是大专院校毕业论文的写作,包含着本科生的学士论文,研究生的硕士论文,博士生的博士论文,延伸到了职称论文的写作以及科技论文的写作。论文的题目是论文的关键,有画龙点睛之效。下面是我为大家整理的电子信息工程毕业论文题目,大家不妨多加参考。

1.基于单片机的火灾报警器设计

2.基于NE555的触摸式报警器

3.数字密码锁设计

4.基于单片机智能电子时钟设计及应用

5.流水灯控制电路设计

6.简易单片机控制电路实验开发板

7.全自动洗衣机自动控制电路部分设计

8.基于单片机的八路抢答器的设计及PCB板的设计

9.基于单片机的数字温度计的设计

10.仓库温湿度的监测系统

11.直流稳压电源的制作

12.步进电机的单片机控制系统

13.单片机交通灯管理系统

单片机交通灯控制系统制作

15.基于单片机的步进电机系统设计

16.基于WML的学生网站开发

17.基于单片机的电子密码锁

18.单片机驱动步进电机控制系统的设计

19.基于单片机的流水灯设计

显示屏动态显示及其远程控制

21.基于DSP的高速多通道同步数据采集系统

22.篮球竞赛30S计时器

位数字抢答器

24.一种实用型心率计的设计

25.温度测控系统的设计

26.药品生产线上的药丸控制电路设计

27.基于选修课程的网站设计

28.基于单片机的交通灯设计

29.单片机控制的数字触发器

30.温度测控系统

31.基于单片机的数字时钟设计

32.篮球30秒定时器

33.电子万年历

34.基于单片机的智能节水控制器设计

35.嵌入式通用I/O键盘应用设计

36.数码显示的八路抢答器设计

37.基于PLC的四路抢答器设计

38.基于单片机的数字电子钟的`设计

39.超外差中波调幅收音机的组装及调试

40.基于单片机的无线电数字发射系统设计

41.基于80C51的智能汽车自控系统的设计

实现十字路交通灯自动控制

43.智能型充电器的电源和显示设计

44.基于单片机的电子时钟设计及应用

45.基于单片机的智能电子时钟的设计及应用

46.超外差中波调幅收音机组装及调试

47.基于USB接口的步进电机控制的研究与实现

48.基于单片机的电子琴设计

49.基于FPGA的直序扩频通信研究与设计

50.基于单片机的发射机控制系统

51.声光报警器的设计与研究

52.单片机电源

53.基于P87LPC768的电机控制系统

54.基于单片机的LCD电子钟设计

55.音响放大器的设计

56.超外差收音机制作及分析研究

频带传输系统的设计与实现

58.基于单片机智能电子钟的设计

与串行接口转换器的设计

60.基于FPGA的数字频率计的设计

1.卷积编码和维特比译码的FPGA实现

音频编译码算法研究与FPGA实现

调制解调技术研究及FPGA仿真实现

4.基于FPGA的高斯白噪声发生器设计与实现

5.无线通信系统选择分集技术研究

系统空时分组编码的性能研究

7.基于量子烟花算法的认知无线电频谱分配技术研究

8.基于量子混沌神经网络的鲁棒多用户检测器

9.无线紫外光多址通信关键技术研究

10.认知无线电网络的频谱分配算法

11.基于软件无线电的多制式通信信号产生器设计与实现

12.开关电源EMI滤波器的设计

13.反激式电源传导噪声模态分离技术的研究

14.核电磁脉冲源辐射的数值仿真

15.基于MATLAB的扩频通信系统及同步性能仿真

16.一种多频带缝隙天线的设计

调制解调器及同步性能的仿真分析

18.跳频频率合成器的设计

系统子载波间干扰性能分析

20.复合序列扩频通信系统同步方法的研究

21.基于DDS+PLL的频率源设计

22.基于训练序列的OFDM系统同步技术的研究

23.正交频分复用通信系统设计及性能研究

技术研究及其性能比较

25.基于蓝牙的单片机无线通信研究

26.物联网智能温室控制系统中远程信息无线传输的研究

27.船载AIS通信系统调制器的设计与实现

28.基于FPGA的16QAM调制器设计与实现

29.基于多载波通信的信道化技术研究

30.简易无线通信信号分析与测量装置

你好,同学,你的开题报告老师让你往哪个方向写?开题报告有什么要求呢开题报告是需要多少字呢你可以告诉我具体的排版格式要求,希望可以帮到你,祝开题报告选题通过顺利。 1、研究背景研究背景即提出问题,阐述研究该课题的原因。研究背景包括理论背景和现实需要。还要综述国内外关于同类课题研究的现状:①人家在研究什么、研究到什么程度?②找出你想研究而别人还没有做的问题。③他人已做过,你认为做得不够(或有缺陷),提出完善的想法或措施。④别人已做过,你重做实验来验证。2、目的意义目的意义是指通过该课题研究将解决什么问题(或得到什么结论),而这一问题的解决(或结论的得出)有什么意义。有时将研究背景和目的意义合二为一。3、成员分工成员分工应是指课题组成员在研究过程中所担负的具体职责,要人人有事干、个个担责任。组长负责协调、组织。4、实施计划实施计划是课题方案的核心部分,它主要包括研究内容、研究方法和时间安排等。研究内容是指可操作的东西,一般包括几个层次:⑴研究方向。⑵子课题(数目和标题)。⑶与研究方案有关的内容,即要通过什么、达到什么等等。研究方法要写明是文献研究还是实验、调查研究?若是调查研究是普调还是抽查?如果是实验研究,要注明有无对照实验和重复实验。实施计划要详细写出每个阶段的时间安排、地点、任务和目标、由谁负责。若外出调查,要列出调查者、调查对象、调查内容、交通工具、调查工具等。如果是实验研究,要写出实验内容、实验地点、器材。实施计划越具体,则越容易操作。5、可行性论证可行性论证是指课题研究所需的条件,即研究所需的信息资料、实验器材、研究经费、学生的知识水平和技能及教师的指导能力。另外,还应提出该课题目前已做了哪些工作,还存在哪些困难和问题,在哪些方面需要得到学校和老师帮助等等。6、预期成果及其表现形式预期成果一般是论文或调查(实验)报告等形式。成果表达方式是通过文字、图片、实物和多媒体等形式来表现。

相关百科
热门百科
首页
发表服务