本科毕业论文基于单片机的音乐数字钟的设计与仿真Word文件下载.docx
- 文档编号:20615254
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:44
- 大小:1.89MB
本科毕业论文基于单片机的音乐数字钟的设计与仿真Word文件下载.docx
《本科毕业论文基于单片机的音乐数字钟的设计与仿真Word文件下载.docx》由会员分享,可在线阅读,更多相关《本科毕业论文基于单片机的音乐数字钟的设计与仿真Word文件下载.docx(44页珍藏版)》请在冰豆网上搜索。
2.1.2引脚功能·
9
2.2显示部分
2.2.1LED显示器·
2.2.2LED数码显示管的基本原理·
2.2.3数码管显示模块分析·
11
2.3键盘·
13
2.474LS245简介·
18
2.5蜂鸣器·
19
3控制部分电路的设计
3.1系统复位设置·
20
3.2数字时钟的设计·
21
3.3音乐模块·
22
4硬件电路端口分配·
24
5软件设计
5.1程序·
25
5.2Proteus软件仿真与实现·
32
结束语·
35
致谢·
36
参考文献·
1课题介绍
本设计是基于单片机的音乐数字钟设计,由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子音乐数字钟。
要求利用I/O口产生一定频率的方波,来驱动蜂鸣器,发出相应的音调。
可通过功能键选择乐曲,暂停,播放。
本设计采用4*3键盘,七段显示数码管LED。
蜂鸣器、按键电路、复位电路、时钟电路,通过软件程序来控制单片机内部的定时器使其产生音乐频率。
与传统的机械式相比,用单片机设计的音乐数字钟体积更小巧,且制作工艺简单。
课设准备中根据具体的要求,查找资料,然后根据已经学过的始终程序编写定时闹钟的程序,依据程序利用Proteus软件进行了仿真实验,对出现的问题进行分析和反复修改原程序,最终得到正确并符合要求的结果。
1.1机与单片机系统
随着电子技术的发展,电子设备、仪器的智能化水平越来越高,而且越来越来多的家用电器具备了“自动”、“智能”、“电脑”和“微电脑控制”等功能,如全自动洗衣机、智能冰箱、电脑万年历、微电脑控制电磁炉等。
这些“自动”、“智能”和“电脑控制”是怎么回事?
又是如何实现的呢?
事实上,能够实现这些功能全是单片机的功劳,下面我们就先来认识一下单片机吧。
一、什么是单片机
大家都使用过计算机,我们知道计算机最主要的部分就是主板了。
主板就是一块电路板,在这块电路板上有CPU、存储器、时钟等,还有很多接口电路,以便和各种设备连接。
如果把这些组成计算机的基本部件集成在一块集成电路上就构成了单芯片微型计算机。
单片微型计算机,简称单片机,它是把组成微型计算机的各功能部件:
中央处理器CPU、随机存取存储器RAM、只读存储器ROM、多种I/O接口电路、定时器/计数器、中断系统以及串行通讯系统等部件制作在一块硅片上,构成一个小而完善的微型计算机系统。
有的单片机可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路。
单片机示意图如图1-34所示。
图1-34单片机示意图
单片机既是一块集成电路,也是一个微型计算机,和计算机相比,单片机缺少了外围设备等。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
各种单片机实物图如图1-35所示。
AT89S51-DIPSTC89C52RC-DIPAT89S52-TQFPAT89C2051-DIP
图1-35各种单片机实物图
单片机是其早期的含义,由于单片机更多的应用于控制系统及与控制有关的数据处理场合,是典型的嵌入式微控制器,因而目前应确切称其为微控制器(MicrocontrollerUnit),英文缩写为MCU,单片机的称谓只是保留了其习惯称呼。
单片机的应用从根本上改变着传统的控制系统设计思想和设计方法。
以往由继电器接触器控制,模拟电路、数字电路实现的大部分控制功能,现在都能够使用单片机通过软件的方式来实现,这种以软件取代硬件并能够提高系统性能的微控制技术,随着单片机应用的推广普及,不断发展,日益完善。
因此,了解单片机,掌握其应用及开发技术,具有划时代的意义。
二、什么是单片机系统
在各类电子产品中,利用单片机实施控制的系统称为单片机应用系统。
单片机应用系统是由硬件系统和软件系统两部分组成,二者缺一不可,如图1-36所示。
图1-36单片机应用系统
硬件是应用系统的基础,软件则是在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,软件是单片机应用系统的灵魂。
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个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
2>
管脚说明如图3.1
图3.1
VCC供电电压。
GND接地。
图3.1
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只有在执行MOVXMOVC指令是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.2.1LED显示器
基本介绍
LED显示屏(LEDpanel),是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
LED显示器分类
(1)按字高分:
笔画显示器字高最小有1mm(单片集成式多位数码管字高一般在2~3mm)。
其他类型笔画显示器最高可达12.7mm(0.5英寸)甚至达数百mm。
(2)按颜色分有红、橙、黄、绿等数种。
(3)按结构分,有反射罩式、单条七段式及单片集成式。
(4)从各发光段电极连接方式分有共阳极和共阴极两种。
2.2.2LED显示器工作原理
多个发光二极管封装在一起的七段数码显示器按其连接形式可分为共阳显示器和共阴显示器。
图7-1所示为共阳和共阴的七段显示器,在显示器中除了显示数字必须的七段笔画外,还提供了小数点。
共阳显示器的阳极连接在一起,此时对阳极提供一正电压,通过限流电阻控制其阴极为高电平或是低电平来决定其暗或是亮。
共阴显示器的阴极连在一起,此时可将阴极接地,通过限流电阻控制其阳极为高电平或是低电平来决定其亮或是暗。
图7-1七段数码显示器
采用七段数码显示器显示的字型受到显示器本身结构的限制。
因此,在显示比较复杂的字符、汉字或图形时,可采用点陈显示的办法。
用单片机驱动LED数码管有很多方法按显示方式分有静态显示和动态显示
按译码方式可分为硬件译码和软件译码。
静态显示是显示驱动电路具有输出锁存功能单片机将要显示的数据送出后不再
控制LED直到下次显示时再传送一次新的显示数据。
静态显示的数据稳定占用CPU
时间少。
动态显示要CPU时刻对显示器件进行刷新显示数据有闪烁感占用CPU时间多。
这两种显示方式各有利弊静态显示虽然数据显示稳定占用很少的CPU时间
但每个显示单元都需要单独的显示驱动电路使用的电路硬件较多动态显示虽然有
闪烁感占用的CPU时间多但使用的硬件少能节省线路板空间。
动态扫描显示接口是单片机中应用最广泛的一种显示方式。
其接口电路是把所有
LED显示器的8个笔划段AD、DP的同名端连在一起而每一个数码管的公共端COM
是各自独立地受I/O线控制。
CPU向字段输出口送出字形码时所有显示器接受到相
同的字形码但究竟是哪个显示器亮则取决于COM端而这一端是由I/O控制的
可以自行决定何时显示哪一位了。
而所谓动态扫描就是指我们采用分时的方法轮流
控制各个显示器的COM端是各个显示器轮流点亮。
在轮流点亮扫描过程中每位显示器的点亮时间是极为短暂的约1ms左右但
由于人的视觉暂留现象及发光二极管的余辉效应尽管实际上各位显示器并非同时点
亮但只要扫描的速度足够快给人的印象就是一组稳定的显示数据不会有闪烁感。
从上述的论述中可以看出动态显示方案具备一定的实用性也是目前单片机数
码管显示中较为常用的一种显示方法。
所以本设计也采用动态显示方案。
2.2.3数码管显示模块分析
译码器驱动数码管显示数值,显示部分采用普通共阳极数码管显示采用动态扫描,以减少硬件电路。
考虑到一次扫描12位数码管显示时会出现闪烁情况设计时分两
排显示一排显示时间和年月日一排显示星期和温度共阳极数码管中8个发光
二极管的阳极二极管正端连在一起。
通常公共阳极接高电平一般接电源
其它管脚接段驱动电路输出端。
当某段驱动电路的输入端为低电平时该端所连接的
字段导通并点亮。
根据发光字段的不同组合可显示出各种数字或字符。
此时要求段
驱动电路能吸收额定的段导通电流还需根据外接电源及额定段导通电流来确定相应
的限流电阻。
采用动态显示方式比较节省I/O口硬件电路也较静态显示简单但
其亮度不如静态显示方式而且在显示位数较多时CPU要依次扫描占用CPU较多
时间。
为了提供共阳LED数码管的驱动电压用三极管9012作电源驱动输出。
采用12MHz
晶振有利于提高秒计时的精确性。
数码管字形段码
共阴型和共阳型的LED数码管各笔划段名和安排位置是相同的,分别用a、b、c、d、e、f、g和dp表示,如图4-15(a)所示。
将单片机的一个8位并行I/O接口与七段LED数码管的管脚a~g端及dp端对应相连,并输出不同的8位二进制数,即可显示不同的数字或字符。
控制8个发光二极管的8位二进制数称为段码。
例如,对于共阳极型LED数码管,当公共阳极接高电平,单片机并行口输出二进制数11000000(对应十六进制数C0)时,显示数字“0”,则数字“0”的段码是0xC0。
依此类推可求得数码管段码表如表4-2所示。
表4-2七段LED数码管段码表
显示字符
字形
共阳极
共阴极
dp
g
f
e
d
c
b
a
段码
0xC0
0x3F
0xF9
0x06
0xA4
0x5B
3
0xB0
0x4F
4
0x99
0x66
0x92
0x6D
0x82
0x7D
7
0xF8
0x07
8
0x80
0x7F
0x90
0x6F
熄灭
0xFF
0x00
小帖士:
在单片机系统开发时,有时为了接线方便,有时不按I/O口的高低位与数码管各段的顺序接线,这时的段码就需要根据接线进行调整。
数码管的静态显示方式
数码管的静态显示是指数码管显示某一数字或字符时,相应的发光二极管恒定导通或恒定截止。
这种显示方式的各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。
每个数码管的8个笔段分别与一个8位I/O口相连,I/O口只要有段码输出,相应字符即显示出来,并保持不变,直到I/O口输出新的段码,其示意图如图4-17所示。
采用静态显示方式占用CPU时间少、编程简单、便于控制,但是每1个数码管要占用一个并行I/O口,所以只适合于显示位数较少的场合。
(a)显示数字“0”(b)显示数字“5”
图4-17数码管静态显示方式示意图
数码管的动态扫描显示方式
当单片机系统中需要多个数码管显示时,如果采用静态显示方式,并行I/O接口的引脚数将不能满足需要,这时可采用动态扫描显示方式。
动态扫描显示是一位接一位的轮流点亮各位数码管。
动态扫描显示方式在接线上不同于静态显示方式,它是将所有七段LED数码管的8个显示笔段a、b、c、d、e、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科毕业 论文 基于 单片机 音乐 数字 设计 仿真
![提示](https://static.bdocx.com/images/bang_tan.gif)