音乐跑马灯.docx
- 文档编号:25845948
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:35
- 大小:239.41KB
音乐跑马灯.docx
《音乐跑马灯.docx》由会员分享,可在线阅读,更多相关《音乐跑马灯.docx(35页珍藏版)》请在冰豆网上搜索。
音乐跑马灯
2009级电子信息工程
音乐跑马灯
设计题目
音乐跑马灯的设计
姓名及
学号
何松林20090342063
张久琴20090342076
秦枫洁20090342082
学院
工程技术学院
专业
电子信息工程
班级
2009级2班
指导教师
江绍明
2012年5月
目录
1引言1
2方案比较与选择2
2.1复位电路2
2.2显示模块2
3芯片介绍4
3.1AT89S52单片机特点及引脚图4
3.2LCD12864液晶显示器6
4系统方案设计8
4.1总体框图8
4.2关键电路选型8
4.2.1时钟电路8
4.2.2复位电路9
4.2.3电源接口电路9
4.2.4按键及下载口电路10
4.2.5播放电路10
4.2.5液晶显示电路10
4.2.7跑马灯电路11
5硬件测试12
6程序流程图13
7软硬件结合测试14
8总结15
9致谢16
附录17
原理图17
PCB图18
元件清单19
参考文献19
源程序20
实物图片30
摘要
本数字微电阻测量为单片机AT89S52为控制中心的简易微电阻测量仪器。
主要由精密恒流源、按键及下载口电路、控制电路、显示电路等部分组成。
根据题目要求,本设计可显示歌词,播放歌曲并伴随彩灯闪烁;并且通过单片机控制歌词显示的方式以及歌曲播放和彩灯闪烁方式;将P0.0-P0.7口作为LCD歌词显示输出,P2.7口作为歌曲播放输出,P3.0-3.7口作为彩灯闪烁输出彩灯按照显示歌词的字数个数来亮起。
视觉效果为显示歌词,播放歌曲并伴随彩灯闪烁。
关键字:
恒流源,LCD显示,同步,AT89S52单片机
Abstract
ThisdigitalmicroresistancemeasurementsformonolithicintegratedcircuitAT89S52forthecontrolcenterofsimplemicroresistancemeasurementinstruments.Mainlybytheprecisionconstantcurrentsource,buttonsanddownloadmouthcircuit,controlcircuit,showcircuitcomponents.Accordingtothetopicrequest,thisdesigncanshowthelyrics,playsongsandwithflashinglights;Andthroughthesingle-chipmicrocomputercontrol,thewayoflyricsdisplaysongsplayedandcolorfullightsflashingway;WillP0.0-P0.7mouthasLCDdisplayoutputoflyrics,P2.7mouthsongsplayedasoutput,P3.0-3.7lightsflashinglightsmouthasoutputaccordingtoshowthenumberofcharacterslyricstolightup.Visualeffecttoshowthelyrics,playsongsandwithcolorfullightsflashing.
Keyword:
constantcurrentsource,LCDdisplay,synchronization,AT89S52SCM
1引言
目前,音乐跑马灯的设计方法很多,有利用单片机控制的、有利用传感器控制的,还有利用EDA控制的等等。
在简化设计步骤和节约实验器材的情况下,为了简化硬件电路,也可采用PLCS7-20CN控制的,虽然硬件电路比较简便,但是实验程序更复杂,实验步奏更繁琐;对于编写程序是个比较困难的问题。
通常采用单片机控制的方法,即利用单片机的端口来控制LCD、彩灯以及音乐播放,在程序编写上更容易编写,程序的可编译性更强。
本设计利用AT89S52单片机来实现音乐跑马灯的设计。
用一恒流源供电,当按下“开始”按键时单片机开始输出,LCD显示程序所写歌词,彩灯开始闪烁,音乐播放和歌词显示开始同步播放;当按下“停止”按钮时音乐播放停止,彩灯停止闪烁,LCD显示停止。
当再次按下“开始”按钮时LCD显示程序所写歌词,彩灯开始闪烁,音乐播放和歌词显示开始同步播放。
单片机系统通过对采用数据进行扫描,控制D/A转换器转换,并根据按键控制端口输出。
此方案思路清楚,电路简单,便于操作。
2方案比较与选择
2.1复位电路
复位电路的基本功能是:
系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。
(1)RC复位电路。
图2-1所示的RC复位电路可以实现上述基本功能。
图2-1RC复位电路
(2)图2-2所示的复位电路增加了二极管,在电源电压瞬间下降时使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。
可以解决电源毛刺造成系统不稳定,而且电源缓慢下降也能可靠复位。
图2-2增加了二极管的复位电路
方案
(2)虽然相对更好,但对设计中不是太精细,可以选择第
(1)种方案,原理操作起来也较简便。
2.2显示模块
为了显示歌词,特在电路中加了一个显示的模块,这样能达到唱歌和歌词同步的效果,像是一个播放器。
(1)1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。
(2)12864字符显示带中文字库的128X64-0402B每屏可显示4行8列共32个16×16点阵的汉字,每个显示RAM可显示1个中文字符或2个16×8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。
带中文字库的128X64-0402B内部提供128×2字节的字符显示RAM缓冲区(DDRAM)。
字符显示是通过将字符显示编码写入该字符显示RAM实现的。
根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。
三种不同字符/字型的选择编码范围为:
0000~0006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H~7FH显示半宽ASCII码字符,A1A0H~F7FFH显示8192种GB2312中文字库字形。
字符显示RAM在液晶模块中的地址80H~9FH。
字符显示的RAM的地址与32个字符显示区域有着一一对应的关系。
方案
(2)中12864具有更多的显示字符,在本设计中需要用到的显示模块也是多行显示,故选择方案
(2)。
3芯片介绍
3.1AT89S52单片机特点及引脚图
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
AT89S52使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,AT89S52拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准性功能:
(1)与MCS-51单片机产品兼容;
(2)K支持在线编程(ISP)的FLASH结构程序存储器,1000次擦写寿命;
(3)全静态操作:
0Hz-33MHz;
(4)三级加密程序存储器;
(5)32个可编程I/O口线;
(6)3个16位定时器/计数器;
(7)6个中断源;
(8)全双工UART串行通道;
(9)低功耗空闲和掉电模式;
(10)掉电后中断可唤醒;
(11)看门狗定时器;
(12)双数据指针;
(13)掉电标识符。
图3-1AT89S52单片机的引脚配置图
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0不具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原
因,将输出电流。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能:
P3.0
RXD(串行输入口);
P3.1TXD(串行输出口);
P3.2
(外中断0);
P3.3
(外中断1);
P3.4T0(定时/计数器0);
P3.5T1(定时/计数器1);
P3.6
(外部数据存储器写选通);
P3.7
(外部数据存储器读选通);
3.2LCD12864液晶显示器
12864汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
主要技术参数和显示特性:
电源:
VDD3.3V~+5V(内置升压电路,无需负压)。
(1)控制器:
ST7920
(2)显示内容:
128×64
(3)显示颜色:
黄绿
(4)显示角度:
6:
00钟直视
(5)LCD类型:
STN
(6)与MCU接口:
8位或4位并行/3位串行
(7)配置LED背光
(8)多种软件功能:
光标显示、画面移位、自定义字符、睡眠模式等。
表1128X64引脚说明
引脚号
引脚名称
方向
功能说明
1
VSS
-
模块的电源地
2
VDD
-
模块的电源正端
3
V0
-
LCD驱动电压输入端
4
RS(CS)
H/L
并行的指令/数据选择信号;串行的片选信号
5
R/W(SID)
H/L
并行的读写选择信号;串行的数据口
6
E(CLK)
H/L
并行的使能信号;串行的同步时钟
7
DB0
H/L
数据0
8
DB1
H/L
数据1
9
DB2
H/L
数据2
10
DB3
H/L
数据3
11
DB4
H/L
数据4
12
DB5
H/L
数据5
13
DB6
H/L
数据6
14
DB7
H/L
数据7
15
PSB
H/L
并/串行接口选择:
H-并行;L-串行
16
NC
空脚
17
/RET
H/L
复位低电平有效
18
NC
空脚
19
LED_A
(LED+5V)
背光源正极
20
LED_K
(LED-0V)
背光源负极
逻辑工作电压(VDD):
4.5~5.5V
电源地(GND):
0V
工作温度:
-20℃~70℃
存储温度:
-30℃~80℃
4系统方案设计
4.1总体框图
本设计选用AT89S52的单片机来控制歌曲播放和歌词显示。
采用直流电源为其提供基准电压+5V,采用12864LCD显示,小喇叭播放音乐。
根据设计的要求,设计的系统原理结构如3-1所示:
图4-1单片机系统原理图
4.2关键电路选型
4.2.1时钟电路
在单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。
根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式。
我们采用内部时钟方式,如图4-2-1所示。
图4-2-1晶振电路
在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,C6和C7取31pF左右,晶振的频率取值范围1.2MHz~12MHz。
根据实际情况,本设计采用12MHz作为系统的外部晶振,电容值取30pF。
4.2.2复位电路
单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。
无论是单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。
所以,必须弄清楚单片机复位的条件、复位电路和复位后的状态。
单片机复位的条件是,必须使RST引脚(9脚)加上持续两个机器周期(即24个振荡周期)的高电平。
例如,若时钟频率为12MHz,每机器周期为1us,则只需2us以上时间的高电平。
在RST引脚出现高电平后的第二个周期执行复位。
单片机常见的复位电路有上电复位电路和按键复位电路。
为了方便系统的硬件初始化,我们采用按键复位电路。
如图5-2所示。
图4-2-2单片机复位电路
4.2.3电源接口电路
图4-2-3电源电路
电源由外接端口连接5V电压参考源,可满足本系统单片机、彩灯、LCD和小喇叭的供电要求。
其中采用两个电容并联,达到滤波的作用,以便得到稳定的电流。
4.2.4按键及下载口电路
图4-2-4ISP下载口
为了单片机每次修改后方便下载程序,设计中选用ISP了下载口。
4.2.5播放电路
图4-2-5音乐播放电路
为了喇叭的驱动,用一个三极管来连接,这样比直接用端口来驱动,达到的效果更准确。
4.2.5液晶显示电路
图4-2-6液晶显示电路
由于采用的是并行,故直接将PSB连接高电平。
4.2.7跑马灯电路
图4-2-7跑马灯电路
5硬件测试
选择板子转印,制版。
就绪后根据PCB布线,焊接电路元件,焊接好电路后,(其中单面板先焊接飞线,然后再焊接其它元件)。
由于布线比较密集,尤其是集成块边上,在焊接过程中对于相邻比较近的焊盘需要小心焊接,以防焊料将相邻焊盘连到一起造成短路。
焊接好后,在5V的电源上测试硬件,测试单片机20脚电压是否为低,40脚是否是高电平。
接上电源液晶亮,调节屏幕亮度,说明硬件没问题。
接下来就是调试程序。
6程序流程图
图6-1软件流程图
程序通过单片机的T2产生中断,来调用歌词显示程序和跑马灯程序,达到一种同步的效果。
按下复位键后,将从头开始。
7软硬件结合测试
通过对音乐程序,跑马灯程序,然后是液晶程序三个大的模块程序依次进行测试,通过后,在对三个程序进行整合,使之达到设计的要求。
三个程序分别能实现单个功能,可是在整合的过程中遇到了问题,因为唱一句歌词,液晶显示一句,而且液晶还得提前显示下一句要唱的歌词,这里面的逻辑实现起来只有通过定时器T2(其他的占用了),对定时器T2的使用与其他定时器不同,需要软件清零。
12864显示具有保留的功能,又必须对显示完一句做处理,不然会出现歌词,上一句歌词还有部分显示在液晶上。
然后对跑马灯的亮灭有要求,既一句歌词几个字,就几个灯闪亮。
最终在江老师的帮助下完成了基本功能。
8总结
在此次设计中,开始由于对整个设计思路没有明确好,导致后期工作量很大,同组人员分配的不合理,至于大家都非常忙碌。
起初在对硬件电路的调试中,出了很多问题,在江老师的细心指导和帮助下,纠正了错误。
对于解决一些出现的基本问题有了新的思路和方法,通过这次电子设计,我们学到了知识,懂得了单片机的更多使用原理。
对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机硬件及C语言掌握得不够好。
在这次的电子大赛设计过程中,我们遇到了很多的问题。
首先是对电路的优化,硬件可以通过改变一些管脚连接来实现更方便的布线,是整个电路更合理。
通过这次设计,进一步掌握单片机理论知识,知道AT89S52单片机的原理、编程和功能的应用,充分提高动手能力和排除故障的能力。
同时通过课程设计加深了我们对单片机的认识和兴趣,发挥了我们的创新能力。
9致谢
本设计是在我们指导老师江绍明老师的亲切关怀与细心指导下完成的,尤其是对程序的检查和校正,江老师给予了细心的指导和不懈的支持,值得一提的是,江绍明老师宅心仁厚,对学生认真负责,在她的身上,我们可以感受到一个学者的严谨和务实,这些都让我们获益菲浅,并且将终生受用无穷,希望借此机会向江绍明老师表示最衷心的感谢!
此外,本设计最终得以顺利完成,也是与我院薛世华老师的帮助分不开的,在硬件电路的指导和帮助上,给了我们很多的建议,在此对薛老师表示深深的感谢!
附录
原理图
PCB图
元件清单
PartType
Designator
Footprint
0.1u
C3
RAD0.2
0.1u
C1
RAD0.2
5.1K
R10
AXIAL0.4
10K
R1
AXIAL0.4
10K
W1
SIP-3
10u
C4
RB.1/.2
10u
C5
RB.1/.2
10u
C2
RB.1/.2
12M
Y1
JINGZHEN
30p
C7
RAD0.2
30p
C6
RAD0.2
330
R2-R9
AXIAL0.4
8550
Q1
TO-92A
12864
U3
YEJING
AT89S52
U1
DIP-40
CON2
J2
SIP2
ISP
J4
ISP
LED
D0-D6
RB.1-.2
PAIZU_8
U2
PAIZU
SPEAKER
LS1
LS
SW-PB
S1-S4
ANJIAN
参考文献
[1]康华光.电子技术基础[M].高等教育出版社.2005
[2]唐颖.单片机原理与应用及C51程序设计[M].北京大学出版社.2008
[3]胡辉.单片机原理与应用[M].北京中国水利水电出版社.2007
[4]王丽娟,荣政,戴宝华,徐军.C程序设计[M].西安电子科技大学出版社.2006
源程序
/*实验名称:
放音乐
功能:
从蜂鸣里放出音乐
作者:
05-02-01
*/
#include
#include
#include"intrins.h"
#pragmaot(0)
#defineuintunsignedint
#defineucharunsignedchar
#defineOSFREQ11059200//所使用的晶振频率
sbitio_LCD12864_RS=P2^3;
sbitio_LCD12864_RW=P2^4;
sbitio_LCD12864_EN=P2^5;
#defineio_LCD12864_DATAPORTP0
#defineSET_DATAio_LCD12864_RS=1;
#defineSET_INCio_LCD12864_RS=0;
#defineSET_READio_LCD12864_RW=1;
#defineSET_WRITEio_LCD12864_RW=0;
#defineSET_ENio_LCD12864_EN=1;
#defineCLR_ENio_LCD12864_EN=0;
ucharflag=0,count=0,k=0,m=0,n=0;
bitcnt=0;
ucharbuffer_2[17]={""};
unsignedcharcodeGeCi[]={"两只老虎两只老虎跑得快跑得快一只没有耳朵一只没有眼睛真奇怪真奇怪"};
unsignedcharcodeZuoZhe[]={"何松林张久琴秦枫洁"};
unsignedcharcodeLED[]={0xFE,0xFD,0xFB,0xF7,
0xEF,0xDF,0xBF,0x7F,
0x7F,0xBF,0xDF,0xEF,
0xF7,0xFB,0xFD,0xFE,
0xFC,0xF9,0xF3,0xE7,
0xCF,0x9F,0x3F,0x7E,
0x7E,0xBD,0xDB,0xEF,
0xDB,0xBD,0x7E,0xFF,
0x00,0xFF,0x00,0x01};//流水灯花样//
/**************音符频率表****************/
uintcodenotefreq[]={523,587,659,698,784,880,988,
1047,1175,1319,1396,1568,1760,1976,
2093,2349,2637,2793,3136,3520,3961};
/*************音名***************/
ucharcodenotename[]={'c','d','e','f','g','a','b',
'1','2','3','4','5','6','7',
'C','D','E','F','G','A','B',0};
/*************半音频率表*****************/
uintcodehalfnotefreq[]={554,622,740,831,933,
1109,1245,1480,1161,1865,
2218,2489,2960,3322,3729};
/*************音名***************/
ucharcodehalfnotename[]={'c','d','f','g','a',
'1','2','4','5','6',
'C','D','F','G','A',0};
sbitBEEP_PWR=P2^7;
ucharFreqSandH,FreqSandL;/*产生方波的定时器的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐 跑马