电子产品工艺设计方案.docx

上传人:b****4 文档编号:24372453 上传时间:2023-05-26 格式:DOCX 页数:40 大小:670.17KB
下载 相关 举报
电子产品工艺设计方案.docx_第1页
第1页 / 共40页
电子产品工艺设计方案.docx_第2页
第2页 / 共40页
电子产品工艺设计方案.docx_第3页
第3页 / 共40页
电子产品工艺设计方案.docx_第4页
第4页 / 共40页
电子产品工艺设计方案.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

电子产品工艺设计方案.docx

《电子产品工艺设计方案.docx》由会员分享,可在线阅读,更多相关《电子产品工艺设计方案.docx(40页珍藏版)》请在冰豆网上搜索。

电子产品工艺设计方案.docx

电子产品工艺设计方案

1、绪论

1.1单片机概述

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

概括的讲,一块芯片就成了一台计算机。

MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。

MCS-51系列单片机主要包括8031、8051和8751等通用产品。

DP-51S单片机仿真实验仪是由广州致远电子有限公司设计的DP系列单片机仿真实验仪之一,是一种功能强大的单片机应用技术学习、调试。

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴:

一、在智能仪器仪表的应用

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。

采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。

例如精密的测量设备(功率计,示波器,各种分析仪)。

二、在家用电器中的应用

可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。

三、在工业控制中的应用

用单片机可以构成形式多样的控制系统、数据采集系统。

例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。

单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。

纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:

一、微型单片化

现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。

甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。

此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。

现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。

二、低功耗CMOS化

MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。

像80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。

CMOS虽然功耗低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于要求低功耗像电池供电的应用场合。

所以这种工艺将是今后一段时期单片机发展的主要途径。

1.2课题概述

基于单片机的音乐播放器可应用于mp3,MP4,扩音器等很多方面,并可作为很多系统的辅助功能,作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括"Do"、"Re"、"Me"--等音阶在内的各种频率声音。

将各个音阶连接在一起,便可组成一支曲子或是演奏一段旋律。

基于这个思想,我设计了一款特殊的"音乐播放器",本播放器可实现播放、暂停、复位等功能。

为了体现乐曲播放过程中的动态效果,增加了1只LED,作随机闪烁以指示旋律的节奏。

由于时间及条件限制,本设计实现了一种简单的音乐播放器,其核心器件采用AT89C51单片机,本播放器具有电路简单,功能强大,易于拓展等特点。

在此基础上,可以添加按键,LED显示屏等模块,实现切换歌曲,歌名显示,动感音乐屏等功能。

2、系统硬件原理及设计

2.1核心器件AT89C51介绍

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

外形及引脚排列如图所示

 

图2-1AT89C51外形图及引脚序列

主要特性:

●与MCS-51兼容

●4K字节可编程闪烁存储器

●寿命:

1000写/擦循环

●数据保留时间:

10年

●全静态工作:

0Hz-24MHz

●三级程序存储器锁定

●128×8位内部RAM

●32可编程I/O线

●两个16位定时器/计数器

●5个中断源

●可编程串行通道

●低功耗的闲置和掉电模式

●片内振荡器和时钟电路

振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

2.2硬件电路设计

2.2.1设计目的

设计一个音乐播放器,有三个按键及控制按钮:

播放/暂停、下一曲、上一曲;通过控制按钮控制单片机,播放所要求的音乐,并通过放大电路和喇叭输出声音。

同时通过LED灯显示器,用来显示所选曲目,该显示器在音乐播放中关闭,一曲演奏结束时,或选曲时才显示曲目信息,从而利于操作。

2.2.2电路设计原理

图2-2-2电路设计原理图

2.2.3总体电路设计

图2-2-3总体电路图

2.2.4单片机电路设计

89C51单片机拥有4KB的片内ROM和128B的片内RAM。

ROM和RAM的片外寻址范围都为64KB。

单片机拥有32个并行口和1个串行口。

在89C51单片机中存在5个中断源,其中有两个外部中断源、两个内部中断源和一个串行中断源。

图2-2-489C51单片机

通过TXAL1与TXAL2输入时钟信号,通过p1.0~p1.7输出控制现实控制信号的显示,有p3.2、p3.3与p3.5分别作为上一曲、下一曲和开始暂停的控制输入。

2.2.5显示电路设计

显示电路是一个8位共阴极LED数码管。

单片机的P0.0-P0.7分别与数码管的A、B、C、D、E、F、G、DP相连接。

图2-2.58位共阴极LED灯

2.2.6晶振时间电路设计

晶振电路由两个30pF的电容和一个6Mhz的晶体振荡器组成。

节点1与单片机的XTAL2相连接,节点2与单片机的XTAL1相连接,从而为单片机提供时间信号,为音乐的播放节拍控制提供基本时间单位:

