欢迎来到天天文库
浏览记录
ID:27647899
大小:245.22 KB
页数:9页
时间:2018-12-05
《单片机音乐盒课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、哈尔滨理工大学单片机原理及应用课程设计报告设计题目:礼品发音盒设计专业:电气T程及其自动化班级:电气12—1姓名:马玉明学号:1230070113一、设计目的1、通过本次课程设计加深对单片机课程的认识和掌握,对单片机的应用做进一步了解。2、通过本次课程设计提高学生的编程能力、调试能力、文献资料查阅能力,为毕业设计和以盾工作打基础。3、利用1/0口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲,可以通过按键选择歌曲。二、设计意义电子音乐已广泛地应用于社会生活的各个领域。其类型从音乐卡片到CD、MP3等多种多样,制作原理也各不相同。声音是通过振动产生的。单片机对某一I
2、/O引脚以一定的频率循环置1和清0,这一引脚便产生一定频率的方波,该方波通过放大后作用于扬声器便产生一定频率的声音。若改变输出方波的频率,产生的声咅也就改变了。通过控制输出方波的时间长短,声咅的长短也就得到控制。因此,根据乐谱,单片机就可产生电子音乐。音乐屮最关键的两个要素是音符和节拍。单片机控制的音乐发生器系统由硬件电路和软件W部分构成。利用单片机控制的电子音乐发生器软硬件上具有独特的优点,系统的开发周期短,成木低,电路制作容易。更换歌曲时,硬件电路无需作任何修改,只需修改软件即吋实现。三、设计思路乐音听起来有的高低之分,这就叫音高。产生不同频率的音频脉冲就能产生咅乐。单片
3、机产生不同频率的脉冲可以利用它的定时/计数器来产生特定方波频率信号。以下将分析音乐的音符和对应的频率,以及单片机定时计数的关系。采用12MHz时钟频率,利用单片机的内部定时器/计数器0,使其工作在模式1,定吋屮断,然后控制某一引脚的输出每次取反,就可以在该引脚输出相应的方波频率。改变计数初值就可以改变频率。即要产生音频输出方波,首先要算出某一音频的周期(1/频率),然盾将此周期除以2得到半个周期的时间。定时器的定时时间等于半个周期,定时时间到就将输出脉冲取反,重复上述过程,就可在该引脚上得到某一音频的脉冲。其屮,定吋吋间=(216-计数初值)X吋钟周期X12或定吋吋间=(21
4、6-计数初值)X机器周期因此计数初值=216-定时时间机器周期除了音符以外,节拍也是音乐的关键组成部分。节拍实际上就是音持续时间的1<:短,在单片机系统里可以用延时来实现。如果1/4拍的延时设为0.1秒,则1拍的延吋是0.4秒。以此类推:假设1/4拍执行一次延时程序,则1/2拍就执行两次延吋程序,所以只要求出1/4延吋吋间,其余的节拍就是它的倍数。U!1、总体设计单片机2、硬件设计C1■IhC2dhnrs五、附录1、程序框幵始初始化z设置节拍起始位置设置间距读取音节、音符暑节拍结束,•音乐结束>音乐结束2、8255简介引脚功能:RESET:复位输入线,当该输入端处于高电平
5、吋,所有A部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=O时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.RD:读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且/CS=O时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。338.3.18255弓I脚WR:写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=O时,允许CPU将数据或控制字写入8255。DO〜D7:三态双向数据总线,82
6、55与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。8255具有3个相互独立的输入/输出通道端口,用+5V单电源供电,能在以下三种方式下工作。方式o基本输入输出A式;方式1选通输入/出方式;方式2双向选通输入/输岀方式;PAO〜PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。工作于三种方式中的任何一种;PBO〜PB7:端I」B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。不能工作于方式二;PCO〜PC7:端口C输入输出线,一个8位的数据输山锁存器/缓冲
7、器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端UI,每个4位的端U乜含一个4位的锁存器,分别与端UA和端UB配合使用,可作为控制信号输出或状态信号输入端口。’不能工作于方式一或二。A1,AO:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.当A1=O,A0=0吋,PA口被选择;当A1=O,AO=1时,PBI」被选择;当Al=l,A0=0时,PC口被选择;当Al=l.AO=1时,控制寄存器被选择.3、整体程序:#defineucharunsignedchar/
此文档下载收益归作者所有