您好,欢迎来到九壹网。
搜索
您的当前位置:首页基于单片机的音乐盒研究与设计

基于单片机的音乐盒研究与设计

来源:九壹网


摘 要

随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。 关键词:音乐盒;单片机;稳压电源

ABSTRACT

Along with the development of human society, people of vision, hearing things put forward higher request. Small music box can bring good memories and improve people's spiritual culture. Traditional music box is heavy mechanical type, size, pronunciation and drab, cannot achieve batch production. This music box is the design of components single chip electronic music box, small volume, light weight, can play music, the function and the effect of exterior, colorful, easy to use, and has certain commercial value.

KEY WORDS:Music Box; Single Chip Micro-computer; Voltage Regulator Power Supply

目 录

1 绪论............................................ 错误!未定义书签。

1.1课题意义.................................... 错误!未定义书签。 1.2主要研究工作................................................. 2 2 音乐盒发音原理及程序设计......................................... 3

2.1播放音乐的原理............................................... 3 2.2音符频率的产生............................................... 3 2.3节拍频率的产生............................................... 5 2.4 歌曲的编码改写实例 .......................................... 6 2.5 程序调试...................................................10 3 音频驱动电路的设计.............................................. 13

3.1 LM386的介绍................................................ 13 3.2 音频驱动电路 ............................................... 14 4 选歌按键的设计.................................................. 17

4.1按键概述 ................................................... 17 4.2矩阵键盘的设计………………………………………………………….18

4.3键盘的抖动问题..............................................19 5 音乐盒显示部分.................................................. 20

5.1七段LED数码管结构.......................................... 20 5.2播放音乐序号的显示.......................................... 21 5.3播放音乐时间的显示.......................................... 21

5.3.1动态显示原理 .......................................... 21

5.3.2动态显示驱动……………………………………………………… 22 5.3.3 LED显示………………………………………………………….. 22 6 直流稳压电源.................................................... 23

6.1直流稳压电源的设计思路...................................... 23

6.1.1桥式整流电路........................................... 23

6.1.2滤波电路 ............................................... 23 6.1.3集成稳压器............................................24

6.1.4直流稳压电路图.......................................... 24 总结...............................................................26 参考文献........................................................... 27 致 谢............................................................. 28

基于单片机的音乐盒研究与设计

1 绪论

1.1课题意义

音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的钟塔报时,而将大小的钟表装上机械装置,被称为“可发出声音的组钟”。音乐盒有着300多年的发展历史,是人类文明发展的历史见证。

传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。但是,机械式的音乐盒体积比较大,比较笨重,且发音单调。水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。

本文设计的音乐盒,是基于单片机设计制作的电子式音乐盒。与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐。电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜。基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。所放歌曲的节奏可以根据需要进行设置,根据存储容量的大小,可以尽可能多的存储歌曲。另外,可以设计彩灯外观效果,增设放歌时间、序号显示灯功能,使音乐盒的功能更加丰富,如图1-1所示。

图1-1 单片机与音乐盒功能图

顺便指出,我在设计中选择了ATS51单片机。主要是因为S51支持ISP

1

(In System Programming,即“在线可编程”),这个功能是C51所不具备的。 1.2 主要研究工作

在本设计中,首先提出了发音盒的整体设计方案;然后对音乐盒所播放的音乐进行了程序设计;其次设计了音频驱动电路,以驱动播放扬声器;最后设计了直流稳压电源,用于为单片机和音频部分、显示部分提供稳定的+5V电压。

2

2 音乐盒的发音原理及程序设计

2.1播放音乐的原理

发音原理:播放一段音乐需要的是两个元素,一个是音调,另一个是音符。首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。另外,音符的频率有所不同。基于上面的内容,这样就对发音的原理有了一些初步的了解。

音符的发音主要靠不同的音频脉冲。利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.0引脚的输出音乐。只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。 2.2音符频率的产生 音符及定时器初始值:

例如:中音1(do)的音频=523HZ,周期T=1/523s=1912s 定时器/计数器0的定时时间为:T/2=1912/2s=956s

定时器956s的计数值=定时时间/机器周期=956s/1s=956(时钟频率=12MHZ)

