购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.3 简易电子琴的硬件设计

简易电子琴的硬件设计重点是合理划分PIC单片机的I/O引脚,用于驱动不同的外围器件。

3.3.1 简易电子琴的硬件模块划分

简易电子琴的硬件模块划分如图3.2所示,由PIC单片机,演奏键、播放键、演奏指示灯和发声器件构成。

其各个部分详细说明如下所述。

(1)PIC单片机:这是简易电子琴的核心控制器。

(2)播放键:当用户按下播放键之后,播放单片机内置的音乐。

(3)演奏键:当用户按下演奏键之后,发出对应的乐音。

图3.2 简易电子琴的硬件模块划分

(4)发声器件:能够根据PIC单片机的驱动,发出对应的声音。

(5)演奏指示灯:用于指示当前的按键状态。

3.3.2 简易电子琴的硬件电路图

简易电子琴的硬件电路原理图如图3.3所示,PIC单片机使用PORTB端口扩展了8个独立按键,分别对应音调“1”~“1.”,使用RD7引脚通过三极管驱动了一个蜂鸣器,8只发光二极管使用灌电流的方式通过一只8位双排阻连接到PIC单片机的PORTC端口用于指示当前的演奏按键工作状态;此外还使用RD0引脚扩展了一个独立按键,用于播放预先内置好的音乐。

图3.3 简易电子琴的硬件电路原理图

简易电子琴中涉及的典型元器件说明参见表3.3。

表3.3 简易电子琴中的典型元器件说明

3.3.3 硬件基础——PIC单片机(PIC16F877A)的定时器TMR1

PIC单片机(PIC16F877A)的TMR1是一个16位的定时器,其累加计数器由两个8位寄存器TMR1H和TMR1L组成,其结构如图3.4所示。

图3.4 定时器TMR1的内部结构

TMR1有同步定时器、同步计数器和异步计数器三种工作模式,其工作方式的选择是受到T1CON寄存器的控制。

● 在同步定时器工作方式下,TMR1使用内部时钟的1/4分频作为时钟源。

● 在同步计数器工作方式下,TMR1同样使用内部时钟的1/4分频作为时钟源。

● 在异步计数器工作方式下,TMR1使用RC0引脚上的上升沿作为时钟源。

TMR1使用的外部时钟源电路如图3.5所示,这个振荡器频率通常是32.768kHz,这是因为如果把TMR1的初始化值设置为0x8000,则溢出时间是1s;如果设置为0x0000,TMR1的溢出时间是2s。

图3.5 TMR1使用的外部时钟源电路图

注意: TMR1的外部时钟源最大工作频率为200kHz,该时钟源在PIC16F877A进入休眠状态之后还可以继续工作。

PIC单片机(PIC16F877A)通过对寄存器T1CON的操作来实现对TMR1的控制,T1CON寄存器的各位说明参见表3.4。

表3.4 T1CON寄存器

● T1CKPS1,T1CKPS0:TMR1的分频参数,当这两位为“11”、“10”、“01”、“00”时分别对应“1/8”、“1/4”、“1/2”和“1/1”分频。

● T1OSCEN:外部晶体起振使能位。当该位设置为“1”时,允许外部晶体起振,如果设置为“0”则禁止。

●T1SYNC:外部时钟同步位,该位在TMR1CS位被置“1”时才有意义。当该位设置为“1”时,同步外部时钟;当设置为“0”时,不同步外部时钟。

● TMR1CS:外部时钟使能位。当设置为“1”时,使用外部时钟源;当设置为“0”时,不使用外部时钟。

●TMR1ON:TMR1时钟工作使能位。当设置为“1”时,启动TMR1;当设置为“0”时,不使用TMR1时钟。

由于TMR1定时器的计数寄存器由TMR1H和TMR1L两部分组成,所以需要避免在读计数寄存器值时正好发生了低字节向高字节进位的情况,最好的办法当然是在读取之前停止TMR1定时器,如果不能停止定时器,此时可以采用如下的算法来避免这个问题。

与定时器TMR1相关的寄存器说明参见表3.5。

表3.5 与TMR1相关的寄存器

在使用TMR1进行定时时,同样需要将一个定时长度对应的预置常数放入TMR1(TMR1L和TMR1H)寄存器中,这个预置常数的计算方法如下:

假设使用TMR1,延时100ms,PIC16F877×A的工作时钟频率为4MHz。

首先求预分频系数X:

65536X×T=65536X×1=100 000μs

X≈1.52

可以取

X=2

然后求延时常数Y:

(65536-Y)×X×T=(65536–Y)×2×1=100 000μs,

可以得到

Y=15 536

3.3.4 硬件基础——蜂鸣器

简易电子琴使用了蜂鸣器作为发声器件,按照工作原理,蜂鸣器可以分为压电式蜂鸣器和电磁式蜂鸣器,前者又称为有源蜂鸣器,后者称为无源蜂鸣器。

注意: 有源蜂鸣器和无源蜂鸣器中的“源”不是指电源,而是指振荡源。其最大区别是前者只需要在蜂鸣器两端加上固定的电压差,即可激励蜂鸣器发声;而后者必须加上相应频率振荡信号方可。

压电式蜂鸣器(有源蜂鸣器)主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成,多谐振荡器由晶体管或集成电路构成。当接通电源后,多谐振荡器起振,输出1.5~2.5kHz的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。

电磁式蜂鸣器(无源蜂鸣器)由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。

通常来说,蜂鸣器需要的驱动电流比较大,所以一般需要使用对应的功率元器件,例如三极管来对其进行驱动。 wnol3cIpJ4Bf35YTfkxgD1YVqUzR175rFs0fcbDkecBj31VHP0K8goVX7xd7XAfS

点击中间区域
呼出菜单
上一章
目录
下一章
×