版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录一、前言二、设计课题及要求三、控制任务及要求四、单片机的硬件设计五、单片机的软件设计及要求六、软件流程图七、程序设计八、模拟调试的过程和出现的问题分析九、调试程序所用的实验设备十、毕业设计体会十一、参考文献前言单片机自20世纪70年代问世以来,作为微型计算机的一个很重要的分支,应用非常广泛,已对人类社会产生了巨大的影响。尤其是MCS-51系列的单片机,由于其具有集成度高、功能强、可靠性好、系统结构简单、价格低廉、易于扩展和使用等优点,在我国已得到广泛的应用并收到很好的成果。虽然世界各大公司也有各种型号的高性能单片机问世,但MCS-51系列单片机仍然是我国在单片机应用领域的首选机型。在这我以
2、AT89C52单片机为基础设计音乐播放器。一、设计课题及要求 本次设计的是单片机控制的音乐播放器,要使单片机播放出一首音乐。二、控制任务及要求 在调控单片机时控制面板上的扩音器能放出音乐,能通过仿真软件实现程序的完整运行。三、硬件设计(1)、确定机型可选用AT89C52单片机,晶振频率选择6HZ。(2)、选择元器件根据系统要求,应具有蜂鸣器及驱动电路构成单片机音乐演奏器,拟选用蜂鸣器、LCD、三极管、电阻若干、电容若干。(3)、硬件原理 本系统通过AT89C52单片机的P1.1口控制几个9012PNP三极管、三极管、LCD、扩音器等控制电磁蜂鸣器的电源通断。单片机控制的音乐播放器原理图:四、软
3、件设计及要求(1)、声音三要素由于人耳听觉系统非常复杂,迄今为止人类对它的生理结构和听觉特性还不能从生理解剖角度完全解释清楚。所以,对人耳听觉特性的研究目前仅限于在心理声学和语言声学。 人耳对不同强度、不同频率声音的听觉范围称为声域。在人耳的声域范围内,声音听觉心理的主观感受主要有响度、音高、音色等特征和掩蔽效应、高频定位等特性。其中响度、音高、音色可以在主观上用来描述具有振幅、频率和相位三个物理量的任何复杂的声音,故又称为声音“三要素”;而在多种音源场合,人耳掩蔽效应等特性更重要,它是心理声学的基础。下面简单介绍一下以上问题。 (一)、声音三要素 1响度 响度,又称声强或音量,它表示的是声音
4、能量的强弱程度,主要取决于声波振幅的大小。声音的响度一般用声压(达因平方厘米)或声强(瓦特平方厘米)来计量,声压的单位为帕(Pa),它与基准声压比值的对数值称为声压级,单位是分贝(dB)。对于响度的心理感受,一般用单位宋(Sone)来度量,并定义lkHz、40dB的纯音的响度为1宋。响度的相对量称为响度级,它表示的是某响度与基准响度比值的对数值,单位为口方(phon),即当人耳感到某声音与1kHz单一频率的纯音同样响时,该声音声压级的分贝数即为其响度级。可见,无论在客观和主观上,这两个单位的概念是完全不同的,除1kHz纯音外,声压级的值一般不等于响度级的值,使用中要注意。 响度是听觉的基础。正
5、常人听觉的强度范围为0dB140dB(也有人认为是-5dB130dB)。固然,超出人耳的可听频率范围(即频域)的声音,即使响度再大,人耳也听不出来(即响度为零)。但在人耳的可听频域内,若声音弱到或强到一定程度,人耳同样是听不到的。当声音减弱到人耳刚刚可以听见时,此时的声音强度称为“听阈”。一般以1kHz纯音为准进行测量,人耳刚能听到的声压为0dB(通常大于03dB即有感受)、声强为10-16W/cm2 时的响度级定为0口方。而当声音增强到使人耳感到疼痛时,这个阈值称为“痛阈”。仍以1kHz纯音为准来进行测量,使人耳感到疼痛时的声压级约达到140dB左右。 实验表明,闻阈和痛阈是随声压、频率变化
6、的。闻阈和痛阈随频率变化的等响度曲线(弗莱彻芒森曲线)之间的区域就是人耳的听觉范围。通常认为,对于1kHz纯音,0dB20dB为宁静声,30dB-40dB为微弱声,50dB70dB为正常声,80dB100dB为响音声,110dB130dB为极响声。而对于1kHz以外的可听声,在同一级等响度曲线上有无数个等效的声压频率值,例如,200Hz的30dB的声音和1kHz的10dB的声音在人耳听起来具有相同的响度,这就是所谓的“等响”。小于0dB闻阈和大于140dB痛阈时为不可听声,即使是人耳最敏感频率范围的声音,人耳也觉察不到。人耳对不同频率的声音闻阈和痛阈不一样,灵敏度也不一样。人耳的痛阈受频率的影
7、响不大,而闻阈随频率变化相当剧烈。人耳对3kHz5kHz声音最敏感,幅度很小的声音信号都能被人耳听到,而在低频区(如小于800Hz)和高频区(如大于5kHz)人耳对声音的灵敏度要低得多。响度级较小时,高、低频声音灵敏度降低较明显,而低频段比高频段灵敏度降低更加剧烈,一般应特别重视加强低频音量。通常200Hz-3kHz语音声压级以60dB70dB为宜,频率范围较宽的音乐声压以80dB90dB最佳。 2音高 音高也称音调,表示人耳对声音调子高低的主观感受。客观上音高大小主要取决于声波基频的高低,频率高则音调高,反之则低,单位用赫兹(Hz)表示。主观感觉的音高单位是“美”,通常定义响度为40方的1k
8、Hz纯音的音高为1000美。赫兹与“美”同样是表示音高的两个不同概念而又有联系的单位。 人耳对响度的感觉有一个从闻阈到痛阈的范围。人耳对频率的感觉同样有一个从最低可听频率20Hz到最高可听频率别20kHz的范围。响度的测量是以1kHz纯音为基准,同样,音高的测量是以40dB声强的纯音为基准。实验证明,音高与频率之间的变化并非线性关系,除了频率之外,音高还与声音的响度及波形有关。音高的变化与两个频率相对变化的对数成正比。不管原来频率多少,只要两个40dB的纯音频率都增加1个倍频程(即1倍),人耳感受到的音高变化则相同。在音乐声学中,音高的连续变化称为滑音,1个倍频程相当于乐音提高了一个八度音阶。
9、根据人耳对音高的实际感受,人的语音频率范围可放宽到80Hz-12kHz,乐音较宽,效果音则更宽。 3音色 音色又称音品,由声音波形的谐波频谱和包络决定。声音波形的基频所产生的听得最清楚的音称为基音,各次谐波的微小振动所产生的声音称泛音。单一频率的音称为纯音,具有谐波的音称为复音。每个基音都有固有的频率和不同响度的泛音,借此可以区别其它具有相同响度和音调的声音。声音波形各次谐波的比例和随时间的衰减大小决定了各种声源的音色特征,其包络是每个周期波峰间的连线,包络的陡缓影响声音强度的瞬态特性。声音的音色色彩纷呈,变化万千,高保真(HiFi)音响的目标就是要尽可能准确地传输、还原重建原始声场的一切特征
10、,使人们其实地感受到诸如声源定位感、空间包围感、层次厚度感等各种临场听感的立体环绕声效果。 另外,表征声音的其它物理特性还有:音值,又称音长,是由振动持续时间的长短决定的。持续的时间长,音则长;反之则短。从以上主观描述声音的三个主要特征看,人耳的听觉特性并非完全线性。声音传到人的耳内经处理后,除了基音外,还会产生各种谐音及它们的和音和差音,并不是所有这些成分都能被感觉。人耳对声音具有接收、选择、分析、判断响度、音高和音品的功能,例如,人耳对高频声音信号只能感受到对声音定位有决定性影响的时域波形的包络(特别是变化快的包络在内耳的延时),而感觉不出单个周期的波形和判断不出频率非常接近的高频信号的方
11、向;以及对声音幅度分辨率低,对相位失真不敏感等。这些涉及心理声学和生理声学方面的复杂问题。 (2)、人耳的掩蔽效应 一个较弱的声音(被掩蔽音)的听觉感受被另一个较强的声音(掩蔽音)影响的现象称为人耳的“掩蔽效应”。被掩蔽音单独存在时的听阈分贝值,或者说在安静环境中能被人耳听到的纯音的最小值称为绝对闻阈。实验表明,3kHz5kHz绝对闻阈值最小,即人耳对它的微弱声音最敏感;而在低频和高频区绝对闻阈值要大得多。在800Hz-1500Hz范围内闻阈随频率变化最不显著,即在这个范围内语言可储度最高。在掩蔽情况下,提高被掩蔽弱音的强度,使人耳能够听见时的闻阈称为掩蔽闻阈(或称掩蔽门限),被掩蔽弱音必须提
12、高的分贝值称为掩蔽量(或称阈移)。 1掩蔽效应 已有实验表明,纯音对纯音、噪音对纯音的掩蔽效应结论如下: A.纯音间的掩蔽 对处于中等强度时的纯音最有效的掩蔽是出现在它的频率附近。 低频的纯音可以有效地掩蔽高频的纯音,而反过来则作用很小。 B.噪音对纯音的掩蔽噪音是由多种纯音组成,具有无限宽的频谱 若掩蔽声为宽带噪声,被掩蔽声为纯音,则它产生的掩蔽门限在低频段一般高于噪声功率谱密度17dB,且较平坦;超过500Hz时大约每十倍频程增大10dB。若掩蔽声为窄带噪声,被掩蔽声为纯音,则情况较复杂。其中位于被掩蔽音附近的由纯音分量组成的窄带噪声即临界频带的掩蔽作用最明显。所谓临界频带是指当某个纯音被
13、以它为中心频率,且具有一定带宽的连续噪声所掩蔽时,如果该纯音刚好能被听到时的功率等于这一频带内噪声的功率,那么这一带宽称为临界频带宽度。临界频带的单位叫巴克(Bark),1Bark一个临界频带宽度。频率小于500Hz时,1Bark约等于freq100;频率大于500Hz时,1Bark约等于9+41og(freq1000),即约为某个纯音中心频率的20。 通常认为,20Hz-16kHz范围内有24个子临界频带。而当某个纯音位于掩蔽声的临界频带之外时,掩蔽效应仍然存在。 2掩蔽类型 (1)频域掩蔽 所谓频域掩蔽是指掩蔽声与被掩蔽声同时作用时发生掩蔽效应,又称同时掩蔽。这时,掩蔽声在掩蔽效应发生期间
14、一直起作用,是一种较强的掩蔽效应。通常,频域中的一个强音会掩蔽与之同时发声的附近的弱音,弱音离强音越近,一般越容易被掩蔽;反之,离强音较远的弱音不容易被掩蔽。例如,个1000Hz的音比另一个900Hz的音高18dB,则900Hz的音将被1000Hz的音掩蔽。而若1000Hz的音比离它较远的另一个1800Hz的音高18dB,则这两个音将同时被人耳听到。若要让1800Hz的音听不到,则1000Hz的音要比1800Hz的音高45dB。一般来说,低频的音容易掩蔽高频的音;在距离强音较远处,绝对闻阈比该强音所引起的掩蔽阈值高,这时,噪声的掩蔽阈值应取绝对闻阈。 (2)时域掩蔽 所谓时域掩蔽是指掩蔽效应发
15、生在掩蔽声与被掩蔽声不同时出现时,又称异时掩蔽。异时掩蔽又分为导前掩蔽和滞后掩蔽。若掩蔽声音出现之前的一段时间内发生掩蔽效应,则称为导前掩蔽;否则称为滞后掩蔽。产生时域掩蔽的主要原因是人的大脑处理信息需要花费一定的时间,异时掩蔽也随着时间的推移很快会衰减,是一种弱掩蔽效应。一般情况下,导前掩蔽只有3ms20ms,而滞后掩蔽却可以持续50ms100ms(3)、 音符发音原理: 乐曲中不同的音符,实质就是不同频率的声音。通过单片机产生不同的频率的脉冲信号,经过放大电路,由蜂鸣器放出,就产生了美妙和谐的乐曲。(4)、 单片机产生不同频率脉冲信号的原理:1)要产生音频脉冲,只要算出某一音频的脉冲(1/
16、频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法如下: 例如,频率为523Hz,其周期天/523 S=1912uS,因此只要令计数器计时956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。计数脉冲值与频率的关系公式如下:N=Fi/2/Fr (N:计数值,Fi:内部计时一次为1uS,故其频率为1MHz,Fr
17、:要产生的频率 )3)、 其计数值的求法如下:T=65536-N=65536-Fi/2/Fr计算举例:设K=65536,F=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。T=65536-N=65536-Fi/2/Fr=65536-/2/Fr=65536-/Fr低音DO的T=65536-/262=63627中音DO的T=65536-/523=64580高音DO的T=65536-/1047=650594) C调个音符频率与计数值T的对照表如下表所示:表9.1 C调各音符频率与计数值T的对照表音符 频率(Hz) 简谱码T值 音符 频率(Hz) 简
18、谱码T值低1DO 262 63628 #4FA# 740 64860#1DO# 277 63731 中5SO 784 64898低2RE 294 63835 #5SO# 831 64923#2RE# 311 63928 中6LA 880 64968低3M 330 64103 #6 932 64994低4FA 349 64103 中7SI 988 65030#4FA# 370 64260 高1DO 1046 65058低5SO 392 64260 #1DO# 1109 65085#5SO# 415 64331 高2RE 1175 65110低6LA 440 64400 #2RE# 1245 65
19、124#6 466 64463 高3M 1318 65157低7SI 494 64524 高4FA 1397 65178中1DO 523 64580 #4FA# 1480 651985) 每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表为1/4和1/8节拍的时间设定。 表9.2 节拍码对照表1/4节拍 1/8节拍节拍码 节拍数 节拍码 节拍数1
20、 1/4拍 1 1/8拍2 2/4拍 2 1/4拍3 3/4拍 3 3/8拍4 1拍 4 1/2拍5 1又1/4拍 5 5/8拍6 1又1/2拍 6 3/4拍7 1又3/4拍 7 7/8拍8 2拍 8 1拍9 2又1/4拍 9 1又1/8拍A 2又1/2拍 A 1又1/4拍B 2又3/4拍 B 1又3/8拍C 3拍 C 1又1/2拍D 3又1/4拍 D 1又5/8拍E 3又1/2拍 E 1又3/4拍F 3又3/4拍 F 1又7/8拍1/4节拍 1/8节拍曲调值 DELAY 曲调值 DELAY调4/4 125毫秒 调4/4 62毫秒调3/4 187毫秒 调3/4 94毫秒调2/4 250毫秒 调
21、2/4 125毫秒5) 建立音乐的步骤: 1)先把吧乐谱的音符找出,然后由上表建立T值表的顺序。 2)把T值表建立在TABLE1,构成发音符的计数值放在“TABLE”。7)简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的“TABLE”处。表9.4 简谱对应的简谱码、T值、节拍数简谱 发音 简谱码 T值 节拍码 节拍数5 低5SO 1 64260 1 1/4拍6 低6LA 2 64400 2 2/4拍7 低7SI 3 64524 3 3/4拍1 中1DO 4 64580 4 1拍2 中2RE 5 64684 5 1又1/4拍3 中3M 6 64777 6 1又2/4拍4 中4
22、FA 7 64820 7 1又3/4拍5 中5SO 8 64898 8 2拍6 中6LA 9 64968 9 2又1/4拍7 中7SI A 65030 A 2又2/4拍1 高1DO B 65058 B 2又3/4拍2 高2RE C 65110 C 3拍3 高3M D 65157 D 3又1/4拍4 高4FA E 65178 E 3又2/4拍5 高5SO F 65217 F 3又3/4拍 不发音 0 1/4拍的延迟时间=187毫秒DELAY: MOV R7,#2D2: MOV R4,#187D3: MOV R3,#248DJNZ R3,$DJNZ R4,D3DJNZ R7,D2RET(4)音符设
23、计A、B、C、D、E、F、G。经过声学家的研究,全世界都用这些字母来表示固定的音高。比如,A这个音,标准的音高为每秒钟振动440周。升C调:1#C,也就是降D调:1BD;277(频率)升D调:1#D,也就是降E调:1BE;311升F调:1#F,也就是降G调:1BG;369升G调:1#G,也就是降A调:1BA;415升A调:1#A,也就是降B调:1BB。466,C 262 #C277 D 294 #D(bE)311 E 330 F 349 #F369 G 392 #G415A 440. #A466 B 494所谓1A,就是说,这首歌曲的“导”要唱得同A一样高,人们也把这首歌曲叫做A调歌曲,或叫“
24、唱A调”。1C,就是说,这首歌曲的“导”要唱得同C一样高,或者说“这歌曲唱C调”。同样是“导”,不同的调唱起来的高低是不一样的。经常看到一些刚学单片机的朋友对单片机演奏音乐比较有兴趣,本人也曾是这样。在此,本人将就这方面的知识做一些简介,但愿能对单片机演奏音乐比较有兴趣而又不知其解的朋友能有所启迪。一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。在音乐中所谓“音调”,其实就是我们常说的“音高”。在音乐中常
25、把中央C上方的A音定为标准音高,其频率f=440Hz。当两个声音信号的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程, 在音乐中1(do)与,2(来)与正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1i八音区为例,12个半音是:11、12、22、23、34、44,45、5一5、56、66、67、7i。这12个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。知道了一个音符的频率后,怎样让单片机发出相应频率的声音呢?一般说来,常采用的方法就是通
26、过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。那么怎样确定一个频率所对应的定时器的定时值呢?以标准音高A为例:A的频率f = 440 Hz,其对应的周期为:T = 1/ f = 1/440 =2272s由上图可知,单片机上对应蜂鸣器的I/O口来回取反的时间应为:t = T/2 = 2272/2 = 1136s这个时间t也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时,其定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为f0
27、,则定时器的予置初值由下式来确定:t = 12 *(TALL THL)/ f0式中TALL = 216 = 65536,THL为定时器待确定的计数初值。因此定时器的高低计数器的初值为:TH = THL / 256 = ( TALL t* f0/12) / 256TL = THL % 256 = ( TALL t* f0/12) %256将t=1136s代入上面两式(注意:计算时应将时间和频率的单位换算一致),即可求出标准音高A在单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值为 :TH440Hz = (65536 1136 * 12/12) /256 = FBH
28、TL440Hz = (65536 1136 * 12/12)%256 = 90H根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。音符的节拍我们可以举例来说明。在一张乐谱中,我们经常会看到这样的表达式,如1=C 、1=G 等等,这里1=C,1=G表示乐谱的曲调,和我们前面所谈的音调有很大的关联,、就是用来表示节拍的。以为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。比如:其中1 、2 为一拍,3、4、5为一拍,6为一拍共三拍。1 、2的时长为四分音符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分音符长,5的时长为四分音符的一半,即为八分音符长,6的时
29、长为四分音符长。那么一拍到底该唱多长呢?一般说来,如果乐曲没有特殊说明,一拍的时长大约为400500ms 。我们以一拍的时长为400ms为例,则当以四分音符为节拍时,四分音符的时长就为400ms,八分音符的时长就为200ms,十六分音符的时长就为100ms。可见,在单片机上控制一个音符唱多长可采用循环延时的方法来实现。首先,我们确定一个基本时长的延时程序,比如说以十六分音符的时长为基本延时时间,那么,对于一个音符,如果它为十六分音符,则只需调用一次延时程序,如果它为八分音符,则只需调用二次延时程序,如果它为四分音符,则只需调用四次延时程序,依次类推。通过上面关于一个音符音调和节拍的确定方法,我
30、们就可以在单片机上实现演奏音乐了。具体的实现方法为:将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相关参数,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整个乐曲。另外,对于乐曲中的休止符,一般将其音调参数设为FFH,FFH,其节拍参数与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为00H来表示。下面给出部分音符(三个八度音)的频率以及以单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值 :C调音符频率Hz2622772
31、93311329349370392415440466494TH/TLF88BF8F2F95BF9B7FA14FA66FAB9FB03FB4AFB8FFBCFFC0BC调音符11#22#344#55#66#7频率Hz523553586621658697739783830879931987TH/TLFC43FC78FCABFCDBFD08FD33FD5BFD81FDA5FDC7FDE7FE05C调音符频率Hz104511061171124113161393147615631658175518601971TH/TLFB21FE3CFE55FE6DFE84FE99FEADFEC0FE02FEE3FEF
32、3FF02五、软件流程图程序流程图如图所示六、程序设计ORG 0000H ;主程序起始地址SJMP START ;跳至主程序ORG 000BH ;TIMER0中断起 始地址 LJMP TIM0 ;跳至TIMER0中断子程序START: MOV TMOD,#01H ;设T0在M1 MOV IE,#82H ;中断使能START0:MOV 30H,#00 ;取简谱码指针NEXT: MOV A,30H ;简谱码指针载入A MOV DPTR,#TAB ;至TAB取简谱码MOVC A,A+DPTR ; MOV R2,A ;渠道的简谱码暂存于R2 JZ END0 ;是否渠道00(结束码) ANL A,#0F
33、H ;不是,则取低4位(节拍码) MOV R5,A ;将节拍码存入R5 MOV A,R2 ;将取到的简谱码再载入A SWAP A ;高低4位交换 ANL A,#0FH ;取低4位(音符码) JNZ SING ;取到的音符码是否为0? CLR TR0 ;开始,则不发音 SJMP D1 ;跳至D1SING: DEC A ;取到的音符码减1(不含0) MOV 22H,A ;存入(22H) RL A ;乘2 MOV DPTR,#TAB1 ;至TABLE1取相对的高位字节计数值 MOVC A,A+DPTR ;MOV TH0,A ;取到的高位字节存入TH0MOV 21H,A ;取到的高位字节存入(21H)
34、MOV A,22H ;在载入取到的音符码RL A ;乘2INC A ;加1MOVC A,A+DPTR ;至TABLE1取相对的低位字节计数值MOV TL0,A ;取到的低位字节存入TL0MOV 20H,A ;取到的低位字节存入(20H)SETB TR0 ;启动TIMER0D1: LCALL DELAY ;其本单位时间1/4拍187毫秒 INC 30H ;取简谱码指针加1 JMP NEXT ;取下一个简谱码END0: CLR TR0 ;停止TIMER0 JMP START0 ;重复循环TIM0: PUSH ACC ;将A的值暂存于堆栈 PUSH PSW ;将PSW的值暂存于堆栈 MOV TL0,
35、20H ;重设计数值 MOV TH0,21H ; CPL P3.0 ;将P3.0位反相,控制蜂鸣器发声 POP PSW ;至堆栈取回PSW的值 POP ACC ;至堆栈取回A的值 RETI DELAY:MOV R7,#02 D2: MOV R4,#187 D3: MOV R3,#248 DJNZ R3,$ DJNZ R4,D3 DJNZ R7,D2 RET TAB1: ;决定节拍DW 64260,64400,64521,64580 DW 64684,64777,64820,64898 DW 64968,65030,65058,65110 DW 65157,65178,65217 TAB: ;
36、八月桂花开DB 18H, 30H, 1CH, 10H, 20H, 40H, 1CH, 10HDB 18H, 10H, 20H, 10H, 1CH, 10H, 18H, 40HDB 1CH, 20H, 20H, 20H, 1CH, 20H, 18H, 20HDB 20H, 80H, 0FFH, 20H,30H, 1CH, 10H, 18HDB 20H, 15H, 20H, 1CH, 20H, 20H, 20H, 26HDB 40H, 20H, 20H, 2BH, 20H, 26H, 20H, 20HDB 20H, 30H, 80H, 0FFH,20H, 20H, 1CH, 10HDB 18H,
37、10H, 20H, 20H, 26H, 20H, 2BH, 20HDB 30H, 20H, 2BH, 40H, 20H, 20H, 1CH, 10HDB 18H, 10H, 20H, 20H, 26H, 20H, 2BH, 20HDB 30H, 20H, 2BH, 40H, 20H, 30H, 1CH, 10HDB 18H, 20H, 15H, 20H, 1CH, 20H, 20H, 20HDB 26H, 40H, 20H, 20H, 2BH, 20H, 26H, 20HDB 20H, 20H, 30H, 80H, 20H, 30H, 1CH, 10HDB 20H, 10H, 1CH, 10H
38、, 20H, 20H, 26H, 20HDB 2BH, 20H, 30H, 20H, 2BH, 40H, 20H, 15HDB 1FH, 05H, 20H, 10H, 1CH, 10H, 20H, 20HDB 26H, 20H, 2BH, 20H, 30H, 20H, 2BH, 40HDB 20H, 30H, 1CH, 10H, 18H, 20H, 15H, 20HDB 1CH, 20H, 20H, 20H, 26H, 40H, 20H, 20HDB 2BH, 20H, 26H, 20H, 20H, 20H, 30H, 30HDB 20H, 30H, 1CH, 10H, 18H, 40H, 1
39、CH, 20HDB 20H, 20H, 26H, 40H, 13H, 60H, 18H, 20HDB 15H, 40H, 13H, 40H, 18H, 80H, 00HEND七、模拟调试的过程和出现的问题分析系统的抗干扰是系统可靠性的重要方面。一个系统的正确与否,不仅取决于系统的设计思想和方法,同时还取决于系统的抗干扰措施,不然势必会出现原理正确而系统稳定性差,甚至不能实施,使得耗费了大量钱财和时间研制出来的控制系统成为一种摆设,电脑变成了“烦恼”。正因如此,抗干扰技术的研究越来越引起大家的高度重视。1. 系统受到干扰的主要原因和现象 由于单片机控制系统应用系统的工作环境往往是比较恶劣和复杂的
40、,其应用的可靠性、安全性就成为一个非常突出的问题。单片机控制系统应用必须长期稳定、可靠地运行,否则将导致控制误差加大,严重时会使系统失灵,甚至造成巨大的损失。 影响单片机控制系统应用的可靠、安全运行的主要因素是来自系统内部和外部的各种电气干扰,以及系统结果设计、元器件选择、安装、制造工艺和外部环境条件等。这些因素对控制系统造成的干扰后果主要表现在下述几个方面。 (1) 数据采集误差加大。干扰侵入单片机控制系统测量单元模拟信号的输入通道,叠加在有用信号之上,会使数据采集误差加大,特别是当传感器输出弱信号时干扰更加严重。 (2) 控制状态失灵。微机输出的控制信号常依赖某些条件的状态输入信号和这些信
41、号的逻辑处理结果。若这些输入的状态信号受到干扰,引入虚假状态信号,将导致输出控制误差加大,甚至控制失常。 (3) 数据受干扰发生变化。单片机控制系统中,由于RAM存储器是可以读/写的,故在干扰的侵害下,RAM中的数据有可能被窜改。在单片微机系统中,程序及表格、常数存于程序存储器中,避免了这些数据受到干扰破坏,但对于内RAM、外扩RAM中的数据都有可能受到外界干扰而变化。根据干扰窜入的途径、受干扰数据的性质不同,系统受损坏的情况也不同有的造成数据误差有的使控制失灵,有的改变程序状态,有的改变某些部件(如定时器/计数器,串行口等)的工作状态等。 (4) 程序运行失常。单片机控制系统中程序计数器的正
42、常工作,是系统维持程序正常运行的关键所在。如果外界干扰导致计数器的值改变,破坏了程序的正常运行。由于受到干扰后计数器的值是随机的,因而导致程序混乱。通常的情况是程序将执行一系列毫无意义的指令,最后进入死循环,这将使输出严重混乱或系统失灵。 2. 系统可靠性设计的分析和方法 单片机控制系统应用的可靠性技术涉及到生产过程的方方面面,不仅与设计、制造、检验、安装、维护有关,还与生产管理、质量监控体系、使用人员的专业水平与素质有关。这里主要是从技术角度分析提高系统可靠性的最常用方法。导致系统运行不稳定的内部因素主要有以下三点: (1) 元器件本身的性能与可靠性。元器件是组成系统的基本单元,其特性好坏与
43、稳定性直接影响整系统性能与可靠性。因此,在可靠性设计当中,首要的工作是精选元器件,使其在长期稳定性、精度等级方面满足要求。随着微电子技术的发展,电子元器件的可靠性不断提高,现在小功率晶体管及中小规模IC芯片的实际故障大约为1010-9/h。这为提高系统性能与可靠性提供了很好的基础。 (2) 系统结构设计。包括硬件电路结构和运行软件设计。电路设计中要求元器件或线路布局合理以消除元器件之间的电磁耦合相互干扰,优化的电路设计也可以消除或削弱外部干扰对整个系统的影响,如去耦电路、平衡电路等。同时也可以采用冗余结构,也称容错技术或故障掩盖技术,它是通过增加完成同一功能的并联或备用单元包括硬件单元或软件单
44、元数目来提高系统可靠性的一种设计方法。当某些元器件发生故障时也不影响整个系统的运行。对于消减外部电磁干扰,可采用电磁兼容设计,目的是提高单片机系统在电磁环境中的适应性,即能保持完成规定功能的能力。常用的抗电磁干扰的硬件措施有滤波技术、去耦电路、屏蔽技术、接地技术等。 软件是微机系统区别于其它通用电子设备的独到之处,通过合理编制软件可以进一步提高系统运行的可靠性。常用的软件措施主要有:一是信息冗余技术,对单片机控制系统应用而言,保持信号信息和重要数据是提高可靠性的主要方面。为防止系统故障等原因而丢失信息,常将重要数据或文件多重化,复制一份或多份拷贝,并存于不同空间,一旦某一区间或某一备份被破坏,
45、则自动从其它部分重新复制,使信息得以恢复。二是时间冗余技术,为提高单片机控制系统应用的可靠性,可采用重复执行某一操作或某一程序,并将执行结果与前一次结果进行比较对照来确认系统工作是否正常。只有当两次结果相同时,才被认可,并进行下一步操作。 若两次结果不相同,可再次重复执行一次,当第三次结果与前两次之中的一次相同时,则认为另一结果是偶然故障引起的,应剔除。若三次结果均不相同,则初步判定为硬件永久性故障,需进一步检查。这种办法是用时间为代价来换取可靠性,称为时间冗余技术,也称为重复检测技术。三是故障自动检测与诊断技术,对于复杂系统,为了保证能及时检测出有故障装置或单元模块,以便及时把有用单元替换上
46、去,就需要对系统进行在线测试与诊断。这样做的目的有两个:一是为了判定动作或功能的正常性;二是为了及时指出故障部位,缩短维修时间。四是软件可靠性技术:单片机控制系统运行软件是系统要实行的各项功能的具体反映。软件的可靠性主要标志是软件是否真实而准确地描述了要实现的各种功能。因此对生产工艺过程的了解程度直接关系到软件的编写质量。提高软件可靠性的前提条件是设计人员对生产工艺过程的深入了解,并且使软件易读、易测和易修改。五是失效保险技术:有些重要系统,一但发生故障时希望整个系统应处于安全或保险状态。此外,还有常见的数字滤波、程序运行监视及故障自动恢复技术等。 (3) 安装与调试。元器件与整个系统的安装与调试,是保证系统运行与可靠性的重要措施。尽管元器件选择严格,系统整体设计合理,但安装工艺粗糙,调试不严格,仍然达不到预期的效果。 导致系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年保育教师理论考试试题及答案
- 2026年药品卫生试题及答案
- 2026年关务水平测试(关务基础知识)历年参考题库含答案详解
- 土石方工程安全专项施工方案
- 化妆品生产安全操作技能考核试题及答案
- 2026年眼科执业医师考试试题及答案
- 2025年广东省梅州市兴宁市招聘工会社会工作者11人笔试题库及答案详解(考点梳理)
- 2026年人力资源管理师考试《人力资源管理》冲刺试卷(含解析)
- 2025年高校行政岗科研经费管理笔试真题(附答案)
- 2025年高校人事代理管理岗笔试真题(附答案)
- 刻印的乐趣(教学设计)-2024-2025学年人美版(2012)美术四年级上册
- DB37-T4827-2025 水利工程运行管理标牌设置指南
- GB/Z 44267-2024自动化系统与集成工业数据数字孪生的可视化元素
- (正式版)HGT 3873-2024 增塑剂 己二酸二(2-乙基己基)酯(DOA)
- 《首件检验培训教材》课件
- 2022年吉林大学软件工程专业《计算机网络》科目期末试卷B(有答案)
- 施工日志(模板)
- 施工现场消防安全培训课件讲义
- 项贤明主编马工程教材《教育学原理》第九章教师与学生
- 2022年贵州遵义市播州区南白初级中学选调教师20人笔试备考试题及答案解析
- 财税2016年第36号文
评论
0/150
提交评论