装入T0计数器初值为65536-956=580

将580装入T0寄存器中,启动T0工作后,每计数956次时将产生溢出中断,进入中断服务时,每次对P3.0引脚的输出值进行取反,就可得到中音DO(523HZ)的音符音频。将51单片机内部定时器工作在计数器模式1下,改变计数初值TH0,TL0以产生不同的频率。下表2-1是C调各音符频率与计数初值T的对照表:

3

表2-1 C调各音符频率与计数初值T的对照表

音符 低1DO 高1DO 中2RE 低3M 高3M 中4FA 低5SO 高5SO 中6LA 低7SI 高7SI 频率(Hz)/初值(s) 262/63627 1042/65056 5/687 330/021 1318/65157 700/822 393/2 1568/65217 882/969 495/526 1967/65282 音符 中1DO 低2RE 高2RE 中3M 低4FA 高4FA 中5SO 低6LA 高6LA 中7SI 频率(Hz)/初值(s) 523/580 294/63835 1245/65134 661/780 350/107 1397/65178 786/900 441/402 1760/65252 990/65031

音符、音符编码及定时器初始值:

为了产生音符,必须求出音符低音5—高音5的计数初值。例如C调的低1DO的THTL=65536-50000/262=63627,中音DO的THTL=65536-500000/523=580,高音DO的THTL=65536-500000/1042=65056。为了方便写谱,对其进行简单的编码,在编程时,根据音符编码查找对应的计数初值。比如说音乐是C调的,那么出现低音的5SO,直接将代码写为1;出现低音6LA,直接写一个2的代码;出现低音7SI,直接写一个3代码。

4

表2-2 音符编码表

音符 不发音 低6LA 中1DO 中3M 中5SO 中7SI 高2RE 高4FA 高6LA 音符编码 0 2 4 6 8 A C E G 音符 低5SO 低7SI 中2RE 中4FA 中6LA 高1DO 高3M 高5SO 音符编码 1 3 5 7 9 B D F 2.3节拍频率的产生 节拍的产生与编码:

音乐中的节拍用延时时间产生。例如,1拍=0.4s,1/4拍=0.1s,以此类推。假设1/4拍执行一次延时程序,则1/2拍就执行两次延时程序,所以只要求出1/4拍的延时时间,其余节拍就是它的倍数。为了方便,将节拍数也进行了编码,并且计算了乐谱节拍编程时的延时时间,如表2-3和表2-4所示。

表2-3 节拍数编码表

按1/4拍为一个延时时间的节拍编码与节拍对应的表 节拍编码 1 2 3 4 5 节拍 1/4 2/4 3/4 4/4 5/4 节拍编码 节拍 6 8 A C F 6/4 8/4 10/4 12/4 15/4 按1/8拍为一个延时时间的节拍编码与节拍对应的表 节拍编码 1 2 3 4 5 节拍 1/8 2/8 3/8 4/8 5/8 节拍编码 6 8 A C 节拍 6/8 8/8 10/8 12/8

5

表2-4 乐谱节拍编程时的时间延时表

乐谱节拍 4/4 3/4 2/4 1/4拍的延时时间 125 ms 187 ms 250 ms 乐谱节拍 4/4 3/4 2/4 1/8拍的延时时间 62 ms 94 ms 125 ms

音符编码和节拍编码完成后,在编程时,每个音符占一个字节,高四位是音符编码,低四位是节拍编码。 2.4 歌曲的编码改写实例

据前几节的知识,我们不难知道给我们一首歌,只要我们查看对应的音调(节拍)及音符对应的编码表就可以把一首歌写成单片机可识别的数据了,下面我们以一首歌作实例编一下“歌谱”。歌曲的五线谱和简谱如图2-1所示。

图2-1 歌曲五线谱与简谱

以第一个音符“3”为例,它是中音3M,在音乐简谱中占1/2个节拍,根据上述的编码方法,将其编码为H。

6

这首歌编码后的代码为:

DB H,84H,92H,91H,81H,93H,61H,54H,62H

