文档库 最新最全的文档下载
当前位置:文档库 › 基于51单片机MP3设计

基于51单片机MP3设计

基于51单片机MP3设计
基于51单片机MP3设计

南阳理工学院本科生毕业设计(论文)

学院:电子与电气工程学院

专业:自动化

学生:郝帅臣

指导教师:刘忠超

完成日期 2013 年 5 月

南阳理工学院本科生毕业设计(论文)

基于51单片机的音乐播放器的软件设计Software Design of Music Player Based on 51 MCU

总计: 33 页

表格: 3 个

插图: 15 幅

南阳理工学院本科毕业设计(论文)

基于51单片机的音乐播放器的软件设计Software Design of Music Player Based on 51 MCU

学院:电子与电气工程学院

专业:自动化

学生姓名:郝帅臣

学号: 1109624064

指导教师(职称):刘忠超(讲师)

评阅教师:

完成日期:

南阳理工学院

Nanyang Institute of Technology

基于51单片机的音乐播放器的软件设计

自动化专业郝帅臣

[摘要]本课题完成了基于51单片机的音乐播放器的软件设计。论文主要介绍了对U盘所存储的MP3、WMA或MIDI格式的文件识别、提取以及音频解码程序实现的方法,通过与硬件调试表明所设计的音乐播放器可以通过按键选择歌曲以及控制音量,同时还可以通过显示屏来显示所播放的歌曲名。声音的播放可以通过扬声器或耳机进行,基本实现了音乐播放器的功能。

[关键词]单片机;音乐播放器;U盘文件读取;音频解码

Software Design of Music Player Based on 51 MCU

Automation Specialty Hao Shuai-chen

Abstract:This topic finishes the software design of the music player based on the 51 microcontroller. The paper mainly introduces the method of identification, extraction and audio decoding program to the storing the U disk MP3, WMA or MIDI format file. At the same time the hardware debugging shows that the music player can select the songs and control the volume through the keyboard, at the same time through the screen display the song name. The sound can play through the speakers or headphones. The design basically realizes the function of music player.

Key words:Single chip microcomputer; music player; u disk file reading; audio decoding

目录

1 引言 (1)

1.1 设计背景 (1)

1.2 设计意义 (1)

1.3 理论分析与方案论证 (1)

1.3.1 理论分析 (1)

1.3.2 设计方案论证 (2)

2 系统硬件原理及概述 (3)

2.1 STC12C5A60S2处理器介绍 (3)

2.2 系统硬件电路综述 (3)

2.2.1 硬件系统总体设计方案 (3)

2.2.2 USB总线的通用接口芯片CH375电路 (4)

2.2.3 LCD12864显示电路 (5)

2.2.4 按键控制电路 (5)

2.2.5 音频解码芯片VS1003电路 (5)

3 系统软件设计 (6)

3.1 软件开发平台 (6)

3.2 系统的软件设计 (7)

3.2.1 软件总体分析 (7)

3.2.2 CH375软件系统设计 (10)

3.2.3 CH375模块的U盘数据读取程序设计 (11)

3.2.4 VS1003模块的MP3文件播放程序设计 (13)

3.3 系统流程图 (14)

4 系统调试结果及分析 (15)

结束语 (18)

参考文献 (19)

附录..................................................... 错误!未定义书签。致谢..................................................... 错误!未定义书签。

1 引言

1.1 设计背景

随着电子技术的发展,MP3播放器向大容量、高音质、小巧便携不断发展。虽然播放器与存储器的一体化设计,使MP3播放器便于携带,但与此同时他也带来了很多新的问题,比如存储容量固定。如果想装下更多的歌曲只能去购买新的产品,造成了巨大的浪费;另一方面,一体化又限制了MP3播放器在其他领域的应用,比如车载MP3等不方便移动的播放器。于是将存储器与播放器分离成为MP3的另一发展方向。

本设计以单片机为核心控制器,设计一个音乐播放器,主要完成U盘存储的音频文件数据提取及播放任务。该播放器类似于个人计算机的音乐播放软件,可识别、提取U盘所存储的MP3、WMA或MIDI格式的文件并可自行完成音频解码数据处理,最后送扬声器或耳机进行播放。通过自定义键盘设定,当有键按下时,能控制歌曲的播放或音量,并通过LCD来显示播放音乐的歌曲名,同时USB-HOST的开发也为实时数据采集的移动存储提供了价格低廉的解决方案。本文将从软硬件方面介绍如何用单片机控制USB-HOST读取U盘中的文件并将其解码播放。

1.2 设计意义

基于单片机的音乐播放器可应用于MP3,MP4,扩音器等很多方面,并可作为很多系统的辅助功能,传统的音乐播放器是利用定时器可以产生各种固定频率的方波信号,可以产生包括“Do”、“Re”、“Me”等音阶在内的各种频率声音。将各个音阶连接在一起,便可组成一支曲子或者是演奏一段旋律,不能播放真正的MP3文件。基于这个思想本文设计了一款特殊的“音乐播放器”,该播放器可实现MP3文件的完整播放,可以选择音量调节,曲目的切换等功能。为了体现音乐播放过程中的效果,增加了LCD屏,可以实现歌曲名的显示。本设计以STC12C5A60S2芯片作为主控制器,芬兰VLSI公司的VS1003作为音频解码芯片,南京沁恒公司的CH375作为USB设备接口芯片,以U 盘作为媒体存储介质,LCD12864液晶屏作为显示屏,来完成音乐播放器的功能。该设计具有四按键操作界面,界面显示友好,支持MP3、WMA和MID音乐格式,该系统支持FAT32文件系统,支持大容量U盘。

1.3 理论分析与方案论证

1.3.1 理论分析

针对本MP3音乐播放系统,要选择合适的控制芯片及外部芯片来实现,下面介绍一下芯片的选用。

(1)MP3 解码

本设计是利用STC12C5A60S2单片机控制来实现歌曲播放功能的,但对单片机本身来说不能进行音频解码(速度与资源都不符合要求),所以只能利用外部解码芯片来实现歌曲播放功能。MP3解码芯片常见的有VS100X 系列和 STA01X系列,VS系列自带DAC输出功能,而且能解码的音频格式也比较多;而STA系列需要外加DAC,使用起来多有不便,而且只能解码MP3一种格式的音乐文件。

经过比较,选用VS1003作为解码芯片,该芯片支持 MP3、WMA、WAV、MIDI、等格式的解码,自带DAC输出;同时,还可以调节音量、高低音等,更重要的是它还具有MIC功能,如需要,还可以实现录音功能。因此,选用此芯片作为解码芯片。

(2)USB设备接口芯片选用南京沁恒公司的CH375,CH375是一个USB总线的通用接口芯片,支持HOST主机方式和SLAVE设备方式。在本地端,CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU等控制器的系统总线上。在USB主机方式下,CH375还提供了串行通信方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU等相连接。CH375的USB主机方式支持各种常用的USB全速设备,外部单片机/DSP/MCU可以通过CH375按照相应的USB协议与USB 设备通信。

