3位LED音乐随机数据发生器

来源 :电子世界 | 被引量 : 0次 | 上传用户:guoqing123456789
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  本文介绍一种用89C2051单片机设计的3位LED音乐随机数据发生器,它在音乐播放的同时产生随机数据,其关键技术为在单片机音乐发生同时实现LED动态数据显示,可用于小型晚会抽奖及点出节目助兴。以下就其硬件原理、软件编写作一介绍,有兴趣者不妨一试。
  
  硬件设计
  
  图1为3位LED随机数据发生器硬件电路。图中C3、R1为上电复位电路,R2、K构成按键电路,并由P3.0检测按键状态。由于89C2051的P1口能吸收20mA灌入电流并可直接驱动LED显示器,因此,图中由P1.0~P1.6提供三位LED七段段线,分别对应a~g,并通过7个200Ω电阻上拉接+5V电源,当P1.0~P1.6口线输出高电平时,由+5V电源提供LED驱动电流,当P1.0~P1.6口线输入低电平时,+5V电源通过200Ω电阻,向P1.0~P1.6灌电流,并使LED段线处于低电平状态。同样,当89C2051的P3口作为一般口线时,P3口同样能吸收20mA灌电流,因此直接采用P3.5、P3.4、P3.3控制LED1、LED2、LED3的位线,实现了用89C2051口线直接驱动LED动态显示的可能。P3.7是音乐信号输出口线,同样采用灌电流的方式通过9013电流放大驱动8Ω喇叭以实现音乐播放。
  


  软件设计
  
  本随机数据发生器的工作过程如下:开机后,处于待机状态,当K按下并释放后,音乐响起并循环播放,同时,3位LED快速循环显示0~9数字,随机数据寄存器从1到最高值(最大可到999)加1循环。一旦K再次按下并释放后,音乐停播,同时随机数据寄存器循环加1并显示,逐渐减慢并停止在某一值,但由于K再次按下是随机的,因此这一值也为随机值。当K第三次按下时将再次处于待机状态,否则一直显示随机值。随机数据发生器的程序即是按上述过程编写的,其程序流程如图2所示,主要由音乐发生、三位LED动态显示及随机数据处理三个部分组成,图中R2为中断次数寄存器,R4为乐曲长度寄存器,30H为随机数据寄存器。
  


  单片机音乐发声原理是在一口线上产生音频范围内的方波信号,并经放大驱动喇叭便可发出某一频率的音调,控制音调播放时间使其按节拍变化,便可编程演奏一首乐曲。方波信号的频率由定时器控制产生,采用16位定时方式。附表列出C调音阶与频率及初值的对应关系。将初值制表在程序中,将音符作为偏移量查该表即可得音符对应的初值。
  节拍长度由定时器T1控制,定时时间可取总节拍长度的1/4或1/8,通过控制定时器的中断次数,即可满足1/8、1/4、1/2、1、2拍等不同节拍的定时要求。将乐谱转换成代码,如音符、音长,组成一个字节,如下处理便可播放音乐:
  1.将音符代码装入8位字节高4位,节拍代码装入低4位,组成一个字节,将整段音乐换成一定长度的代码并在程序中制表。
  2.在程序执行时先查代码表,取出音符代码,查频率初值表将初值置入T0定时器,取节拍代码,置入T1口定时中断次数寄存器,启动T0、T1即可发音。
  3.启动后T1每中断一次,中断次数寄存器减1,在主程序中加以判断,一旦为零,结束该音节播放,取下一个音节代码再按上述步骤处理,每一音节播放完毕,乐曲即音节长度寄存器减1并判零,为零即乐曲结束,可作停播或重播处理。
  在T1中断次数寄存器判零等待期间,进行随机数据寄存器循环加1、LED1~LED3 0~9循环加1显示及判键处理,必须注意的是处理时间不得超过T1定时时间,否则将影响节拍长度控制。而在此间若K键按下,则音乐停播,进行随机数据循环加1显示并逐渐减慢固定显示在某一值,其流程图如图3所示。
  


  图中30H为随机数据寄存器,33H为减慢显示速度控制寄存器,32H为暂储寄存器。
  程序通过增加显示同一随机数据次数来减慢显示速度,当显示次数与设定值相等时停止加1,并固定显示随机数据寄存器的内容,此值即为产生的随机数据。
  程序中设有处理LED1~LED3分别显示0~9的显示子程序、显示随机数据寄存器内容显示子程序及T1、T2中断服务等程序,不再详述。
  


  若随机数据在0~255范围,则只需一个8位随机数据寄存器,如流程中的30H,若需显示0~999,则需二个8位寄存器。另外在音乐停播时,必须将音乐输出口线P3.7置高电平,否将造成9013及喇叭长期导通而发热,这在程序调试时也得注意。
  由于89C2051的工作电压范围较宽,可用3节5号电池提供4.5V 电压供电。