DB 82H,92H,91H,81H,92H,H,62H,82H,92H,91H,81H,93H,61H DB 54H,82H,62H,51H,61H,51H,41H,52H,24H,92H,54H,82H,H,52H DB 42H,94H,82H,62H,51H,61H,51H,41H,52H,24H DB 00H

具体的音乐编程如下所示: ORG 0000H LJMP MAIN ORG 0003H LJMP WAISEV ORG 000BH LJMP T0SEV ORG 0030H

MAIN: MOV TMOD, #01H SETB EA SETB EX0 SETB IT0 SETB ET0 START: MOV 30H,#00H L0: MOV A,30H CJNE R0,#0,L1 AJMP L0 L1: CJNE R0,#1,L2 MOV DPTR,#FIRST AJMP CODE L2: CJNE R0,#2,L3 MOV DPTR,#SECOND AJMP CODE

7

L3: CJNE R0,#3 ,DELAY1 MOV R0,#00H AJMP L0 CODE: MOVC A,@A+DPTR MOV R2,A

CJNE A,#00H,NEXT1 CLR TR0 SJMP START NEXT1: MOV A,R2 ANL A,#0FH MOV R5,A MOV A,R2 SWAP A ANL A,#0FH JNZ SING CLR TR0 SJMP D1 SING: DEC A CLR C RL A MOV 22H,A MOV DPTR,#TABLE MOVC A,@A+DPTR MOV TH0,A MOV 21H,A MOV A,22H ADD A,#1 MOVC A,@A+DPTR MOV TL0,A

8

MOV 20H,A MOV P1,A SETB ET0 SETB TR0 D1: LCALL DELAY CLR TR0 INC 30H SJMP L0

T0SEV: PUSH ACC PUSH PSW CLR TR0 MOV TL0,20H MOV TH0,21H CPL P3.0 POP PSW POP ACC SETB TR0 RETI

DELAY:MOV R7,#03 D2: MOV R4,#250 D3 : MOV R3,#123 D30: DJNZ R3,D30 DJNZ R4,D3 DJNZ R7,D2 DJNZ R5,DELAY RET

DELAY1: MOV R1,#20 D4: MOV R6,#248 D40: DJNZ R6,D40

9

DJNZ R1,D4 RET WAISEV: INC R0 MOV 30H,#00H RETI

FIRST: DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H ;第一首歌

DB 82H,01H,81H,94H,84H,0C4H,0B4H,04H

DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H DB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H DB 00H

SECOND: DB H,84H,92H,91H,81H,93H,61H,54H ;第二首歌 DB 62H,82H,92H,91H,81H,92H,H,62H DB 82H,92H,91H,81H,93H,61H,54H,82H DB 62H,51H,61H,51H,41H,52H,24H,92H DB 54H,82H,H,52H,42h,94H,82H,62H DB 51H,61H,51H,41H,52H,24H,

DB 00H

TABLE: DB 0FBH,08H,0FBH,92H,0FCH,0EH,0FCH,4BH DB 0FCH,0AFH,0FDH,0CH,0FDH,36H,0FDH,80H DB 0FDH,0C3H,0FEH,07H,0FEH,30H,0FEH,70H DB 0FEH,H,0FEH,0B0H,0FEH,0D4H,0FEH,0F5H 2.5 程序调试

本设计中,我采用伟福6000仿真器对程序进行调试。在伟福仿真器上试验十分地简单方便,能够对程序的运行状态一目了然。

(1)对程序进行编译,确保程序能够正确运行。编译结果如图2-2所示。

10

图2-2 程序编译图

(2)将编译成功的程序开始运行,其中数据的变化状态如图2-3示,CPU的运行状态和程序的执行状态如图2-4所示。

图2-3 数据的变化状态图

我们提前输入了所播放音乐的编码,在程序正确运行中,当选定歌曲并且从P3.0引脚输出音乐时,我们可以看到数据框中的相应数据被读出。

11

图2-4 CPU的运行状态图以及程序运行状态图

在程序的正确运行中,我们可以看到CPU的各个寄存器中的变化,另外执 行中断服务程序时,我们还可以看到堆栈指针的变化,执行保护现场和恢复现场的操作。

12

3 音频驱动电路的设计