(3)液晶显示采用普通单色LCD来实现,这里考虑到音乐播放显示的功能,同时兼顾成本,故选用LCD12864来实现。该液晶屏本身带有字库功能所以,系统不需要有外部字库文件,可实现曲目的汉字显示。

(4)存储媒介,MP3播放器需要大容量的存储器来存放歌曲,可以选择 Flash 芯片存储、SD卡、U盘等。如果选用Flash,则整个系统要求较多的I/O端口来读取,更重要的一点是,这样做的后果就是整个系统的容量就被固定了,扩容存在困难。而U盘和SD卡都是不错的选择,并且U盘和SD卡均容易购买到,并且价格较为低廉,所以,存储部分选用U盘读取来实现。

1.3.2 设计方案论证

通过以上的理论分析,对本设计的所有的主要芯片有了初步的了解。本MP3播放系统以STC12C5A60S2为控制核心,不仅要管理USB总线的通用接口芯片CH375、MP3解码芯片VS1003、LCD12864液晶显示屏和按键的处理,同时还要管理USB存储设备中的文件系统,查找文件等等。存储器里的媒体文件首先被读取到MCU的RAM中,然后又被送到解码芯片中,解码后的音频数据被还原成模拟音频,再由扬声器传出。由于STC12C5A60S2本身不支持USB接口功能,所以MCU无法直接与电脑完成数据传输的功能,存储设备需要通过自身的接口与电脑相接。其它芯片是通过普通I/O端口连接的。

2 系统硬件原理及概述

2.1 STC12C5A60S2处理器介绍

STC12C5A60S2/AD系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,有8路高速10位的A/D 转换(250K/S),STC12C5A60S2引脚序列如图1所示。

图1 STC12C5A60S2引脚序列

2.2 系统硬件电路综述

2.2.1 硬件系统总体设计方案

本设计的音乐播放器,有四个按键控制按钮:下一曲,上一曲,音量加,音量减。通过对按钮的控制来实现对单片机要求播放的音乐,并通过放大电路和音频设备输出声音。同时通过LCD显示屏来显示所播放的曲目。必要时可调节音量的大小。硬件系统总体方框图如图2所示。

图2硬件系统总体方框图

2.2.2 USB总线的通用接口芯片CH375电路

CH375芯片是一个支持USB-HOST主机方式和USB-DEVICE/SLAVE设备方式的USB 总线通用接口芯片。CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。在USB 主机方式下,CH375还提供了串行通讯方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU等相连接。接线图如图3所示。

图3 USB总线的通用接口芯片CH375电路接线图

CH375的USB主机方式支持常用的USB全速设备,外部单片机可以通过CH375按照相应USB协议与USB设备通讯。CH375内置了处理Mass-Storage海量存储设备的专用通讯协议的固件外部单片机可以直接以扇区为基本单位读写常用的USB存储设备(包括USB硬盘/USB闪存盘/U 盘)。主机端点输入和输出缓冲区各64字节,支持12Mbps 全速USB设备和1.5Mbps低速设备。可自动检测USB设备的连接和断开,提供设备连

接和断开的事件通知。通过U 盘文件级子程序库实现单片机读写USB存储设备中的文件。并行接口包含8位数据总线,4线控制:读选通、写选通、片选输入、中断输出。

2.2.3 LCD12864显示电路

显示电路主要是LCD12864电路,它与1602显示屏接线一样,唯一的区别在于1602显示屏是字符型,只能显示数字与字符,不可以显示汉字。12864显示屏是点阵型,可根据需求任意显示字符、数字、汉字、图形。其接线图如图4所示。

图4 LCD12864显示电路接线图

2.2.4 按键控制电路

按键控制电路,其按键一与P1.0相连、按键二与P1.1相连、按键三与P1.2相连、按键四与P1.3相连。当按键按下时接口接低电平,从而实现对音乐曲目的选择控制。按键一接通实现上一曲更换,按键二接通实现下一曲更换,按键三接通实现音量增大操作,按键四接通实现音量减小操作,接线如图5所示。

图5 按键控制电路接线图

2.2.5 音频解码芯片VS1003电路

VS1003芯片是一个MP3/WMA/MIDI音频解码器和ADPCM编码器。它包含一个高性能,自主产权的低功耗DSP处理器VS_DSP4,工作数据存储器,为用户应用提供5KB的指令RAM和0.5KB的数据RAM。4个常规用途的I/O端口,一个UART,一个高品质可变采样率的ADC和立体声DAC,还有一个耳机放大器和地线缓冲器。VS1003通过一个串行接口来接收输入的比特流,它可以作为一个系统的从机。输入的比特流被解码,然后通过一个数字音量控制器到达一个18位过采样多位ε-ΔDAC。通过串行总线控制解码器。VS1003电路接线如图6所示。

3 系统软件设计

3.1 软件开发平台

Keil是德国Keil公司(现已并入ARM公司)开发的微控制器软件开发平台,是目前ARM内核单片机开发的主流工具。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器在内的完整开发方案,通过一个集成开发环境(uVision)将这些功能组合在一起。uVision当前最高版本是uVision4,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序、软件仿真方面也有很强大的功能。本设计使用的是uVision2版本。

uVision2是一款集编辑、编译和项目管理于一身的基于窗口的软件开发环境。uVision2集成了C语言编译器、宏编译、链接/定位、以及HEX文件产生器[1]。本质是一个典型的调试窗口,主要包括以下几个窗口,如图7所示。

图7 Keil uVision2开发环境

3.2 系统的软件设计

本系统采用模块化的编程思想,把整个软件系统化为多个功能模块,主程序通过调用各个子程序来完成各个功能的实现。下面具体介绍各个模块的实现。

3.2.1 软件总体分析

从整体上看,该系统软件分为三个大的部分:

(1)VS1003解码。VS1003解码即VS1003译码程序。主要完成数字信号的采集、信号滤波等功能。利用模块化编程思想分别来实现各个模块的功能,减少程序之间的耦合性,提高程序之间的内聚性。通过调用各个子程序来完成系统的功能。该部分总体开发思路是,VSl003通过同步串行总线SPI与STC12C5A60S2进行命令和数据的传输。只要正确写SPI相关寄存器就能轻松实现控制。VSl003的SPI接口具有2种工作模式:新模式和兼容模式。设置寄存器“SM_SDINEW为1”使VSl003处于新模式,此时设置SM_SDISHARE为0,控制信号和数据信号的传送将分别采用XCS和XDCS作为同步信号。系统启动后,由MCU控制将存储于U盘中歌曲的码流信息送入到VSl003芯片中,通过VSl003芯片解码以及其内含的高质量的立体声DAC和耳机驱动电路,实现MP3歌曲的播放功能[2]。

(2)USB总线的通用接口芯片CH375。CH375芯片挂接到MCU系统总线上,MCU 通过CH375按照相应的USB协议与其它USB设备进行通信。本设计中CH375工作在