当晶体振荡频率为6.MHz,定时器工作在方式1下时,若各音阶相对应的定时器计数初值为X,则可根据下式计算X:

图2-2-6晶振电路

2.2.7控制电路设计

控制电路,键一与p3.2相连、键二与p3.3相连、键3与p3.5相连。

当电键按下时接口接低电平,从而实现对音乐播放器的控制。

键一联通实现上一曲更换,键二联通实现下一曲更换,键三联通实现开始暂停操作。

图2-2-7复位电路

2.2.8输出电路设计

发声电路由数字扬声器连接p2.0接口实现音乐的输出,由控制电路发出操作指令后,单片机调用相应程序,并将音乐信号由p2.0口输出,通过驱动扬声器发出美妙的音乐。

图2-2-8输出电路

3.系统软件设计

3.1总体流程图

主程序实现对单片机进行初始化后,进入曲目识别子程序,进行歌曲曲目判断。

确定歌曲曲目后,数码管再进行显示。

然后,子程序对是否播放进行循环判断,得到播放中断的指令后再进行播放。

执行播放后,关闭数码管显示并调用查表子程序进行播放音乐。

在播放音乐的过程中,查表子程序循环判断音乐是否结束。

当音乐结束时,程序跳转回曲目识别子程序。

图3-1总体流程图

3.2单片机音阶代码实现

音调的高低用音阶表示,不同的音阶对应不同的频率。

因此,不同频率的方波就可以产生音阶,音阶与频率的关系见表1。

由于频率的倒数是周期,因此可由单片机中的定时控制方波周期,当定时器计数溢出时产生中断。

将与扬声器连接的P1.7取反后就可得到方波的周期,从而达到了控制频率,即音阶的目的。

音阶与频率的关系及如下表:

表3-2方式1下定时器的初值(注:

0表示简谱中的空拍)

音阶

频率(Hz)

定时器初值

音阶

频率(Hz)

定时器初值

音阶

频率(Hz)

定时器初值

1

2

3

4

5

6

7

0

131

147

165

175

196

220

247

0

0F85EH

0F933H

0F9F0H

0FA49H

0FAE6H

0FB74H,

0FBF4H

0100H

1

2

3

4

5

6

7

0

262

294

330

349

392

440

494

0

0FC2FH

0FC99H

0FCF8H

0FD22H

0FD73H

0FDBAH

0FDFAH

0100H

1

2

3

4

5

6

7

0

523

587

659

698

784

880

988

0

0FE17H

0FE4CH

0FE7CH

0FE91H

0FEB9H

0FEDDH

0FEFDH

0100H

低八度音

中音

高八度音

当晶体振荡频率为6.144MHz,定时器工作在方式1下时,若各音阶相对应的定时器计数初值为X,则可根据下式计算X:

音调的长短用节拍数表示(例如1/4拍、2/4拍、……),不同节拍数的不同音符的组合形成乐谱。

程序中,音的节拍可由延时子程序实现。

延时子程序设定为四分之一拍,节拍值只能是它的整数倍。

3.3单片机产生不同频率脉冲信号的原理:

(1)要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。

