论文部分内容阅读
摘 要 本设计是基于Proteus51单片机电子琴的设计。主要是以51单片机为主要核心,通过按键来获取信息,然后通过单片机一些部件来实现蜂鸣器发出声音,与此同时用数码管同步显现出来。该系统具有播放弹奏乐曲的功能,最大的优点就是:电路简单、大部分功能能够很好的实现,稳定性好。一首歌曲是由许多不同的音阶组成的,在51单片机里每个音阶对应这每个频率,我们可以利用这个特点,通过输入一些不同的频率的组合从而构成一首我们想要的音乐。对于单片机来说,产生一些不同的频率是非常简单的,我们可以利用单片机的定时和计时器T0来产生这些不同的频率信号,所以我们只需要把构成一首歌曲的所有音阶对应的频率弄正确就可以了
关键词 Proteus 数码管 按键 蜂鸣器 音阶
中图分类号:TP3 文献标识码:A 文章编号:1007-0745(2021)05-0001-09
1 绪论
1.1 课题背景
键盘分为单列、双键盘,是20世纪50年代,日本从美国进口的键盘。1959年雅马哈公司生产的第一个垂直键盘在世界上被称为“伊莱克特拉”器官键盘。1980年,通过集成电路的不断发展,电子琴开始向小型化发展,如雅马哈等厂商便携式单键盘(portatone portasound)。1983年雅马哈DX7合成电钢琴。1986年有HX先进的电子出版的历史。最常见和最熟悉的键盘是日本1991年后生产的EL,ELS系列和双便携ddk7的。
在1958年,中国北京邮电学院已经开发出了一个单一的电子管。由于种种原因,1977年,中国生产了大量的电子琴。在1989年,中国有200万套儿童电子琴,输出39万套,电子琴在中国快速的发展。[1]
1.2 设计依据
随着现代科技的不断发展,电子琴也在日益成长,它是一种新型的键盘乐器,在如今的乐器里面担任着重要的角色。单片机具有强大的功能,现代生活中人们随处可以看到它的身影。这个设计主要是以STC89C51单片机为主要控制器,设计的一个电子琴。用单片机作为主要的控制中心,与键盘、扬声器等元件组成核心主控制模块,在主控模块上设有8个按键。[2]
基于单片机电子琴的硬件组成:可以通过单片机制造出不同的频率来获得我们需要的音阶,最后能够随意的进行演奏,并且分别从原理图、主要芯片、各模块原理及各模块的程序的调试来详细阐述。
对于单片机来讲,可以很方便的产生不同的频率,我们能够利用单片机的定时/计数器T0产生不同的频率信号,所以就可以弹奏出不同的歌曲了。
2 系统方案设计及主控芯片介绍
2.1 系统基本设计思路
弹奏的歌曲通过扬声器播放出来。电路包括:单片机、键盘以及单片机周边最小系统和晶振电路。
2.1.1 各部分说明
(1)八个按键对应八个音符,用来演奏乐曲。
(2)单片机通过一系列信号的输出来驱动控制每个部分的正常工作。
2.1.2 系统工作过程
单片机在CPU中产生音频脉冲,CPU随时对输入的信号进行处理。阅读相应的寄存器,CPU将处理过的读值通过I/O端口使用扬声器输出播放音乐。
2.2 控制器模块
单片机的功能比较强大,使用灵活,可实现软件编程的算法和控制逻辑。由于低功率单芯片,小体积、技术成熟和成本低廉,所以广泛应用于各种领域,且具有抗干扰性能。[3]
2.2.1 发声模块
发声模块是本设计的最主要的部分。
基本方案:声音电路是电路部件的核心设计,它担当着把单片机所产生的语音信号放大并输出重要的作用,并且该设计是由两个S8050晶体管驱动构成声音电路。S8050是一个功率晶体管放大器管,是NPN型晶体管,而判读三极管有以下方法:
1.判断三极管的基极。对于NPN型三极管,用黑表笔接在某一个电极,红表笔连接到其他两个电极,如果测得的电阻值是交换表笔后,两个测得的电阻值都较大,这样就可以分析黑笔的第一测量被连接到电极基部;如果测量值和一个小的值有很大的区别,则黑笔的第一测量没有连接到电极基部,它应当更换另一电极重量度量。[4]
2.测量三极管发射极e和集电极c。晶体管基极由切换表笔两次测量E、C之间的电阻后确定,如果两个测量不相等,其中较小的一个所测量的电阻值是红色笔,黑色笔e极与c极连接。对于PNP型晶体管,类似于NPN方法,但是测试的相反的效果之间进行测量时导致角极端抗性。注意由于晶体管V(BR)CEO是非常小的,很容易击穿发射结。当确定了晶體管的管脚,就可以使用两个晶体管形成一个达林顿配置。首先,单片机P1.0口输出高电平由两个达林顿晶体管组成,可以形成为导通,而且电流和某些扩增接通之后,声音更清晰(图1)。
2.2.2 编程软件模块
方案1:采用汇编语言编程
与一些助记符字符的汇编语言指令有相应的表达意义,所以它相比机器语言来说使用起来更容易,但是它使用的CPU资源,对于高级语言,似乎更加困难。
方案2:采用C语言编程
C语言具有灵活性、丰富性、兼容性、新颖性等特征。进行深入分析主要特点,可以加深对C语言的理解;利用这些功能,可以大大提高实际应用。[5]
2.2.3 最终方案
经过反复论证,最终确定了如下方案:
(1)采用STC89C51单片机作为主要核心。
(2)采用达林顿效应放大音乐信号。
(3)采用C语言编程。
2.3 STC89C51单片机
STC89C51是一种性能高消耗低的CMOS8位微控制器,具有8K在系统可编程Flash存储器。在一个芯片上,由于存在这灵巧的8位CPU和在系统可编程Flash,让STC8 9C51在许多嵌入式控制应用上提供了高度的灵活,十分有效的解决了方案难题。具有以下标准功能:8k字节Flash、512字节RAM、32位I/O口线、看门狗定时器、内置4KBE EPROM、MAX810复位电路、三个16位定时器/计数器、一个6向量2级中断结构、全双工串行口。另外STC89X51可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。在空闲模式下,CPU停止,允许RAM、定时器/计数器、串行口中断工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,可选6T/12T(图2)。[6] 单片机是一种新型51内核的单片机。片内含有Flash程序存储器、SRAM、UART、SPI、PWM等模块。
2.3.1 STC89C51主要功能、性能参数
(1)内置标准51内核,机器周期:增强型为6时钟,普通型为12时钟;
(2)工作频率范围:0~40MHZ,相当于普通8051的0~80MHZ;
(3)STC89C51RC对应Flash空间:4KB;
(4)内部存储器(RAM):512B;
(5)定时器\计数器:3个16位;
(6)通用异步通信口(UART)1个;
(7)中断源:8个;
(8)有ISP(在系统可编程)\IAP(在应用可编程),无需专用编程器\仿真器;
(9)通用I\O口:32\36个;
(10)工作电压:3.8~5.5V;
(11)外形封装:40脚PDIP、44脚PLCC和PQFP等。
2.3.2 STC89C51单片机最小系统
最小系统包括微处理器和所需的电源、时钟、复位和其他组件,从而使微处理器始终在正常使用中。电源和时钟电路允许通过搜索系统的最小系统的一个必要条件是,扩展的存储器和A/D扩张的核心部分的运行要在装置中,因此MCU需要执行更复杂的功能。
STC89C51ROM/EPROM芯片,芯片至少有简单和可靠的系统配置。因为被连接到2-3中时要使用STC89C52芯片配置的应用系统中的一个,所以只要在MCU时钟和复位,在所述集成电路图案的结构中,应用程序就可以使用较小的控制单元的最小数量(图3)。[7]
中断技术主要用于实时监视和控制,单片机的中断请求源提交服务请求时,会及时响应和快速治疗反应。这是通过芯片实现中断系统引起的。当中断请求源中断请求时,如果中断请求被允许,当前正在执行的微控制器会暂停主程序,并中断服务处理器来执行中断请求。中断服务请求后中断服务会处理程序,并在此之后返回到原来的地方悬挂程序(断点),以继续中断的主程序(图4)。
如果没有中断单片机系统,单片机大量的时间,在是否有轮询操作的服务请求查询中被浪费了。中断技术完全消除了微控制器等待现象,这大大提高了微控制器和实时的效率。
3 硬件电路设计
3.1 系统总体框图
本设计采用STC89C51单片机作为主控制器,外部加上三极管驱动放音设备(系统总体框图5所示)。
3.2 最小系统设计
最小系统包括微处理器和所需的电源、时钟、复位和其他組件,从而使微处理器始终在使用中正常运行。扩展的存储器和A/D扩张核心部分运行的装置为电源和时钟电路的一个必要条件是允许通过搜索系统的最小系统,因此MCU执行更复杂的功能。[8]
3.3 时钟电路
车削放大器、引脚RXD和TXDSTC89C51内部振荡器的形成是一个放大器的输入和输出。它可能是由内部或外部时钟发生器来形成。内部时钟这里不详细介绍,外部时钟电路、接地RXD、TXD连接外部振荡器。外部振荡器信号没有特殊要求,只需要12MHz晶体或11.0592MHZ常用频率的脉冲宽度。
3.4 按键控制模块
电子琴设有8个按键,8个按键分别代表8个音符,包括中音段的全部音符,可通过软硬件设计(如图7)。
3.5 播放模块
播放这块是由2个三极管组成,三级管将信号放大,然后传输到喇叭,喇叭几乎不存在一点噪声,音响效果很好。
下图8是该模块电路:
该晶体管是一个电流放大器,元件中有三个极,被称为集电极C,基极B,发射极(E.NPN和PNP)。我们把NPN晶体管共发射极放大电路作为一个例子来解释所述晶体管放大器电路的基本原理。
3.5.1 电流放大
NPN硅晶体管对于下面的分析,如图8所示。目前的基B的发射极E的流量被称为基本电流Ib;从集电极C与发射极E中的流量被称为电流集电极电流Ic。这两个是流出的发射器的电流方向,发射极E可以通过电流方向箭头来表示。放大晶体管是这样的:集电极电流由基极电流控制限制(假设电源可以提供足够的电流),基极电流微小的变化会引起集电极电流的巨大变化,而变化会满足一定的比例关系:集电极电流的变化的量的β倍的电流变化是β倍放大的变化量的基极电流,所以我们称之为放大晶体管β(β通常比1大得多,例如:数十、数百个)。如果我们改变其中一点并施加到基极发射极的信号,这将导致在基本电流Ib的变化,1b中的变化会扩增,导致在IC中的显著变化。如果流过电阻R的集电极电流Ic发生变化,根据公式U=R上的电压,我可以认为电阻两端的电压会发生很大的变化。我们再将这个电压的电阻器取出,会得到放大的电压信号。[9-10]
3.5.2 偏置电路
在实际的晶体管放大电路使用中,还需要添加相应的偏置电路。有几个原因:第一是由于非线性BE结型晶体管(相当于一个二极管),基极电流在一定程度上必须输入电压。当基极-发射极电压小于0.7V时,基极电流可以被认为是零。但在实践中被放大的信号通常比0.7V小,如果没有偏置,这样的小信号不足以引起基极电流的变化(因为小于0.7V时,基极电流为0)。如果我们让晶体管加适当的电流基极(称为偏置电流,电阻Rb上图中用于提供该电流,因此它被称为基极偏置电阻器),那么当叠加有一个偏置小信号时,小信号将导致基极电流的变化,基极电流变化后,输出将被放大。另一个原因是,输出信号的范围要求,如果不存在偏差,那么只有那些附加信号放大,而降低的信号是无效的(因为没有收集器偏置电流为零,不能减少)。并加入预先偏移以便当输入基极电流减小时,集电极电流可以减小一定集电极电流;当输入基极电流增加时,集电极电流增大。信号和增加的信号可以被减小,从而放大电流。 3.5.3 作用开关
下面说说三极管饱和。图像上面,因为由电阻Rc的限制(Rc为一个固定值,则U/RC,其中U是电源电压的最大电流),集电极电流不能无限期向下增加。当基极电流增加时,集电极电流不能继续增加,该晶体管进入饱和。通常它确定晶体管是否饱和标准:磅*β
关键词 Proteus 数码管 按键 蜂鸣器 音阶
中图分类号:TP3 文献标识码:A 文章编号:1007-0745(2021)05-0001-09
1 绪论
1.1 课题背景
键盘分为单列、双键盘,是20世纪50年代,日本从美国进口的键盘。1959年雅马哈公司生产的第一个垂直键盘在世界上被称为“伊莱克特拉”器官键盘。1980年,通过集成电路的不断发展,电子琴开始向小型化发展,如雅马哈等厂商便携式单键盘(portatone portasound)。1983年雅马哈DX7合成电钢琴。1986年有HX先进的电子出版的历史。最常见和最熟悉的键盘是日本1991年后生产的EL,ELS系列和双便携ddk7的。
在1958年,中国北京邮电学院已经开发出了一个单一的电子管。由于种种原因,1977年,中国生产了大量的电子琴。在1989年,中国有200万套儿童电子琴,输出39万套,电子琴在中国快速的发展。[1]
1.2 设计依据
随着现代科技的不断发展,电子琴也在日益成长,它是一种新型的键盘乐器,在如今的乐器里面担任着重要的角色。单片机具有强大的功能,现代生活中人们随处可以看到它的身影。这个设计主要是以STC89C51单片机为主要控制器,设计的一个电子琴。用单片机作为主要的控制中心,与键盘、扬声器等元件组成核心主控制模块,在主控模块上设有8个按键。[2]
基于单片机电子琴的硬件组成:可以通过单片机制造出不同的频率来获得我们需要的音阶,最后能够随意的进行演奏,并且分别从原理图、主要芯片、各模块原理及各模块的程序的调试来详细阐述。
对于单片机来讲,可以很方便的产生不同的频率,我们能够利用单片机的定时/计数器T0产生不同的频率信号,所以就可以弹奏出不同的歌曲了。
2 系统方案设计及主控芯片介绍
2.1 系统基本设计思路
弹奏的歌曲通过扬声器播放出来。电路包括:单片机、键盘以及单片机周边最小系统和晶振电路。
2.1.1 各部分说明
(1)八个按键对应八个音符,用来演奏乐曲。
(2)单片机通过一系列信号的输出来驱动控制每个部分的正常工作。
2.1.2 系统工作过程
单片机在CPU中产生音频脉冲,CPU随时对输入的信号进行处理。阅读相应的寄存器,CPU将处理过的读值通过I/O端口使用扬声器输出播放音乐。
2.2 控制器模块
单片机的功能比较强大,使用灵活,可实现软件编程的算法和控制逻辑。由于低功率单芯片,小体积、技术成熟和成本低廉,所以广泛应用于各种领域,且具有抗干扰性能。[3]
2.2.1 发声模块
发声模块是本设计的最主要的部分。
基本方案:声音电路是电路部件的核心设计,它担当着把单片机所产生的语音信号放大并输出重要的作用,并且该设计是由两个S8050晶体管驱动构成声音电路。S8050是一个功率晶体管放大器管,是NPN型晶体管,而判读三极管有以下方法:
1.判断三极管的基极。对于NPN型三极管,用黑表笔接在某一个电极,红表笔连接到其他两个电极,如果测得的电阻值是交换表笔后,两个测得的电阻值都较大,这样就可以分析黑笔的第一测量被连接到电极基部;如果测量值和一个小的值有很大的区别,则黑笔的第一测量没有连接到电极基部,它应当更换另一电极重量度量。[4]
2.测量三极管发射极e和集电极c。晶体管基极由切换表笔两次测量E、C之间的电阻后确定,如果两个测量不相等,其中较小的一个所测量的电阻值是红色笔,黑色笔e极与c极连接。对于PNP型晶体管,类似于NPN方法,但是测试的相反的效果之间进行测量时导致角极端抗性。注意由于晶体管V(BR)CEO是非常小的,很容易击穿发射结。当确定了晶體管的管脚,就可以使用两个晶体管形成一个达林顿配置。首先,单片机P1.0口输出高电平由两个达林顿晶体管组成,可以形成为导通,而且电流和某些扩增接通之后,声音更清晰(图1)。
2.2.2 编程软件模块
方案1:采用汇编语言编程
与一些助记符字符的汇编语言指令有相应的表达意义,所以它相比机器语言来说使用起来更容易,但是它使用的CPU资源,对于高级语言,似乎更加困难。
方案2:采用C语言编程
C语言具有灵活性、丰富性、兼容性、新颖性等特征。进行深入分析主要特点,可以加深对C语言的理解;利用这些功能,可以大大提高实际应用。[5]
2.2.3 最终方案
经过反复论证,最终确定了如下方案:
(1)采用STC89C51单片机作为主要核心。
(2)采用达林顿效应放大音乐信号。
(3)采用C语言编程。
2.3 STC89C51单片机
STC89C51是一种性能高消耗低的CMOS8位微控制器,具有8K在系统可编程Flash存储器。在一个芯片上,由于存在这灵巧的8位CPU和在系统可编程Flash,让STC8 9C51在许多嵌入式控制应用上提供了高度的灵活,十分有效的解决了方案难题。具有以下标准功能:8k字节Flash、512字节RAM、32位I/O口线、看门狗定时器、内置4KBE EPROM、MAX810复位电路、三个16位定时器/计数器、一个6向量2级中断结构、全双工串行口。另外STC89X51可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。在空闲模式下,CPU停止,允许RAM、定时器/计数器、串行口中断工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,可选6T/12T(图2)。[6] 单片机是一种新型51内核的单片机。片内含有Flash程序存储器、SRAM、UART、SPI、PWM等模块。
2.3.1 STC89C51主要功能、性能参数
(1)内置标准51内核,机器周期:增强型为6时钟,普通型为12时钟;
(2)工作频率范围:0~40MHZ,相当于普通8051的0~80MHZ;
(3)STC89C51RC对应Flash空间:4KB;
(4)内部存储器(RAM):512B;
(5)定时器\计数器:3个16位;
(6)通用异步通信口(UART)1个;
(7)中断源:8个;
(8)有ISP(在系统可编程)\IAP(在应用可编程),无需专用编程器\仿真器;
(9)通用I\O口:32\36个;
(10)工作电压:3.8~5.5V;
(11)外形封装:40脚PDIP、44脚PLCC和PQFP等。
2.3.2 STC89C51单片机最小系统
最小系统包括微处理器和所需的电源、时钟、复位和其他组件,从而使微处理器始终在正常使用中。电源和时钟电路允许通过搜索系统的最小系统的一个必要条件是,扩展的存储器和A/D扩张的核心部分的运行要在装置中,因此MCU需要执行更复杂的功能。
STC89C51ROM/EPROM芯片,芯片至少有简单和可靠的系统配置。因为被连接到2-3中时要使用STC89C52芯片配置的应用系统中的一个,所以只要在MCU时钟和复位,在所述集成电路图案的结构中,应用程序就可以使用较小的控制单元的最小数量(图3)。[7]
中断技术主要用于实时监视和控制,单片机的中断请求源提交服务请求时,会及时响应和快速治疗反应。这是通过芯片实现中断系统引起的。当中断请求源中断请求时,如果中断请求被允许,当前正在执行的微控制器会暂停主程序,并中断服务处理器来执行中断请求。中断服务请求后中断服务会处理程序,并在此之后返回到原来的地方悬挂程序(断点),以继续中断的主程序(图4)。
如果没有中断单片机系统,单片机大量的时间,在是否有轮询操作的服务请求查询中被浪费了。中断技术完全消除了微控制器等待现象,这大大提高了微控制器和实时的效率。
3 硬件电路设计
3.1 系统总体框图
本设计采用STC89C51单片机作为主控制器,外部加上三极管驱动放音设备(系统总体框图5所示)。
3.2 最小系统设计
最小系统包括微处理器和所需的电源、时钟、复位和其他組件,从而使微处理器始终在使用中正常运行。扩展的存储器和A/D扩张核心部分运行的装置为电源和时钟电路的一个必要条件是允许通过搜索系统的最小系统,因此MCU执行更复杂的功能。[8]
3.3 时钟电路
车削放大器、引脚RXD和TXDSTC89C51内部振荡器的形成是一个放大器的输入和输出。它可能是由内部或外部时钟发生器来形成。内部时钟这里不详细介绍,外部时钟电路、接地RXD、TXD连接外部振荡器。外部振荡器信号没有特殊要求,只需要12MHz晶体或11.0592MHZ常用频率的脉冲宽度。
3.4 按键控制模块
电子琴设有8个按键,8个按键分别代表8个音符,包括中音段的全部音符,可通过软硬件设计(如图7)。
3.5 播放模块
播放这块是由2个三极管组成,三级管将信号放大,然后传输到喇叭,喇叭几乎不存在一点噪声,音响效果很好。
下图8是该模块电路:
该晶体管是一个电流放大器,元件中有三个极,被称为集电极C,基极B,发射极(E.NPN和PNP)。我们把NPN晶体管共发射极放大电路作为一个例子来解释所述晶体管放大器电路的基本原理。
3.5.1 电流放大
NPN硅晶体管对于下面的分析,如图8所示。目前的基B的发射极E的流量被称为基本电流Ib;从集电极C与发射极E中的流量被称为电流集电极电流Ic。这两个是流出的发射器的电流方向,发射极E可以通过电流方向箭头来表示。放大晶体管是这样的:集电极电流由基极电流控制限制(假设电源可以提供足够的电流),基极电流微小的变化会引起集电极电流的巨大变化,而变化会满足一定的比例关系:集电极电流的变化的量的β倍的电流变化是β倍放大的变化量的基极电流,所以我们称之为放大晶体管β(β通常比1大得多,例如:数十、数百个)。如果我们改变其中一点并施加到基极发射极的信号,这将导致在基本电流Ib的变化,1b中的变化会扩增,导致在IC中的显著变化。如果流过电阻R的集电极电流Ic发生变化,根据公式U=R上的电压,我可以认为电阻两端的电压会发生很大的变化。我们再将这个电压的电阻器取出,会得到放大的电压信号。[9-10]
3.5.2 偏置电路
在实际的晶体管放大电路使用中,还需要添加相应的偏置电路。有几个原因:第一是由于非线性BE结型晶体管(相当于一个二极管),基极电流在一定程度上必须输入电压。当基极-发射极电压小于0.7V时,基极电流可以被认为是零。但在实践中被放大的信号通常比0.7V小,如果没有偏置,这样的小信号不足以引起基极电流的变化(因为小于0.7V时,基极电流为0)。如果我们让晶体管加适当的电流基极(称为偏置电流,电阻Rb上图中用于提供该电流,因此它被称为基极偏置电阻器),那么当叠加有一个偏置小信号时,小信号将导致基极电流的变化,基极电流变化后,输出将被放大。另一个原因是,输出信号的范围要求,如果不存在偏差,那么只有那些附加信号放大,而降低的信号是无效的(因为没有收集器偏置电流为零,不能减少)。并加入预先偏移以便当输入基极电流减小时,集电极电流可以减小一定集电极电流;当输入基极电流增加时,集电极电流增大。信号和增加的信号可以被减小,从而放大电流。 3.5.3 作用开关
下面说说三极管饱和。图像上面,因为由电阻Rc的限制(Rc为一个固定值,则U/RC,其中U是电源电压的最大电流),集电极电流不能无限期向下增加。当基极电流增加时,集电极电流不能继续增加,该晶体管进入饱和。通常它确定晶体管是否饱和标准:磅*β