版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要 随着社会的发展,音乐渐渐成为我们生活中很重要的一部。在忙碌的生活中,我们总会抽空欣赏喜爱的歌曲,作为对精神的洗礼和心灵的升华。本论文设计一个基于单片机的简易电子琴。生活中,我们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等很好奇。电子琴是现代电子科技与音乐结合的产物,是一种新型的电子键盘乐器。它在现代音乐中扮演着非常重要的角色,形形色色的物品已经表明单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的现代生活的一部分。本设计的主要内容是用at89s51单片机为核心控制元件,设计一个多功能电子琴。拥有弹奏和自动播放功能。
2、关键词:at89s51单片机 音色 弹奏 自动放音 目 录引 言11 方案论证21.1 控制模块选择方案21.2 设计目标21.3 按键选择方案22 系统设计32.1 系统组成及总体框图32.2元件简介32.2.1 at89s5132.2.2 led数码管52.3显示电路62.4 各功能模块原理图和工作原理62.4.1 at89s51模块电路原理图62.4.2键盘扫描模块电路原理图72.4.3键盘扫描模块的工作原理72.4.4 数码管工作原理及电路图102.4.5音乐播放设计122.4.6音频模块电路原理图132.4.7 二极管显示模块152.4.8 键盘控制单片机模式模块173 仿真模型构建
3、173.1如何用单片机实现音乐的节拍173.2如何用单片机产生音频脉冲183.3系统总体功能流程图194 电路仿真194.1 isis软件介绍194.2 keil 简介204.3仿真图介绍214.4系统调试214.4.1硬件调试214.4.2 软件调试224.5仿真图225 仿真和调试结论235.1不足之处235.2研究展望23参考文献24致 谢25abstract26附件27引 言 单片微型计算机是大规模集成电路技术发展的产物,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术发生变革。因此,单片机的开发应用早已经成为高科技和工程领域的一项重大课
4、题。 本设计的主要内容是用at89s51单片机为核心控制元件,设计一个多功能电子琴。以单片机作为主控核心,与键盘、扬声器、lcd等模块组成核心主控制模块,在主控模块上设有18个按键和扬声器。 本设计主要对使用单片机设计多功能电子琴进行了分析,并介绍了基于单片机电子琴系统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要的音乐。并且本设计分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,便构成我们所想要的音乐了。随着电子科技的快速发展,电子技术正在渐渐改善着人们
5、的学习、生活、工作等各个方面,因此开发本系统希望能够给人们多带来一点生活上的乐趣。由于当前市场上的玩具需求量大,其中电子琴就是一个很好的应用方面。单片机技术可以使我们利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。 电子琴是电子科技与音乐结合的产物,是一种非常流行的键盘乐器。虽然单片机出现的历史并不长,但发展十分迅猛,在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。目前单片机已用于工业控制、机电一体化设备、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗设备及家用电器等各个领域,随着单片机性能的不断提高,它的应用将会更加广泛。单
6、片机技术发展非常快,所以目前的产品都致力于在功能全面、技术先进、操作简便、安全可靠、价格合理等方面进行仔细研究,精心设计;及时掌握最新的单片机技术,在条件允许的情况下,尽可能地利用最新的单片机技术来研制其应用系统,再利用单片机体积小、价格低、功能强等特点,以保证所设计的产品在未来的一段时间内仍具生命力。在生活和生产的各个领域中,凡是有自动控制要求的地方都会有单片机的身影出现。现在,虽然单片机的应用已经很普遍了,可是仍有许多可以用它来控制而未实现的项目,因此,单片机的应用大有可以想象和拓展的空间。1 方案论证1.1 控制模块选择方案 方案一:用可控硅制作电子琴。将220v交流电经变压器降压,再经
7、过整流、滤波,获得+13.5v直流电压。将单向可控硅scr和电阻、电容组成驰张振荡器电路。但该设计方案制作成本高且复杂。方案二: 采用at89c51单片机进行控制,由于at89c51不具备isp功能,因此atmel公司已经停产在市面上已经不常见,况且其rom只有4k在系统将来升级方面没有潜力。方案三:采用at89s51单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到8k,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能提高。鉴于上述对比与分析,本设计采用方案三 。1.2 设计目标由于本设计主要用于人们娱乐方面,因此在设计上尽量使其安
8、全以及简单易操作。其次,在这次设计可行性上进行分析如下:1、经济可行性:所谓经济可行性,即在这次设计上需要投入资金的多少,由于毕业设计是没有项目资金,没有开发经费,因此在经济上必须能够承受,比较理想化的项目对于我们毕业设计来说是不可行的。通过分析后,无论是在器件价格或是常见度上均是可行的。2、技术可行性:技术可行性主要是分析技术条件上是否能够顺利开展并完成开发工作,硬件、软件能否满足设计者的需要等。通过分析各种软件环境,硬件仿真环境等均已经具备。综上所述,本系统设计目标已经明确,在经济与技术上均可行,因此本系统的开发是完全可行的。1.3 按键选择方案传统电子琴可以用键盘上的“1”到“a”键演奏
9、从低so到高do等11音。该设计有16个按钮矩阵,设计成16个音,可以实现音阶在低音4-高音5之间。比传统音阶范围大,弹奏效果好。而且还有两个额外的按键来控制单片机的工作方式播放和弹奏。2 系统设计2.1 系统组成及总体框图硬件设计的任务是根据总体设计要求,在选择的单片机的基础上,确定系统中所要使用的具体元器件,设计出系统的原理框图、电路原理图。本设计要实现一种由单片机控制的多功能电子琴,单片机工作于12mhz时钟频率,使用其定时/计数器t0,工作模式为1,改变计数值th0和tl0可以产生不同频率的脉冲信号。本设计具有16个音节的键盘,可以根据乐谱在键盘上进行弹奏,音乐发生器会根据自己的弹奏,
10、通过扬声器将音乐播放出来。由于本设计实现的音乐发生器是由演奏者通过键盘输入弹奏乐曲的,所以节拍由演奏者掌握,不由程序控制。用单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为它没有足够的驱动能力,这就需要音频功率放大电路。本论文使用国家半导体公司的低压音频功率放大器lm386来实现音频功放电路。键盘扫描 at89s51数码管显示扬声器播放音乐电源部分 图2-1 系统结构图2.2元件简介2.2.1 at89s51功能特性:at89s51是一种低功耗、高性能cmos8位微控制器,具有8k在系统可编程flash存储器。使用atmel公司高密度非易失性存储器技术制造,与工业80c51产品
11、指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位cpu和在系统可编程flash,使得at89s52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 at89s52具有以下标准功能: 8k字节flash,256字节ram,32 位i/o口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,at89s52 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu 停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容
12、被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。主要性能:与mcs-51单片机产品兼容、8k字节在系统可编程flash存储器、1000次擦写周期、全静态操作:0hz33hz、三级加密程序存储器、32个可编程i/o口线、三个16位定时器/计数器八个中断源、全双工uart串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。引脚说明:vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第
13、八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘
14、故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下表所示: 表3.1 管脚备选功能端口功能p3.0p3.1p3.2p3
15、.3p3.4p3.5p3.6p3.7rxd(串行输入口)txd(串行输出口)/int0(外部中断0)/int1(外部中断1)t0(记时器0外部输入)t1(记时器1外部输入)/wr(外部数据存储器写选通)/rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定
16、时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,
17、此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。2.2.2 led数码管本次毕业设计的显示电路采用led数码管显示,led(light-emitting diode)是一种外加电压从而流过电流并发出可见光的器件。led是属于电流控制器件,使用时必须加限流电阻。led有单个led和八段led之分,也有共阴和共阳两种。常用的七段显示器的结构如图下图所示。发光二极管的阳极连在一起的称为共阳极显示器(如图b所示),阴极连在一起的称为共阴极显示器(如图c所示)。1位显示器由八个
18、发光二极管组成,其中七个发光二极管ag控制七个笔画(段)的亮或暗,另一个控制一个小数点的亮和暗,这种笔画式的七段显示器能显示的字符较少,字符的开头有些失真,但控制简单,使用方便。此外,要画出电路图,首先还要搞清楚他的引脚图的分布,在了解了正确的引脚图后才能进行正确的字型段码编码。才能显示出正确的数字来。 (a)外形 (b)共阳极 (c)共阴极图2-2 数码管引脚2.3显示电路本次毕业设计的显示电路采用led数码管显示,由于 led是属于电流控制器件,使用时必须加限流电阻。通过单片机查表得出数码管显示编码,传送给数码管显示,以此来实现按键与显示程序的一致性。2.4 各功能模块原理图和工作原理2.
19、4.1 at89s51模块电路原理图单片机主程序模块通过对键盘扫描程序信号的读取,在通过对应的表,取出数码管显示编码和定时器初始值以产生不同的声音信号。在这一过程中,对数码管编码是直接赋值,对声音信号则是通过中断程序进行控制。 图2-3 at89s51引脚图2.4.2键盘扫描模块电路原理图对键盘扫描电路的扫描方式有行扫描法和线反转法,在此次程序编写中,采用行扫描法,通过在p00p03上循环送出0扫描信号,p04p07输入按键上的高低电平信息给单片机,经处理程序,判断出是哪个开关按下,并送主程序以实现不同功能。图2-4 键盘电路图2.4.3键盘扫描模块的工作原理 确定矩阵式键盘上何键被按下介绍一
20、种“行扫描法”。 行扫描法 行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,其工作原理如下: 1、判断键盘中有无键按下 将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则无键按下。 2、判断闭合键所在的位置 在确认有键按下后,可进入确定具体哪个键闭合的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。键盘接口必须具
21、有的 4 个基本功能。1) 去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关,一般为520mm。所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。去抖问题可通过软件延时或硬件电路解决。2) 防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。被按键识别:如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方法完成。常用的方法有行扫描法和线反转法两种。行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此需要设置入口、输出口一个,该方法在微机系统中
22、被广泛使用。线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输入/输出端口。 4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内存区中建立一个键盘编码表,通过查表获得被按键的键码。用 at89c51的并行口 p0接44矩阵键盘,以 p3.0p3.3作输入线,以 p3.4p3.7作输出线;在数码管上显示每个按键的“0f”序号。按键子程序流程图如下: 按键流程子程序图(a) 图2-5 按键流程子程序图(b) 2.4.4 数码管工作原理及电路图 共阳数码管应将公共极接到+5v,共7个发光二极管组成。当某一字段发光二极管的阴极为低电平时,相应字段就点亮
23、。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管则相反。 驱动方式:要使数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,数码管的驱动方式可分为以下两种: 静态显示驱动:静态驱动是指每个数码管的每一个发光二极管都由一个单片机的i/o 端口进行驱动,或者使用如 bcd码二-十进制译码器译码进行驱动。静态驱动的优点很明显,编程简单,显示亮度较高,缺点是占用 i/o 端口多。 动态显示驱动:数码管动态显示是在单片机驱动数码管显示方式中应用广泛的一种,动态驱动是将所有数码管的7个显示笔划a,b,c,d,e,f,g的同名端连在一起,此外为每个数码管的公共极增加位选通
24、控制电路,位选通是由各自独立的 i/o 线控制,当单片机输出字形码时,所有数码管中的led都会接收到相同的字形码,单片机对位选通端电路的控制决定到底数码管会显示出什么字形,因此要使得数码管就显示出需要的字形只要将需要显示的数码管的相应选通控制打开,而没有选通的数码管就不会亮。本设计所用的数码管显示模块是共阴级数码管,通过来自单片机i/o口的电平高低来点亮和熄灭数码管上的发光二极管,通过单片机送来的数码管显示编码可以在数码管上显示数字和字符,使应用人员可以很容易的理解按键按下所对应的音符。依据不同的按键,数码管会依次显示从1到f。对应调用函数如下:void display(unsigned ch
25、ar m) /定义数码管显示函数 p2=dsy_codesongktone_index ;/显示需要显示的数值在输出时只需设置对应的代码即可。 图2-6数码管显示模块电路原理图2.4.5音乐播放设计一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率。可以利用不同的频率的组合,来构成所想要的音乐,而对于单片机来说,产生不同的频率则非常方便。在获得所需要的音拍时,可以利用单片机的定时/计数器 t0 来产生这样方波频率信号,所以我们只要把一首歌曲的音阶所对应频率关系弄正确即可。若要产生音频脉冲,则需要算出某一音频的周期(1/频率),半周期的时间为周期除以 2。利用定时器计时半周期时间,每当计
26、时终止后就将p37 反相,然后重复计时再反相。就可在 p37 引脚上得到此频率的脉冲。利用 at89s51 的内部定时器使其工作计数器模式(即mode1)下,改变计数值 th0 及 tl0 以产生不同频率的方法来产生不同音阶。计数脉冲值与频率:nfi2fr。在式中,n是计数值;fi是机器频率;fr 是想要产生的频率。计数初值 t 的求法:t65536n65536fi2fr例如:设 k65536,fi1mhz,求低音 do(261hz)、中音 do(523hz)、高音 do(1046hz)的计数值。t65541n65536fi2fr6553610000002fr65536500000/fr低音
27、do:t65536 500000/26263628中音 do:t65536500000/52364580高音 do:t65536500000/1046650582.4.6音频模块电路原理图 单片机接受到弹奏者的指示,通过喇叭播放出来。乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高声音就高,频率低,声音就低,不同音调的乐音是用c、d、e、f、g、a、b表示的,这7个字母就是乐音的音名,它们一般依次唱成do、re、mi、fa、so、la、si,这是唱曲时乐音的发音,所以叫唱名。音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。一首音乐是由许多不同的音符
28、组成的,而每个音符对应着不同的频率,这样就可以利用不同频率的组合,加以与拍数对应的延时,构成音乐。 音乐的播放要进行音符的识别和准确调用,音符的自然频率是固定的,我们可以根据自然频率计算出其半周期,由此计算出单片机在12mhz下的定时初值。因此可以设置低音do到超高音do的定时初值表程序段如下:unsigned int code tab= /音符初值表低音1超高音163627,63835,64021,64103, /低音1 2 3 464260,64400,64524,64580,/低音5 6 7 中音164684,64777,64820,64898,/中音2 3 4 564968,65030
29、,65058,65110,/中音6 7 高音1 2 65157,65178,65217,65252,/高音3 4 5 6 65283,65297 /高音7 超高音1;在音乐的播放中节拍的控制由延时控制来实现:void delay(unsigned char t) /延时函数,控制发音的时间长度unsigned char t1;unsigned long t2;for(t1 = 0; t1 t; t1+) /双重循环, 共延时t个半拍for(t2 = 0; t2 8000; t2+);tr1 = 0; /关闭t1, 停止发音 节拍的长短由设定的数值来实现,此处设定1代表16分音符,2代表8分音符
30、,3代表4分音符,4代表2分音符,音乐的设置如下:code unsigned char mid = 简谱 6,2,2,6,2,1,6,2,1,1,3,2,2,3,1,6,2,1,5,2,4,5,2,0,5,2,2,5,2,1,5,2,1,6,2,2,1,3,1,2,3,1,3,2,4,3,2,0,3,2,2,2,2,1,3,2,1,5,2,2,3,2,1,5,2,1,6,2,3,1,3,1,2,3,3,3,3,2,1,3,2,2,3,1,3,3,1,2,3,1,1,3,1,6,2,2,5,2,4,5,2,0,5,2,1,1,3,1,5,2,1,1,3,1,2,3,4,6,2,1,1,3,1,5
31、,2,1,2,2,1,3,2,4,3,2,0,3,2,2,6,2,1,1,3,1,5,2,1,6,2,1,5,2,1,3,2,1,2,2,3,3,2,1,2,2,1,1,2,1,2,2,1,3,2,1,1,2,1,2,2,4,0,0,0,; 读出的每个音符由三个数字构成,第一个数字代表音符;第二个数字代表音高,默认1代表低八度,2代表中八度,3代表高八度;第三个数代表节拍,此处用1代表16分音符,2代表8分音符,3代表4分音符,4代表2分音符,而0用来表示停顿,以区分连音。音乐播放函数的定义需要一个定时器中断,而这个中断与键盘扫描部分不能用一个中断,故设中断1,工作方式1:void song(
32、) /演奏一个音符函数 th1 = timerh; /控制音调tl1 = timerl;tr1 = 1; /启动t1, 由t1输出方波去发音delay(time); /控制时间长度音符扫描并播放函数段如下:while(midi!=0) /只要有音符,就持续执行k = midi + 7 * (midi + 1-1) - 1;/第i个是音符, 第i+1个是第几个八度timerh = tabk/256; /从数据表中读出定时器计数值timerl = tabk%256; /计数值低位time = midi + 2; /读出时间长度数值i += 3;/每隔三个数读一个音符if(midi+2= 0 ) /
33、设置发音时长为0时停顿delay10ms();song(); /发出一个音符在音乐播放完毕之后,自动跳出该程序段,进入按键扫描程序段。 图2-9音频播放器电路原理图2.4.7 二极管显示模块 通过两个二极管来确定当前是处于弹奏模式还是播放模式,当单片机处于弹奏时,led1灯亮,当单片机处于演奏时,led2灯亮。 二极管的工作原理:发光二极管通常称为led,它们虽然名不见经传,却是电子世界中真正的英雄。它们能完成数十种不同的工作,并且在各种设备中都能找到它们的身影。它们用途广泛,例如它们可以组成电子钟表表盘上的数字,从遥控器传输信息,为手表表盘照明并在设备开启时向您发出提示。如果将它们集结在一起
34、,可以组成超大电视屏幕上的图像,或是用于点亮交通信号灯。 实质上,led是一种容易装配到电子电路中的微型灯泡。它们能够发光,是半导体材料内的电子运动的结果,而且它们的寿命同普通的晶体管一样长。 二极管是最简单的一种半导体设备。广义的半导体是指那些具有可变导电能力的材料。大多数半导体是由不良导体掺入杂质(另一种材料的原子)而形成的,而掺入杂质的过程称为掺杂。 就led而言,典型的导体材料为砷化铝镓。在纯净的砷化铝镓中,每个原子与相邻的原子联结完好,没有多余的自由电子(带负电荷的粒子)来传导电流。而材料经掺杂后,掺入的原子打破了原有平衡,材料内或是产生了自由电子,或是产生了可供电子移动的空穴。无论
35、是自由电子数目的增多还是空穴数目的增多,都会增强材料的导电性。 具有多余电子的半导体称为n型材料,因其含有多余的带负电荷的粒子。在n型材料中,自由电子能够从带负电荷的区域移往带正电荷的区域。 半导体中拥有多余空穴的半导体称为p型半导体,由于空穴的浓度将比电子的浓度高的多,因而主要依靠空穴导电,故称为空穴半导体或p型半导体。 一个二极管由一段p型材料同一段n型材料相连而成,且两端连有电极。这种结构只能沿一个方向传导电流,这就是半导体的单向导电性。当二极管两端不加电压时,n型材料中的电子会沿着层间的pn结(junction)运动,去填充p型材料中的空穴,并形成一个耗尽层。在耗尽层内,半导体材料回到
36、它原来的绝缘态即所有的空穴都被填充,因而耗尽区内既没有自由电子,也没有供电子移动的空间,所以不能导电。 要使耗尽层消失,必须使电子从n型区域移往p型区域,同时空穴沿相反的方向移动。因此,可以将二极管n端与电路的负极相连,同时p端与正极相连。p型材料中的空穴被正极排斥,又被负极吸引;而n型材料中的自由电子会沿反方向移动。而当两电极之间的电压足够高,耗尽层内的电子会被推出空穴,获得自由移动的能力。随着耗尽层消失,电荷就可以通过二极管。如果试图让电流沿反方向流动,电流将不会流过pn结,此时半导体处于绝缘状态。p型材料中带正电的空穴则会被吸引到负极上,n型材料中带负电的电子会被吸引到正极上。由于空穴与
37、电子各自沿着错误的方向运动,pn结将不会有电流通过,耗尽层也会扩大。 在这种情形下,空穴同电子之间的相互作用会产生一个副作用发光!光是一种能量形式,可由原子释出。光由一些具有能量和动量但无质量的类粒子束组成。这些粒子称为光子,是光的最基本单位。 电子的跃迁会释放出光子。在原子结构中,电子在原子核周围的轨道中运动。电子在不同的轨道中具有不同的能量值。通常,能量更高的电子在离原子核更远的轨道中运动。为了让电子能够从低能轨道跃迁至高能轨道,就必须提高它的能级。反过来,电子从高能轨道跌落至低能轨道时则会释出能量。这种能量就以光子的形式得到释放。能量差约大,释出的光子能量就越大,继而表现为更高的频率。自
38、由电子通过二极管时会陷入p型层中的空穴。这一过程涉及电子从传导带到低轨道的跌落,因而电子会以光子的形式释放出能量。这种情况在所有的二极管中都会发生,但只有当二极管由某些特定材料制成时,您才能看到光子。 图2-10二极管显示模块电路原理图2.4.8 键盘控制单片机模式模块 利用两个键盘来控制单片机是弹奏还是演唱。当按下k1键,处于弹奏模式,当按下k2键,处于演唱模式。3 仿真模型构建本软件设计关键是要实现一种由单片机控制的多功能音乐播放器,它由16个音节组成的的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来;而且也可以演唱预存的音乐。3.1如何用单片
39、机实现音乐的节拍除了音符以外,节拍也是音乐的关键组成部分。节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果1/4拍的延时是0.4秒,则1拍的延时是1.6秒,只要知道1/4拍的延时时间,其余的节拍延时时间就是它的陪数。如果要单片年纪播放音乐,那么必须要在设计程序当中考虑到节拍的设置,由于本设计实现的音乐发生器是由用户弹奏乐曲的,所以节拍由用户掌握,不由程序控制。对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。音乐的音拍,一个节拍为单位(c调)具体如下表:表3.1音乐节拍表曲调值delay曲调值delay调4/4调3/4调2/4125ms187ms250ms调4/
40、4调3/4调2/462ms94ms125ms3.2如何用单片机产生音频脉冲了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。在本实验中,单片机工作于12mhz时钟频率,使用其定时/计数器t0,工作模式为1,改变计数值th0和tl0可以产生不同频率的脉冲信号,在此情况下,c调的各音符频率与计数值t的对照如下表: 表3.2音符频率与计数值t的对照表音符频率(hz)计数值(t值)音符频率(hz)计数值(t值)低1do#1do
41、#低2re#2re#低3mi低4fa#4fa#低so#5so#低6la#6la#低7si中1do#1do#中2re#2re#中3mi中4fa262277294311330349370392415440466494523554587622659698636286373763835639286402164103641856426064331644006446364524645806463364633648846473264820#4fa#中5so#5so#中6la#6la#中7si低1do#1do#高2re#2re#高3mi高4fa#4fa#高5so#5so#高6la#6la#高7si740784
42、831880932968104611091175124513181397149015681661176018651967648606489894934649686499465030650586508565110651346515765178651986521765235652526526865283t的值决定了th0和tl0的值,其关系为:th0=t/256,tl0=t%2563.3系统总体功能流程图 图3.1 主程序框图 4 电路仿真 4.1 isis软件介绍proteus isis是英国labcenter公司开发的电路分析与实物仿真软件。它运行于windows操作系统上,可以仿真、分析(s
43、pice)各种模拟器件和集成电路。该软件的特点是:proteus软件具有其它eda工具软件的功能。这些功能是:(1)原理布图(2)pcb布线(3)spice电路仿真革命性的特点(1)互动的电路仿真用户甚至可以实时采用诸如ram,rom,键盘,马达,led,lcd,ad/da,部分spi器件,部分iic器件。(2)仿真处理器及其外围电路protues可以仿真51系列、avr、pic、arm、等常用主流单片机。配合系统配置的虚拟逻辑分析仪、示波器等,proteus建立了完备的电子设计开发环境。在proteus绘制好原理图后,调入已编译好的目标代码文件:*.hex,可以在proteus的原理图中看到
44、模拟的实物运行状态和过程。在proteus仿真软件中,仿真系统不但可以让许多单片机实例运行过程形象化,也可将许多单片机实例功能具体化。前者拥有着实物演示的实验很难达到的效果,后者则相当程度上得到实物演示的效果。它的元件、连接线路等和传统的单片机实验元件高度对应。这就在一定程度上替代了传统的单片机教学实验的功能。毕业设计是学生走向就业的重要实践环节。由于proteus提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上无法比拟的虚拟仪器、仪表,所以也提供了培养学生实践精神、创造精神的平台。随着科技的发展,“计算机仿真技术”成为很多设计部门重要的前期设计途径
45、。它设计灵活,结果和过程统一。可使设计耗资大为减少、时间大为缩短,也降低了工程制造的相当风险。相信在单片机系统开发应用中proteus可以茯得越来越广泛的应用。在使用proteus软件进行单片机仿真设计时,是计算机多媒体技术和虚拟仿真技术相结合的综合运用,有助于培养学生的电路设计能力和仿真软件的动手操作能力;在不需要硬件投入的条件下,对单片机的学习比单纯学习书本知识更易于接受,更容易提高。事实证明,在使用proteus进行系统仿真开发成功之后再进行实际制作,能很大程度的提高单片机系统设计效率。因此,proteus有较高的推广价值。4.2 keil 简介在单片机开发过程中除了所必需的硬件以外,一
46、样离不开软件的帮助,我们写的汇编程序要变为cpu可以执行的机器码有两种常用的方法,一种是机器汇编,另一种是手工汇编,现在已基本上不会使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码。随着单片机开发技术的逐渐发展,从最开始的普遍使用汇编语言到后来逐渐发展到使用高级开发语言,单片机的开发软件也在日新月异的发展,keil 软件是目前最流行的开发 mcs-51系列单片机的软件,这从目前各仿真机厂商均宣布全面支持 keil中即可看出。keil 提供了包括 库管理、连接器、宏汇编、c编译器和一个功能强大的仿真调试器等在内的完整软件开发方案,通过一个集成开发环境(uvision)将这些部份组合
47、在一起。运行 keil 软件需要 pentium或以上的 cpu,16mb或更多ram以上空闲的硬盘空间、20mwin98、win2000、nt、winxp 等操作系统。掌握这一软件对于使用51系列单片机等系列的爱好者来说是非常必要的,如果你使用c语言编程,那么 keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即便不是使用 c 语言而是仅仅使用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事倍功半。4.3仿真图介绍单片机:p2口对应数码管编码输出端; p3.7 口做音乐信号输出端; p0 口做键盘扫描部分输入输出端。键盘扫描
48、:将16位开关通过矩阵连接,接出来四端接输入口(p3.0p3.3)用于 键盘情况的输入,另外四端接输出口(p3.4p3.7)用于给键盘扫描信号。数码管显示:在使用时一要接上拉电阻(这是有单片机p0口的物理特性决定的),二是要加限流电阻以使流进单片机的小于单片机所能承受的电流。音乐处理:lm386将单片机p3.7口送过来的信号进行20倍的功率放大并送扬声器进行音乐的播出。4.4系统调试电路调试是整个系统功能否实现的关键步骤,我们将整个调试过程分为三大部分:硬件调试、软件调试和综合调试。4.4.1硬件调试硬件调试主要是针对单片机部分进行调试。在上电前,先确保电路中不在断路或短路情况,这一工作是整个
49、调试工作的第一步,也是非常重要的一个步骤。在这部分调试中主要使用的工具是万用表,用来完成检测电路中是否存在断路或者短路情况等。注意焊点之间,确保焊点没有短接在一起,同时注意焊点的美观,确保没有开路以及短路的现象出现。在确保硬件电路正常,无异常情况(断路或短路)方可上电调试,上电调试的目的是检验电路是否接错,同时还要检验原理是否正确,在本次设计中,上电调试主要键盘单片机控制部分、数码管点亮部分、和音频转换电路硬件调试。1、数码管led电路调试:接通电源,随机按下按钮可以看到数码管显示数字。2、键盘单片机控制部分调试:上电后,随机按动键盘可以发现各个按键对应的音正确。4.4.2 软件调试调试主要方
50、法和技巧: 通常一个调试程序应该具备至少四种性能:跟踪、断点、查看变量、更改数值。整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序模块进行分别调试。 4.5仿真图 图4-1仿真静态图 图4-2动态仿真图5 仿真和调试结论通过各方面努力,本次设计任务完成,系统部分功能已实现。可以随意演奏一首喜欢的曲子,并可以显示在数码管上。基本达到预定的效果。这说明一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,于是我们
51、可以利用单片机的定时/计数器t0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可,然后我们利用功放电路来将音乐声音放大,同时通过显示模块来确知自己所弹的音符。通过这次比较系统的项目设计提高了我运用所学的专业基础知识来解决面临实际问题的能力,同时也提高了我查阅各种文献资料、设计手册、设计规范以及软件编程的水平。5.1不足之处1.可弹奏的音符数较少,只能在一定范围内满足用户需要。可通过改进键盘识别模块和发生模块来增加其复杂度。 2.音量不可调。可通过改进功放电路,即在lm386的1脚和8脚间增加一直外界电阻和电容,将3脚与地之间的电阻换为10k的变阻,即可调节其放大增益
52、。5.2研究展望微型计算机的出现和大量使用将人类社会带入一个新的时代,单片微型计算机(简称单片机)在其中扮演着十分重要的角色。虽然它没有常见的pc那样大的体积和重量,不会在办公桌或控制台上占据一个显要的位置,但它就像小小的螺丝钉一样,镶嵌在人们工作、生活中需要计算、控制、测量等智能活动的各个角落。自20世纪70年代问世以来,单片机以其控制功能强、可靠性高、体积小、性价比高、使用方便、容易产品化等特点,在家用电器、实时控制、机电一体化、分布式多机系统、智能仪器等各个领域得到了广泛应用,对许多行业的技术改革和产品的更新换代起着非常重要的推动作用,对人们生活质量的提高产生了深刻的影响。作为21世纪的
53、工科大学生,学好单片机,一方面可以加深对计算机原理和结构的认识,另一方面也为自身在专业上的深入发展构筑了一个很好的平台其重要性怎么强调都不为过。参考文献1 张虹.单片机原理及应用m.北京:中国电力出版社,2009. 2 黄鑫,马善农,赵永科.基于cpld的电子琴研究与设计j.科技广场,2007(5).3 李云钢,邹逢兴,龙志强. 单片机原理与应用系统计j.北京:中国水利水电出版社,2008.4 李林涛,陈明,梁宜勇,王晓萍. 基于单片机的简易电子琴录/放音系统j. 数字技术与应用. 2010(02)5 田其冲,郑卫国,孙大雷. 基于at89s51的电子琴设计j. 电脑知识与技术. 2009(24)6张淑玲;凌阳单片机在微机原理实验箱系统中的应用j;重庆理工大学学报(自然科学);2011年07期 7张则. 51系列单片机(c语言)快速入门(五)n;电子报;2010年 8孙文,赵万云,邹子春,袁小平. 基于rc正弦波振荡
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年住宅买卖标准协议版B版
- (2024版)居间工程介绍合同的监管机制
- 2024年家居清洁承包协议条款汇编版B版
- 2024合伙利益分配协议书
- 2024商品房退房协议
- 2024年专属经理劳动协议范本版
- 2024年度企业重组与资产剥离协议2篇
- 2024年南极科学考察研究合作合同
- 湖北省宜城市2023-2024学年高二生物上学期期中联考试题
- 2024年太阳能发电项目合作开发合同
- 2024年度网络安全产品采购及维护合同3篇
- 2024年新《民法典》知识考试题库(含答案)
- 建设新型能源体系提高能源资源安全保障能力
- GB/T 22082-2024预制混凝土衬砌管片
- 2024年时事政治题库附参考答案(综合题)
- 2025年蛇年年度营销日历营销建议【2025营销日历】
- 企业所得税汇算清缴申报表电子表格版(带公式-自动计算)
- 写作与沟通智慧树知到期末考试答案章节答案2024年杭州师范大学
- 人教版九年级英语上册阅读理解10篇(含答案)
- 施耐德ATS互投柜说明书WTSA、B控制器说明书
- GB/T 25769-2010滚动轴承径向游隙的测量方法
评论
0/150
提交评论