基于单片机控制的数字音乐盒的设计 精品Word文档下载推荐.docx

上传人:b****1 文档编号:13538064 上传时间:2022-10-11 格式:DOCX 页数:31 大小:236.25KB
下载 相关 举报
基于单片机控制的数字音乐盒的设计 精品Word文档下载推荐.docx_第1页
第1页 / 共31页
基于单片机控制的数字音乐盒的设计 精品Word文档下载推荐.docx_第2页
第2页 / 共31页
基于单片机控制的数字音乐盒的设计 精品Word文档下载推荐.docx_第3页
第3页 / 共31页
基于单片机控制的数字音乐盒的设计 精品Word文档下载推荐.docx_第4页
第4页 / 共31页
基于单片机控制的数字音乐盒的设计 精品Word文档下载推荐.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

基于单片机控制的数字音乐盒的设计 精品Word文档下载推荐.docx

《基于单片机控制的数字音乐盒的设计 精品Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的数字音乐盒的设计 精品Word文档下载推荐.docx(31页珍藏版)》请在冰豆网上搜索。

基于单片机控制的数字音乐盒的设计 精品Word文档下载推荐.docx

目录

1概述3

2系统总体方案及硬件设计5

2.1系统构成5

2.1.1AT89C51单片机简介5

2.1.2LED显示器7

2.1.3键盘8

2.1.4系统复位电路的设计9

2.1.5时钟电路模块9

2.2硬件电路端口分配10

3软件设计11

3.1主模块的设计11

3.2外部中断源系统设计12

3.3基本显示模块设计13

3.4系统初始化程序13

4Proteus软件仿真14

5课程设计体会16

参考文献17

附1:

源程序代码18

附2:

系统原理图28

1概述

本设计是基于单片机的数字音乐盒设计,由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子数字音乐盒。

要求利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调并采用LCD显示信息,从而演奏乐曲(最少三首乐曲,每首不少于30秒),开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称),可通过功能键选择乐曲,暂停,播放。

本设计采用4*4键盘,16*2LCD,七段显示数码管LED。

课设准备中根据具体的要求,查找资料,然后按要求根据已学过的时钟程序编写定时闹钟的程序,依据程序利用proteus软件进行了仿真试验,对出现的问题进行分析和反复修改源程序,最终得到正确并符合要求的结果。

2系统总体方案及硬件设计

2.1系统构成

2.1.1AT89C51单片机简介

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

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

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

(1)主要特性:

·

与MCS-51兼容

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

寿命:

1000写/擦循环

数据保留时间:

10年

全静态工作:

0Hz-24Hz

三级程序存储器锁定

128*8位内部RAM

32可编程I/O线

两个16位定时器/计数器

5个中断源

可编程串行通道图1

低功耗的闲置和掉电模式

片内振荡器和时钟电路

(2)管脚说明(如图1):

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

管口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

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

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

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

/EA保持低电平时,在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;

当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

(3)振荡器特性:

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

该反向放大器可以配置为

片内振荡器。

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

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

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

(4)芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE

管脚处于低电平10ms来完成。

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

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

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

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

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

2.1.2LED显示器LED(LightEmittingDiode)是发光二极管英文名称的缩写。

LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。

LED显示器在单片机系统中的应用非常普遍。

(1)LED显示器的结构:

常用的LED显示器为8段。

每一个段对应1个发光二极管,这种显示器有共阳极和共阴极两种:

共阴极LED显示器的发光二极管的阴极连接在一起,通常此公共阴极接地。

当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。

同样,共阳极LED显示器的发光二极管的阳极连接在一起,通常此公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。

为了使LED显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为LED提供代码,因为这些代码可使LED相应的段发光,从而显示不同字型,因此该代码称为段码。

7段发光二极管,再加上1个小数点位,共计8位。

因此提供给LED显示器的段码正好是1B。

各段与字节中各位对应关系如下图2:

8段LED结构及外形

代码位

D7

D6

D5

D4

D3

D2

D1

D0

显示位

dp

g

f

E

d

c

b

a

图2

(2)LED显示器工作原理

由N个LED显示块可以拼接成N位的LED显示器。

如图是

LED显示器的结构原理图3。

N个LED显示器有N个位选线和8*N位根段码线。

段码线控制显示字符的字型,而位选线为各个LED显示块中

各段的公共端,它控制该LED显示位的亮或暗。

LED显示器

有静态显示和动态显示两种。

2.1.3键盘

键盘在单片机应用系统中能实现向单片机输入数据,传送命图3

令等功能,是人工干预单片机的主要手段。

(1)键盘输入的特点

键盘实质上是一级按键开关的集合。

通常,键盘开关利用了机械触点的合、断作用。

(2)按键的确认

键的闭合与否,反映在行线输出电压上就呈现高电平或低电平,如果高电平表示键断开,低电平则表示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。

为了确保CPU对一次按键动作只确认一次按键有效,必须消除抖动的影响。

(3)如何消除按键的抖动

采用软件来消除按键抖动的基本思想是:

在一次检测到有键按下时,该键所对应的行线为低电平,执行一段延时10MS的子程序后,确认该行线电平是不否仍为低电平,如果仍为低电平,则确认为该行确实有键按下。

当按键松开时,行线的低电平变为高电平,执行一段延时10MS的子程序后,检测该行线为高电平,说明按键确实已经松开。

2.1.4系统复位电路的设计

智能系统一般应有手动或上电复位电路。

复位电路的实现通常有两种方式:

RC复位电路和专用µ

P监控电路。

前者实现简单,成本低,但复位可靠性相对较低;

后者成本较高,但复位可靠性高,尤其是高可靠重复复位。

对于复位要求高、并对电源电压进行监视的场合,大多采用这种方式。

本次课程设计采用了上电按钮电平复位电路,如图四

图4

2.1.5时钟电路模块

时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。

在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢。

为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,另外有两个22P的独石电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。

具体连接图如图5所示:

图5

2.1.6蜂鸣器电路

利用NPN管(9012)放大驱动。

基极接10K欧姆的电阻,发射极接蜂鸣器,集电极接电源。

蜂鸣器电路连接如下图6

图6

2.2硬件电路端口分配

(1)硬件电路中用P1.0-P1.7控制按键,其中P1.0-P1.3扫描行,P1.4-P1.7扫描列。

(2)用P0.0-P0.7,P2.0-P2.7控制LED,其中P0.0-P0.7控制七段a,b,c,d,e,f,g,用P2.0-P2.7为数码管位选信号。

(3)用,P2.0-P2.2作为LCD的RS,R/W,E的控制信号。

用P0.0-P0.7作为LCD的D0-D7的控制信号。

(4)用P3.7口控制蜂

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

当前位置:首页 > 工程科技 > 材料科学

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

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