- 39
- 0
- 约1.09万字
- 约 10页
- 2016-12-10 发布于贵州
- 举报
《单片机课程设计报告-按键控制定时器选播多段音乐》
单片机课程设计报告
————按键控制定时器选播多段音乐
【摘要】 本课程设计是按键控制定时器选择多段音乐,以AT89S52为系统的操作核心,以一个数码管显示播放音乐的序号,通过按键来选择音乐(本课程设计中含3首音乐)。
硬件设计方案
1. 单片机及晶振模块
该设计选用的是Atmel公司生产的AT89S52型单片机,由石英晶体振荡器产生单片机工作时所需的时钟信号,振荡器采用的是12M的晶振,使其机器周期为1us,方便发音程序的计算和编译。
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.数码管显示模块
该部分只用了一个数码管,用来显示播放的音乐序列,数码管的7个管脚都接了1K的上拉电阻。数码管显示的歌曲序列为0,1,2。
3.按键控制模块
此模块只用了两个按键,按键K1用来控制歌曲的开始和停止,接P1.0口,按键K2用于选择歌曲,接P3.2口。按下K1,开始播放音乐,随着改变数码管的显示值(0、1、2),将出现对应的音乐。
4.扬声器模块
扬声器上接了一个三极管,用于放大声音。
程序如下:
#includereg51.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
sbit K1=P1^0; //播放和停止键
sbit SPK=P3^7; //蜂鸣器
uchar Song_Index=0,Tone_Index=0; //当前音乐段索引,音符索引
//数码管段码表
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//标准音符频率对应的延时表
uchar code HI_LIST[]={0,226,229,232,233,236,238,240,241,242,244,245,246,247,248};
uchar code LO_LIST[]={0,4,13,10,20,3,8,6,2,23,5,26,1,4,3};
//三段音乐的音符
uchar code Song[][50]=
{
{1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,3,5,3,2,1,2,1,-1},
{3,3,3,4,5,5,5,5,6,5,3,5,3,2,1,5,6,53,3,2,1,1,-1},
{3,2,1,3,2,1,1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,3,2,1,3,2,1,1,-1}
};
//三段音乐的节拍
uchar code Len[][50]=
{
{1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2,-1},
{1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,-1},
{1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,2,1,1,2,2,-1}
};
//外部中断0
void EX0_INT() interrupt 0
{
TR0=0; //播放结束或者播放中途切换歌曲时停止播放
Song_Index=(Song_Index+1)%3; //跳到下一首的开头
Tone_Index=0;
P2=DSY_CODE[Song_Index]; //数码管显示当前音乐段号
}
//定时器0中断函数
void T0_INT() interrupt 1
{
TL0=
您可能关注的文档
- 《单片机课程设计(论文)_基于单片机的直流伺服电机脉冲宽度调制控制系统的设计》.doc
- 《单片机课程设计(论文)_基于单片机的多功能数字电子钟的设计》.doc
- 《单片机课程设计(论文)_多功能数字钟的设计》.doc
- 《单片机课程设计(论文)_基于LCD1602液晶显示器课程设计》.doc
- 《单片机课程设计(论文)_微机化转速测量系统设计》.doc
- 《单片机课程设计(论文)_教室人数自动计数装置》.doc
- 《单片机课程设计(论文)_微机控制实现多功能数字时钟》.docx
- 《单片机课程设计(论文)_数字式调频收音机设计》.doc
- 《单片机课程设计(论文)_基于51单片机的DS18B20数字温度计的设计》.doc
- 《单片机课程设计(论文)_数字电压表设计》.doc
最近下载
- 《我的世界》诉《迷你世界》二审判决书.pdf VIP
- 等比数列说课市名师优质课比赛一等奖市公开课获奖课件.pptx VIP
- 中韩家庭伦理剧对比分析.doc VIP
- 2026-2030中国锌溴电池行业市场发展趋势与前景展望战略分析研究报告.docx
- 2025年等比数列说课课件.pdf VIP
- 短剧演员合同模板(3篇).docx VIP
- 2025年贵州省情省况核心知识点考核复习题库(含答案).docx
- 良品铺子股份有限公司成本控制问题分析.doc VIP
- JB∕T 11164-2021 吊钩抛丸清理机 技术条件.pdf
- 中国专家共识解读:内分泌性高血压继发性高血压院前与急诊诊治指南(2025版)PPT课件.pptx VIP
原创力文档

文档评论(0)