单片机课程设计正文.docx

上传人:b****5 文档编号:3245655 上传时间:2022-11-21 格式:DOCX 页数:16 大小:105.37KB
下载 相关 举报
单片机课程设计正文.docx_第1页
第1页 / 共16页
单片机课程设计正文.docx_第2页
第2页 / 共16页
单片机课程设计正文.docx_第3页
第3页 / 共16页
单片机课程设计正文.docx_第4页
第4页 / 共16页
单片机课程设计正文.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

单片机课程设计正文.docx

《单片机课程设计正文.docx》由会员分享,可在线阅读,更多相关《单片机课程设计正文.docx(16页珍藏版)》请在冰豆网上搜索。

单片机课程设计正文.docx

单片机课程设计正文

概述

单片机概述

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

概括的讲,一块芯片就成了一台计算机。

MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。

单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。

课题概述

基于单片机的音乐播放器可应用于mp3,MP4,扩音器等很多方面,并可作为很多系统的辅助功能,作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括"Do"、"Re"、"Me"--等音阶在内的各种频率声音。

将各个音阶连接在一起,便可组成一支曲子或是演奏一段旋律。

基于这个思想,我设计了一款特殊的"音乐播放器",本播放器可实现播放、切换、复位等功能。

由于时间及条件限制,本设计实现了一种简单的音乐播放器,其核心器件采用STC89C52单片机,本播放器具有电路简单,功能强大,易于拓展等特点。

在此基础上,可以添加按键,LED显示屏等模块,实现切换歌曲,歌名显示,动感音乐屏等功能。

音乐播放器基本组成及工作原理

音乐播放器的组成

根据系统音乐播放器的功能要求,一个完整的音乐播放器电路相当于一个简单的单片机系统,该系统由按键开关、单片机、LED显示电路、扬声器控制电路4个方面构成。

(1)51单片机。

51单片机为整个系统的核心部分,是带动整个系统工作的重要部件。

(2)键盘输入。

键盘输入用来控制输入指令,发出指令至单片机,使单片机按照指令工作。

(3)扬声器。

扬声器作为输出部分按照键盘给单片机的指令发出乐曲。

(4)LED显示电路。

LED显示器也作为输出部分,按照键盘给单片机的指令,显示正在演奏的乐曲。

音乐播放器的系统组成框图如图2.1所示:

 

图2.1音乐播放器的系统组成框图

音乐播放器的工作原理

音乐播放器工作原理

音乐播放器可利用单片机的定时器构成电子振荡器来发声。

振荡器是电子乐曲播放器的声源,专门用来制造音响,也称信号发生器,其作用相当于常规乐器的琴弦、簧片、哨片。

振荡器在音乐播放器的应用中有两个特点,可产生声音的频率与不同波形的振荡。

通过对单片机的定时器设置不同的定时初值,可发出音乐的不同音阶,通过调整振荡波形与泛音的分布,可产生和变换各种音色。

在我们所设计的音乐播放器中,是通过单片机的定时器,产生不同频率的方波信号,而没有调整振荡波形,因此音乐播放器发出的声音,是矩形波产生的音响,纯粹的矩形波声音类似于单簧管的音色。

一首乐曲演奏的原理是:

一首乐曲是由音阶和节拍两大要素构成,不同音阶分别对应不同的频率,发出不同的音调,而节拍则控制发出音调时间的长短;若将乐曲的音调连续发出,并使其按相应的节拍变化,即可演奏一首乐曲。

根据这一特点,我们采用单片机辅以相应的接口来设计音乐播放器。

音乐播放器的功能

基于单片机的定时和控制装置在许多行业中有着广泛的应用,而音乐播放器是其应用之一。

在基于单片机的音乐播放器电路中,除了基本的单片机系统和外围电路外,还需要外部的控制和显示装置。

在本设计中,输入装置是按键开关,由于控制音乐播放器的运行模式,显示装置是LED七段数码管。

此次设计的音乐播放器要求具有以下功能:

·音乐播放器按照从头到尾的顺序自动播放预先设定的1~3共3首乐曲,全部乐曲播放完毕则停止。

·音乐播放器按照从头到尾的顺序自动循环播放预先设定的全部乐曲。

·选定某一乐曲,随即输入选定乐曲的序列号(1~3),即按下1~3数字键之一,音乐播放器对选定的某一乐曲开始循环播放。

·选定某一乐曲,随即输入选定乐曲的序列号(1~3),即按下1~3数字键之一,音乐播放器就从选定的某一乐曲开始播放,按照顺序自动播放到最后一首乐曲,乐曲播放完毕则停止。

·当用户按下暂停键时,音乐播放器打断正在播放的某一乐曲,用户再次按下暂停键时,该乐曲继续播放。

·当用户按下复位键时,音乐播放器终止正在播放的某一乐曲。

硬件电路设计

硬件系统各模块功能简要介绍

单片机最小系统

 

图3.1.1单片机最小系统图

(1)时钟源电路

单片机内部具有一个高增益反相放大器,用于构成振荡器。

