收藏 分享(赏)

数字音乐盒的课程设计.doc

上传人:精品资料 文档编号:8498483 上传时间:2019-06-30 格式:DOC 页数:22 大小:471.50KB
下载 相关 举报
数字音乐盒的课程设计.doc_第1页
第1页 / 共22页
数字音乐盒的课程设计.doc_第2页
第2页 / 共22页
数字音乐盒的课程设计.doc_第3页
第3页 / 共22页
数字音乐盒的课程设计.doc_第4页
第4页 / 共22页
数字音乐盒的课程设计.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、课程设计说明书 第 I 页数字音乐盒的设计摘 要传统音乐盒,多是机械型的,体积笨重,发音单调,水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。本设计是一个基于AT89C51系列单片机的音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路、显示电路以及蜂鸣器组成。使用四个按键控制音乐盒,其中两个按键用来控制歌曲的播放、暂停,另两个用来控制液晶上歌曲次序的变化,本音乐盒共有三首歌曲。播放歌曲时,相应歌曲对应相应数码管上歌曲次序及歌名的显示。关键词:AT89C51,蜂鸣器,LCD 液晶显示,音乐盒

2、课程设计说明书 第 II 页目 录1 绪论 .11.1 课题描述 .11.2 基本工作原理及框图 .12 相关芯片及硬件电路设计 .12.1 AT89C51 芯片 22.1.1 AT89C51 的功能特性 .22.1.2 AT89C51 的主要性能参数 .22.2 时钟电路 .32.3 复位电路 .32.4 按键电路 .42.5 蜂鸣器电路 .42.6 显示电路 .52.6.1 线段的显示 52.6.2 字符的显示 52.7 总体电路 .63 系统软件设计 .73.1 程序主要流程 .73.2 程序设计 .84 系统软件仿真 .15总 结 .18致 谢 .19参考文献 .20课程设计说明书 第

3、 1 页1 绪论1.1 课题描述 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统的音乐盒大多数是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,使用方便,可以批量生产,具有一定的商业价值。本设计是基于单片机的数字音乐盒设计,由单片机 AT89C51 芯片和 LED 数码管为核心,辅以必要的电路,构成的一个单片机电子数字音乐盒 1。 1.2 基本工作原理及框图本次设计是一个基于AT89C51单片机的音乐盒,该音乐盒主要

4、由时钟电路、复位电路、按键电路、蜂鸣器以及显示电路组成。使用其中两个按键来控制播放和暂停另外两个按键用来控制换曲。利在液晶上显示曲目的更换,共三首音乐,蜂鸣器每播放一首歌时液晶上显示相对应的歌曲次序。系统组成框图如图1。图 1 基本工作原理框图2 相关芯片及硬件电路设计AT89C51单片机LCD 液晶显示蜂鸣器时钟电路复位电路按键电路课程设计说明书 第 2 页2.1 AT89C51 芯片图 2 AT89C51 引脚图2.1.1 AT89C51 的功能特性AT89C51 提供以下标准功能:4K 字节 Flash 闪速存储器, 128 字节内部 RAM,32个 I/O 口线,两个十六位定时/计数器

5、,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。2.1.2 AT89C51 的主要性能参数AT89C51 主要性能参数如下: 与 MC51 产品指令系统完全兼容 K 字 节 可 编 程 闪 烁 存储器 寿 命 : 1000 写 /擦 循 环 数 据 保 留 时 间 : 10 年课程设计说明书 第 3 页

6、全 静 态 工 作 : 0Hz-24Hz 三 级 程 序 存 储 器 锁 定 128*8 位 内 部 RAM 32 可 编 程 I/O 线 两 个 16 位 定 时 器 /计 数 器 5 个 中 断 源 可 编 程 串 行 通 道 低 功 耗 的 闲 置 和 掉 电 模 式 2.2 时钟电路时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢 2。为达到振荡周期是12MHZ 的要求,这里要采用 12MHZ 的晶振,另外有两个 22PF 的电容,晶振

7、引脚分别连到 XTAL1 和 XTAL2 振荡脉冲输入引脚。时钟电路如图 3。图 3 时钟电路2.3 复位电路单片机在启动时都需要进行复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。51系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位 3。单片机系统的复位方式有:手动按钮复位和上电复位。复位电路如图4。课程设计说明书 第 4 页图 4 复位电路2.4 按键电路按键的闭合与否,反映在行线输出电压上就呈现高电平或低电平,如

