基于STC89C52单片机的简易电子琴(课程设计)

基于STC89C52单片机的简易电子琴(课程设计)
基于STC89C52单片机的简易电子琴(课程设计)

目录

1 引言 (2)

1.1 目的和意义 (2)

1.2 本系统主要研究内容 (2)

2. 总体方案论证与设计 (3)

2.1主控模块 (3)

2.1.3 STC89C52单片机的中断系统 (6)

2.1.4 STC89C52单片机的定时/计数器 (6)

2.2数码管模块设计 (6)

2.2.1 数码管原理介绍 (6)

2.2.1 数码管电路设计 (7)

2.3键盘模块设计 (8)

2.3.1矩阵键盘原理介绍 (8)

2.3.2矩阵键盘电路设计 (8)

2.4功率放大模块设计 (9)

2.4.1LM386内部原理 (9)

2.4.2 LM386使用注意事项 (10)

3.系统软件设计 (11)

3.1系统软件总体设计 (11)

3.2定时器产生音乐信号原理 (11)

4.系统调试 (13)

4.1硬件调试 (13)

4.2软件调试 (13)

4.3调试结果 (13)

5.结论 (15)

附录 (17)

系统整体原理图 (17)

系统PCB设计图 (17)

系统源程序 (18)

基于单片机的电子琴

摘要:随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本系统是以51系列单片机STC89C52为主控制器,附有矩阵键盘、LED显示管、扬声器组成。系统完成显示输入信息、播放相应音符等基本功能。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。

关键词:STC89C52,矩阵键盘,LED显示管,扬声器。

1 引言

1.1 目的和意义

单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。

电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用STC89C52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。

本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。本系统是简易电子琴的设计,按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放器对应的音符。通过设计本系统可了解单片机的基本功能。对单片机的了解有一个小的飞跃。

1.2 本系统主要研究内容

本系统设计制作一个可演奏的电子琴。综合应用了两项设计。

(1)键盘矩阵识别。即矩阵扫描,显示当前按键。

(2)不同频率音符播放。可以通过按键控制15种发音。

(3)设有一个按键,按下后可以播放预设的歌曲。

2. 总体方案论证与设计

本系统以STC89C52单片机为控制核心,对系统进行初始化,主要完成对键盘的响应、数码管显示等功能的控制,起到总控和协调各模块之间工作的作用。单片机通过检测键盘输出对应频率的方波,后级通过LM386对功率进行扩大从而驱动扬声器发响。

图2-1系统结构框图

本系统结构如图2-1所示,本设计可分为以下模块:单片机主控模块、键盘模块、功率放大模块、闹铃模块、按键设置模块。下面对各个模块的设计方案逐一进行论证分析。

2.1主控模块

STC89C52单片机最初是由Intel 公司开发设计的,但后来Intel 公司把51 核的设计方案卖给了几家大的电子设计生产商,譬如SST、Philip、Atmel 等大公司。如是市面上出现了各式各样的但均以51 为内核的单片机,倒是Intel 公司自己的单片机却显得逊色了。这些各大电子生产商推出的单片机都兼容51 指令、并在51 的基础上扩展一些功能而内部结构是与51 一致的。

STC89C52有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。STC89C52的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成。

STC89C52单片机的基本组成框图见图2-2。

图2-2 STC89C52单片机结

2.1.1 STC89C52单片机主要特性

1. 一个8 位的微处理器(CPU)。

2. 片内数据存储器RAM(128B),用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等,SST89 系列单片机最多提供1K 的RAM。

3. 片内程序存储器ROM(4KB),用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31 等。目前单片机的发展趋势是将RAM 和ROM 都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。SST 公司推出的89 系列单片机分别集成了

16K、32K、64K Flash 存储器,可供用户根据需要选用。

4. 四个8 位并行I/O 接口P0~P3,每个口既可以用作输入,也可以用作输出。

5. 两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用

以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52 系列单片机都会提供3 个16 位定时器/计数器。

6. 五个中断源的中断控制系统。现在新推出的单片机都不只5 个中断源,例如SST89E58RD 就有9 个中断源。

7. 一个全双工UART(通用异步接收发送器)的串行I/O 口,用于实现单片机之间或单机与微机之间的串行通信。

8. 片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允

许振荡频率为12MHz。SST89V58RD 最高允许振荡频率达40MHz,因而大大的提高了指令的执行速度。

2.1.2 STC89C52单片机管脚图

图2-3 89S52单片机管脚图

部分引脚说明:

1.时钟电路引脚XTAL1 和XTAL2:

XTAL2(18 脚):接外部晶体和微调电容的一端;在8051 片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。

要检查8051/8031 的振荡电路是否正常工作,可用示波器查看XTAL2 端是否有脉冲信号输出。