USBHOST模式下,将8位并行数据线D0~D7与STC12C5A60S2的P0口相连,实现数据

与命令的并行传输,CH375工作在主机方式MCU通过RD,WR,片选CS、中断INT和地址线AO的综合控制,完成与CH375的通讯,通过USB接口实现从U盘读写数据的功能。INT引脚和MCU的外部中断输入引脚相连,当有U盘插入时INT变为低电平触发外部中断,当RD为高电平,且CS,WR和AO都为低电平时,D7~DO上的数据被写入CH375芯片中;当RD为高电平,且CS和WR都为低电平,AO为高电平时,D7~DO中的数据可作为命令码写入CH375芯片中;当WR为高电平,且CS,RD和AO都为低电平时,CH375中的数据可以通过D7~DO输出[3]。

(3)LCD12864液晶显示

a)LCD12864引脚功能说明如表1所示。

表1 LCD12864引脚功能说明

b)LCD12864控制器接口信号说明:

管脚RS、R/W为主要功能选择端口,RS端口高低电平用于12864识别端口信号是指令数据(L)还是显示数据(H),R/W端口高低电平用于控制12864读(H)写(L)状态。RS,R/W的配合选择决定控制界面的4种模式如表2所示。

表2 LCD12864控制界面模式

c)LCD12864使能E信号

E作为12864的外加时钟,控制12864与外部的连接。当E信号H→L时12864读取DB端口的数据。将它视为一个开关,当进行数据写入时先调节RS选择信号种类,然后将R/W拉低设为写状态,把数据传到管脚后将E由L→H→L把数据读入寄存器。如表3所示。

表3 LCD12864使能信号

(4)LCD12864串行连接数据传输

串口模式工作过程:

a)串行数据传送共分三个字节完成。

第一字节串口控制——格式 11111ABC

A为数据传送方向控制。其中,H表示数据从LCD到MCU,L表示数据从MCU到LCD。

B为数据类型选择。其中,H表示数据是显示数据,L表示数据是控制指令。

C固定为0

第二字节(并行)8位数据的高4位——格式DDDD0000

第三字节(并行)8位数据的低4位——格式0000DDDD

串口模式下只用两根线(E和SCLK)来完成数据传输。ST7920是12864的控制器,如果使用多个ST7920时,CS被配合使用,CS为高电平有效。

SCLK有独立的操作时序,当多个连续的指令被送入时,指令执行时间需要被考虑,需要等待上一个指令执行完毕才送入下一个指令,因为ST7920内部没有传送/接收缓冲区。

b)一个完整的串行传输周期有以下部分组成。

首先送入启动字节,送入5个连续的“1”来启动一个周期,此时传输周期被重置,并且串行传输数据被同步,紧接的两个为指定传输方向(R/W读还是写)和(RS确定是命令寄存器还是数据寄存器),最后的第八位是一个“0”,送完启动字节以后,可以送入指令或是显示数据,指令或代码是以字节为单位的,每个字节的内容(指令或数据)在被送入时分为两个字节来处理,高四位放在第一个字节的高四位,低四位放在第二个字节的高四位。无关的都补“0”。如图8所示[4]。

图8 LCD12864串行方式数据传输

3.2.2 CH375软件系统设计

软件是搭载在硬件上运行的,硬件的资源多少在一定程度上决定了软件的设计方法和复杂程度。由于早期的单片机硬件资源少RAM资源有限,所以工程师在编程的时候对RAM的应用要十分小心,因此造成这类的设计开发工程师更加偏向于直接用汇编语言来控制硬件的工作。随着科学的发展,嵌入式系统复杂度的提高和EDA技术的发展,各种高级的EDA工具不断推出,比如Keil、IAR、ADS等工具,这些工具不仅极大的方便了工程师的开发,同时也为用C语言这种高级语言来编写程序提供了有利的条件。但是这种开发方式随着系统复杂度的增高也变的愈加吃力了,因为对开发人员要

熟悉芯片的内部资源,能够进行寄存器配置,这样就对工程师的要求比较高。但是这些问题可以通过移植操作系统来解决,操作系统的优势就是屏蔽了具体的硬件细节,可以让开发人员把更多的精力放在应用程序上。

本系统设计时,考虑移植操作系统。但是对于具体的应用存在一些不足之处:首先,操作系统在对数据区的开销以及一些变量的存储方面浪费了很多的RAM 资源,有限的RAM 资源就无法有效的分配。其次,CH375方便的库文件开发方式本身就屏蔽了硬件的细节,处于以上考虑在本次开发中没用移植操作系统,而采用库文件的方式来开发设计。

由于CH375固件库是一个固件包,它不仅包括了程序、数据结构和覆盖所有外设特性的宏单元。还包括设备驱动的描述,该固件库可以使得用户在没有深入学习外围模块规格手册的情况下,也能够在用户应用程序中涉及到的任何设备中直接使用。因此,使用该固件库可以节省设计者的许多时间,可使开发人员把更多的精力花费在编程方面,加快了开发周期,减少了在应用开发中的综合开销。这是CH375软件开发十分显著的优点。

3.2.3 CH375模块的U 盘数据读取程序设计

U 盘数据的读取是MP3播放的重要环节,对后面的MP3解码进一步处理至关重要。CH375内置了USB 通信协议,单片机可以直接调用API 库读写U 盘中的文件数据。CH375用于低功耗模式,工作时需要外部为它提供12MHz 的时钟信号。原理如图9所示[5]。

GND CH375STC12C5A60S2

图9 U 盘数据读取原理图

将8位并行数据线D0~D7与单片机的P0口相连实现数据与命令的并行传输,RD ,WR ,CS ,INT 和A0五根控制线分别连接至单片机的的对应引脚,CH375的TXD 引脚通过1K 的下拉电阻接地,使CH375工作于USB 主机并行接口方式。单片机通过RD ,WR ,片选CS 、中断INT 和地址线AO 的综合控制,完成与CH375的通讯,通过USB 接口实现从U 盘读写数据的功能。INT 引脚和MCU 的外部中断输入引脚相连,当有U 盘插入

时INT变为低电平触发外部中断,当RD为高电平,且CS,WR和AO都为低电平时,D7~DO上的数据被写入CH375芯片中;当RD为高电平,且CS和WR都为低电平,AO为高电平时,D7~DO中的数据可作为命令码写入CH375芯片中;当WR为高电平,且CS,RD和AO都为低电平时,CH375中的数据可以通过D7~DO输出。子程序库对U 盘文件的读写方式分为两种:扇区模式和字节模式。本设计采用的是字节模式。