LM386是美国半导体公司生产的音频功率放大器,是低频的功率放大IC。LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。 3.1 LM386的介绍

LM386内部电路原理图如图3-1所示。与通用型集成运放相类似,它是一个三级放大电路。

图3-1 LM386内部电路原理图

第一级为差分放大电路,T1和T3、T2和T4分别构成复合管,作为差分放大电路的放大管;T5和T6组成镜像电流源作为T1和T2的有源负载;T3和T4信号从管的基极输入,从T2管的集电极输出,为双端输入单端输出差分电路。使用镜像电流源作为差分放大电路的有源负载,可使单端输出电路的增益近似等于双端输出电容的增益。

第二级为共射放大电路,T7为放大管,恒流源作有源负载,以增大放大倍数。

第三级中的T8和T9管复合成PNP型管,与NPN型管T10构成准互补输出级。二极管D1和D2为输出级提供合适的偏置电压,可以消除交越失真。

13

引脚2为反相输入端,引脚3为同相输入端。电路由单电源供电,故为OTL电路。输出端(引脚5)应外接输出电容后再接负载。

电阻R7从输出端连接到T2的发射极,形成反馈通路,并与R5和R6构成反馈网络,从而引入了深度电压串联负反馈,使整个电路具有稳定的电压增益。

本设计中采用的LM386的外形和引脚如图3-2所示。引脚2为反相输入端,3为同相输入端;引脚5为输出端;引脚6和4分别为电源和接地;引脚1和8为电压增益设定端;使用时在引脚7和地之间接旁路电容,通常取10F。查LM386的datasheet,电源电压为4-12V或5-18V(LM386N-4);静态消耗电流为4mA;电压增益为20-200dB;在1、8脚开路时,带宽为300KHz;输入阻抗为50K;音频功率0.5W。

图3-2 LM386的外形和引脚的排列

3.2 音频驱动电路

本文设计的音频驱动电路如图3-3所示。在单片机输出音乐引脚P3.0和放大器386之间串一个电位器,起到了调节音量的作用。但是质量太差的不要,否则受害的是耳朵,阻值不要太大,10K最合适,太大也会影响音质。最后采用双音频输入/输出,好处是:“+”、“-”输出端可以很好地抵消共模信号,故能有效抑制共模噪声。通过接在1脚、8脚间的电容(1脚接电容+极)来改变增益,本文用的是最大增益200Db;在1脚、8脚串联了一个1.2K电阻和一个10F电解电容。实际应用时,BYPASS端必须外接一个电解电容到地(一般都在1F-100F左右,因为7脚和6脚间仅有个15K的电阻),起滤除噪声的作用。工作稳定后,该管脚电压值约等于电源电压的一半,增大这个电容的容值,

14

减缓直流基准电压的上升、下降速度,有效抑制噪声。在器件上电、掉电时的噪声就是由该偏置电压的瞬间跳变所致,因此这个电容是不可缺少的。电容的作用有两个——隔直加耦合。隔断直流电压,直流电压过大有可能会损坏喇叭线圈;耦合音频的交流信号,它与扬声器负载构成了一阶高通滤波器。减小该电容值,可使噪声能量冲击的幅度变小、宽度变窄;太低会提高截止频率:

(fc1/(2*RL*Cout)) (3-1)

分别测试,发现10F、4.7F最为合适,所以本篇取的是10F。

图3-3 音频驱动电路图

另外,噪音也是应该考虑的,自激就很可能产生噪音,一般不会是噪音引起自激。 处理方法一是处理接地点,让它们集中回路,另外要让输入线和输出线不要走并行,防止信号感应过于自激,再者就是可以改变反馈电阻,加大负反馈,也就是减小增益。解决方法有:

(1)一点接地,说到接地LM386音频驱动电路中接地过多,但是要区分清楚数字地与模拟地,不能混为一谈,图中电位器相连的地明显是数字地,而经过386以后的地是模拟地,当制作PCB版时,须在数字地与模拟地之间加一个磁珠,以免他们之间相互干扰;如果仅有模拟电路,电源线和接地线要注意不要连成一个环,尽量连成雪花形的。如果电路里还有数字电路,那模拟地和数字地要分开,最后仅从1点连到一起,建议这时使用“地平面”结构。

