当前位置:首页 > 单片机 > 单片机
[导读]   我们通过对一个自动演奏延迟程序电路及配套程序的介绍,来讲解“置位”、“清位”等指令和延时程序的编制原理。    一、发声原理    由图可知,如果我们要使B2发出一定频率的声音,只要改变

  我们通过对一个自动演奏延迟程序电路及配套程序的介绍,来讲解“置位”、“清位”等指令和延时程序的编制原理。
  
  一、发声原理
  
  由图可知,如果我们要使B2发出一定频率的声音,只要改变Pl.7的高低电位,并在Pl.7高低电位变换之间延长一段时间即可。改变Pl.7的高低电位可用专门的位操作指令,也叫做布尔操作指令。比如,我们用一条“置位Pl.7”指令,可使Pl.7呈高电位,然后延时一段时间,再执行“清位Pl.7”指令,使Pl.7呈低电位,延时一段时间后再返回去执行“置位”指令。经过上述操作,Pl.7的电位就完成了一个高低变化周期,B2也就完成了一次全振动。如此,循环上述程序,Pl.7就会持续地向B2送出一定频率的方波,B2就会持续地发出一定频率的声音来。

  二、延时原理
  
  为了使B2发声的频率稳定,Pl.7呈高电位的时间和呈低电位的时间必须是一个定数,这就要求CPU在完成对Pl.7的“置位”和“清位”之间延迟一定的时间,这期间必须保证不再对Pl.7进行改变电位的操作。CPU可以停止对Pl.7操作,但CPU绝不会停下来,它仍会按一定的节拍在工作,所以,上述延时时间内CPU或者去完成对其它I/O口输入输出的操作,或者就在那里“计数”以实现延时。后者是延时的常用手段。
  
  通常是先向某一个寄存器装入一个常数,然后让CPU完成几个“空操作”,再将寄存器里的数减l并对该寄存器中的数值进行判断,如果寄存器中的数值不为零,则进行一轮空操作后再进行判断;如果寄存器中的数值为零,说明延时时间已到,接着完成延时后的操作。
  
  三、乐声及其程序
  
  乐声是由长短高低不同的音阶构成的。由于音阶高低不同的音调是由振动频率决定的,所以我们只要用程序来确定振动频率、各频率联接的先后次序及各频率持续的时间,就能实现乐声演奏。以《小草》前两句为例,音阶是“6-6-1-7-6,6-6-3-2-3”,而所用到的不重复音阶只有“6、7、l、2、3”等5个。我们分别将能通过B2发出上述5种音高的程序联接起来,就能使电路连续演奏出《小草》这首歌的部分弦律来。
  
  音阶“6”的频率是220Hz,周期约为5.545ms,半周期约2.27ms,这样,我们可编一段2.27ms的延时程序嵌在Pl.7高低电位变化之间,即可使B2发出“6”音。
  
  “6”音的程序见清单中0063H至0075H区间。
  
  由程序可以看出,执行“置位Pl.7、送数R2,#E3”后,又连续执行了三次“空操作”。每次空操作用时2(s,而执行“减1转移Xl”用时4(s,此一个循环用时恰为l0(s。“减1转移”是一条条件转移指令。执行结果是将指定寄存器中的内容减1,然后判断寄存器中的数值,如果寄存器中的数值不为零,即转移到指定位置;如果寄存器中的数值为零,接着执行下面的程序。由于“送数R2,#E3H”装入R2中的数为E3H,即227,所以,当R2中的数为零时,共完成上述循环227次,用时恰好是2.27ms,而“置位”和“送数”指令所用4(s则可以忽略。
  
  就是说,至此,Pl.7呈高电位的时间已持续了2.27ms。
  
  同样,接着执行“清位Pl.7”和下面的程序,又使Pl.7呈低电位的时间持续了2.27ms。这样,Pl.7就输出了频率为220HZ的方波信号的一个完整的周期。持续循环上述程序,B2就会发出“6”的音阶。其它音阶程序原理与之相同。各音阶子程序之后是子程序返回指令。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