8、果高电平表示键断开,低电平则表示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。P1.0 ,P1.1 ,P1.4,P1.5 作为控制按键,其中 P1.0-P1.1 扫描行,P1.4-P1.5 扫描列;可通过功能键选择乐曲、暂停、播放。按键电路如图 5。图 5 按键电路2.5 蜂鸣器电路电路中蜂鸣器是发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流/方波)等 4。由于蜂鸣器的工作电流一般比较大,单片机的I/O口是无法直接驱动的(但AVR可以驱动小功率蜂鸣器) ,所以要利用放大电路

9、来驱动,一般使用三极管来放大电流就可以了。蜂鸣器由一个三极管,两个电阻和一个二极管组成。蜂鸣器电路如图6。课程设计说明书 第 5 页图 6 蜂鸣器电路2.6 显示电路2.6.1 线段的显示点阵图形式液晶由MN 显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区 1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的 16字节的内容决定,当(000H )=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FF

10、H 时,则屏幕的右下角显示一条短亮线;当(000H)=FFH, ( 001H)=00H, (002H)=00H, (00EH)=00H, (00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理 5。2.6.2 字符的显示用 LCD 显示一个字符时比较复杂,因为一个字符由 68 或 88 点阵组成,要找到和显示屏幕上某几个位置对应的显示 RAM 区的 8 字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根

11、据在 LCD 上开始显示的行列号及每行的列数找出显示 RAM 对应的地址,设立光标,在此送上该字符对应的代码即可 6。显示电路如图 7。课程设计说明书 第 6 页图 7 显示电路2.7 总体电路总结时钟电路、复位电路、按键电路、蜂鸣器以及显示电路,把其放入一个电路。得到总体的电路。总体电路如图 8。图 8 总体电路图课程设计说明书 第 7 页3 系统软件设计3.1 程序主要流程流程图如图 9 所示。初始化界面K 3 是否按下K 4 是否按下K 1 是否按下K 2 是否按下停止切换上一首切换下一首播放音乐开始计时停止音乐停止计时NNNYYYY开始图 9 流程图课程设计说明书 第 8 页3.2 程

12、序设计对音乐do re mi fa so la si分别编码为17,重音do编为8,重音re编为9,停顿编为0。播放长度以十六分音符为单位(在本程序中为165ms) ,一拍即四分音符等于4个十六分音符,编为4,其它的播放时间以此类推。音调作为编码的高4位,而播放时间作为低4位,如此音调和节拍就构成了一个编码。以0xff作为曲谱的结束标志 7。举例1:音调do,发音长度为两拍,即二分音符,将其编码为0x18。举例2:音调re,发音长度为半拍,即八分音符,将其编码为0x22歌曲播放的设计。先将歌曲的简谱进行编码,储存在一个数据类型为unsigned char的数组中。程序从数组中取出1个数,然后分

13、离出高4位得到音调,接着找出相应的值赋给定时器0,使之定时操作蜂鸣器,得出相应的音调;接着分离出该数的低4位,得到延时时间,接着调用软件延时。程序:#include #include #define uchar unsigned char#define uint unsigned intuchar m,n; uchar i,timecount=0,timesec=0,timemin=0,timecheck=0;char r0=2;sbit beepIO=P30;typedef unsigned char BYTE;typedef unsigned int WORD;typedef bit BO

14、OL ; sbit rs = P20;sbit rw = P21;sbit ep = P22;sbit pausekey=P11;uchar k,q,f;uchar code dis1 =“1 ji mo sha zhou“; uchar code dis2 = “2 tong hua“;uchar code dis3 =“3 qian nian lian“;uchar code T492=0,0,0xF8,0x8B,0xF8,0xF2,0xF9,0x5B,0xF9,0xB7,0xFA,0x14,0xFA,0x66,0xFA,0xB9,0xFB,0x03,0xFB,0x4A,0xFB,0x8F

15、,0xFB,0xCF,0xFC,0x0B,0xFC,0x43,0xFC,0x78,0xFC,0xAB,0xFC,0xDB,0xFD,0x08,0xFD,0x33,0xFD,0x5B,0xFD,0x81,0xFD,0xA5,0xFD,0xC7,0xFD,0xE7,0xFE,0x05,0xFE,0x21,0xFE,0x3C,0xFE,0x55,0xFE,0x6D,0xFE,0x84,0xFE,0x99,0xFE,0xAD,0xFE,0xC0,0xFE,0x02,0xFE,0xE3,0xFE,0xF3,0xFF,0x02,课程设计说明书 第 9 页0xFF,0x10,0xFF,0x1D,0xFF,0

16、x2A,0xFF,0x36,0xFF,0x42,0xFF,0x4C,0xFF,0x56,0xFF,0x60,0xFF,0x69,0xFF,0x71,0xFF,0x79,0xFF,0x81;uchar code music12=0,4, 22,4,22,4,17,4,15,4,15,4,17,12,15,4,15,2,17,2,15,4,13,4,13,4,15,12,0,4,20,4,20,4,20,4,17,4,20,4,20,4,20,4,17,4,22,4,17,4,17,4,15,4,15,4,17,12,22,4,22,4,17,4,15,4,15,4,17,12,15,4,15,2

17、,17,2,15,4,13,4,13,4,15,12,20,4,20,4,20,2,17,2,17,4,20,4,20,4,20,2,17,2,17,2,17,2,24,4,20,4,20,2,17,2,17,4,20,4,22,12,17,4,22,4,25,4,25,4,17,4,22,4,25,8,24,4,22,2,24,2,22,4,20,4,15,4,17,12,15,4,15,4,15,4,10,4,15,4,17,4,20,8,17,4,24,4,24,4,20,4,15,4,17,12,17,4,22,4,25,4,25,4,17,4,22,4,25,8,29,4,27,2,

18、29,2,27,4,25,4,25,4,27,12,29,4,29,2,27,4,25,4,27,6,27,2,25,4,24,4,20,4,20,2,17,2,20,4,20,2,22,2,22,16,0xFF,0xFF;uchar code music22=0,4, 16,6,19,2,19,6,16,2,14,6,0,10,16,6,19,2,19,6,16,2,14,8,0,8,26,8,21,6,24,2,23,6,21,2,19,8,21,16,0,8,16,6,19,2,19,6,16,2,14,8,0,8,26,8,21,6,23,2,21,14,24,6,23,2,21,6,

19、19,2,16,6,14,2,13,8,14,16,0,4,19,6,19,2,21,6,21,2,23,8,21,4,0,4,19,6,19,2,16,6,19,2,16,8,14,6,0,4,19,6,19,2,21,6,21,2,23,8,21,4,0,4,19,6,19,2,16,6,19,2,16,8,14,6,0,4,26,16,21,4,26,4,21,4,26,16,21,4,26,16,0,4,16,8,16,8,14,8,16,8,21,4,26,4,21,4,26,4,0,8,16,8,16,8,14,8,16,8,21,4,26,4,21,4,26,4,0,8,19,8

20、,19,6,21,2,16,8,0,8,19,6,21,2,19,6,21,2,16,8,0,8,21,8,26,8,21,4,24,12,23,6,21,2,19,8,21,16,14,4,21,4,14,4,19,4,16,6,14,2,13,8,14,16,0xFF,0xFF;uchar code music32=0,4,27,4,19,4,19,4,27,4,26,4,26,2,27,2,24,8,22,4,17,4,24,4,22,4,19,16,15,4,12,4,12,4,15,4,17,8,19,8,26,6,26,2,26,4,24,4,24,4,19,4,19,8,27,4

21、,19,4,19,4,27,4,26,4,26,2,27,2,24,6,24,2,22,4,17,4,24,4,22,4,19,16,课程设计说明书 第 10 页15,4,12,4,12,4,15,4,17,8,19,8,19,6,19,2,19,4,17,4,14,4,14,4,14,4,7,4,12,24,0xFF,0xFF;uchar timetable =“00:00“;void delay(uchar p)uchar i,j; for(;p0;p-)for(i=181;i0;i-)for(j=181;j0;j-);BOOL lcd_bz()BOOL result;rs = 0;rw

22、= 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result = (BOOL)(P0 ep = 0;return result;void lcd_wcmd(BYTE cmd)while(lcd_bz();rs = 0;rw = 0;ep = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;课程设计说明书 第 11 页void lcd_pos(BYTE pos)lcd_wcmd(pos | 0x80

23、);void lcd_wdat(BYTE dat)while(lcd_bz();rs = 1;rw = 0;ep = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;void lcd_init()lcd_wcmd(0x38);delay(1);lcd_wcmd(0x0c);delay(1);lcd_wcmd(0x06);delay(1);lcd_wcmd(0x01);delay(1);void pause()uchar i,j;for(i=150;i0;i-)for

24、(j=150;j0;j-);void timecount_init() interrupt 3课程设计说明书 第 12 页 TH1=(65535-45872)/256;TL1=(65535-45872)%256;timecount+;if(timecount=20)timesec+;timecount=0;if(timesec=60)timesec=0;timemin+;void adfa() interrupt 0 timesec=0;timemin=0;r0+;delay(5);if(r011)r0=11;void adfii() interrupt 2 if(pausekey=0)bee

25、pIO=0;while(pausekey=0);while(pausekey=1);while(pausekey=0);delay(8);else timesec=0;timemin=0;r0-;delay(5);if(r0=0)r0=1;void T0_int() interrupt 1课程设计说明书 第 13 页beepIO=!beepIO;TH0=Tm0; TL0=Tm1;void zhuanhuan()timetable3=timesec/10+0;timetable4=timesec%10+0;timetable2=:;timetable0=timemin/10+0;timetabl

26、e1=timemin%10+0;void timedis()if(timecheck!=timesec)timecheck=timesec;zhuanhuan();lcd_pos(0x49);lcd_wdat(timetable0);lcd_wdat(timetable1);lcd_wdat(timetable2);lcd_wdat(timetable3);lcd_wdat(timetable4);void main()uchar i=0,lcd_check=0; TMOD=0x11;TH1=(65535-45872)/256;TL1=(65535-45872)%256;PX0=1;PX1=1

27、;EX0=1;EX1=1; EA=1; ET0=1; ET1=1;TR1=1; pausekey=1;lcd_init();while(1) 课程设计说明书 第 14 页if(r0=0) delay(1);lcd_pos(0);i = 0;while(dis1i != 0)lcd_wdat(dis222i);i+; if(r0=1) timedis();if(lcd_check!=r0) lcd_wcmd(0x01);delay(1);lcd_check=r0;lcd_pos(0);i = 0;while(dis1i != 0)lcd_wdat(dis1i);i+; m=music1i0;n=

28、music1i1; if(m=0x00)TR0=0;delay(n);i+;/ else if(m=0xFF)TR0=0;delay(30);i=0;timesec=0;timemin=0;/ else if(m=music1i+10) TR0=1;delay(n);TR0=0;pause();i+;elseTR0=1;delay(n);i+;if(r0=2) timedis();if(lcd_check!=r0) lcd_wcmd(0x01);delay(1);lcd_check=r0;lcd_pos(0);i = 0;课程设计说明书 第 15 页while(dis2i != 0)lcd_w

29、dat(dis2i);i+; m=music2i0;n=music2i1; if(m=0x00)TR0=0;delay(n);i+;/ else if(m=0xFF)TR0=0;delay(30);i=0;timesec=0;timemin=0;/ else if(m=music2i+10) TR0=1;delay(n);TR0=0;pause();i+;elseTR0=1;delay(n);i+;4 系统软件仿真在这里系统仿真我们使用实验室常用的 Protues 仿真软件,把总电路画入 ISIS 软件,把程序加入 Keil 软件,然后进行软件和硬件的统一调试 8。图 10 仿真初始界面课程设

30、计说明书 第 16 页图 11 仿真播放第一首图 12 仿真播放第二首课程设计说明书 第 17 页图 13 仿真播放第三首课程设计说明书 第 18 页总 结经过这段时间努力,在老师的耐心指导下,从设计、论证、修改到编程、调试,我的设计终于完成了。使我无论在理论基础知识还是在实际的操作能力上都有了较大的提高。论文的完成使我体会到了成功的喜悦,也懂得了一分耕耘一分收获的道理。学了一学期的单片机,对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,

31、这是第一次编写单片机的大程序,很有成就感。掌握了通过 wave6000、KEIL进行程序编译,以及 Proteus 软件仿真。通过单片机的设计,不断的发现错误,修改错误,在一个设计项目中都是一个团队协作,一个人的能力和知识都是有限的,要有较强的团队协作精神,组员之间互补。在这个过程中,老师的付出最多,给我们指导,为我们讲解,给我们检查错误,在此表示感谢,这次课程设计非常成功。课程设计说明书 第 19 页致 谢转眼间,十多天的单片机课程设计已经接近尾声。在这次的单片机课程设计过程中,我得到了许多人的帮助和指导。首先,我要感谢我的指导老师在课程设计中给予我的指导和无私的帮助,这是我能顺利完成这次单

32、片机课程设计的主要原因,其次,我也要感谢帮助过我的同学,他们也为我解决了不少设计上的难题。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。最后,再一次感谢所有再设计中帮助过我的良师益友。课程设计说明书 第 20 页参考文献1 谢辉.单片机原理及应用M北京:化学工业出版社,20102 杨居易.单片机课程设计指导书M北京:清华大学出版社,20093 张永枫.单片机应用实训教程M北京:清华大学出版社,20084 姜志红.51 单片机技术与应用系统开发案例精选.M 北京:清华大学出版社,20085 于凤明单片机原理及接口技术M北京:中国轻工业出版社1998.56 张荫等.单片机应用系统开发综合实例. M.北京:清华大学出版社,20087 戴仙金.51 单片机及其 C 语言程序开发实例.M北京:清华大学出版社,20088 夏继强. 单片机实验与实践教程M. 北京:北京航空航天大学出版社,2001.4

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报