15

(2)加大电源滤波同时再并联一只CBB(0.01-0.1)F电容。

(3)调整1脚电阻值,适当减小增益。本片就采用了一点接地的方法,另外在较小引脚1上的电阻为1.2K。在一个就是查LM386的datasheet,最大驱动音频为0.5W,所以本设计用的扬声器为0.5W。

16

4 选歌按键的设计

4.1按键概述

键盘在单片机应用系统中,实现输入数据、传送命令的功能,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。

编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能。这种键盘易于使用,但硬件比较复杂。

非编码键盘:只简单地提供键盘的行列与矩阵,其他操作如键的识别、决定按键的读数等仅靠软件完成,故硬件较为简单,但占用CPU较多时间。有式按键结构、矩阵式按键结构。 键盘系统设计

一般的单片机键盘设计思路:首先,确定键盘编码方案——采用编码键盘或非编码键盘。随后,确定键盘工作方式——采用中断或查询方式输入键操作信息。然后,设计硬件电路。非编码键盘系统中,键闭合和键释放的信息的获取,键抖动的消除,键值查找及一些保护措施的实施等任务,均由软件来完成。本篇采用非编码键盘,采用中断查询方式。应用系统中,键盘扫描只是CPU的工作内容之一。CPU忙于各项任务时,如何兼顾键盘的输入,取决于键盘的工作方式。考虑仪表系中CPU任务的份量,来确定键盘的工作方式。键盘的工作方式选取的原则是:既要保证能及时响应按键的操作,又不过多的占用CPU的工作时间。键盘的工作方有查询方式(编程扫描,定时扫描方式)、中断扫描方式。 键盘电路结构

(1)式按键接口设计

式按键就是各按键相互,每个按键单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下了。优点:电路配置灵活,软件结构简单。缺点:每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂,因此此键盘是用于按键较少或操作速度较高的场合。 (2)矩阵式键盘接口设计

矩阵式键盘适用于按键数量较多的场合,由行线和列线组成,按键位于行列

17

的交叉点上,节省I/O口。

矩阵键盘工作原理:行线通过上拉电阻接到+5V上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。 4.2矩阵键盘的设计

设计所用的键盘原理图如图4-1所示。

图4-1 矩阵键盘原理图

为了提高CPU的工作效率,采用中断查询方式。即无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。中断扫描工作方式的一种键盘接口电路如上图所示。途中接有一个四输入端与门,其输入端分别与各列线相连,输出端接单片机外部中断输入。初始化时,使键盘列输出口全部置零,行全部置高电平作输入。但有键按下时,外部中断为低电平,向CPU发出中断申请,若CPU开放外部中断,则响应中断请求,进入中断服务程序。在中断服务程序中先保护现场,然后执行键盘确定。

键盘的识别:键盘的确定功能,就是判断键盘中的那一个键按下,确定所在行列位置。通常采用逐行(或逐列)扫描查询识别。具体过程是:依次轮流是列线中的一列输出低电平,其它三位为高电平,再在相应的顺次读行输出口的电平状态,如某行为低电平,则该行与置为低电平的列线相交叉处的按键即为闭合的按键,对应的在单片机内部进行调用播放歌的序号。

18

4.3键盘的抖动问题

键盘抖动产生:机械式开关的触点,在闭合向断开或者从断开的闭合进行切换时,在我们感觉不出来的极短时间内,其接点都会产生接通、断开的跳动。我们将这种开关切换过程中发生的触点跳动称为抖动。键盘按键所用开关为机械弹性开关,利用了机械触点的合、断作用。由于机械触点的的弹性作用,一个按键开关在闭合和断开的瞬间均有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5~10ms,这是一个很重要的参数。抖动过程引起电平信号的波动,有可能令CPU误解为多次按键操作,从而引起误处理。数字控制中,机械式开关的闭合、断开状态作为输入信号,输入给微机时,开关的抖动,有时会造成由微机控制的各种设备产生误动作,在判断输入设备的开关状态是否变化(是否新的动作),并将这一变化数据存储起来时,如果发生了开关抖动,则会被认为是新的动作,就不能正确地储存动作的数据了。为了更可靠地输入开关的闭合、断开状态,清除抖动给微机造成输入不可靠的影响(去除抖动),可以使用NAND电路(TTLSN7400)构成RS触发器,采用硬件的方法实现取出开关的抖动,将这一输入连到微机的输入口上,就可以将开关的断开,闭合状态,可靠地输入给微机了。但是本文为了减小制造硬件的压力,应用了软件消除抖动的存在。

