课程设计-音乐播放器精要.docx

课程设计-音乐播放器精要

PAGE \* MERGEFORMAT20 目录 摘要2 Abstract3 绪论4 课题背景4 课题要求4 第二章 硬件电路设计5 2.1 总体电路框图5 2.2 原理图设计6 2.3 PCB设计8 第三章 软件设计9 3.1 总体程序框图9 3.2 主程序10 3.3 按键扫描程序11 3.4 音乐播放程序12 第四章 软件调试17 总结18 参考文献19 摘要 电子音乐播放器的市场早已成熟,但选做单片机来控制蜂鸣器产生音乐对初学者来说是一个比较有趣的课题。本次单片机的课程设计选用的是STC89C51的芯片,蜂鸣器产生音乐,并可以通过按键选择播放。硬件电路的搭建是用采用AltiumDesigner6.9,软件的设计是基于keil4的C程序设计。 关键词:电子音乐播放器,单片机,蜂鸣器 Abstract Electronic music player market is already mature, but elected to do microcontroller to control the buzzer to produce music for beginners is an interesting topic. The SCM curriculum design choices are STC89C51 chip buzzer to produce music, and you can choose to play through the key. Hardware circuit is built using AltiumDesigner6.9, the software design is based on the C programming keil4. Keywords: music player, microcontroller, buzzer 第一章 绪论 1.1 课题背景 蜂鸣器产生音乐的原理比较简单,就是通过单片机输出不同频率方波来模拟简谱中的Do,Re,Mi,Fa,Sol,La,Si的所有低音,中音,高音的频率,也就是音调。蜂鸣器产生音乐的另一个重要参数就是音长,也就是节拍。出于对蜂鸣器能产生音乐的好奇,我们组决定选择电子音乐播放器这个课题。 1.2 课题要求 利用按键进行音调选择,即不同的按键产生不同的音调,蜂鸣器发出1234567音调,并在数码管上显示。编写2支歌曲,并可进行选择播放。 第二章 硬件电路设计 2.1 总体电路框图 整个硬件设计主要包含单片机最小系统,矩阵键盘模块,蜂鸣器电路,数码管等。 2.2 原理图设计 矩阵键盘: 下载电路,复位电路及晶振电路: USB供电电路: 数码管电路: 蜂鸣器电路: 2.3 PCB设计 利用AltiumDesigner将原理图导入到PCB中,手动布局元器件,修改布线规则,最后自动布线得到PCB版图。 第三章 软件设计 3.1 总体程序框图 整个程序流程图如下: 3.2 主程序 主程序(main.c): #includereg51.h #includePlayMusic.h #includeKeyScan.h #define SegPorts P0 //数码管接口 unsigned char nTimes; unsigned char Seg_Code[]={ 0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0xff,0xff };//1-7的段码 int main(void){ char KeyTemp; TH0 =(65536-50000)/256; TL0 =(65536-50000)%256; TMOD=0x01; ET0 =1; EA =1; TR0 =1; while(1){ KeyTemp=KeyScan(); if(KeyTemp ==-1||(KeyTemp=15KeyTemp=9)) continue; SegPorts=Seg_Code[KeyTemp]; //显示按键值 MusicPlayer(KeyTemp); } return 0; } void Tone_Long()interrupt 1{ TH0 =(65536-50000)/256; TL0 =(65536-50000)%256; nTimes++; } 3.3 按键扫描程序 头文件(KeyScan.h): #ifndef __KEY_H_ #define __KEY_H_ #includereg51.h #define KeyPorts P1 //键盘接口 char KeyScan(void); //按键扫描函数 extern void delay_15us

文档评论(0)

1亿VIP精品文档

相关文档