字节模式下,以字节为基本单位对U 盘文件进行读写,读写速度较慢,但是不需要额外的文件数据缓冲区(实际是与磁盘数据缓冲区合用),适用于RAM少、数据量小或者数据零碎、不经常读写数据的单片机系统。如果频繁地向U盘写入零碎的数据,可能会缩短U盘中闪存的使用寿命(因为闪存只能进行有限次擦写)。查看子程序库的全局变量“CH375DiskStatus(磁盘及文件状态)”可以获取当前的文件模式。DISK_OPEN_FILE则代表扇区模式,DISK_OPEN_FILE_B则代表字节模式。当执行一次以字节为单位的操作命令后将自动进入字节模式(只有关闭文件后再重新打开才能恢复扇区模式),支持以字节为单位的操作子程序CH375ByteRead 和CH375ByteWrite 及CH375ByteLocate[6]。对于已打开的同一个文件,不能混用两种模式的操作子程序。

下面是单片机针对U盘的以字节为单位进行读写操作的流程,如图10所示。在流程中涉及到的参数如下:在mCmdParam.Open.mPathName的命令中提供文件名,包括完整的路径名;在mCmdParam.ByteOffset.ByteLocate的命令中指定读写起始位置地址;在mCmdParam.mByteCount.mCmdParam.ByteRead的命令中指定读取字节数[6,7];在mCmdParam.Enumer.mPathName的命令中指定需要查询的文件名中的全部或者部分字符。

图10 U盘数据读取流程图

3.2.4 VS1003模块的MP3文件播放程序设计

系统上电启动后,由单片机控制将存储于U盘中歌曲的MP3数据格式流信息通过CH375的USB接口芯片送入到VSl003芯片中,通过VSl003芯片解码及其内含高质量的立体声DAC和耳机驱动电路,实现MP3歌曲的播放,在按键的控制下,可实现对歌曲的选择、音量增减等功能。VSl003的所有数据和控制命令均通过SPI总线接口实现。

要控制VS1003首先要实现的就是写命令,它是控制实现成功的前提。关于通信接口部分,它是一种同步串行接口方式(SPI从机模式),它要求SCLK信号必须由外部电路产生,数据(SDATA)在SCLK的上升沿或下降沿时被写入。

写命令的过程如下:

(1)等待DREQ为高(当DREQ为低时,说明VS1003芯片还没有就绪)

(2)将XCS(命令片选)拉低

(3)写入0x02(写操作命令)

(4)写入寄存器地址

(5)分别写入数据的高字节与低字节

(6)将XCS置高

初始化的过程如下:

(1)硬件复位:接XRESET拉低

(2)延时,将XDCS、XCS、XRESET置高

(3)向MODE中写入0X0804(软件复位)

(4)等待DREQ为高

(5)设置VS1003的时钟:SCI_CLOCKF=0x9800,3倍频(SC_MULT为4 ,SC_ADD 为3,SC_FREQ为0)

(6)设置VS1003的采样率:SPI_AUDATA=0xBB81,采样率48k,立体声

(7)设置重音:SPI_BASS=0x0055(SB_AMPLITUDE=5,SB_FREQLIMIT=5,低于50Hz 时进行5dB的增强)

(8)设置音量:SCI_VOL=0x2020(左右声道相同)

(9)这一步容易忽视,向VS1003发送4个字节的无效数据,用以启动SPI发送对VS1003的初始化与测试都通过后,就可以给它发送MP3文件了。数据的写入方法主要是看DREQ信号,在VS1003的FIFO能够接受数据的时候输出高电平。每次可以写入32个字节的数据,因为VS1003有32Byte的数据缓冲区,而DREQ变低时,单片机就要停止数据的发送[8]。具体的写数据的方法如下:

(1)将XDCS拉低

(2)等待DREQ为高

(3)通过SPI写入数据

(4)在文件没有结束前不断重复2与3操作

(5)在所有的数据都发送完毕后,最后发送2048个无效字节,用以清除VS1003的数据缓冲区

(6)将XDCS置高

MP3文件播放流程图如图11所示。

一般一次读一个扇区,然后将数据发往VS1003,由于VS1003有32Byte的数据缓冲区,一次可以发32个字节的数据,然后检测DREQ电平,当DREQ为高时送下一个32Byte的数据,直到发完为止。DREQ为高表明VS1003可以接受新的数据,如果不考虑DREQ的状态,直接连续的给VS1003发的MP3数据的话将会出现音乐断断续续的情况。

图11 MP3文件播放流程图

3.3 系统流程图

主程序实现对单片机进行初始化后,进入歌曲识别子程序。确定歌曲曲目后,显示屏进行显示。然后子程序对音乐播放文件进行循环判断,得到按键的命令后再进行

按键播放。

音乐播放的同时,显示屏显示歌曲名,单片机调用字节模式读取U盘数据进行音乐播放。在播放音乐的过程中,子程序循环判断音乐是否播放结束。当音乐文件播放结束时,判断是否有按键按下,并执行相应的命令。系统流程图如图12所示。

图12 系统流程图

4 系统调试结果及分析

(1)USB转TTL出现的问题:

1)驱动安装调试

因为Windows 7系统出现系统不兼容软件,本设计调试的系统是64位,所以驱动很难找到,大部分驱动支持Windows XP系统,所以出现驱动安装不成功或者安装出现错误的提示或者在设备管理器出现黄色的叹号,都表明驱动没安装成功。驱动安装调试如图13所示。解决方法是要考虑兼容性问题,下载的驱动应当手动安装,使用系统自动配置会出现黄色叹号。且安装完毕,一定要重启才能生效。

图13 驱动安装调试

(完整版)基于51单片机的电子八音盒详细设计步骤

一、设计目的 利用8052单片机结合内部定时器设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。 二、设计要求 其基本功能为:1,使用LED显示器来显示目前演奏的歌曲编号;2,具有8个按键操作来选择演奏哪一首歌曲;3,内建8首歌曲旋律,按下单键可以演奏歌曲。 三、设计器材 T89C52单片机、晶振、八个按键、二位一体共阳极数码管、电阻电容若干、导线。 四、设计方案及分析 设计思路: (1)选择8052单片机,通过T0定时中断,并配合P2.0引脚输出音频频率。 (2)P2.0引脚输出接蜂鸣器。 (3)通过P0口接LED。 (4)P1口接键盘,输入歌曲号。 音符产生方法: 不同的音调有不同的频率。频率不同,音调也就不同。 利用定时器,使其工作在模式1,定时中断,然后控制P2.0引脚的输出每次取反,就可以在P2.0的引脚输出相应的方波频率。改变计数初值,就改变了频率。定时器的定时时间等于半个周期,定时时间到就输出脉冲取反,重复此过程,就可在P2.0引脚得到一音频的脉冲。 如:中音1的频率=523HZ,周期T=1/523=1912us; 定时器的定时时间为:T/2=1912/2us=956us; 计算得TH0,TL0的计数初值THTL=64580 下面是个音符计数初值

节拍产生方法: 音乐中的节拍用延时时间产生。假设1/4拍执行一次延时程序,这1/2拍就执行两次延时程序,所以只要求出1/4延时时间,其余的节拍就是他的倍数。为方便记谱,将节拍数也进行编码,如下: 建立曲谱编码表: 编谱用8位编码,高4位代表音符,低4位代表节拍。如5 6中音5,中音6,都是1/2拍,则编码为:82H 92H 程序清单: #include #define uchar unsigned char #define uint unsigned int #define ulong unsigned long sbit SPEAK = P2^0;//接蜂鸣器管脚 uchar th0_f; uchar tl0_f;