通常采用软件延时的方法:在第一次检测到有键按下时,执行一段延时10ms的子程序后,再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下,进行相应处理工作,消除了抖动的影响。

19

5 音乐盒显示部分

5.1七段LED数码管结构:

七段LED数码管构成“日”字形,还有一只发光二极管作为小数点。因此,这种七段数码管又可称为八段数码管。通过8个发光段的不同组合,可以显示0—9和A—F等十六个数字字母,从而可以实现十六进制整数和小数的显示。LED数码管显示器可以分为共阴极和共阳极两种接法。

(1)共阴极结构:如果所有的发光二极管的阴极接在一起,称之为共阴极结构,则数码管显示段输入高电平有效,当某段输入高电平该段便发光;使用时管子的上下端正中间的两个或者一个(内部公共端已经接在一起)接线端接低电平,其它的每段显示如上图所示,每段数码管都要加一个限流电阻为510欧。 (2)共阳极结构:如果所有的发光二极管的阳极接在一起,称之为共阳极结构,则数码管显示段输入低电平有效,当某段输入低电平该段便发光;使用时管子的上下端正中间的两个或者一个(内部公共端已经接在一起)接线端接高电平,其它的每段显示如上图所示每一段数码管同理也要加一个限流510欧的电阻。

七段LED数码管与单片机的接口很简单,只须将一个8位并行I/O接口与数码管的引脚相连。要显示某字行,只要使该字形的相应字段点亮即可,实际就是送入用不同电平组合代表的数据至数码管。这种装入数码管中显示字形的数据称为字形码,又称段选码。显示字符0—9和A—F与显示段选码的关系如下图所示。通常显示段选码存放在程序存储器中的固定区域中,构成显示段选码表,当要显示某字符时,通过查表指令获取该字符所对应的段选码。段选码如表5-1所示。

表5-1 段选码表

显示字符 0 1 2 3 共阴极段码 3FH 06H 5BH 4FH 共阳极段码 C0H F9H A4H B0H 显示字符 8 9 A B 共阴极段码 7FH 6FH 77H 7CH 共阳极断码 80H 90H 88H 83H 20

4 5 6 7 熄灭 66H 6DH 7DH 07H 00H 99H 92H 82H F8H FFH G D E F 39H 5EH 79H 71H C6H A1H 86H 8EH 5.2播放音乐序号的显示

播放音乐序号的显示实际是LED的静态显示。静态显示是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动四个数码管静态显示则需要4*8=32位I/O端口来驱动,要知道一个S51单片机可用的I/O端口才32个,实际应用多位数码管时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性,但本篇就是用了一位数码管,所以驱动电路比较简单。在音乐盒设计程序里面就是通过P3.2对单片机产生中断选歌,然后查表来产生播放音乐序号。在没选歌的时候显示0,选歌后按照键盘的序号播放程序所对应的歌,并显示音乐的序号。 5.3播放音乐时间的显示 5.3.1动态显示原理

LED动态显示就是利用单片机依次输出每一位数码管的段选码和对应的位选码控制信号,一位一位轮流点亮各七段数码管。对每个数码管来说,每隔一段时间点亮一次,如此循环。利用肉眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人同时显示的感觉。在动态显示方式中,同一时刻,只有一位LED数码管在显示,其他各位是关闭的。在段选码和位选码每送出一次后,应保持1MS左右,这个时间应根据实际情况而定,不能太小,因为发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱肉眼无法看清。反也不能太长,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用CPU时间也越多。采用动态显示方式比较节省I/O接口,硬件电路也叫静态显示方式,但其亮度不如静态显示方式,而且在位显示较多时,CPU要依次扫描,占用CPU较多的时间。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字。

