单片机课程设计报告按键控制定时器选播多段音乐

上传人:人*** 文档编号:494842366 上传时间:2023-01-25 格式:DOC 页数:10 大小:78KB
返回 下载 相关 举报
单片机课程设计报告按键控制定时器选播多段音乐_第1页
第1页 / 共10页
单片机课程设计报告按键控制定时器选播多段音乐_第2页
第2页 / 共10页
单片机课程设计报告按键控制定时器选播多段音乐_第3页
第3页 / 共10页
单片机课程设计报告按键控制定时器选播多段音乐_第4页
第4页 / 共10页
单片机课程设计报告按键控制定时器选播多段音乐_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《单片机课程设计报告按键控制定时器选播多段音乐》由会员分享,可在线阅读,更多相关《单片机课程设计报告按键控制定时器选播多段音乐(10页珍藏版)》请在金锄头文库上搜索。

1、单片机课程设计报告 按键控制定时器选播多段音乐【摘要】 本课程设计是按键控制定时器选择多段音乐,以AT89S52为系统的操作核心,以一个数码管显示播放音乐的序号,通过按键来选择音乐(本课程设计中含3首音乐)。硬件设计方案1. 单片机及晶振模块该设计选用的是Atmel公司生产的AT89S52型单片机,由石英晶体振荡器产生单片机工作时所需的时钟信号,振荡器采用的是12M的晶振,使其机器周期为1us,方便发音程序的计算和编译。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和

2、引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被

3、保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52的引脚分布: 2.数码管显示模块该部分只用了一个数码管,用来显示播放的音乐序列,数码管的7个管脚都接了1K的上拉电阻。数码管显示的歌曲序列为0,1,2。3.按键控制模块此模块只用了两个按键,按键K1用来控制歌曲的开始和停止,接P1.0口,按键K2用于选择歌曲,接P3.2口。按下K1,开始播放音乐,随着改变数码管的显示值(0、1、2),将出现对应的音乐。4.扬声器模块 扬声器上接了一个三极管,用于放大声音。程序如下:#include #include #define uchar unsigned char #de

4、fine uint unsigned int sbit K1=P10; /播放和停止键sbit SPK=P37; /蜂鸣器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,1

5、3,10,20,3,8,6,2,23,5,26,1,4,3; /三段音乐的音符uchar code Song50= 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 Len50= 1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,

6、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_CODESong_Index; /数码管显示当前音乐段号 /定时器0中断函数

7、void T0_INT() interrupt 1 TL0=LO_LISTSongSong_IndexTone_Index; TH0=HI_LISTSongSong_IndexTone_Index; SPK=SPK; /延时void DelayMS(uint ms) uchar t; while(ms-) for(t=0;t120;t+); /主程序void main() P2=0xc0; SPK=0; TMOD=0x00; /T0方式0 IE=0x83; IT0=1; IP=0x02; while(1) while(K1=1); /未按键等待 while(K1=0); /等待释放 TR0=1

8、; /开始播放 Tone_Index=0; /从第0个音符开始 /播放过程中按下K1可提前停止播放(K1=0)。 /若切换音乐段会触发外部中断,导致TR0=0,播放也会停止 while(SongSong_IndexTone_Index!=-1&K1=1&TR0=1) DelayMS(300*LenSong_IndexTone_Index); /播放延时(节拍) Tone_Index+; /当前音乐段的下一音符索引 TR0=0; /停止播放 while(K1=0); /若提前停止播放,按键未释放时等待 安装与调试:安装过程:1 检查印刷电路板有无断路、短路,若有,首先处理好。2 焊接顺序:先焊单

9、片机,在焊接各分块电路,先焊平面的,后焊立体的,原则是有利于焊接。要求卧装水平、竖装垂直、相同元件等高。要特别注意元器件的安装方向!3 焊接要点:将元件整形后插入对应位置,电路板平放在台面上,一手握烙铁对焊盘和引脚同时接触预热,另一手持焊锡丝与焊盘处烙铁接触,使锡丝熔化,当锡丝熔化一定量时(多了不好少了不行),立即将锡丝离去,烙铁继续保持少许时间,让焊锡围绕焊盘自由流动,形成一个完全覆盖焊盘的钟形(忌讳球形)焊点。切勿将焊锡先溶化在烙铁上再去焊接,这样锡丝里的助焊剂在未焊接前先挥发了,不利于焊接,而且焊点没有光泽。4 剪脚:元件焊好后,将多余引脚剪掉,剪脚后的焊点应露出引脚0.5-1mm。本课

10、设要求引脚露出2mm,以利于元件重复使用。5 检查各元件是否出现焊接错误情况以及短路、断路情况。6 将5V直流电源接入单片机以及其他各分模块电源端。若发现元器件发热或者有异味,应立即切断电源检查。7.正常电路LED灯以及数码管会工作在较为稳定、准确的状态,可据此来进一步检测电路连接是否、存在问题调试过程:接上5V电源后,按下K1键,会有音乐,随着K2的按下,音乐也随之改变。过程较为顺利。心得与体会:在这次课程设计中,我们把学习的单片机理论知识运用到了实践中,加深了我们对单片机理解,同时熟悉了单片机的使用,加强了我们的动手能力。在电路的焊接方面,也学到了一些知识,如怎样使排版好看,不要杂乱无章。

11、焊接时,要注意很多的细节,排线走线都要小心,很容易造成短路。元件清单如下:22pf的电容两个12MHZ晶振一个10K电阻一个10uf电容一个2个按键1个共阳数码管8个1K的电阻1个蜂鸣器1个89S52单片机参考文献:1 .谢维成、杨加国 单片机原理与应用及c51程序设计.北京:清华大学出版社2.阎石.数字电子技术基础.北京:高等教育出版社,20063.谭浩强 C程序设计(第三版).北京:清华大学出版社4.童诗白 模拟电子技术基础.北京:清华大学出版社5.王一群 怎样用电脑设计电子线路 福建 科学出版社6.王宏研,张鑫 电子综合设计实验教程 山东大学出版社7.陈永甫.多功能集成电路555经典应用实例第一集.北京:电子工业出版社8.王新闲.通用集成电路速查手册.山东:山东科学出版社,20059.崔瑞雪、张增良.电子技术动手实践.北京:北京航空航天出版社,2007原理图如下:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号