基于-89C51单片机的秒表课程设计汇本

《单片机技术》 课程设计报告 题目:基于MCU-51单片机的秒表设计班级: 学号: 姓名: 同组人员: 指导教师:王瑞瑛、汪淳 2014年6月17日

目录 1课程设计的目的 (3) 2 课程设计题目描述和要求 (3) 2.1实验题目 (4) 2.2设计指标 (4) 2.3设计要求 (4) 2.4增加功能 (4) 2.5课程设计的难点 (4) 2.6课程设计容提要 (4) 3 课程设计报告容 (5) 3.1设计思路 (5) 3.2设计过程 (6) 3.3 程序流程及实验效果 (7) 3.4 实验效果 (16) 4 心得体会 (17)

基于MCS-51单片机的秒表设计 摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计容为以8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。设计容以硬件电路设计,软件设计和PCB 板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。 关键词:秒表;8051;定时器;计数器 1 课程设计的目的 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 2 课程设计题目描述和要求

基于51单片机系统设计

基于51单片机的多路温度采集控制系统设计 言: 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度多路温度采集驱动电路 正文: 1、温度控制器电路设计 本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端窜行输出到74LS164,经74LS164 窜并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。89C51的P2.0、P2.1、P2.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。输出驱动控制信号由p1.0输出,4个LED为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED4为低于下限温度指示。当温度高于上限温度值时,有p1.0输出驱动信号,驱动外设电路工作,同时LED1亮、LED2灭、LED3亮、LED4灭。外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行下一工作周期。 2、温度控制器程序设计 本软件系统有1个主程序,6个子程序组成。6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON 及数码管显示子程序DISP。 (1)主程序 主程序进行系统初始化操作,主要是进行定时/计数器的初始化。 (2)定时/计数器0中断服务程序 应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。

基于51单片机数字音乐盒的设计

单片机实物设计 题目: 单片机音乐盒设计 班级: K0312416-17 姓名:湛俊朱斌杨裕庆 学号:K031241705 K031241632 K031241737

摘要 本设计是一个基于STC89C51RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。本音乐盒共有四首歌曲,用4个按键控制。播放歌曲时,蜂鸣器发出某个音调。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS 仿真软件对硬件进行仿真调试,节约了设计时间。 【关键词】STC89C51RC 按键蜂鸣器 LCD1602液晶

目录 前言 ................................................................................................................................. 第一章工作原理 .............................................................................................................. 1.1设计目标 ............................................................................................................... 第二章软件设计与分析................................................................................................... 2.1 软件设计的组成................................................................................................... 2.2 各部分软件分析 ................................................................................................. 2.2.1 延时165MS,即十六分音符子函数 .......................................................... 2.2.2 延时1MS子函数...................................................................................... 2.2.3 定时器0中断子函数 .............................................................................. 2.2.4 播放音乐子函数...................................................................................... 2.5 定时器1中断子函数.................................................................................. 2.6 按键扫描子函数 ......................................................................................... 2.2.7 主函数..................................................................................................... 2.3 总源程序 ............................................................................................................ 第三章软件仿真 .............................................................................................................. 3.仿真图...................................................................................................................... 3.1 元件清单 ............................................................................................................... 总结 ..................................................................................................................................... 参考文献..............................................................................................................................

基于51单片机课程设计

基于51单片机课程设计报告 院系:电子通信工程 团组:电子设计大赛1组 姓名: 指导老师:

目录 一、摘要 (3) 二、系统方案的设计 (3) 三、硬件资源 (5) 四、硬件总体电路搭建 (13) 五、程序流程图 (14) 六、设计感想 (14) 七、参考文献 (16) 附录 (17) 附录 1 程序代码 (17)

一、摘要 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。 关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示. 二、系统方案的设计 1、设计要求 基本功能: 不加热时实时显示时间,并可手动设置时间; 设定加热水温功能。人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度; 设定加热时间功能。限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。 2、系统设计的框架

本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。 图1 系统设计框架 3 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!! 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。

(完整word版)基于51单片机的温度控制系统设计

基于51单片机的水温自动控制系统 0 引言 在现代的各种工业生产中 ,很多地方都需要用到温度控制系统。而智能化的控制系统成为一种发展的趋势。本文所阐述的就是一种基于89C51单片机的温度控制系统。本温控系统可应用于温度范围30℃到96℃。 1 设计任务、要求和技术指标 1.1任务 设计并制作一水温自动控制系统,可以在一定范围(30℃到96℃)内自动调节温度,使水温保持在一定的范围(30℃到96℃)内。 1.2要求 (1)利用模拟温度传感器检测温度,要求检测电路尽可能简单。 (2)当液位低于某一值时,停止加热。 (3)用AD转换器把采集到的模拟温度值送入单片机。 (4)无竞争-冒险,无抖动。 1.3技术指标 (1)温度显示误差不超过1℃。 (2)温度显示范围为0℃—99℃。 (3)程序部分用PID算法实现温度自动控制。 (4)检测信号为电压信号。 2 方案分析与论证 2.1主控系统分析与论证 根据设计要求和所学的专业知识,采用AT89C51为本系统的核心控制器件。AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器。其引脚图如图1所示。 2.2显示系统分析与论证 显示模块主要用于显示时间,由于显示范围为0~99℃,因此可采用两个共阴的数码管作为显示元件。在显示驱动电路中拟订了两种设计方案: 方案一:采用静态显示的方案 采用三片移位寄存器74LS164作为显示电路,其优点在于占用主控系统的I/O口少,编程简单且静态显示的内容无闪烁,但电路消耗的电流较大。 方案二:采用动态显示的方案 由单片机的I/O口直接带数码管实现动态显示,占用资源少,动态控制节省了驱动芯片的成本,节省了电 ,但编程比较复杂,亮度不如静态的好。 由于对电路的功耗要求不大,因此就在尽量节省I/O口线的前提下选用方案一的静态显示。

基于单片机的音乐盒设计_毕业设计

毕业设计 基于单片机的音乐盒设计 【摘要】本设计是一个基于A T89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计3种。播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 【关键字】音乐盒;A T89C51单片机;KEIL;PROTEUS;音调

Design Of Music Box Based On SCM Li Kun (Grade06,Class1, Major Computer Science and Technology, Computer Science and Technology Dept,Shaanxi University Of Technology,Hanzhong 723003,Shaanxi) Tutor: FENG Yong-Zheng Abstract:This design is a series based on A T89C51 microcontroller Music Box, based on principles of SCM technology, through the production of hardware and software compilation, designed a multi-function music box. Mainly by the keys of the music box circuit, reset circuit, clock circuit and the buzzer composition. Using two buttons control music box, one to switch songs, and the other is used to switch the 8 LED pattern changes, the music box has two songs, a total of three kinds of pattern light pattern. Play a song, the buzzer sounded a tone, corresponding LED lights up. This design using KEIL programming software to program the music box and debug source code, with the PROTEUS simulation software to simulate hardware, debugging, saving design time. Key Words: Music Box ;A T89C51 SCM; KEIL; PROTEUS; TONE