21

5.3.2动态显示驱动

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划\"a,b,c,d,e,f,g,h\"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自的I/O线控制(本文用了74LS148),出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。 5.3.3 LED显示

LED显示时,常将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由另一个8位I/O口控制;也可采用并行扩展口构成显示电路,通常需要扩展器件的管脚较多,价格较高。本文是一种利用单片机的一个并行I/O口实现多个LED显示的简单方法。其驱动方式本篇采用了74LS138,每输入一个十进制的数,4位 LED采用共阴极数码管,根据它的功能图对应输入一个值,每一位都显示一个对应的数。

本文采用芯片74LS138,74LS138是七段译码器。它是将BCD码翻译成七段驱动码,驱动数码管显示数字。当一个选通端(S1)为高电平,另两个选通端((S2)和/(S1))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。无论从逻辑图还是功能表上,我们都可以知道74LS138的八个输出引脚任何时刻要么全为高电平1—芯片处于不工作状态,要么只有一个为低电平0,其余7个输出引脚全为高电平1。如果出现两个输出引脚同时为0的情况,说明该芯片已经损坏。本片用了它的输出接线端Y7、Y6、Y5、Y4对4位LED进行驱动。在输入端输入“111、110、101、100”分别是最后一位、倒数第二位、第二位、第一位点亮。

22

6 直流稳压电源

6.1直流稳压电源的设计思路

本文的单片机、音频部分和显示部分都需要稳定的+5V电压的直流电源。本文直流电源的功率较小,做法是将50HZ的交流电经过整流、滤波和稳压后获得。整流电路用来将交流电压变换为单向脉动的直流电压;滤波电路用来滤除整流后单向脉动电压中的交流部分,使之成为平滑的直流电压;稳压电路的作用是当输入交流电源,在出现电压波动、负载和温度变化时,维持输出直流电压的稳定。各模块具体设计如下: 6.1.1桥式整流电路

本文先用一个变压器将电压从220V变为12V,然后再加一个整流电路。整流桥就是将整流管封在一个壳内,分全桥和半桥两种模式。全桥是将连接好的桥式整流电路的四个二极管封在一起,半桥是将两个二极管桥式整流的一半封在一起,用两个半桥可组成一个桥式整流电路。由于半波整流电路整流效率低,输出电压脉动大,所以本文采用了全桥式整流电路,这里整流电路的工作原理就不再说了。 6.1.2滤波电路

整流电路将交流电压变为脉动直流电,但其中含有大量的交流成分(称为纹波电压)。为了获得平滑的直流电压,应在整流电路后面接滤波电路,以滤去交流成分。

滤波电路就是在桥式电路输出端与负载电阻R并联一个较大的电容C,构成电容滤波电路,本篇用的是一个3300F的电容。

整流电路接入滤波电容后,不仅使输出电压变得平稳、纹波显著减小,同时输出电压的平均值也增大了。输出电压平均值U的大小与滤波电容C及负载电阻R的大小有关,C的容量一定时,R越大,C的放电时间常数就越大,其放电速度越慢,输出电压就越平稳,输出U就越大。当R开路时,输出电压等于变压器二次端电压的2倍。为了获得良好的滤波效果,一般取RC(3~5)T/2,T为输入交流电压的周期,此时输出电压近似为变压器二次端电压的1.2倍。在整流电路采用电容滤波后,只有当变压器二次端电压的绝对值大于电容两端电压的绝对

23

值时,二极管才能导通,故二极管的导通时间缩短,一个周期的导通角小于180度,由于电容C充电的瞬时电流很大,形成浪涌电流,容易损坏二极管,故在选择二极管时,必须留有足够的电流裕量,一般可按照(2-3)倍通过负载的电流来计算。 6.1.3集成稳压器