(2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法如下:

例如,频率为523Hz,其周期天/523S=1912uS,因此只要令计数器计时956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。

计数脉冲值与频率的关系公式如下:

N=Fi/2/Fr

(N:

计数值,Fi:

内部计时一次为1uS,故其频率为1MHz,Fr:

要产生的频率)

(3)其计数值的求法如下:

T=65536-N=65536-Fi/2/Fr

计算举例:

设K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。

T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr

低音DO的T=65536-500000/262=63627

中音DO的T=65536-500000/523=64580

高音DO的T=65536-500000/1047=65059

(4)C调个音符频率与计数值T的对照表如下表所示:

音符

频率(Hz)

简谱码(T值)

音符

频率(Hz)

简谱码(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

64204

中7SI

988

65030

#4FA#

370

64260

高1DO

1046

65058

低5SO

392

64261

#1DO#

1109

65085

#5SO#

415

64400

高2RE

1175

65110

低6LA

440

64443

#2RE#

1245

65124

#6

466

64524

高3M

1318

65157

低7SI

494

64524

高4FA

1397

65178

中1DO

523

64331

#4FA#

1480

65189

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

(5)每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。

但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。

假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。

所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表为1/4和1/8节拍的时间设定。

表3-2-2节拍码对照表

1/4节拍

1/8节拍

节拍码

节拍数

节拍码

节拍数

1

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拍

表3-3-3各调节拍的时间设定表

1/4节拍

1/8节拍

曲调值

DELAY

曲调值

DELAY

调4/4

125毫秒

调4/4

62毫秒

调3/4

187毫秒

调3/4

94毫秒

调2/4

250毫秒

调2/4

125毫秒

四分之一拍延时代码设计:

1/4拍的延迟时间=187毫秒

DELAY:

MOVR7,#2

D2:

MOVR4,#187

D3:

MOVR3,#248

DJNZR3,$

DJNZR4,D3

DJNZR7,D2

RET

3.4音乐代码实现

3.4.1音乐代码库的建立方法

(1)先找出乐曲的最低音和最高音范围,然后确定音符表T的顺序。

(2)把T值表建立在TABLE1,构成发音符的计数值放在“TABLE”。

(3)简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的“TABLE”处。

(4)音符节拍码00H为音乐结束标记。

3.4.2选曲

在一个程序中,需要演奏两首或两首以上的歌曲时,音乐代码库的建立有两种方法:

(1)将每首歌曲建立相互独立的音符表T和发音符计数值TABLE。

(2)在建立公用音符表T后,再写每首歌的发音计数值TABLE中的代码

不管采用那种方法,每首歌曲结束时,在TABLE中均需加上音乐结束符00H。

3.4.3歌曲的设计

下面以歌曲《军港之夜》的设计为例,讲述歌曲在单片机中的实现。

曲谱如下图所示

图3-4-3《军港之夜》乐谱

从歌中可看出,最低音为低7Si,最高音为高1Do。

根据音乐软件的设计方法,简谱对应的简谱码、T值、节拍数如表所示:

表3-4-3简谱对应的简谱码、T值、节拍数

简谱

发音

简谱码

T值

节拍码

节拍数

低7

低音Si

1

64524

1

1/4

1

中音Do

2

64580

2

2/4

2

中音Re

3

64684

3

3/4

3

中音Mi

4

64777

4

1

4

中音Fa

5

64820

5

1+1/4

5

中音So

6

64898

6

1+1/2

6

中音La

7

64968

8

2

7

中音Ti

8

65030

A

2+1/2

高1

高音Do

9

65058

C

3

低6

低音La

A

64400

F

3+3/4

低5

低音So

B

64260

 

《军港之夜》代码实现如下:

SONG1:

DB04H;1=C2/4军港之夜

DB32H,54H,52H,32H,54H,52H,32H,12H,12H,32H,32H,54H,52H,32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H

DB0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32H,52H,54H,32H,34H,31H,21H,12H,24H,24H

DB34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H

DB22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H,52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H

DB32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H,51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H

DB32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H

DB32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H

DB0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32H,52H,54H,32H,34H,31H,21H,12H,24H,24H

DB34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H

DB22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H,52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H

DB32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H,51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H

DB32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H

DB32H,52H,52H,32H,32H,21H,31H,24H,74H,0D2H,0C2H,14H,14H,14H,14H

DB00H

TABLE2:

DW63835,64021,64103,64260,64400,64524,64580,64684,64777

DW64820,64898,64968,65030,65058,65110,65157,65178

3.5键控子程序

键控子程序主要由播放/暂停子程序、上一曲子程序、下一曲子程序组成,分别由一个计数器中断和两个外部中断实现。

3.5.1播放/暂停子程序

播放/暂停在程序利用内部中断T0口。

将T0口设为计数中断并工作在方式2下。

标识符初值赋值为R1=00H,计数初值设为TH0=0FFH,TL0=0FFH。

当按键第一次产生中断信号时,播放/暂停子程序改变标志符R1,将其赋值为01H。

此时播放器由暂停状态进入播放状态。

当按键第二次产生中断信号时,播放/暂停子程序判断R1是否为02H后,将R1再次赋值为00H。

此时,播放器由播放状态进入暂停状态。

图3-5-1播放/暂停子程序流程图

代码实现如下:

POPDPL;恢复现场

POPDPH

POPACC

SETBEA

RETI;中断返回

START_PAUSE:

CPLF0;开始/暂停中断处理程序,将标置位取反

JBF0,RETURN;为1返回

SETBTR0;为0则播放

RETURN:

RETI;中断返回

DELAY:

MOV27H,26H;音符演奏时间控制

D2:

MOV28H,#125

D3:

MOV29H,#248

DJNZ29H,$

DJNZ28H,D3

DJNZ27H,D2

DJNZR2,DELAY

RET

3.5.2曲目选择子程序

曲目选择子程序分为上一曲子程序和下一曲子程序。

上一曲和下一曲功能实现方式类似,分别由外部中断

和外部中断

下面以实现上一曲功能为例:

首先设置标识符R7初始值为00H。

当按键产生中断信号,上一曲中断子程序改变标识符R7的值为01H并改变曲目R0的值。

播放子程序判断出标识符R7改变后,先将R7赋值为00H,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1