基于51单片机音乐盒程序设计

基于51单片机音乐盒程序设计基于51单片机音乐盒程序设计一、功能设计说明 1、电路设计 实物图 矩阵键盘部分电路图 2、运行流程图 程序开始 播放小苹果歌曲

否 判断任意按键是否按下继续播放小苹果歌曲是 否播放完成 进入电子琴模式 判断K16按键是否按下 是 3、电子琴模式按键对应发音设计 按键发音按键发音 低 1 中 2 K1 K9 低 2 中 3 K2 K10 低 3 中 4 K3 K11 低 4 中 5 K4 K12 低 5 中 6 K5 K13 按键发音按键发音 低 6 中 7 K6 K14 低 7 高 1 K7 K15 中 1 重新播放小苹果 K8 K16 二、硬件电路说明

1、程序下载电路 音乐盒电路图 ISP下载接口 本设计采用的单片机为AT89S52单片机,需使用ISP下载器进行下载程序,程序下载电路图如图中ISP1接口. 2、音乐发音电路 IO口P10发出不同频率的脉冲,则BUZZER产生各种不同的声音,本设计采用12MHZ 晶振,系统频率1MHZ,定时器计数一个1us,其对应关系如下表所示: 频率简谱码(T音符音符频率(HZ) 简谱码(T值) (HZ) 值) 低 1 DO 262 63628 # 4 FA# 740 64860 # 1 DO# 277 63731 中 5 SO 784 64898 低 2 RE 294 63853 # 5 SO# 831 64934 # 2 RE# 311 63928 中 6 LA 880

64968 低 3 M 330 64021 # 6 932 64994 低 4 FA 349 64103 中 7 SI 988 65030 # 4 FA# 370 64185 高 1 DO 1046 65058 低 5 SO 392 64260 # 1 DO# 1109 65085 # 5 SO# 415 64331 高 2 RE 1175 65110 低 6 LA 440 64400 # 2 RE# 1245 65134 # 6 466 64463 高 3 M 1318 65157 低 7 SI 494 64524 高 4 FA 1397 65178 中1 DO 523 64580 # 4 FA# 1480 65198 # 1 DO# 554 64633 高 5 SO 1568 65217 中 2 RE 587 64684 # 5 SO# 1661 65235 # 2 RE# 622 64732 高 6 LA 1760 65252 中 3 M 659 64777 # 6 1865 65268 中 4 FA 698 64820 高 7 SI 1967 65282 计算方法: 例如产生262HZ频率(发音DO), 周期T=1/262=3816 us,由于定时器中断使IO不停取反,故周期 T=3816/2=1908 us 定时器初值N=65536-1908=63628 TH0=63628/256 TL0=65536%256 三、程序代码说明 1 、脉冲产生 采用定时器0溢出中断产生脉冲,定时器初始化如下: TMOD = 0x01; //定时器0工作方式1 ,即十六位计数器计数 TR0 = 1; //启动定时器 ET0 = 1; //定时器0溢出中断使能

基于51单片机的温度控制系统的设计

基于单片机的温度控制系统设计 1.设计要求 要求设计一个温度测量系统,在超过限制值的时候能进行声光报警。具体设计要求如下: ①数码管或液晶显示屏显示室内当前的温度; ②在不超过最高温度的情况下,能够通过按键设置想要的温度并显示;设有四个按键,分别是设置键、加1键、减1键和启动/复位键; ③DS18B20温度采集; ④超过设置值的±5℃时发出超限报警,采用声光报警,上限报警用红灯指示,下限报警用黄灯指示,正常用绿灯指示。 2.方案论证 根据设计要求,本次设计是基于单片机的课程设计,由于实现功能比较简单,我们学习中接触到的51系列单片机完全可以实现上述功能,因此可以选用AT89C51单片机。温度采集直接可以用设计要求中所要求的DS18B20。报警和指示模块中,可以选用3种不同颜色的LED灯作为指示灯,报警鸣笛采用蜂鸣器。显示模块有两种方案可供选择。 方案一:使用LED数码管显示采集温度和设定温度; 方案二:使用LCD液晶显示屏来显示采集温度和设定温度。 LED数码管结构简单,使用方便,但在使用时,若用动态显示则需要不断更改位选和段选信号,且显示时数码管不断闪动,使人眼容易疲劳;若采用静态显示则又需要更多硬件支持。LCD显示屏可识别性较好,背光亮度可调,而且比LED 数码管显示更多字符,但是编程要求比LED数码管要高。综合考虑之后,我选用了LCD显示屏作为温度显示器件,由于显示字符多,在进行上下限警戒值设定时同样可以采集并显示当前温度,可以直观的看到实际温度与警戒温度的对比。LCD 显示模块可以选用RT1602C。

3.硬件设计 根据设计要求,硬件系统主要包含6个部分,即单片机时钟电路、复位电路、键盘接口模块、温度采集模块、LCD 显示模块、报警与指示模块。其相互联系如下图1所示: 图1 硬件电路设计框图 单片机时钟电路 形成单片机时钟信号的方式有内部时钟方式和外部时钟方式。本次设计采用内部时钟方式,如图2所示。 单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为此放大器的输入端和输出端,其频率范围为~12MHz ,经由片外晶体振荡器或陶瓷振荡器与两个匹配电容一 起形成了一个自激振荡电路,为单片机提供时钟源。 复位电路 复位是单片机的初始化操作,其作用是使CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作,以防止电源系统不稳定造成CPU 工作不正常。在系统中,有时会出现工作不正常的情况,为了从异常状态中恢复,同时也为了系统调试方便,需要设计一个复位电路。 单片机的复位电路有上电复位和按键复位两种形式,因为本次设计要求需要有启动/复位键,因此本次设计采用按键复位,如图3。复位电路主要完成系统 图2 单片机内部时钟方式电路 图3 单片机按键复位电路

基于AT89C51单片机的带彩灯外观音乐盒设计

基于AT89C51单片机的带彩灯外观音乐盒设计

基于AT89C51单片机的带彩灯外观音乐盒设计 摘要 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以AT89C51单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏音乐,功能多,外观效果多彩,配有彩灯,使用方便,本音乐盒有三个按键,key1控制彩灯,key2控制音乐,key3为总开关,可同时关闭音乐与彩灯。具有一定的商业价值。 关键字:AT89C51;音乐盒;按键;彩灯