XTAL1(19 脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,该引脚必须接地。

2.控制信号引脚RST,ALE,PSEN 和EA:

RST/VPD(9 脚):RST 是复位信号输入端,高电平有效。当此输入端保持备用电源的输入端。当主电源Vcc 发生故障,降低到低电平规定值时,将+5V 电源自动两个机器周期(24个时钟振荡周期)的高电平时,就可以完成复位操作。RST 引脚的第二功能是VPD,即接入RST 端,为RAM 提供备用电源,以保证存储在RAM 中的信息不丢失,从而合复位后能继续正常运行。

ALE/PROG(30 脚):地址锁存允许信号端。当8051 上电正常工作后,ALE 引脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC 的1/6。CPU 访问片外存储器时,ALE 输出信号作为锁存低8 位地址的控制信号。

平时不访问片外存储器时,ALE 端也以振荡频率的1/6 固定输出正脉冲,因而ALE 信号可以用作对外输出时钟或定时信号。如果想确定8051/8031 芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。如有脉冲信号输出,则8051/8031 基本上是好的。

ALE 端的负载驱动能力为8 个LS 型TTL(低功耗甚高速TTL)负载。

此引脚的第二功能PROG 在对片内带有4KB EPROM 的8751 编程写入(固化程序)时,作为编程脉冲输入端。

PSEN(29 脚):程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引肢接EPROM 的OE 端(见后面几章任何一个小系统硬件图)。PSEN 端有效,即允许读出EPROM/ROM 中的指令码。PSEN 端同样可驱动8 个LS 型TTL 负载。要检查一个8051/8031 小系统上电后CPU 能否正常到EPROM/ROM 中读取指令码,也可用示波器看PSEN 端有无脉冲输出。如有则说明基本上工作正常。

EA/Vpp(31 脚):外部程序存储器地址允许输入端/固化编程电压输入端。当EA 引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当PC(程序计数器)的值超过0FFFH(对8751/8051 为4K)时,将自动转去执行片外程序存储器内的程序。当输入信号EA 引脚接低电平(接地)时,CPU 只访问外部EPROM/ROM 并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无片内ROM 的8031 或8032,需外扩EPROM,此时必须将EA 引脚接地。此引脚的第二功能是Vpp 是对8751 片内EPROM固化编程时,作为施加较高编程电压(一般12V~21V)的输入端。

3.输入/输出端口P0/P1/P2/P3:

P0口(P0.0~P0.7,39~32 脚):P0口是一个漏极开路的8 位准双向I/O口。作为漏极开路的输出端口,每位能驱动8 个LS 型TTL 负载。当P0 口作为输入口使用时,应先向口锁存器(地址80H)写入全1,此时P0 口的全部引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向口的含义。在CPU 访问

片外存储器时,P0口分时提供低8 位地址和8 位数据的复用总线。在此期间,P0口内部上拉电阻有效。

P1口(P1.0~P1.7,1~8 脚):P1口是一个带内部上拉电阻的8 位准双向I/O 口。P1口每位能驱动4 个LS 型TTL 负载。在P1口作为输入口使用时,应先向P1口锁存地址(90H)写入全1,此时P1口引脚由内部上拉电阻拉成高电平。

P2口(P2.0~P2.7,21~28 脚):P2口是一个带内部上拉电阻的8 位准双向I/O口。P口每位能驱动4个LS 型TTL 负载。在访问片外EPROM/RAM 时,它输出高8 位地址。

P3口(P3.0~P3.7,10~17 脚):P3口是一个带内部上拉电阻的8 位准双向I/O口。P3口每位能驱动4个LS型TTL负载。P3口与其它I/O 端口有很大的区别,它的每个引脚都有第二功能,如下:

P3.0:(RXD)串行数据接收。

P3.1:(RXD)串行数据发送。

P3.2:(INT0#)外部中断0输入。

P3.3:(INT1#)外部中断1输入。

P3.4:(T0)定时/计数器0的外部计数输入。

P3.5:(T1)定时/计数器1的外部计数输入。

P3.6:(WR#)外部数据存储器写选通。

P3.7:(RD#)外部数据存储器读选通。

2.1.3 STC89C52单片机的中断系统

STC89C52系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;由中断优先级寄存器IP安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。

2.1.4 STC89C52单片机的定时/计数器

在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。89C52单片机内集成有两个可编程的定时/计数器:T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。

2.2数码管模块设计

2.2.1 数码管原理介绍

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;

按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳

极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O 端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

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

图2-4 数码管内部结构图

2.2.1 数码管电路设计

如下图所示为一位共阳数码管的硬件电路连接图,由于数码管内部实际为8

个LED灯,如果把LED的阴级直接单片机的IO的口,会使LED通过的电流过大从而把数码管烧毁,因此在设计的时候在LED的阴级和单片机的IO之间加上了限流电阻从而起到限流作用。根据经验,这里选取了1K电阻。程序编写的时候我们预先根据要显示的字符,编写了个对应要显示的数组,这样可以使程序更加简化。

图2-5共阳数码管硬件电路连接图

2.3键盘模块设计

2.3.1矩阵键盘原理介绍

矩阵式键盘模式以N个端口连接控制N*N个按键,实时在LED数码管上显示按键信息。显示按键信息,省下了很多的I/O端口为他用,相反,独立式按键虽编程简单,但占用I/O口资源较多,不适合在按键较多的场合应用。并且在实际应用中经常要用到输入数字、字母、符号等操作功能,如电子密码锁、电话机键盘、计算器按键等,至少都需要12到16个按键。矩阵式键盘简介:矩阵式键盘又称行列键盘,它是用N条I/O线作为行线,N条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为N*N 个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。

最常见的键盘布局如图1所示。一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式,本设计就采用这个键盘模式。

图2-6键盘布局

矩阵式键盘提高效率进行按键操作管理有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身素质的要求。

2.3.2矩阵键盘电路设计

图2-7矩阵键盘电路图

硬件电路设计图如上图所示。把单片机的P2.0-P2.7端口通过8联拨动拨码开关连接到“4*4行列式键盘”,其中P2.0-P2.3作为列线,P2.4-P2.7作为行线,系统首先通过CPU对全部键盘进行扫描,即把第一根行线置为“0”状态,

其余行线置于“1”状态,读入输入缓冲器的状态,若其状态全为“1”表明该行无键按下,再将第二根行线置为“0”状态,同样读入输入缓冲器的状态,如其

状态也全为“1”,则置第一根行线置为“0”状态,以此类推[5]。如读入输入缓冲器的状态不全为“1”,确定哪一根列线为“0”状态,当某个键的行线和列线都为“0”状态时,表明该键按下。

2.4功率放大模块设计

功率放大模块我们选用了LM386作为功率放大模块的主要芯片,LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。

2.4.1LM386内部原理

图2-8 LM386内部结构图

LM386内部电路原理图如图所示。与通用型集成运放相类似,它是一个三级放大电路。第一级为差分放大电路,T1和T3、T2和T4分别构成复合管,作为差分放大电路的放大管;T5和T6组成镜像电流源作为T1和T2的有源负载;T3和T4信号从管的基极输入,从T2管的集电极输出,为双端输入单端输出差分电路。使用镜像电流源作为差分放大电路有源负载,可使单端输出电路的增益近似等于双端输出电容的增益。

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

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

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

电阻R7从输出端连接到T2的发射极,形成反馈通路,并与R5和R6构成反

馈网络,从而引入了深度电压串联负反馈,使整个电路具有稳定的电压增益。

图2-9 LM386管脚图

LM386的外形和引脚的排列如上图所示。引脚2为反相输入端,3为同相输入端;引脚5为输出端;引脚6和4分别为电源和地;引脚1和8为电压增益设定端;使用时在引脚7和地之间接旁路电容,通常取10μF。

查LM386的datasheet,电源电压4-12V或5-18V(LM386N-4);静态消耗电流为4mA;电压增益为20-200;在1、8脚开路时,带宽为300KHz;输入阻抗为50K;音频功率0.5W。

2.4.2 LM386使用注意事项

尽管LM386的应用非常简单,但稍不注意,特别是器件上电、断电瞬间,甚至工作稳定后,一些操作(如插拔音频插头、旋音量调节钮)都会带来的瞬态冲击,在输出喇叭上会产生非常讨厌的噪声。

(1)通过接在1脚、8脚间的电容(1脚接电容+极)来改变增益,断开时增益为20。因此用不到大的增益,电容就不要接了,不光省了成本,还会带来好处--噪音减少,何乐而不为?

(2)PCB设计时,所有外围元件尽可能靠近LM386;地线尽可能粗一些;输入音频信号通路尽可能平行走线,输出亦如此。这是死理,不用多说了吧。

(3)好调节音量的电位器。质量太差的不要,否则受害的是耳朵;阻值不要太大,10K最合适,太大也会影响音质,转那么多圈圈,不烦那!

(4)可能采用双音频输入/输出。好处是:“+”、“-”输出端可以很好地抵消共模信号,故能有效抑制共模噪声。

(5)7脚(BYPASS)的旁路电容不可少!实际应用时,BYPASS端必须外接一个电解电容到地,起滤除噪声的作用。工作稳定后,该管脚电压值约等于电源电压的一半。增大这个电容的容值,减缓直流基准电压的上升、下降速度,有效抑制噪声。在器件上电、掉电时的噪声就是由该偏置电压的瞬间跳变所致,这个电容可千万别省啊!

(6)少输出耦合电容。此电容的作用有二:隔直+耦合。隔断直流电压,直流电压过大有可能会损坏喇叭线圈;耦合音频的交流信号。它与扬声器负载构成了一阶高通滤波器。减小该电容值,可使噪声能量冲击的幅度变小、宽度变窄;太低还会使截止频率

(fc=1/(2π*RL*Cout))提高。分别测试,发现10uF/4.7uF最为合适,这是我的经验值。

(7)源的处理,也很关键。如果系统中有多组电源,太好了!由于电压不同、负载不同以及并联的去耦电容不同,每组电源的上升、下降时间必有差异。非常可行的方法:将上电、掉电时间短的电源放到+12V处,选择上升相对较慢的电源作为LM386的Vs,但不要低于

4V,效果确实非常不错!

3.系统软件设计

3.1系统软件总体设计

图3-1系统流程图3.2定时器产生音乐信号原理

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。

利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O 反相,就可得到中音DO(523Hz)。

计数脉冲值与频率的关系式(如式2-1所示)是:

N=fi÷2÷fr 2-1

式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。

其计数初值T的求法如下:

T=65536-N=65536-fi÷2÷fr

例如:设K=65536,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/1046=65059

4.系统调试

4.1硬件调试

电子琴的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚要注意处理,否则会刺破带有包皮的导线,则会对电路造成短路现象。

在本电子琴的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都是可以避免的,以下为主要的问题:

(1)数码管选用的时候没有注意采用的是共阴还是共阳,导致调试的时候数码管一直不能显示。

解决:把共阴数码管换成数码管。

(2)最开始的时候以为单片机IO口直接可以驱动喇叭发声,后来调试的时候久久不能出声音。

解决:经过查找相关资料,知道扬声器需要功率放大器来驱动,后来把功率放大器加上系统便可以正常工作。

4.2软件调试

电子琴是多功能的数字型,可以根据用户按下的按键发出对应频率的声音。电子琴功能很多,所以对于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。在软件的调试过程中主要遇到的问题如下:

1.烧入程序后,LED数码管显示闪动,而且亮度不均匀。

解决:首先对调用的延时进行逐渐修改,可以解决显示闪动问题。其次,由于本作品使作动态扫描方式显示的数字,动态扫描很快,人的肉眼是无法看出,但是调用的显示程序时,如果不在反回时屏蔽掉最后的附值,则会出现很亮的现象,所以在显示的后面加了屏蔽子令,最后解决了此问题。

2.当用户按下按键的时候,定时器设置的频率跟设计的不对应。

解决:由于定时器中,有大量需要处理的语句使设置定时器的频率不准,为了解决这个问题,我把不太相关的语句放大定时器外部使用。

4.3调试结果

(1)在测试中遇到LED数码管为不显示时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏.

(2)LED 数码管显示不正常,还有亮度不够,首先使用试测仪对电路进行测试,观察电路是否存在短路现象。查看烧写的程序是否正确无误,对程序进行认真修改。

经过一系列的问题查找后系统最终能正常工作,并完成所有的功能。

以下为系统仿真图:

图4-1系统仿真图

5.结论

通过这次毕业设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力,将以前学过的零散的知识串到一起。经过我长时间的设计及调试,本系统基本能实现按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放对应的音符。但由于仿真系统原因,本设计音频效果不是很好。不足之处有:1.可弹奏的音符数较少,只能在一定范围内满足用户需要。可通过改进键盘识别模块和发生模块来增加其复杂度2.音量不可调。

我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。基本掌握了Protel99SE原理图的方法,并设计了一个单片机最小系统。通过开发板的设计和硬件搭建的过程,使我对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,如LED数码管,键盘等。并且我学会了分析问题解决问题的能力,加深了对所学理论知识的理解和运用。我的动手能力得到了很大的提高,创新意识得到了锻炼。

参考文献

[1] 彭伟.单片机C语言程序设计实训100例.电子工业出版社.2009年

[2] 吴运昌.模拟电子线路基础.广州:华南理工大学出版社,2004年

[3] 阎石.数字电子技术基础.北京:高等教育出版社,1997年

[4] 张晓丽等.数据结构与算法.北京:机械工业出版社,2002年

[5] 马忠梅等.ARM&Linux嵌入式系统教程.北京:北京航空航天大学出版社,2004年

[6] 李建忠.单片机原理及应用.西安:西安电子科技大学,2002年

[7] 韩志军等.单片机应用系统设计[M].机械工业出版社,2004

[8] 周润景等. Proteus在MCS-51&ARM7系统中的应用百例[M].电子工业出版社,2006

[9] 马忠梅等.单片机的C语言应用程序设计[M].北京航空航天大学出版社,2006

[10] 刘树中,孙书膺,王春平.单片机和液晶显示驱动器串行接口的实现[J].微计算机信息,2007

附录

系统整体原理图

系统源程序

#include

#include

//本程序是电子琴的程序,能够实现单独演奏和放一首歌曲的功能。其中,按键1~15是用于单独演奏的,按键16是用于播放歌曲的

//播放歌曲的时候需要按复位键才能够停止。

//共阴极数码管段码表,最后一字节为黑屏

unsigned char code

DSY_CODE[]={0x28,0xee,0x34,0xa4,0xe2,0xa1,0x21,0xec,0x20,0xa0,0x60,0x23,0x3 9,0x26,0x31,0x71,0xbf};

//各音符对应的延时表

unsigned int code

tone_delay_table[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,648 98,64968,65030,65058,65110,65157,65178};

//蜂鸣器的位定义

sbit beep=P3^0;

#define SOUND_SPACE 4/5 //定义普通音符演奏的长度分率,//每4分音符间隔

//同一首歌的谱子

unsigned char code Music[]={ 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66,

0x18,0x03,

0x17,0x02, 0x15,0x02, 0x16,0x01, 0x15,0x02,

0x10,0x02,

0x15,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02,

0x17,0x02,

0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x02,

0x18,0x66,

0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03,

0x16,0x00,

0x17,0x01, 0x19,0x02, 0x1B,0x02, 0x1B,0x70, 0x1A,0x03,

0x1A,0x01, 0x19,0x02, 0x19,0x03, 0x1A,0x03, 0x1B,0x02,

0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x18,0x66, 0x18,0x03,

0x19,0x02, 0x1A,0x02, 0x19,0x0C, 0x18,0x0D, 0x17,0x03,

0x16,0x01, 0x11,0x02, 0x11,0x03, 0x10,0x03,

0x0F,0x0C,

0x10,0x02, 0x15,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66,

0x19,0x03, 0x1A,0x01, 0x1B,0x02, 0x1B,0x03, 0x1B,0x03,

0x1B,0x0C, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x1F,0x01,

0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01,

0x10,0x02,

0x10,0x03, 0x10,0x03, 0x1A,0x0C, 0x18,0x0D, 0x17,0x03,

0x16,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02,

0x17,0x70,

0x18,0x03, 0x17,0x02, 0x15,0x03, 0x15,0x03,

0x16,0x66,

0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03,

0x10,0x02,

0x10,0x01, 0x11,0x01, 0x11,0x66, 0x10,0x03,

0x0F,0x0C,

0x1A,0x02, 0x19,0x02, 0x16,0x03, 0x16,0x03,

0x18,0x66,

0x18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03,

0x19,0x00,

0x00,0x00 };

unsigned int code FreTab[12] =

{ 262,277,294,311,330,349,369,392,415,440,466,494 }; //原始频率表

unsigned char code SignTab[7] = { 0,2,4,5,7,9,11 }; //1~7在频率表中的位置unsigned char code LengthTab[7]= { 1,2,4,8,16,32,64 };

unsigned char Sound_Temp_TH0,Sound_Temp_TL0; //音符定时器初值暂存unsigned char Sound_Temp_TH1,Sound_Temp_TL1; //音长定时器初值暂存

void delay_1ms(unsigned int ms) { unsigned char i; while(ms--) for(i=0;i<120;i++);} //延时1ms

//播放音乐的子函数

void Play(unsigned char *Sound,unsigned char Signature,unsigned Octachord,unsigned int Speed)

{

unsigned int NewFreTab[12]; //新的频率表

unsigned char i,j; //定义一些中间变量

unsigned int

Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundLength;

unsigned char Tone,Length,SL,SH,SM,SLen,XG,FD;

for(i=0;i<12;i++) // 根据调号及升降八度来生成新的频率表{

j = i + Signature;

if(j > 11)

{

j = j-12;

NewFreTab[i] = FreTab[j]*2;//计算新的频率

}

else

NewFreTab[i] = FreTab[j];

if(Octachord == 1)

NewFreTab[i]>>=2;

else if(Octachord == 3)

NewFreTab[i]<<=2;

}

SoundLength = 0;

while(Sound[SoundLength] != 0x00) //计算歌曲长度

{

SoundLength+=2;

}

Point = 0;

Tone = Sound[Point];

Length = Sound[Point+1]; // 读出第一个音符和它时时值

LDiv0 = 12000/Speed; // 算出1分音符的长度(几个10ms) LDiv4 = LDiv0/4; // 算出4分音符的长度

LDiv4 = LDiv4-LDiv4*SOUND_SPACE; // 普通音最长间隔标准

TR0 = 0;

TR1 = 1;

while(Point < SoundLength)

{

SL=Tone%10; //计算出音符

SM=Tone/10%10; //计算出高低音

SH=Tone/100; //计算出是否升半

CurrentFre = NewFreTab[SignTab[SL-1]+SH]; //查出对应音符的频率if(SL!=0)

{

if (SM==1) CurrentFre >>= 2; //低音

if (SM==3) CurrentFre <<= 2; //高音

Temp_T = 65536-(50000/CurrentFre)*10;//计算计数器初值

Sound_Temp_TH0 = Temp_T/256;

Sound_Temp_TL0 = Temp_T%256;

TH0 = Sound_Temp_TH0;

TL0 = Sound_Temp_TL0 + 12; //加12是对中断延时的补偿}

SLen=LengthTab[Length%10]; //算出是几分音符

基于AT89C51单片机的多音阶电子琴的设计

重庆三峡学院 单片机课程设计报告书 学院: 年级专业: 学号: 学生姓名: 指导教师: 教师职称: 成绩: 制作日期2012年11月29日

基于AT89C51单片机的多音阶电子琴的设计 重庆三峡学院 摘要 单片机是电子、计算机及机电专业的一门重要的必修课程。要求我们掌握单片机的基本组成和工作原理、会变程序的一般编写方法、常用接口电路的软硬件设计方法,具备基本的单片机系统应用与开发能力。 随着科技的快速发展,单片机的应用日益普遍。单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本单片机系统设计应用单片机控制技术,用AT89C51单片机为核心控制元件根据本学期所学的单片机知识结合设计了一套单片机控制的电子琴系统。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在现代音乐扮演着重要的角色。 本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。 关键词:单片机、电子琴、AT89C51、独立键盘、

目录 第 1 章引言......................................................................................................................... 1. 1. 1 设计背景 (1) 1.2 设计任务 (1) 1.3 设计目的 (1) 1.4 设计思路 (1) 第 2 章方案论证 (1) 2.1 方案论证 (1) 第 3 章硬件系统设计 (2) 3.1时钟电路 (2) 3.2 复位电路 (3) 3.3 原理框图 (3) 3. 4 显示部分设计 (3) 3.5 按键部分设计 (4) 3.6 发音部分设计 (5) 第 4 章软件系统设计 (5) 4.1 系统分析 (5) 4.2 参数计算 (7) 4.3 程序设计 (8) 第 5 章实验结果 (10) 5.1硬件调试 (10) 5.2 软件调试 (10) 5.3 仿真结果 (10) 5.4 结果分析 (11) 第 6 章总结 (11) 附录一:系统整体电路图 (12) 附录二:元器件清单 (12) 附录三:源程序代码 (13) 参考文献 (19)

基于单片机的简易电子琴设计课程设计

基于单片机的简易电子琴设计课程设计

湖南文理学院 课程设计报告 课程名称:单片机课程设计 专业班级:自动化10102班17号学生姓名:肖葵 指导教师:王南兰 完成时间:2013年 6 月13 日报告成绩: 湖南文理学院制

摘要 随着社会的发展进步,音乐逐渐成为人们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。人们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:AT89S51;音色节拍器;电子琴

ABSTRACT With the development of our society, music has become an important part of life. There’s a saying goes that people who likes music cannot be an evil. During our life, we often enjoy all kinds of music in the world to baptize our spirits. This thesis has designed a simple microcontroller-based electronic key board. We are curious about the foundation of electronic keyboard, such as the choice of timber, the control of volume, the metrononme and automatic playback. The keyboard is a product of modern electronic technology combined with music, it is a new type of keyboard instruments. And it plays an important role in modern music. Single chip has a powerful control functions and flexible programming characteristics. It has converged with modern people's lives, become an irreplaceable part. The main content is AT89S51 control of the core components, Design of an electronic organ, single chip as a host to the core, with the keyboard, speakers and other core modules main control module, in the main control module has 16 keys and speakers. Stability of the system, its advantages are simple hardware circuits, software functions, control system reliability, high cost performance and have certain practical and reference value. Key words : single chip MCU keyboard speaker electronic organ

单片机课程设计报告书----电子秤

一、设计任务及要求: 设计任务: 完成一个简单的使用数字电子秤的硬件与软件部分的设计。 设计要求: 1.利用单片机实现对所设计的电子秤的各项功能的控制。 2.电子秤能够LCD液晶显示出商品的名称、价格,重量、总价等信息。 3.电子秤具有储存几种简单商品价格的功能。 4.电子秤的测量范围要求达到5KG,测量精度要求达到0.001。 5.电子秤能够自动完成商品的价格计算。 指导教师签名: 2010 年6月16 日二、指导教师评语: 指导教师签名: 2010 年7月3日三、成绩 验收盖章 2010 年7 月日

基于单片机的实用电子秤的设计 1 设计目的 单片机以其功能强,体积小,功耗低,易开发等很多优势被广泛应用。本 次数字电子秤的设计就是需要通过选择合适的单片机来进行主控,再结合A/D 转换、键盘、液晶显示、复位电路和蜂鸣器报警驱动电路的知识,同时在软件 的设计过程中用到键盘扫描、液晶显示驱动、模数转换程序及汉字库的的设计, 做到对我们所学数电、模电、单片机等知识的综合应用,最终实现所设计数字 电子秤的各项功能,达到“巩固知识,培养技能,学而用之”的实践目的。通过这次课程设计,不但要提高我们在工作中的学习能力、探究能力、应用能力和动 手能力,还要历练我们不畏艰难、不懂便学、有漏必补的认真严谨的工作态度,强化我们的社会适应力和社会竞争力,为走向社会提前试水,完善自我。 2 设计的主要内容及要求 本设计主要完成一个简单实用数字电子秤的硬件电路部分和软件部分的设计。硬件部分包括数据采集、最小系统板、人机交互界面三大部分。其中,数 据采集部分由压力传感器和A/D 转换部分组成;人机界面部分为键盘输入、 液晶显示。软件部分应用单片机 C 语言实现了本设计的全部控制功能。本设 计的数字电子秤要求能够显示商品的名称、价格、总量、总价等;能够自动完 成商品的价格计算;能够储存几种简单商品的价格;能够具有超重提醒功能, 一旦重量超出了自身重量的测量的范围,发出警报;同时对数字电子秤的测量 范围要达到5KG,测量精度要求达到0.001。 3 整体设计方案 整个数字电子秤电路由压力传感电路(ADC0832采样)、模数转换系统、单 片机主控制电路、LM4229显示电路、蜂鸣器报警电路和4*4键盘电路6 个部

简易电子琴课程设计报告

摘要 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在音奏中已成为不可缺少的一部分。本文主要介绍运用555定时器制作简易电子琴的设计方法。该方法利用555定时器构成多谐振荡器,通过按键控制不同的RC组合应用多谐振荡器产生不同频率八个基本音阶的脉冲信号波,然后连到扬声器上,即可发出八音阶的音乐。在该设计中,利用了555定时器构成的多谐振荡器产生各音阶不同频率的脉冲,不仅仅使其频率调节更加方便,而且发出的声音稳定、饱满。 前言 (1) 第一章设计内容及要求 (2) 1.1 设计的基本原理 (2) 1.2 设计要求 (2) 第二章系统组成及工作原理 (3) 2.1 系统组成 (3) 2.1.1 按键模块 (3) 2.1.2音调发生模块 (3) 2.1.3音响模块 (4) 2.2 工作原理 (4) 2.2.1 NE555多谐振荡器 (5) 2.2.2 LM386集成功率放大器 (7) 第三章方案比较 (8) 3.1 方案一 (8) 3.2 方案二 (9) 3.3方案三 (10) 3.4方案分析与比较 (11) 第四章参数计算、器件选择 (12) 4.1 参数计算 (12) 4.2 器件选择 (12) 第五章系统调试及测试结果分析 (14) 5.1 系统调试 (18) 关键词:简易电子琴,555定时器,多谐振荡器,八个基本音阶 目录

5.2 硬件调试···················································19 2 5.3 测试结果与分析 (19) 前言 随着当代科学设计的发展,电子产品在人们的日常生活中占据着越来越多重要的地位。电子琴作为其中的一个典型代表,引领着许多孩子进入音乐的殿堂。因此,我们选择了简易电子琴这个题目来制作,因为它不仅能过提高实际动手能力,还与实际生活有着紧密的联系。 模拟电子技术基本教程是一门实践性很强的课程,而此次课程设计依据的理论基础是模拟电子技术基本教程,其主要目的是通过本课程的培养,启发学生的创造性思维,进一步探究书本知识。本课程设计是设计出一个电子产品,先焊接好,再进行检验。 在电子课程设计的过程中,系统的概念十分重要,熟悉从系统的层次分析问题、解决问题的方式。基本方法除了实验课中要求掌握的功能测试、故障排除等各种一般方法以外、要特别注重使用“电路拼装”的方法。课程设计的一般步骤如下:(1)、选择一个课题;(2)、查阅有关资料;(3)、进行可行论证;(4)、通过设计方案的比较,定出最优的设计方案;(5)、分解为多个模块;(6)、分别设计各个功能模块电路,并完成调试;(7)、组装成完整的数字系统;(8)、编写设计、安装、调试报告。 1 第一章设计原理及要求 1.1 设计的原理 555定时器是一种中规模集成电路,外形为双列直插8脚结构,体积小,使用起来方便。只要在外部配上几个适当的阻容元件,就可以构成施密特触发器、单稳态触发器及多谐振荡器等脉冲信号产生与变换电路。它在波形的产生与变换、测量与控制、定时电路、家用电器、电子玩具、电子乐器等方面有广泛的应用。 5.4 误差分析 (19) 实验小结及心得体会 (20) 结论······························································21 参考 文献·························································22 附录一····························································23 附录二···························································· 24 3

基于51单片机简易电子琴的课程设计

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

单片机电子琴音乐盒课程设计

课程设计报告 设计题目:单片机多功能音乐盒设计 【摘要】本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来暂停歌曲,另一个用来切换歌曲本音乐盒共有四首歌曲,还有4*4矩阵键盘电子琴弹奏功能,播放歌曲时,蜂鸣器发出音调,矩阵键盘无扫描信号,不动作。当按下暂停歌曲键时,可继续弹奏电子琴。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 设计作者:吴文豪 专业班级/学号:10应电三班 1006020144 合作者1:专业班级/学号: 合作者2:专业班级/学号: 指导教师:王明文 设计时间:2012年5月12日———2012年6月3日

目录 引言 (1) 1.设计任务及要求 (2) 1.1设计任务 (2) 1.2设计要求 (2) 1. 3研究内容 (2) 2.系统总体设计 (3) 2.1系统结构框图设计及说明 (3) 3.软、硬件设计…………………………………………………………….. 3.1 系统硬件设计………………………………………………………… 3.1.1系统硬件原理图及工作原理说明………………………… 3.1.2单元电路设计原理与元件参数选择……………………… 3. 2系统软件设计…………………………………………………….. 3. 2. 1软件系统总流程图及设计思路说明…………………... 3. 2. 2软件各功能模块的流程图设计及思路说明…………... 4.安装与调试………………………………………………………………. 4.1安装调试过程……………………………………………………… 4.2调试中遇到的问题…………………………………………………5.结论………………………………………………………………………. 6.使用仪器设备清单………………………………………………………. 7.收获、体会和建议………………………………………………………. 8.参考文献…………………………………………………………………. 9.附录………………………………………………………………………

单片机电子秤设计报告

基于单片机的电子秤 单片机电子秤设计报告 秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。 和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片 机设计实现,具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。该电子秤的测量范围为 0-10Kg,测量精度达到 5g,有高精度,低成本,易携带的特点。电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。 一、功能描述 1、采用高精度电阻应变式压力传感器,测量量程 0-10kg ,测量精度可 达 5g 。 2、采用电子秤专用模拟 / 数字( A/D)转换器芯片 hx711 对传感器信号进行调理转换, HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片

3、采用 STC89C52单片机作为主控芯片,实现称重、计算价格等主控功 4、采用 128*64 汉字液晶屏显示称重重量、单价、总价等信息。 5、采用 4*4 矩阵键盘进行人机交互,键盘容量大,操作便捷。 6、具有超量程报警功能,可以通过蜂鸣器和 LED灯报警。 7、系统通过 USB电源供电,单片机程序也可通过 USB线串行下载。 二、硬件设计 1、硬件方案 单片机电子秤硬件方案如图 1 所示: 图 1 单片机电子秤硬件方案称重传感器感应被测重力,输出微弱的毫伏级电压信号。该电压信号经过电子秤专用模拟 /数字(A/D)转换器芯片hx711 对传感器信号进行调理转换。 HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片,内置增益控制,精度高,性能稳定。 HX711芯片通过 2 线串行方式与单片机通信。单片机读取被测数据,进行计算转换,再液晶屏上显示出

简易电子琴课程设计

课程设计任务书学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 简易电子琴电路的设计仿真与实现 初始条件: 可选元件:集成运算放大器LM324、电阻、电位器、电容若干,直流电源,或自备元器件。 可用仪器:示波器,万用表,直流稳压源,函数发生器 要求完成的主要任务: (1)设计任务 根据要求,完成对简易电子琴电路的仿真设计、装配与调试,鼓励自制稳压电源。 (2)设计要求 ①设计一简易电子琴电路,按下不同琴键即改变RC值,能发出C调的八个基本音阶,采用运算放大 ②选择电路方案,完成对确定方案电路的设计。 ③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原理并仿真实现系 统功能。 ④安装调试并按规范要求格式完成课程设计报告书。 ⑤选做:利用仿真软件的PCB设计功能进行PCB设计。 时间安排: 1、前半周,完成仿真设计调试;并制作实物。 2、后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1.模电课设概述 (1) 1.1设计背景 (1) 1.2设计目的及意义 (1) 1.3开发环境proteus简介 (1) 2.电路原理 (3) 2.1 RC桥式振荡电路及频率选择 (3) 2.2振荡条件 (4) 3.总体方案设计 (5) 3.1实验电路设计思路 (5) 3.2设计电路图 (6) 3.3实验参数选择 (6) 4.仿真曲线及结果分析 (7) 4.1仿真操作过程及曲线 (7) 4.2仿真结果分析 (14) 5.实物制作及仿真、实物的差异 (15) 5.1实物制作过程和调试过程 (15) 5.2 仿真、实物的差异 (16) 6.心得体会 (17) 7.元件清单 (18) 8.参考文献 (19)

(完整版)基于51单片机简易电子琴的设计

电子琴的设计 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。一. 任务要求与总体设计方案 1.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 1.2 设计方案 1.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率

单片机电子秤设计报告共28页文档

单片机电子秤设计报告 秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。 和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片机设计实现,具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。该电子秤的测量范围为0-40Kg,测量精度达到5g,有高精度,低成本,易携带的特点。电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。 一、功能描述 1、采用高精度电阻应变式压力传感器,测量量程0-40kg,测量精度可达5g。 2、采用电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换,HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。 3、采用STC89C52单片机作为主控芯片,实现称重、计算价格等主控功能。 4、采用128*64汉字液晶屏显示称重重量、单价、总价等信息。 5、采用4*4矩阵键盘进行人机交互,键盘容量大,操作便捷。 6、具有超量程报警功能,可以通过蜂鸣器和LED灯报警。 7、系统通过USB电源供电,单片机程序也可通过USB线串行下载。

二、硬件设计 1、硬件方案 单片机电子秤硬件方案如图1所示: 图1 单片机电子秤硬件方案 称重传感器感应被测重力,输出微弱的毫伏级电压信号。该电压信号经过电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换。HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片,内置增益控制,精度高,性能稳定。HX711芯片通过2线串行方式与单片机通信。单片机读取被测数据,进行计算转换,再液晶屏上显示出来。 矩阵键盘主要用于计算金额。当被测物体重量得到后,用户可以通过矩阵键盘输入单价,电子秤自动计算总金额并在液晶屏显示。电源系统给单片机、HX711电路及传感器供电。 2、称重传感器 传感器是测量机构最重要的部件。称重传感器本身具有单调性,其主要参数指标是灵敏度、总误差和温度漂移。 (1) 灵敏度 称重传感器的电灵敏度为满负荷输出电压与激励电压的比值,典型值是2mV/V。当使用2 mV/V灵敏度和5 V激励电压的传感器时,其满度输出电压为10 mV。通常,为了使用称重传感器线性度最好的一段称重范围,应当仅使用满度范围的三分之二。因此满度输出电压应当大约为6mV。当电子秤应用于工业环境时,在6mV满度范围内测量微小的信号变化并非易事。 (2) 总误差 总误差是指输出误差和额定误差的比值。典型电子秤的总误差指标大约是0.02%,这一技术指标相当重要,它限制了使用理想信号调节电路所能达到的精确度,决定了ADC分辨率的选择以及放大电路和滤波器的设计。

基于51单片机的电子琴设计课程设计

目录 前言 (2) 第1章基于51单片机的电子琴设计 (3) 1.1 电子琴的设计要求 (3) 1.2 电子琴设计所用设备及软件 (3) 1.3 总体设计方案 (3) 第2章系统硬件设计 (5) 2.1 琴键控制电路 (5) 2.2 音频功放电路 (6) 2.3 时钟-复位电路 (6) 2.4 LED显示电路 (6) 2.5 整体电路 (6) 第3章电子琴系统软件设计 (7) 3.1 系统硬件接口定义 (7) 3.2 主函数 (8) 3.2.1 主函数程序 (8) 3.3 按键扫描及LED显示函数 (9) 3.3.1 键盘去抖及LED显示子程序 (10) 3.4 中断函数 (11) 3.4.1 中断程序 (12) 第4章电子琴和调试 (12) 4.1 调试工具 (12) 4.2 调试结果 (13) 4.3 电子琴设计中的问题及解决方法 (14) 第5章电子琴设计总结 (15) 参考文献 (16) 附录 (17)

前言 音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。 二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

基于单片机的电子秤的设计样本

四川信息职业技术学院 毕业设计阐明书(论文) 设计(论文)题目: 基于单片机电子秤设计 专业:应用电子技术 班级:应电12-3 学号: 1111111 姓名:某某某 指引教师:某某某

二〇一四年十一月二十五日

四川信息职业技术学院毕业设计(论文)任务书

目录 摘要................................................................................................... 错误!未定义书签。绪论................................................................................................... 错误!未定义书签。第一章方案设计与论证................................................................... 错误!未定义书签。 1.1方案选取 ............................................................................ 错误!未定义书签。 1.2方案论证 ............................................................................ 错误!未定义书签。第二章硬件设计与分析................................................................... 错误!未定义书签。 2.1单片机最小系统 ................................................................ 错误!未定义书签。 2.1.1 芯片简介.............................................................. 错误!未定义书签。 2.1.2 时钟电路设计...................................................... 错误!未定义书签。 2.1.3 复位电路设计...................................................... 错误!未定义书签。 2.2信号采集模块 .................................................................... 错误!未定义书签。 2.2.1 传感器选取.......................................................... 错误!未定义书签。 2.2.2 传感器选取.......................................................... 错误!未定义书签。 2.3数据转换电路 .................................................................... 错误!未定义书签。 2.3.1 A/D转换器选取................................................... 错误!未定义书签。 2.3.2 ADC0832简介 ..................................................... 错误!未定义书签。 2.3.3单片机对ADC0832控制原理 ............................ 错误!未定义书签。 2.4声光报警电路 .................................................................... 错误!未定义书签。 2.5显示电路 ............................................................................ 错误!未定义书签。 2.6整机电路 ............................................................................ 错误!未定义书签。

单片机课程设计---简易电子琴设计

单片机 课程设计 课程设计名称: 专业班级: 学生姓名: 学号: 指导教师: 课程设计时间:

一、需求分析 1.1课题背景 随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。电子科技也在不断的前进,电子技术正在以不同的方式改变着我们的生活,电子琴设计也是希望给人们带来一些生活的乐趣。电子琴可以应用在很多方面,比如一些简易的玩具上或手机上。单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化。 本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 1.2 课题设计的任务与主要内容 本文的主要内容是用AT89C51单片机为核心控制元件,设计一个简单的电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。定时器按设置的定时参数产生中断,由于定时参数不同,就会发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。 先根据要求设计硬件电路和编写相应的程序,然后进行仿真调试,最后细心焊接硬件电路图,将程序烤入芯片中,最终达到设计目的。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。

电子称课程设计

1.前言 电子称重技术是现代称重计量和控制系统工程的重要基础之一,电子衡器经过40年的不断改进和完善,从60年代的机电结合型发展到现在的全电子型和数字化智能型。由于它具有称量准确、快速,读取方便,环境适应性强,便于与电子计算机结合而实现称重计量与过程控制自动化等特点,在工商贸易、能源交通、轻工食品、医药卫生、航空航天等部门得到了广泛的应用。本课题本着电子秤向高精度、高可靠方向研究,讲述了用单片机控制A/D转换、键盘输入和数据显示,对如何实现键盘中断、A/D采样进行研究。设计特别适用于测量精度要求较高的场合, 具有较高的实用价值和推广价值。本文中第一章讲述了电子秤的发展情况及其工作原理,第二章讲述了电子秤的硬件电路组成部分,第三章介绍了电子秤各部分功能实现的软件设计。 1.1研究本文的意义 物料计量是工业生产和贸易流通中的重要环节。称重装置或衡器是不可缺少的计量工具。随着工农业生产的发展和商品流通的扩大,衡器的需求也日益增多,过去沿用的机械杠杆秤己不能适应生产自动化和管理现代化的要求。自六十年代以来,由于传感器技术和电子技术的迅速发展,电子称重技术日趋成熟,并逐步取代机械秤。尤其是七十年代初期,微处理机的出现使电子称重技术得到了进一步的发展。快速、准确、操作方便、消除人为误差、功能多样化等方面已成为现代称重技术的主要特点。称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。称重装置的应用已遍及到国民经济各领域,取得了显著的经济效益。同时对称重仪表的要求也越来越高,要求仪表有更高抗干扰能力、更高的精度。 基于电子秤的现状,本文拟研究一种用单片机控制的高精度数字电子秤设计方案。这种高精度数字电子秤计量准确、携带方便,集质量称量功能与价格计算功能于一体,能够满足商业贸易和居民家庭的使用需求。 1.2 电子秤的发展 1.电子技术渗入衡器制造业 随着第二次世界大战后的经济繁荣,为了把称重技术引入生产工艺过程中去,对称重技术提出了新的要求,希望称重过程自动化,为此电子技术不断渗入衡器制造业。在1954年使用了带新式打印机的倾斜杠杆式秤,其输出信号能控制商用结算器,并且用电磁铁机构与代替人工操作的按键与办公机器联用。在1960年开发出了与衡器相联的专

简易电子琴课程设计

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 简易电子琴电路的设计仿真与实现 初始条件: 可选元件:集成运算放大器LM324、电阻、电位器、电容若干,直流电源,或自备元器件。 可用仪器:示波器,万用表,直流稳压源,函数发生器 要求完成的主要任务: (1)设计任务 根据要求,完成对简易电子琴电路的仿真设计、装配与调试,鼓励自制稳压电源。 (2)设计要求 ①设计一简易电子琴电路,按下不同琴键即改变RC值,能发出C调的八个基本音阶,采 用运算放大器构成振荡电路,用集成功放电路输出。已知八个基本音阶在C调时所对 ②选择电路方案,完成对确定方案电路的设计。 ③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原 理并仿真实现系统功能。 ④安装调试并按规范要求格式完成课程设计报告书。 ⑤选做:利用仿真软件的PCB设计功能进行PCB设计。 时间安排: 1、前半周,完成仿真设计调试;并制作实物。 2、后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1.模电课设概述 (1) 1.1设计背景 (1) 1.2设计目的及意义 (1) 1.3开发环境proteus简介 (1) 2.电路原理 (3) 2.1 RC桥式振荡电路及频率选择 (3) 2.2振荡条件 (4) 3.总体方案设计 (5) 3.1实验电路设计思路 (5) 3.2设计电路图 (6) 3.3实验参数选择 (6) 4.仿真曲线及结果分析 (7) 4.1仿真操作过程及曲线 (7) 4.2仿真结果分析 (14) 5.实物制作及仿真、实物的差异 (15) 5.1实物制作过程和调试过程 (15) 5.2 仿真、实物的差异 (16) 6.心得体会 (17) 7.元件清单 (18) 8.参考文献 (19)

单片机课程设计报告 基于单片机的电子秤设计

基于单片机的电子秤设计 一、【设计题目】 基于单片机的电子秤设计 二、【设计要求】 设计要求如下: (1)设计一款电子秤,用LCD液晶显示器显示被称物体的质量 (2)可以设定该秤所称的上限 (3)当物体超重时,能自动报警。 三、【设计过程】 1.【方案设计】 微控制器技术、传感器技术的发展和计算机技术的广泛应用,电子产品的更新速度达到了日新月异的地步。本系统在设计过程中,除了能实现系统的基本功能外,还增加了打印和通讯功能,可以实现和其他机器或设备(包括上位PC机和数据存储设备)交换数据.除此之外,系统的微控制器部分选择了兼容性比较好的AT89系列单片机,在系统更新换代的时候,只需要增加很少的硬件电路,甚至仅仅删改系统控制程序就能够实现。 另外由于实际应用当中,称可以有一定量的过载,但不能超出要求的范围,为此本设计提供了过载提示和声光报警功能。 综上所述,本课题的主要设计方案是:利用压力传感器采集因压力变化产生的电压信号,经过电压放大电路放大,然后再经过模数转换器转换为数字信号,最后把数字信号送入单片机。单片机经过相应的处理后,得出当前所称物品的重量及总额,然后再显示出来。此外,还可通过键盘设定所称物品的价格。主要技术指标为:称量范围0~5kg;分度值0.01kg;精度等级Ⅲ级;电源DC1.5V(一节5号电池供电)。其设计框图如图3.1所示。 这种高精度智能电子秤体积小、计量准确、携带方便,集质量称量功能与价格计算功能于一体,能够满足商业贸易和居民家庭的使用需求。

图3.1 系统设计框图 2.【器件选择】 2.1单片机选择 本设计由于要求必须使用单片机作为系统的主控制器,而且以单片机为主控制器的设计,可以容易地将计算机技术和测量控制技术结合在一起,组成新型的只需要改变软件程序就可以更新换代的“智能化测量控制系统”。考虑到本设计中程序部分比较大,根据总体方案设计的分析,设计这样一个简单的的系统,可以选用带EPROM 的单片机,由于应用程序不大,应用程序直接存储在片内,不用在外部扩展存储器,这样电路也可简化。INTEL 公司的8051和8751都可使用,在这里选用ATMENL 生产的AT89SXX 系列单片机。AT89SXX 系列与MCS-51相比有两大优势:第一,片内存储器采用闪速存储器,使程序写入更加方便;第二,提供了更小尺寸的芯片,使整个硬件电路体积更小[1]。此外价格低廉、性能比较稳定的MCPU ,具有8K×8ROM 、256×8RAM 、2个16位定时计数器、4个8位I/O 接口。这些配置能够很好地实现本仪器的测量和控制要求 最后我们选择了AT89S52这个比较常用的单片机来实现系统的功能要求。AT89S52内部带有8KB 的程序存储器,基本上已经能够满足我们的需要。 2.2压力传感器的选择 在本设计中,传感器是个十分重要的元件,因此对传感器的选择也显得十分重要。不仅要注意其量程和参数,还要考虑与其相配置的各种电路的设计的难易程度键盘设定 阀值报警 LCD 显示器 AT89S52单片机 压力传感器 放大电路 A/D 转换器

相关文档
最新文档