单片机的电子音乐盒的设计
单片机的电子音乐盒的设计[20200128193116]
摘要
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在深入人心。本文设计的是一个基于AT89C52系列单片机的音乐盒。依据单片机的技术原理,通过硬件电路制作以及软件编译,设计制作出一个简单的小型的音乐盒。该音乐盒主要由按键电路,晶振电路以及蜂鸣器组成。使用按键可以控制音乐盒来播放歌曲,通过按键,可以使蜂鸣器发出相关音调。本文设计利用keil 编程软件对音乐盒源程序进行编程并进行调试,并将调试结果展现在实物上!
*查看完整论文请+Q: 351916072
关键字:】AT89C51、keil软件、电子音乐盒
引 言 1
一、ATMEL 89C52系列单片机 1
(一)单片机应用 1
1、 单片机应用简介 1
2、 AT89C52 单片机简介 1
(二)AT89C52的引脚 2
二、音频功率放大器芯片LM386 4
(一)LM386芯片 4
(二)引脚说明 4
三、系统原理设计 5
(一)设计思想 5
(二)系统框图 5
四、硬件设计 5
(一)音乐发生器硬件电路设计 5
(二) 材料清单 6
(三) PCB图 6
(四)实物图 6
五、软件设计 7
(一)程序设计 7
1、产生音阶 7
2、确定节拍 8
(二)程序流程图 8
六、编译keilc软件和系统仿真及调试 9
(一)STC编程器的使用 9
(二)软件调试 10
(三)硬件调试 11
七、总结 11
参考文献: 12
致谢: 12
引 言
随着人类社会的发展,人们对视觉,听居然方面的享受提出来越来越高的要求。小小的音乐盒可以带给人们美好的回忆,提高人们的精神文化享受,传统音乐多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心的电子式音乐盒,体积小,质量轻,能够演奏音乐功能多,外形效果多彩,使用方便,并具有一定的商业价值!
那么我们就可以使用单片机,当然还需要蜂鸣器的配合,这样就可以产生我们需要的音乐效果了。当然它不能像其他乐器那样奏出多种优美的声音,因此单片机演奏出来的音乐还是比较简单的,只需要清楚“音调”和“节拍”。
音调表示一个音符唱多高的频率
节拍表示一个音符唱多长的时间
一、ATMEL 89C52系列单片机
(一) 单片机应用
1、 单片机应用简介
单片微型计算机简称为单片机,又称为微型控制器,它是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
2、 AT89C52 单片机简介
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用,而且使我们较之很熟悉的一款单片机,为此用它来设计较为简单。
图:1-1 AT89C52单片机的内部的组成结构
(二)AT89C52的引脚
图: 1-2 AT89C52的引脚图
AT89C52(引脚如图1-2所示)各端口作用:
P0端口[P0.0-P0.7]:P0口是一个8位漏极开路的双向I/O端口。当访问外部存储器时,它是地址总线(低8位)和数据总线复用;外部不扩展而单片应用时,则作双向I/O用;在进行片内程序校验期间,做指令代码输出用。可带8个LSSTTL负载。
P1端口[P1.0-P1.7]:P1口是一个带有内部上拉电阻的8位双向I/O端口。在片内编程和程序校验期间,作低8位地址总线用。可带4个LSSTTL负载。对P1端口置“1”时,内部上拉电阻将端口拉到高电平,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能
P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出(本文设计用到这一端口)
P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5 MOSI(在系统编程用)
P1.6 MISO(在系统编程用)
P1.7 SCK(在系统编程用)
P2端口[P2.0-P2.7]:P2口是一个带有内部上拉电阻的8位准双向并行I/O端口,输出时可驱动4个LSSTTL负载。对P2端口置“1”时,内部上拉电阻将端口拉到高电平,作输入口使用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。当访问外部存储器时作高8位地址总线用,不作外部功能扩展(单片机)时,则作准双向I/O口用;在片内程序校验时作高8位地址用。
P3端口[P3.0-P3.7]:P3口是一个带有内部上拉电阻的8位的准双向并行I/O端口,输出时可驱动4个LSSTTL。端口置1时,内部上拉电阻把端口拉到高电平,作输入用。除此之外P3端口还用于一些特殊的功能。
P3端口引脚的特殊功能
P3.0——RXD:串行数据接收端。
P3.1——TXD:串行数据发送端。
P3.2——/INTO:外部中断0请求端,低电平有效。
P3.3——/INT1:外部中断1请求端,低电平有效。
P3.4——TO:定时器/计数器0外部事件计数输入端。
P3.5——T1:定时器/计数器0外部事件计数输入端。
P3.6——/WR:外部数据存储器写选通,低电平有效。
P3.7——/RD:外部数据存储器读选通,低电平有效。
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST——复位输入。当振荡器工作时,RST引脚出现2个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
/PSEN——程序储存允许(/PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
/EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
摘要
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在深入人心。本文设计的是一个基于AT89C52系列单片机的音乐盒。依据单片机的技术原理,通过硬件电路制作以及软件编译,设计制作出一个简单的小型的音乐盒。该音乐盒主要由按键电路,晶振电路以及蜂鸣器组成。使用按键可以控制音乐盒来播放歌曲,通过按键,可以使蜂鸣器发出相关音调。本文设计利用keil 编程软件对音乐盒源程序进行编程并进行调试,并将调试结果展现在实物上!
*查看完整论文请+Q: 351916072
关键字:】AT89C51、keil软件、电子音乐盒
引 言 1
一、ATMEL 89C52系列单片机 1
(一)单片机应用 1
1、 单片机应用简介 1
2、 AT89C52 单片机简介 1
(二)AT89C52的引脚 2
二、音频功率放大器芯片LM386 4
(一)LM386芯片 4
(二)引脚说明 4
三、系统原理设计 5
(一)设计思想 5
(二)系统框图 5
四、硬件设计 5
(一)音乐发生器硬件电路设计 5
(二) 材料清单 6
(三) PCB图 6
(四)实物图 6
五、软件设计 7
(一)程序设计 7
1、产生音阶 7
2、确定节拍 8
(二)程序流程图 8
六、编译keilc软件和系统仿真及调试 9
(一)STC编程器的使用 9
(二)软件调试 10
(三)硬件调试 11
七、总结 11
参考文献: 12
致谢: 12
引 言
随着人类社会的发展,人们对视觉,听居然方面的享受提出来越来越高的要求。小小的音乐盒可以带给人们美好的回忆,提高人们的精神文化享受,传统音乐多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心的电子式音乐盒,体积小,质量轻,能够演奏音乐功能多,外形效果多彩,使用方便,并具有一定的商业价值!
那么我们就可以使用单片机,当然还需要蜂鸣器的配合,这样就可以产生我们需要的音乐效果了。当然它不能像其他乐器那样奏出多种优美的声音,因此单片机演奏出来的音乐还是比较简单的,只需要清楚“音调”和“节拍”。
音调表示一个音符唱多高的频率
节拍表示一个音符唱多长的时间
一、ATMEL 89C52系列单片机
(一) 单片机应用
1、 单片机应用简介
单片微型计算机简称为单片机,又称为微型控制器,它是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
2、 AT89C52 单片机简介
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用,而且使我们较之很熟悉的一款单片机,为此用它来设计较为简单。
图:1-1 AT89C52单片机的内部的组成结构
(二)AT89C52的引脚
图: 1-2 AT89C52的引脚图
AT89C52(引脚如图1-2所示)各端口作用:
P0端口[P0.0-P0.7]:P0口是一个8位漏极开路的双向I/O端口。当访问外部存储器时,它是地址总线(低8位)和数据总线复用;外部不扩展而单片应用时,则作双向I/O用;在进行片内程序校验期间,做指令代码输出用。可带8个LSSTTL负载。
P1端口[P1.0-P1.7]:P1口是一个带有内部上拉电阻的8位双向I/O端口。在片内编程和程序校验期间,作低8位地址总线用。可带4个LSSTTL负载。对P1端口置“1”时,内部上拉电阻将端口拉到高电平,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能
P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出(本文设计用到这一端口)
P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5 MOSI(在系统编程用)
P1.6 MISO(在系统编程用)
P1.7 SCK(在系统编程用)
P2端口[P2.0-P2.7]:P2口是一个带有内部上拉电阻的8位准双向并行I/O端口,输出时可驱动4个LSSTTL负载。对P2端口置“1”时,内部上拉电阻将端口拉到高电平,作输入口使用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。当访问外部存储器时作高8位地址总线用,不作外部功能扩展(单片机)时,则作准双向I/O口用;在片内程序校验时作高8位地址用。
P3端口[P3.0-P3.7]:P3口是一个带有内部上拉电阻的8位的准双向并行I/O端口,输出时可驱动4个LSSTTL。端口置1时,内部上拉电阻把端口拉到高电平,作输入用。除此之外P3端口还用于一些特殊的功能。
P3端口引脚的特殊功能
P3.0——RXD:串行数据接收端。
P3.1——TXD:串行数据发送端。
P3.2——/INTO:外部中断0请求端,低电平有效。
P3.3——/INT1:外部中断1请求端,低电平有效。
P3.4——TO:定时器/计数器0外部事件计数输入端。
P3.5——T1:定时器/计数器0外部事件计数输入端。
P3.6——/WR:外部数据存储器写选通,低电平有效。
P3.7——/RD:外部数据存储器读选通,低电平有效。
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST——复位输入。当振荡器工作时,RST引脚出现2个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
/PSEN——程序储存允许(/PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
/EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/4699.html