Abstract Along with the development of human society, people of vision, hearing things put forward higher request. Small music box can bring good memories and improve people's spiritual culture. Traditional music box is heavy mechanical type, size, pronunciation and drab, cannot achieve batch production. Music box designed in this paper based on AT89C51 microcontroller as the core element of electronic music box, small size, light weight, can play music, multi-function, appearance and colorful, with a lantern,easy to use. The music box with three buttons , The key1 control Lantern, key2 control music, key3 total switch can turn off the music and lanterns. Have some commercial value. Keywords: AT89C51, music boxes, buttons, Lantern

51单片机红绿灯课程设计

1 电源提供方案 为使模块稳定工作,须有可靠电源。因此考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择方案二。 2 显示界面方案 该系统要求完成倒计时功能。基于上述原因,我考虑了二种方案:方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。方案二:采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,成本较高。 综上所述,选择方案一。 3 输入方案: 设计要求系统能调节灯亮时间,并可处理紧急情况,我研究了两种方案:方案一:采用8155扩展I/O 口及键盘,显示等。 该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。 方案二:直接在I/O口线上接上按键开关。 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用。

综上所述,选择方案二。 3.1单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如图2.1所示: 图1 交通状态 本系统采用MSC-51系列单片机AT89C51作为中心器件来设计交通灯控制器。实现以下功能:

基于51单片机的蓝牙音乐盒

项目编号 西南交通大学峨眉校区大学生 科技创新基金项目 申请书 A、科技发展基金√ 项目类别(划√)B、基础科学研究基金 C、社会科学专项基金 项目名称:基于51单片机的蓝牙音乐盒 申请者:崔志斌 指导老师:王恪铭 起止年限:2014年5 月至2015年5月 申请日期:2014年4月7日

一、简表 项目名称基于51单片机的蓝牙音乐盒 申请经费0.1(万元)申请类别科技发 展基金 申请滚动资助 (划√) 是 否√ 申请者崔志斌性别男出生日期1993.7.3 学号20128403 班级测控一班所在系 (部) 计算机与通信工 程系 起止年限2014.05 项目组成员(不含申请者) 姓名学号所在系(部)项目分工本人签字 崔志斌20128403 计算机与通信工 程系 技术支持 计算机与通信工 程系 技术支持 计算机与通信工 程系 技术支持 项目研究内容提要(200字以内) 现如今随着科技的发展,人们生活水平的提高,越来越多的人们将注意力转移到了丰富自己的精神生活上。因而现在市场上出现了一些多媒体电子设备,例如MP3、MP4以及平板电脑等等。但是我们发现,这些多媒体设备大都在设备上面仅仅设计了物理按键而没有给出无线控制的解决方案,因此本小组想到了将现有的成熟无线通信技术——蓝牙技术作为我们的多媒体电子音乐盒的控制技术。它打破了传统的以物理按键控制多媒体设备的框架,转而使用现如今迅猛发展并且普及率极高的蓝牙无线通信技术,这样做既可以利用蓝牙将我们的传统多媒体设备上面的物理按键解放,又可以将消费者对于多媒体电子设备的操控体验提高一个层面,可以说是一举两得。用户容易接

受,而且美观大方。整个音乐盒看起来相当美观新颖,故还可作为室内装饰用。 二、项目设计论证 项目名称:基于51单片机的蓝牙音乐盒 1、项目意义、国内外研究概况、水平及发展趋势 现如今随着科技的发展,人们生活水平的提高,越来越多的人们将注意力转移到了丰富自己的精神生活上。因而现在市场上出现了一些多媒体电子设备,例如MP3、MP4以及平板电脑等等。但是我们发现,这些多媒体设备大都在设备上面仅仅设计了物理按键而没有给出无线控制的解决方案,因此本小组想到了将现有的成熟无线通信技术——蓝牙技术作为我们的多媒体电子音乐盒的控制技术。它打破了传统的以物理按键控制多媒体设备的框架,转而使用现如今迅猛发展并且普及率极高的蓝牙无线通信技术,这样做既可以利用蓝牙将我们的传统多媒体设备上面的物理按键解放,又可以将消费者对于多媒体电子设备的操控体验提高一个层面,可以说是一举两得。用户容易接受,而且美观大方。整个音乐盒看起来相当美观新颖,故还可作为室内装饰用。 国外已经有非常多的“创客”在科技小制作上面取得了非常多的成果,比如高仿真机器人、四轴飞行器等等。但是国内的科创发展之

基于51单片机最小系统设计

基础强化训练任务书 学生姓名:董勇涛专业班级:电子0902 指导教师:洪建勋工作单位:信息工程学院 题目:基于51单片机最小系统设计 一、训练目的 主要目的就是对学生进行基础课程、基本技能、基本动手能力的强化训练,提高学生的基础理论知识、基本动手能力,提高人才培养的基本素质。 二、训练内容和要求 1、基础课程和基本技能强化训练 (1)设计一个基于51单片机最小系统电路; (2)对所设计电路的基本原理进行分析; 2、文献检索与利用、论文撰写规范强化训练 要求学生掌握基本的文献检索方法,科学查找和利用文献资料,同时要求学生获得正确地撰写论文的基本能力,其中包括基本格式、基本排版技巧和文献参考资料的写法、公式编排、图表规范制作、中英文摘要的写法等训练。 3、基本动手能力和知识应用能力强化训练 (1)学习PROTEL软件; (2)绘制电路的原理图和PCB版图,要求图纸绘制清晰、布线合理、符合绘图规范; 4、查阅至少5篇参考文献,按《武汉理工大学课程设计工作规范》要求撰写基础强化训练报告书,全文用A4纸打印。 三、初始条件 计算机;Microsoft Office Word 软件;PROTEL软件 四、时间安排 1、20011年7 月 11日集中,作基础强化训练具体实施计划与报告格式要求的说明; 学生查阅相关资料,学习电路的工作原理。 2、2011年7 月 12日,电路设计与分析。 3、2011年7 月 13日至2010年7 月 14日,相关电路原理图和PCB版图的绘制。 4、2011年7 月15日上交基础强化训练成果及报告,进行答辩。 指导教师签名:年月日系主任(或责任教师)签名:年月日 目录 摘要.................................................................................................................... 错误!未定义书签。

基于AT89C51单片机的音乐盒的设计

1 前 言 乐曲演奏广泛用于自动答录装置、手机铃声、集团电话、及智 能仪器仪表设备。实现方法有许多种,在众多的实现方法中,以纯硬件完成乐曲演奏,随着FPGA 集成度的提高,价格下降,EDA 设计工具更新换代,功能日益普及与流行,使这种方案的应用越来越多。如今的数字逻辑设计者面临日益缩短的上市时间的压力,不得不进行上万门的设计,同时设计者不允许以牺牲硅的效率达到保持结构的独特性。使用现今的EDA 软件工具来应付这些问题,并不是一件简单的事情。FPGA 预装了很多已构造好的参数化库单元LPM 器件。通过EDA 软件工具,设计者可以设计出结构独立而且硅片的使用效率非常高的产品。 本文介绍在EDA 开发平台上利用单片机及汇编语言设计音乐硬件演奏电路,并定制单片机存储音乐数据,以十首乐曲为例,将音乐数据存储到单片机,就达到了以纯硬件的手段来实现乐曲的演奏效果。只要修改单片机所存储的音乐数据,将其换成其他乐曲的音乐数据,再重新连接到程序中就可以实现其它乐曲的演奏。