其他文献
4.MSP430系列的内部结构概述    MSP430系列器件包含CPU、程序存储器(ROM、 OTP和Flash ROM)、数据存储器(RAM)、运行控制、外围模块、振荡器和倍频器等主要功能模块。其基本结构如图1所示。可以看出,MSP430内部包含了计算机的所有部件,是一个真正的单片机(微控制器MCU)。    CPU CPU 由一个16位的ALU、16个寄存器和一套指令控制逻辑组成,其逻
期刊
1.什么是DV?    DV是Digital Video的缩写,译成中文就是“数字视频”的意思,它是由索尼(SONY)、松下(PANASONIC)、JVC(胜利)、夏普(SHARP)、东芝(TOSHIBA)和佳能(CANON)等多家著名家电巨擘联合制定的一种数码视频格式。然而,在绝大多数场合DV则是代表数码摄像机。    2.和模拟摄像机相比,DV有什么主要特点?    和模拟摄像机相比,DV有如
期刊
光电耦合器(以下简称光耦)是一种发光器件和光敏器件组成的光电器件。它能实现电—光—电信号的变换,并且输入信号与输出信号是隔离的。目前极大多数的光耦输入部分采用砷化镓红外发光二极管,输出部分采用硅光电二极管、硅光电三极管及光触发可控硅。这是因为峰值波长900~940nm的砷化镓红外发光二极管能与硅光电器件的响应峰值波长相吻合,可获得较高的信号传输效率。    光耦的结构    光耦的内部结构(剖面)
期刊
锂离子电池具有能量高、电压高、寿命长、无记忆、无污染等其它电源无法比拟的优点,在以电池供电的便携式电子产品,如手提式MD、游戏机、数字摄像机和照相机、PDA等都采用锂离子电池作为工作电源,特别在移动电话和笔记本电脑领域中,锂离子电池更是占绝对优势。但是,锂离子电池必须有过充电、过放电和过电流保护电路,否则极易被损坏,甚至还会危及主机。可是,目前国内还没有企业掌握锂离子电池保护电路的核心技术,大部分
期刊
随着社会的发展,人们越来越注重自己的健康,跑步成为一种方便而又有效的锻炼方式。但是如何知道自己跑了多少步,多远的路程?计步器可以帮助人们实时掌握锻炼情况。它的主要功能是检测步数,通过步数和步幅可计算行走的路程。步幅信息可通过行走固定的距离如20m来计算或是直接输入,高级的计步器还可以计算人体消耗的热量。但这些计算的主要依据是步数的检测。下面介绍一种加速度传感器ADXL202在步数检测中的应用。  
期刊
松下M15M机心,代表机型有:TC-D25C、TC-M25C、TC-AV29C等机型,为适应多制式接收的需要,在伴音处理电路中,设有多制式伴音中频处理电路、AV/TV音频切换电路、音频调整电路和音频功放电路等,分布在主电路板、AV/TV电路板、功放电路板和耳机电路板、外接扬声器电路板等多块电路板上,本文以TC-M25C彩电为例,介绍该机心伴音电路工作原理。
期刊
在脱机(离线式)AC-DC电源启动期间,由于经整流的AC电流对大容量的电容器充电,会产生一个浪涌电流。这种浪涌电流通常为系统正常工作电流的10倍乃至50倍,会烧毁输入线路上的保险丝或迫使交流电源配置的断路器断开。    传统浪涌电流限制器    为限制浪涌电流强度,通常所采取的最简单措施就是在低功率系统中的桥式整流器输入端串联独立的限流电阻Rlimit或NTC热敏电阻,如图1所示。限流电阻阻值一般
期刊
目前彩色显示器种类繁多,而生产厂家通常不提供电路原理图。现将较有代表性的实达5GIr型显示器二次电源及行输出电路对照线路板实物画出,如图1所示。并对其电路原理进行分析,以利于对显示器二次电源及行输出电路的故障维修作参考。     二次电源电路原理     实达5GIr显示器是具有节能、多频扫描的显示器。其行频随着分辨率的升高而生高。为了确保行幅以及行输出变压器产生的电压保持不变,必须使行输出供电电
期刊
数码摄像机(DV)、数码相机(DC)、智能手机和笔记本电脑等数码产品的大步进入家庭,极大地推动了存储卡技术的发展和进步。在2005年市场上的主流数码存储卡和其它IT产品一样,也发生了很大的变化,其主要表现为:存储容量大增、读写速度更快、价格不断降低。本文就来介绍目前市场上的主流数码存储卡,让我们对这些新存储卡有一个较全面的认识。
期刊
5I30机心系列彩电的高频调谐器采用电压合成(VS)调谐器,这是因为现在的电压合成调谐器的技术已相当成熟,频率稳定,自动频率调整(AFC)和自动电压增益(AGC)控制都可达到很高的水平。同时,高频调谐器的技术指标应能满足彩电整机中高频调谐电路的技术要求。如:在8MHz的通频带内具有平坦的频率特性(不平度频段≤600kHz;UHF频段≤1MHz);要有较高的功率增益(VHF频段为37~38dB;UH
期刊