串联型稳压器的电路原理如图6-1所示,图中V1为调整管,它工作在线性放大区,故又称为线性稳压器。R3和稳压管V2组成基准电压源,为集成运放同向输入端提供基准电压,R1、R2、Rp组成取样电路,它将稳压电路的输出电压分压后送到集成运放器的反向端,集成运放构成比较放大电路,用来对取样电压与基准电压的差值进行放大。当输入电压增大(或负载电流I0较小)引起输出电压增加时,取样电压Uf随之增大,UZ与Uf的差值减小,经放大器放大后是调整管的基极电压减小,集电极Ic1较小,管压降Uce较小,从而使得稳压电路的输出电压上升趋势受到抑制,稳定了输出电压。同理,当输入电压较小或负载电流I0增大引起输出电压较小时,电路将产生与上述相反的稳压过程。

图6-1 串联型稳压器电路原理图

6.1.4直流稳压电路图

设计的音乐盒采用的稳压电路如图6-2所示。由于输出电压决定于集成稳

24

压器,所以输出电压为5V,最大输出电流为1.5A。为了电路正常的工作,要求输入电压U1比输出电压U0至少大(2.5-3)V。输入端的0.33F电容用以抵消输入端较长界限的电感效应,以防止自激振荡,还可抑制电源的高频脉冲干扰。输出端的0.F电容和100F电容用以改善负载的瞬态响应,消除电路的高频噪声,同时也具有消振作用。图中的二极管是保护二极管,用来防止在输入端短路时输出电容C3所存储电荷通过稳压器放电而损坏器件。

图6-2 直流稳压电路图

25

总结

经过整整三个月的努力,我的毕业设计终于完成了。在此期间,我对硬件电路进行了设计,并对音乐程序进行编写和调试,虽然遇到了很多的困难,但我能做到艰苦奋斗,攻克难关。

通过这次的设计使我认识到自己对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,有很多需要掌握的知识在等着我去学习。本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化。在大学课堂的学习只是在给我们灌输专业知识,而我们应该把所学的用到现实生活中去,此次的音乐盒设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应社会激烈的竞争。

26

参考文献

[1] 李传军,单片机原理及应用(第一版)[M].河南科学技术出版社,2006年. [2] 韩志军,沈晋源,王振波.单片机应用系统设计(第一版)[M].机械工业出版

社,2005年.

[3] 胡文金.单片机应用技术实训教程(第一版)[M].重庆大学出版社.2005年. [4] 李辉,张国春.电子电路问答(第二版)[M]2005年.

[5] 康华光.电子技术基础数字部分(第四版)[M].高等教育出版社.2000年. [6] 胡宴如.模拟电子技术(第一版)[M].高等教育出版社2000年. [7] 张靖武,周领彬.单片机系统的PROTEUS设计与仿真(第一版)[M].电子工

业出版社.2007.

[8] 清源科技.PROTEL DXP电路设计及应用教程(第一版)[M].机械工业出版

社.2003年.

[9] 杨志忠.数字电子技术.高等教育出版社(第二版)[M].2003年. [10]

何立民.MCS-51系列单片机应用系统设计[M].北京:北京航空航天大

学出版社,1990. [11]

张友德.单片微型机原理、应用与实验[M].上海:复旦大学出版社,

2000. [12]

何立民.单片机应用技术选编(1)[M]北京:北京航空航天大学出版社,

1992.

27

致 谢

本文从拟定题目到定稿,历时数月。在这次论文设计的过程当中,让我认识到了自己的不足之处。知识的学习与应用永远都是我学习的重点。俗话说的好:学无止境 学海无涯,学习永远是不会停止的。通过这次设计让我从中又认识到了电子产品更新换代的迅速,科技的发达以及人能力的无限。通过我们不断的学习与思考,没有什么东西是我们不能得到手的。

而今论文完成打印之时,我思绪万千,心情久久不能平静。无论是在理论学习阶段,还是在论文的选题、资料查询、开题、研究和撰写的每一个环节,无不得到导师的悉心指导和帮助。借此机会我向导师表示衷心的感谢!同时,我要感谢授课的各位老师,正是由于他们的传道、授业、解惑,让我学到了专业知识,并从他们身上学到了如何求知治学、如何为人处事。另外,感谢各位同学的帮助和勉励。同窗之谊和手足之情,我将终生难忘!我愿在未来的学习和研究过程中,以更加丰厚的成果来答谢曾经关心、帮助和支持过我的所有领导、老师、同学、和朋友。

28

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务