目录 摘要 (4) 第1章概述 (5) 第2章音乐盒的发音原理 (6) 2.1 播放音乐的原理 (6) 2.2 音符频率的产生 (6) 2.3 节拍频率的产生 (8) 第3章硬件电路设计 (9) 3.1 硬件电路 (9) 3.2 整体硬件电路 (10) 3.3 原理说明 (11) 2 2.4 键盘按键 (11) 第4章软件设计 (12) 4.1 程序设计流程 (12) 4.2 设计源程序代码 (12)

第5章仿真及调试 (13) 5.1 调试 (13) 5.2 仿真 (13) 5.3 程序调试中出现的问题及解决的办法 (15) 第6章设计小结及建议 (17) 致谢 (18) 参考文献 (19) 附录一元器件清单 (20) 附录二部分源程序代码 (21) 3

51单片机课程设计

课程设计说明书
课程设计名称






学生姓名
指导教师
单片机原理及应用课程设计 电子信息工程 140405 20141329 李延琦 胡黄水
2016 年 12 月 26 日

课程设计任务书
课程设计 题目
酒精测试仪
起止日期
2016 年 12 月 26 日— 2017 年 1 月 6 日
设计地点
计算机科学与工程学 院单片机实验室 3409
设计任务及日程安排: 设计任务:分两部分: (一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、 实现; 1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速 6.电子音乐发声(自己选曲) 7.键盘液晶显示系统 (二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。 查资料选定题目。 说明:第 1--7 题任选其二即可。(二)里题目自拟。 日程安排: 本次设计共二周时间,日程安排如下: 第 1 天:查阅资料,确定题目。 第 2--4 天:进实验室做实验,连接硬件并编写程序作相关的模块实验。 第 5--7 天:编写程序,并调试通过。观察及总结硬件实验现象和结果。 第 8--9 天:整理资料,撰写课程设计报告,准备答辩。 第 10 天:上交课程设计报告,答辩。 设计报告要求:
1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每 位同学独立完成。 2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序 设计。内容包括: 1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清单与注释 4) 总结 5) 参考资料 6)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

基于51单片机的音乐盒的设计毕业论文

基于51单片机的音乐盒的 设计毕业论文 目次 目次 (3) 1 引言 (4) 1.1 音乐盒的意义 (4) 1.2 研究容 (5) 2.1系统总体框架图 (6) 2.2音乐盒的设计原理 (6) 2.3 单片机芯片概述 (7) 3 硬件电路设计 (8) 3.1 单片机最小系统原理图 (8) 3.1.1 复位电路 (8) 3.1.2 晶振电路 (9) 3.1.3时钟电路 (9) 3.2 LCD显示模块 (9) 3.3 继电器模块 (11) 3.3.1电磁继电器的工作原理和特性 (12)

3.3.2 固态继电器的工作原理和特性 (12) 3.3.3 继电器主要产品技术参数 (12) 3.4 按键模块 (13) 3.5 其它 (13) 4 软件设计 (14) 4.1 软件总体流程图 (14) 4.2播放/暂停子程序 (15) 4.3 LCD显示模块软件设计 (17) 4.3.1 LCD的初始化函数 (17) 4.3.2 LCD与继电器的函数 (18) 5 系统实现 (19) 5.1 硬件调试 (20) 5.1.1 按键控制的实现 (20) 5.1.2 LCD显示 (21) 5.1.3 其他 (21) 总结 (22) 致谢 (23) 参考文献 (24) 附录A 元器件清单 (25) 附录B 源程序 (26)

1 引言 在进入21世纪后,单片机产品的发展正朝着高性能和多品种方向,并且发展趋势是进一步朝着CMOS化、小体积、低功耗、大容量、高性能、低价格以及外围的电路装化等几个方面去发展。单片机的应用的重要意义还是在于它是从根本上改变了传统的控制系统设计思想和设计方法。过去必须要由模拟电路或者数字电路才可以实现的大部分的功能,现在已能完全可以用单片机通过软件的方法来实现了。这种由软件去代替硬件的控制技术也称之为微控制技术,这是传统控制技术的一次革命。单片机可以说渗透到了我们生活的各个方面,几乎难以找到哪个领域里没有单片机的踪迹。导弹中的导航装置,飞机里安装的各种仪表的控制,计算机里的网络通讯与数据传输方面,工业自动化过程中实时控制和数据处理方面,生活中被广泛使用的各种智能IC卡,民用的高档轿车的安全保障系统,摄像机、录像机、全自动洗衣机所涉及的控制方面,以及远程控制的玩具、电子宠物等等,这些全都是离不开单片机的。 而伴随着科学技术的不断进步和社会的持续发展,人类所接触的更种信息也在不断增加并且信息变得越来越复杂。面对着浩如烟海的繁杂信息,人们目前已经能利用计算机等工具快速、精准地对其进行快速处理,但要想将其处理完毕的信息及时、清晰地传递给其他人,还必须要寻找更加卓越的显示技术去实现它。而单片机技术与液晶显示技术的结合,恰恰使得信息的传输交流向着智能化可视化方向进行快速发展。

基于51单片机的交通控制系统模拟设计

基于51单片机的交通控制系统模拟设计 学院:电气与控制工程学院 专业:自动化 姓名:

目录 1. 设计思路 (2) 2.2显示界面方案 (2) 2.3输入方案: (2) 3 单片机交通控制系统总体设计 (2) 3.1单片机交通控制系统的通行方案设计 (2) 3.2单片机交通控制系统的功能要求 (3) 3.3单片机交通控制系统的基本构成及原理 (3) 4智能交通灯控制系统的硬件设计 (4) 4.1系统硬件总电路构成及原理 (4) 4.2系统硬件电路构成 (4) 4.3系统工作原理 (4) 5 系统软件程序的设计 (6) 5.1程序主体设计流程 (6) 参考文献 (17) 设计心得体会 (18) 附录 (19) 基于单片机的交通控制系统模拟设计

1. 设计思路 (1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,基于实际情况,又增加了紧急状况处理和通行时间可调这两项特特殊功能。 (3)进行显示电路,灯状态电路,按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。 (4)进行软件系统的设计,对于本系统,采用单片机C语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。 2.单片机交通控制系统方案的比较、设计与论证 2.1 电源提供方案 采用单片机控制模块提供电源。改方案的优点是系统简明扼要, 节约成本;缺点是输出功率不高。 2.2 显示界面方案 采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。 2.3 输入方案: 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二。 3 单片机交通控制系统总体设计 3.1单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下所示。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始。 通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下: ◆南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时30秒。此状态下,东西向禁止通行,南北向允许通行。 ◆南北方向绿灯灭,东西方向红灯灭,同时黄灯亮,倒计时3秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

相关文档
相关文档 最新文档