




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STC89C52电子琴音乐盒的设计陈远芳物理与电子信息学院电子信息科学与技术专业2010级 指导教师:谢春茂摘要:本设计采用了蜂鸣器发声来实现歌曲的播放,能保持基本音调不变,流畅播放出歌曲。现选用AT89C52单片机。主要设计模块包括数码管显示部分,功能键盘部分,蜂鸣器发声部分,彩灯部分。数码管采用共阳极数码管,通过单片机P1口控制,实现歌曲序号的显示;功能键盘采用按键开关,通过单片机P3口控制,实现歌曲播放顺序的调换和暂停播放功能;蜂鸣器由单片机的P2口控制,实现歌曲播放;彩灯是由普通发光二极管代替,能实现单色长亮和闪烁效果。主要工作过程是通过按下功能键实现上一首和下一首及暂停播放,同时有数码管显示当前播放歌曲的序号,蜂鸣器播放出音乐。 关键字:STC89C52;电子琴;音乐盒;显示电路An Electronic Music Box Based on STC89C52Chen YuanfangSchool of Physics and Electronic Information, Electronic Information Science and Technology Grade 2010 Instructor: Xie ChunmaoAbstract:The main design module includes a digital display of the keyboard function of the audible buzzer of some lantern.LED digital tube using a total of anode, through the P1 port single-chip control, the realization of the show the serial number songs; functions using the keyboard button switches, single-chip P3 through population control, to achieve the change the order of songs to play and pause functions; buzz P2 is controlled by MCU port control, the realization of music playback; lantern is to replace ordinary light-emitting diodes, to achieve long-monochromatic light and scintillation effects. The main process is to achieve by pressing function keys on the first one and the next, and suspension of play, while the digital display the serial number of the currently playing song, the music player buzzer, when the player when the final with a Nocturne lantern flashing. The use of single-chip design and programming software KeilC52 programming and simulation software PROTEUS single- chip , such as electrical and electronic knowledge, with KeilC52 programming software programming, and simulation software PROTEUS single-chip simulation. Key words: STC89C52; Electronic Organ;Music Box; Display Circuit2目 录摘要1Abstract2第一章 引言31.1背景31.2设计功能4第二章 方案选取42.1 数码管42.2 STC89C526第三章 关于音乐知识10 3.1 音调、节拍以及编码的确定方法103.2音调的确定113.3节拍的确定123.4音乐的编码13第四章 硬件设计154.1 STC89C52最小系统154.1.1晶振电路154.1.2复位电路164.1.3时钟电路164.2 发声模块模块17第五章 软件设计185.1 数码管显示模块195.2 T0值以及对应频率19第六章 总结与展望21参考文献22附录23致谢35第1章 引言1.1背景 电子乐器的产生,首先是模仿”乐器之王“管风琴(Pipe Organ)。管风琴发明于公元前,鼎盛于17世纪。它是靠水力或人力鼓风,吹响与建筑物一样高大的管子而发音的乐器。管风琴是大型键盘乐器,结构非常复杂。管风琴有手键盘和脚键盘构成,有些手键盘多达4-5层。一架管风琴的演奏可以和一个管弦乐队媲美。管风琴结构复杂,体积庞大,造价昂贵,受演出场地、环境限制,不易搬动。为了使之轻便,1907年,美国人T卡西尔发明了用电磁线圈产生音阶信号的电风琴。1920年,苏联人利昂特里尔发明了”空中电琴“。1939年,美国市场上开始销售”艾伦风琴“,这种电子风琴比管风琴轻便经济,普遍用于教学、音乐厅等,因而有一定市场。至1950年,美国年产电子琴达10万台,接近钢琴产量。1964年,美国人穆格发明了合成器。 日本于20世纪50年代从美国进口电子琴。1959年,由雅马哈(YAMAHA)株式会社生产了世界上第一台立式电子琴,取名为”伊莱克通“(Electone),它有三层键盘。1980年,随着电子集成电路的出现,电子琴开始向小型化发展,雅马哈等厂家生产了便捷式单键盘电子琴(Portatone Portasound)。1983年,雅马哈生产的电子合成器DX7和电钢琴问世。1986年,HX系统高级历史电子琴问世。我们常见并熟悉的双排键电子琴是日本于1991年之后生产的EL,ELS系列以及便携式双排键DDK7。 在中国,1958年北京邮电学院研制了一台电子管单音电子琴。由于种种原因,至1977年后,我国才大批生产电子琴。1989年,我国年产儿童电子琴200万台,并出口39万台。中国的电子琴事业正在迅速发展。电子琴发展很快,琴的各项功能日趋完善。音色和节奏有最初的几种发展到几百种。除寄存音色外,还可通过插槽外接音色卡。合成器的某些功能,如音色的编辑修改、自编节奏、多轨录音、演奏程序记忆等也运用到电子琴上。 音乐盒又称八音盒。音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的的钟塔报时,而将大小的钟表上机械装置,被称为“可发出声音的组钟”。1598年,意大利籍耶稣会士利玛窦第一次来到北京,随行礼物中就有八音琴一台。这是有史书记载的最早进入中国的八音琴。经过各种的发明创造,1780年前后,拉匀芳的瑞士人从人偶自动钟的原理获得启示,发明了一种令人赞叹的机制机械鸟鸣钟。1796年,日内瓦钟匠的发明,给机械音乐盒带来了革命性的改变,使音乐盒的体积缩小达到极限,而在接下来的世纪得以成功的发展。同一年瑞士钟表匠安托法布尔开发了圆筒型八音盒,这是世界上最古老的八音盒。这项古董收藏于上海八音盒珍品陈列馆。1870年,德国的发明家首创了盘式音乐盒。 17世纪初,音乐盒的工业成为瑞士超过制表和缝制蕾丝业的第一大产业,这使得位于瑞士侏罗山边的小镇闻名于世。二战后,日本人大力进军音乐盒产业。1992年,中国第一台具有知识产权的八音琴在韵升诞生。 本设计主要是通过对电子琴主体部分的电路进行模仿设计,达到电子琴固有的基本功能,也就是简易电子琴;同时利用单片自带内存存储音乐。1.2设计功能1. 设计8个按键,模拟电子琴中8个音符;2. 存放三首音乐;3. 通过数码管显示音符;4. 设置停止,播放键;第2章 方案选取2.1 数码管 led数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等.,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。led数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图片。图2.1 8段数码管每一笔划都是对应一个字母表示 DP是小数点.透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。LED数码管有共阴极和共阳极两类,如图2.2所示。共阴极LED数码管的发光二极管的阴极共地,如图2.3(a),当某个发光二极管的阳极电压为高电平时,二极管发光;而共阳极LED数码管是发光二极管的阳极共接,如图2.3(b),当某个二极管的阴极电压为低电平时,二极管发光。(a)共阴极 (b)共阳极图2.2 LED数码管管脚配置图 图2.3 两类LED数码管本设计中采用一位数码管显示每次按下的音符。2.2 STC89C52STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。a主要特性:8K字节程序存储空间;512字节数据存储空间;内带2K字节EEPROM存储空间;可直接使用串口下载;a图2.4 STC89C52引脚图 b.如图2.4 引脚说明 主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.7c.时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图2.5(a)所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图2.5(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。(a)内部方式时钟电路 (b)外部方式时钟电路图2.5时钟电路d.复位及复位电路(1)复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表2.1所示。表2.1 一些寄存器的复位状态寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H (2)复位信号及其产生 RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。 整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。 上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图2.6(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。 按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图2.6(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图2.6(c)所示:(a)上电复位 (b)按键电平复位 (c)按键脉冲复位图2.6复位电路 上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图2.6(b)上电复位方式。第三章 关于音乐知识3.1 音调、节拍以及编码的确定方法一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍。其中节拍表示一个音符唱多长的时间。表3.1 音符频率对照表323.2音调的确定 不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调”,即Tone。把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个“半音”。两个音之间的距离有两个“半音”,就叫“全音”。在钢琴等键盘乐器上,CD、DE、FG、GA、AB两音之间隔着一个黑键,他们之间的距离就是全音;EF、BC两音之间没有黑键相隔,它们之间的距离就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们的左上角加上号或者b号的叫变化音。叫升记号,表示把音在原来的基础上升高半音,b叫降记音,表示在原来的基础上降低半音。例如高音DO的频率(1046Hz)刚好是中音DO的频率(523Hz)的一倍,中音DO的频率(523Hz)刚好是低音DO频率(266 Hz)的一倍;同样的,高音RE的频率(1175Hz)刚好是中音RE的频率(587Hz)的一倍,中音RE的频率(587Hz)刚好是低音RE频率(294 Hz)的一倍。1)要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。2)利用stc89c52的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。3)例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次计数956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系公式如下: N=Fi2Fr N:计算值;Fi:内部计时一次为1us,故其频率为1MHz;其计数值的求法如下:T=65536-N=65536-Fi2Fr例如:设K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)。中音DO(523Hz)。高音的DO(1046Hz)的计算值T=65536-N=65536-Fi2Fr=65536-10000002Fr=65536-500000/Fr低音DO的T=65536-500000/262=63627中音DO的T=65536-500000/523=64580高音DO的T=65536-500000/1047=65059C调各音符频率与计数值T的对照表如表3.2所示。低音频率T参数中音频率T参数高音频率T参数Do2621908229Do523956115Do10465757Do2771805217Do554903108Do11095454Re2941701204Re587852102Re11755151Re3111608193Re62280497Re12454848Mi3301515182Mi65975991Mi13184545Fa3491433172Fa69871686Fa13974343Fa3701351162Fa74067681Fa14804141So3921276153So78463877So15683838So4151205145So83160272So16613636La4401136136La88056868La17603434La4641078129La93253664La18653232Si4941012121Si98850661Si19763030表3.2 C调各音符频率与计数值T的对照表3.3节拍的确定 若要构成音乐,光有音调是不够的,还需要节拍,让音乐具有旋律(固定的律动),而且可以调节各个音的快满度。“节拍”,即Beat,简单说就是打拍子,就像我们听音乐不自主的随之拍手或跺脚。若1拍实0.5s,则1/4 拍为0.125s。至于1拍多少s,并没有严格规定,就像人的心跳一样,大部分人的心跳是每分钟72下,有些人快一点,有些人慢一点,只要听的悦耳就好。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。 一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。了解音乐的一些基础知识,我们可知产生不同频率的音频脉冲即能产生音乐。对于单片机来说,产生不同频率的脉冲是非常方便的,利用单片机的定时/计数器来产生这样的方波频率信号。因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。3.4音乐的编码 每个音符采用2个字节。第一个字节表示音调,第二个字节表示节拍。音调字节中,高四位表示低中高音,0表示低音,1表示中音,2表示高音;低四位表示“音调”。比如:0x11表示中音do。 节拍字节中,数值i表示代表着延迟i个十六分音符。比如:0x04,表示延时4个16分音符,即延时1个四分之一音符。在以四分音符为一拍的歌曲中,0x04就代表一拍。底下没有横线,右侧也没有横线的数字(音调),就用0x04表示他的延时。底下有一横线:0x02;右侧有一横:0x08;右侧两横:0x0c;右侧三横:0x10;右下角有一点:加上当前延时的一半。由于不同的歌曲有不同的播放速度,即曲速(单位拍每分钟)。所以音乐编码表中的第0和第1元素用来表示曲速。根据以上原理;本设计音乐盒中的三首音乐代码分别如图3.1;图3.2;图3.3;图3.1 挥着翅膀的女孩曲目代码图3.2 同一首歌图3.3 两只蝴蝶曲目代码第4章 硬件设计4.1 STC89C52最小系统 STC89C52最小系统由晶振电路、复位电路和5V电源输入电路等驱动单片机必需电路构成。还用引出32个I/O口引脚,以便扩展外围电路,连接液晶显示、4乘4矩阵键盘等模块,原理图如图4.1所示。图4.1 STC89C52最小系统4.1.1晶振电路 按图4.2所示方式连接。晶振、电容C1C2构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在033MHz之间,电容C1、C2取值范围在2040pF之间。根据实际情况,本设计中采用11.0592HZ做为系统的外部晶振。电容取值为33pF。图4.2 晶振电路4.1.2复位电路单片机复位是使CPU和系统中的其他功能部件都处于一个确定的初始状态,并从这个状态开始工作,复位后PC0000H,使单片机从第一个单元取指令。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。如图4.3所示为89C52型单片机上电复位电路。RC构成微分电路,在接电瞬间,产生一个微分脉冲,其宽度若大于2个机器周期,80C52型单片机将复位,为保证微分脉冲宽度足够大,一般取10F电容、10K电阻。图4.3 复位电路4.1.3时钟电路 外部时钟采用12M晶振实现外部振荡信号,为单片机提供标准时钟,其中两个瓷片电容起微调作用,外接晶振频率精确度直接影响电子钟计时的准确性。(外部时钟方式是把外部已有的时钟信号引入到单片机内部。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。如图4.4所示; 图4.4 时钟电路4.2 发声模块模块如图4.5链接三极管应用9012PNP,蜂鸣器,电阻R2=1K,R3=10K,R4=100。图4.5发声电路第5章 软件设计 电子琴音乐盒设计流程图如下:通过读取按键,由定时器控制蜂鸣器发音,同时数码管显示按键的音调。以及歌曲的播放暂停。5.1电子琴音乐盒设计流程图主程序如下:int main(void)initial();P0 = 0x00;Delay1ms(500); P0 = 0xFF;S1 = 1;S2 = 1;S3 = 1;S4 = 1;S5 = 1;InitialSound();while(1)piano();automusic();return 0;5.1 数码管显示模块 定义共阳数码管于P0口;分别显示1-8 音符;code unsigned char digital_tabal8 = 0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80;5.2 T0值以及对应频率 定时中断 0,用于产生唱歌频率 timer1() interrupt 3 TL1=tl0_f; TH1=th0_f; /调入预定时值 BeepIO=BeepIO; /取反音乐输出 IO /按键控制音阶声音输出(电子琴)unsigned char code freq36*2= 0xA9,0xEF,/00220HZ ,1 /0 0x93,0xF0,/00233HZ ,1# 0x73,0xF1,/00247HZ ,2 0x49,0xF2,/00262HZ ,2# 0x07,0xF3,/00277HZ ,3 0xC8,0xF3,/00294HZ ,4 0x73,0xF4,/00311HZ ,4# 0x1E,0xF5,/00330HZ ,5 0xB6,0xF5,/00349HZ ,5# 0x4C,0xF6,/00370HZ ,6 0xD7,0xF6,/00392HZ ,6# 0x5A,0xF7,/00415HZ ,7 0xD8,0xF7,/00440HZ 1 /12 0x4D,0xF8,/00466HZ 1# /13 0xBD,0xF8,/00494HZ 2 /14 0x24,0xF9,/00523HZ 2# /15 0x87,0xF9,/00554HZ 3 /16 0xE4,0xF9,/00587HZ 4 /17 0x3D,0xFA,/00622HZ 4# /18 0x90,0xFA,/00659HZ 5 /19 0xDE,0xFA,/00698HZ 5# /20 0x29,0xFB,/00740HZ 6 /21 0x6F,0xFB,/00784HZ 6# /220xB1,0xFB,/00831HZ 7 /23 0xEF,0xFB,/00880HZ 1 0x2A,0xFC,/00932HZ 1# 0x62,0xFC,/00988HZ 2 0x95,0xFC,/01046HZ 2# 0xC7,0xFC,/01109HZ 3 0xF6,0xFC,/01175HZ 4 0x22,0xFD,/01244HZ 4# 0x4B,0xFD,/01318HZ 5 0x73,0xFD,/01397HZ 5# 0x98,0xFD,/01480HZ 6 0xBB,0xFD,/01568HZ 6# 0xDC,0xFD,/01661HZ 7 /35 第6章 总结与展望随着电子技术和计算机技术的飞速发展,单片机功能不断完善,性价比价格比显著提高,技术日趋完善。由于单片机具有体积小,重量轻,价格便宜,功耗低,控制功能强及运算速度快等特点,因而在国民经济建设,军事及家电器件等各个领域均有广泛的应用。本设计利用单片机及其附加电子器件实现某一实际功能,检验并提高同学对整体电路设计和把握的能力。同时也加强对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的实际制作和调试能力。同时也加强对数字电路,单片机和微机原理等课程知识的实际应用能力,也为同类产品的进一步发展奠定理论基础和实践基础。音乐盒设计是一项趣味性很强的设计,能激发我的浓厚兴趣。同时要求我从程序编程,调试,软件仿真和绘制开始,到硬件的焊接和调试,再到修改程序,在这期间我了解到了单片机开发的大致流程,也让我学习到了很多新的东西,这些都让我受益匪浅。单片机的定时器功能,LED的数码显示,功能键盘的设计,这些内容都颇为丰富。它的发展前景一片光明!参考文献:1 STC89C51RC/RD+系列单片机使用指南M.宏晶科技,2006. 2戴佳,戴卫恒.51单片机C语言应用程序设计M.电子工艺出版社,2006.3刘刚编著.Protel DXP原理图与PCB设计M.电子工艺出版社,2004. 4周美娟,肖来胜.单片机原理及系统设计M.清华大学出版社,2004.5谢自美.电子线路设计实验测试M.华中理工大学出版社,1992.6童诗白,华成英.模拟电子技术基础M.高等教育出版社,2006.7接口电路编写组.最新接口电路使用速查手册M.电子工艺出版社,1993.8魏立峰,等.电片机原理与应用技术M.北京大学出版社,2006.9杜刚.电路设计与制板应用教程M.清华大学出版社,2006.10赵鑫,蒋亮,齐兆群.数字电路设计M.北京机械工业出版社,2005.11唐浩强.C语言程序设计M.清华大学出版社,2010.12周复三.音乐基础理论教程M.山东大学出版社,1991.13王莹.中国单片机市场的理想与现实J.电子产品世界,1997.附录1. 程序#include /sbit BeepIO = P10;/定义蜂鸣器输出管脚#include SoundPlay.hsbit S1 = P30;sbit S2 = P31;sbit S3 = P32;sbit S4 = P33;sbit S5 = P34;unsigned int flag1;#define Digital P0 /定义38脚共阳数码管为P0口code unsigned char digital_tabal8 = 0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80;/1,2,3,4,5,6,7,8/*定义电子琴的八个按键端口*/sbit K1= P20; / 1 sbit K2= P21; / 2sbit K3= P22; / 3 sbit K4= P23; / 4sbit K5= P24; / 5 sbit K6= P25; / 6 sbit K7= P26; / 7 sbit K8= P27; / 8 unsigned char th0_f; /在中断中装载的 T0 的值高 8 位unsigned char tl0_f; /在中断中装载的 T0 的值低 8 位/T0 的值,及输出频率对照表unsigned char code freq36*2= 0xA9,0xEF,/00220HZ ,1 /0 0x93,0xF0,/00233HZ ,1# 0x73,0xF1,/00247HZ ,2 0x49,0xF2,/00262HZ ,2# 0x07,0xF3,/00277HZ ,3 0xC8,0xF3,/00294HZ ,4 0x73,0xF4,/00311HZ ,4# 0x1E,0xF5,/00330HZ ,5 0xB6,0xF5,/00349HZ ,5# 0x4C,0xF6,/00370HZ ,6 0xD7,0xF6,/00392HZ ,6# 0x5A,0xF7,/00415HZ ,7 0xD8,0xF7,/00440HZ 1 /12 0x4D,0xF8,/00466HZ 1# /13 0xBD,0xF8,/00494HZ 2 /14 0x24,0xF9,/00523HZ 2# /15 0x87,0xF9,/00554HZ 3 /16 0xE4,0xF9,/00587HZ 4 /17 0x3D,0xFA,/00622HZ 4# /18 0x90,0xFA,/00659HZ 5 /19 0xDE,0xFA,/00698HZ 5# /20 0x29,0xFB,/00740HZ 6 /21 0x6F,0xFB,/00784HZ 6# /220xB1,0xFB,/00831HZ 7 /23 0xEF,0xFB,/00880HZ 1 0x2A,0xFC,/00932HZ 1# 0x62,0xFC,/00988HZ 2 0x95,0xFC,/01046HZ 2# 0xC7,0xFC,/01109HZ 3 0xF6,0xFC,/01175HZ 4 0x22,0xFD,/01244HZ 4# 0x4B,0xFD,/01318HZ 5 0x73,0xFD,/01397HZ 5# 0x98,0xFD,/01480HZ 6 0xBB,0xFD,/01568HZ 6# 0xDC,0xFD,/01661HZ 7 /35 ; /定时中断 0,用于产生唱歌频率 timer1() interrupt 3 TL1=tl0_f;TH1=th0_f; /调入预定时值 BeepIO=BeepIO; /取反音乐输出 IO /按键控制音阶声音输出(电子琴)unsigned long n; unsigned char code jie88=6,12,14,16,23,26,28,32;/12345671 八个音符在频率表中的位置 void initial()EA=1; / CPU所有中断开(IE最高位MSB)/EX0=1; / INT0中断开/IT0=0; / INT0低电平触发(为1则为下降沿触发)EX1=1; / INT1中断开IT1=0; / INT1低电平触发(为1则为下降沿触发)return;void Delay1ms(unsigned int count)unsigned int i,j;for(i=0;icount;i+)for(j=0;j120;j+);/*Music*/挥着翅膀的女孩unsigned char code Music_Girl= 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x03, 0x16,0x03, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x02, 0x18,0x03, 0x17,0x03, 0x15,0x02, 0x18,0x03, 0x17,0x03, 0x18,0x02, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x15,0x03, 0x16,0x03, 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x1A,0x03, 0x1B,0x03, 0x1F,0x03, 0x1F,0x03, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03, 0x1F,0x03, 0x1F,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03, 0x20,0x03, 0x20,0x02, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03, 0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版餐饮配送行业食品安全溯源服务合同
- 高三试卷:四川省雅安市2024-2025学年高三上学期11月零诊试题数学含答案
- 二零二五年度电工设备调试与验收合同
- 2025版工业地产合作开发合同模板
- 2025版观叶盆栽种苗园艺市场直销连锁合作合同
- 二零二五年度房地产投资居间合同范本
- 2025版工程玻璃节能减排项目合作合同范本
- 2025版仓储房屋租赁及仓储配套设施租赁与维护服务合同
- 2025版校园食堂承包经营合同示范文本
- 2025版餐饮业二人合伙开店管理服务合同
- 2025版成人心肺复苏流程指南
- 教育护士竞聘课件
- 《儿科安全用药》课件
- 【0110】2024年年度泉州市场分析正式版
- 学校国庆节快闪活动方案
- 临建施工组织方案
- 2025胸腔穿刺:操作步骤与技巧
- 湖南省社保知识培训课件
- 脑钠肽在心衰围手术期中的应用-曲秀芬
- 按摩技师培训按摩理论与技法考核试卷
- 门式起重机安全培训
评论
0/150
提交评论