通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,补偿电容通常选择22pF左右的瓷片电容。

(2)复位电路

单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。

上电复位要求接通电源后,自动实现复位操作。

手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。

上电自动复位通过电容C3充电来实现。

手动按键复位是通过按键将电阻R1与VCC接通来实现。

发光二极管

 

图3.1.2发光二极管图

当接通电源,单片机运行时,八个二极管随着不同的调子闪烁,增加美感。

一位数码管

 

图3.1.3一位数码管图

当有键按下时,数码管显示当前的曲目

蜂鸣器发声

 

图3.1.4蜂鸣器发声图

利用单片机的P3.7口产生不同音调所对应的方波来使蜂鸣器发声,使用PNP三级管来驱动。

按键

 

图3.1.5按键图

按下AGAIN键可播放重复的曲子也可开启播放,按下FORM键可播放上一曲,按下NEXT键可播放下一曲。

控制芯片AT89C2051简介

AT89C2051单片机的基本特点如下:

AT89C2051是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,内含2k字节的可反复擦写的Flash只读程序存储器和128字节的随机存取数据存储器(RAM),其擦写周期约1000次。

器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置通用8位中央处理器和Flash存储单元,功能强大。

AT89C2051单片机的工作电压范围较宽,可在2.7V~6V电压范围内工作。

它的工作频率为0Hz~24MHz,支持降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式(低功耗空闲和掉电模式),空闲方式下停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。

掉电方式下保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

AT89C2051还具有两级加密程序存储器,使用者可以根据需要对程序进行加密,实现版权保护的目的。

考虑到在单片机的很多应用中,需要使用发光二极管(LED)进行指示,AT89C2051的输出端口被设计成可直接驱动LED,可以省去外加的驱动电路,节省资源[6]。

AT89C2051内部资源主要有:

2k字节Flash闪速存储器,128字节内部RAM,15个I/O口线(其中P1是一个完整的8位双向I/O口),两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口(可编程串行UART通道),精密模拟比较器,片内振荡器以及时钟电路。

AT89C2051引脚如图3.2所示。

 

图3.2AT89C2051引脚图

AT89C2051I/O口功能说明:

1.P1口:

P1口是一组8位双向I/0口,P1.2~P1.7提供内部上拉电阻,由于P1.0和P1.1是内部精密比较器的同相输入端(AIN0)和反相输入端(AIN1),所以内部无上拉电阻,如果需要作为通用I/O口,应在外部接上拉电阻。

Pl口输出缓冲器可灌入20mA电流并可直接驱动LED。

当P1口引脚写入“1”时可作输入端,当引脚P1.2~P1.7用作输入并被外部拉低时,它们因内部上拉电阻的作用而输出电流(IIL)。

2.P3口:

P3口的P3.0~P3.5、P3.7是带有内部上拉电阻的7个双向I/O口。

P3.6没有引出管脚,它作为一个通用I/O口但不可访问,可作为片内比较器的输出信号,P3口缓冲器可吸收20mA电流。

当P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

作输入端时,被外部拉低的P3口由于上拉电阻的存在而输出电流(IIL)。

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

3.RST:

复位输入。

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

4.ALE/PROG:

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

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

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

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

然而要注意的是:

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

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

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

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

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

5./PSEN:

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

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

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

6./EA/VPP:

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

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

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

7.XTAL1:

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

8.XTAL2:

来自反向振荡器的输出。

软件电路设计

使用单片机资源的情况

通用寄存器R5,R4,R0,R1,R3,R2

用户RAM区30H,31H

专用寄存器A,B,DPTR,

位寻址区21H,20H

软件系统各模块功能简要介绍

初始化程序:

初始化定时器

唱歌程序:

从表格中取出数据,利用中断程序产生不同频率的方波,同时调延时程序产生不同的节拍

中断程序:

定时时间到,产生方波

判键程序:

判断哪个键按下,转向相应的子程序执行相应的动作

音符表:

用于产生曲调

按键程序:

分别执行选歌,开启,重复的功能

软件系统程序流程框图

 

Y

N

图4.1主程序流程图

主程序代码设计

根据流程图,设计程序代码如下:

ORG0000H

AJMPLOOOOP

ORG000BH

AJMPTIM0

ORG001BH

RETI

ORG0023H

LOOOOP:

MOVA,#01H

LOOOP:

MOVP2,#0C0H

MOVP1,A

RLA

MOVR2,#0FFH

DELAY0:

MOVR3,#0FFH

DJNZR3,$

MOVR4,#0FFH

DJNZR4,$

DJNZR2,DELAY0

JNBP3.3,START

LJMPLOOOP

START:

MOVP2,#0F9H

MOVR5,#00H;初始化

MOVTMOD,#00010001B

MOVIE,#10101010B

MOVDPTR,#TAB2;装第一首歌

MOV30H,DPL;DPTR低8位送30H暂存

MOV31H,DPH;DPTR高8位送31H暂存

START1:

INCR4;产生8位随机数

MOVA,#01010101B

M

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

当前位置:首页 > 高中教育 > 理化生

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

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