远程点歌系统.docx
- 文档编号:9883253
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:25
- 大小:151.43KB
远程点歌系统.docx
《远程点歌系统.docx》由会员分享,可在线阅读,更多相关《远程点歌系统.docx(25页珍藏版)》请在冰豆网上搜索。
远程点歌系统
湖南人文科技学院
课程设计报告
课程名称:
单片机原理及应用课程设计
设计题目:
远程点歌系统
系别:
通信与控制工程系
专业:
通信工程
班级:
07级通信一班
学生姓名:
谢顺李贵阳
学号:
******17********
起止日期:
2010年6月8日~2010年6月22日
指导教师:
方智文刘伟元
教研室主任:
刘建闽
指导教师评语:
指导教师签名:
年月日
成绩评定
项目
权重
成绩
谢顺
李贵阳
1、设计过程中出勤、学习态度等方面
0.2
2、课程设计质量与答辩
0.5
3、设计报告书写及图纸规范程度
0.3
总成绩
教研室审核意见:
教研室主任签字:
年月日
教学系审核意见:
主任签字:
年月日
摘要
本课题研究的目的是研制一款使用携带方便的电子点歌系统,采用的主要技是利用单片机进行控制,该系统能够在液晶显示器上显示歌曲名称以及当前播放的时间,通过键盘选择歌曲,由扬声器播放歌曲。
本实验较好的解决了把输入汉字转化成BCD码,运行时在LCD显示器上显示相应的汉字,经实验调试较好地实现了系统的要求。
本系统。
采用单片机进行控制,利用液晶显示器显示,控制灵活,显示细腻,播放效果较好,制作成本低,可广泛用于家庭,歌厅、舞厅等场所,性价比较高。
关键词:
远程点歌;LED;89C52
基于89C52的远程点歌系统设计
设计要求
用户从客户机选择要播放的曲目,选择信息从8251串行口传给主控机,主控机作出判断驱动步进电机选碟,然后传送反馈信息给下位机并播放该曲目,放完后提示下一次选择,使用步进电机和显示灯表示演奏的开始和结束,客户端播放乐曲用面包板上的扬声器播放音乐;显示灯根据延时闪烁。
1方案论证与对比
1.1方案一
系统主体采用89C52单片机实现在系统复位方面选择X2502芯片而不是按键复位,按键复位电路简单但是利用X2502芯片复位可以减少对电路板的空间需求,x2502的看门口定时器功能还可以对单片机提供独立的保护系统,通过蜂鸣器。
键盘,步进电机实现其功能。
1.2方案二
采用89c52单片机通过与8255串口相连,通过键盘控制发光二极管进行选歌提示,由不同频的方波驱动蜂鸣器播放音乐。
1.3键盘连接方式方案比较
方案一:
独立式键盘
一个具有4个按键的独立式键盘,每一个按键的一端都接地,另一端接mega16的I/O口。
独立式键盘每一按键都需要一根I/O线,占用mega16的硬件资源较多。
因此独立式键盘只适合按键较少的场合。
键盘是一组按键或开关的集合,键盘接口向计算机提供被按键的代码。
特点:
使方便、结构复杂、成本高。
方案二:
矩阵式键盘
我们采用4×3矩阵式键盘,键盘的行线X0~X3通过电阻接+5V,当键盘没有键闭合时,所有的行线和列线断开,行线X0~X3均呈高电平。
当键盘上某一键闭合时,该键所对应的行线与列线短路,此时该行线的电平将由被短路的列线电平所决定。
如果将行线接至单片机的输入端口,列线接至单片机的输出端口,则在单片机的控制下使列线Y0为低电平,其余三根列线Y1、Y2、Y3均为高电平,然后单片机读输入口状态(即键盘行线状态),若X0、X1、X2、X3均为高电平,则Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。
如果Y0这一列没有键闭合,紧接着使列线Y1为低电平,其余列线为高电平,用同样的方法检查Y1这一列有无键闭合,如此类推。
这种逐行逐列地检查键盘状态的过程称为对键盘的扫描。
CPU对键盘的扫描可以采取程序控制的随机方式,CPU空闲时才扫描键盘;也可以采取定时控制方式,每隔一段时间,CPU对键盘扫描一次;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘发出的中断请求,对键盘进行扫描,以识别哪一个键处于闭合状态,并对键输入信息作相应处理[2]。
1.4系统方案对比论证
因为采用x25025和步进电机实现其功能虽然能见效对电路板的空间需求,但实现起来较麻烦,且我们的开发板上没有X2502hen步进电机,所以我们选择较简单的第种方案二,对于键盘选用,因为如果采用独立式键盘AVRmega16的I/O口对于方案一来说将是远远不够用的,为了节省I/O口,使我们的设计能够顺利进行,我们选用方案二——矩阵连接式键盘。
为了能够较为简单的编程和节省CPU的资源,我们采用定时扫描,每隔一段时间,CPU对键盘扫描一次,并将键值读入。
2单元电路设计
2.1主控制芯片
图1键盘部分电路的设计
在单片机系统中键盘中按钮数量较多时,为了减少I/O口的占用,常常将按钮排列成矩阵形式,如下图所示,在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按钮加以连接。
这样,一个端口(如P1口)就能组成4*4=16个按钮,比之直接将端口线用于键盘多出了一倍,而且线数越多。
区别越明显,比如再多加一条线就能组成20键的键盘,而直接用端口线则只能多一键(9)。
由此可见,在需要矩阵法来做键盘是合理的。
图2键盘电路设计图
判断键盘中有无键按下降全部行线置低电平,然后检测列线的状态。
只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按钮中,若所有均为高电平,则键盘中无键按下。
判断闭合键所在的位置;在确认有键按下后,即可进入确定具体闭合键的过程;其办法是:
依次将行线置为低电平,即在置某根行线为低电平时,其他线为高电平[3]。
2.28255串口结构图
图38255引脚图
RESET:
复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:
芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
RD:
读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:
写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:
三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:
端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
A0,A1:
地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.
当A0=0,A1=0时,PA口被选择;
当A0=0,A1=1时,PB口被选择;
当A0=1,A1=0时,PC口被选择;
当A0=1.A1=1时,控制寄存器被选[4]。
2.3复位电路设计
下图为复位电路原理图,复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序,并使其它功能单元处于一个确定的初始状态。
本复位电路采用的是按键复位,它是通过复位端经电阻与VCC电源接通而实现的,它兼具上电复位功能。
因本系统的晶振的频率为12MHz,所以,复位信号持续时间应当超过2μS才能完成复位操作。
图4复位电路结构图
2.4蜂鸣器电路设计图
图5蜂鸣器电路图
如图所示,蜂鸣器的正极接到VCC(+5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由单片机的P3.3引脚控制,当P3.3输出高电平时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P3.3输出低电平时,三极管导通,这样蜂鸣的电流形成回路,发出声音。
因此,我们可以通过程序控制P3.3脚的电平来使蜂鸣器发出声音关闭。
程序中改变单片机P3.3引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色和音调的声音。
另外,改变P3.3输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小,这我们都可以通过编程验证。
2.5LED显示电路
显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有:
发光二极管LED显示器、液晶LCD显示器、CRT显示器等。
LED显示器是现在最常用的显示器之一,如下图所示。
如图3-3所示,采用动态扫描显示,由6个数码管,8255I/O扩展芯片构成,通
过不断地对8255PA、PC口进行动态扫描[1]。
图6LED显示图
发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。
分段式显示器(LED数码管)由7条线段围成8字型,每一段包含一个发光二极管。
外加正向电压时二极管通
电发出清晰的光。
只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。
3系统软件工程流程图
本程序可以实现课程设计的基本要求,并可以通过按键播放6首不同的歌曲,通过复位电路重新选择播放歌曲。
3.1主程序流程图
图7主程序流程图
3.2蜂鸣器流程图
图8蜂鸣器流程图
3.3键盘工作流程图
图9键盘工作流程图
4系统功能测试与整体指标
通过按键S12,S13,S14,S17,S18,S19通过控制发光二极管的亮暗提示选着不同的歌曲,播放过程中,可以通过复位电路按复位键,重新选择歌曲,键盘与8255芯片与主控芯片89C52相连,通过内部时钟的中断产生溢出延时,从而在蜂鸣器P3.3口产生不同频率的方波,继而播放音乐。
经过测试,本课题能够成功通过按键由蜂鸣器播放出不同的6首歌曲,当一首歌曲播放完毕,或由复位键复位后,重新按键能换不同的歌曲,本次设计大体实现了课题需满足的要求。
5详细仪器清单
表格2仪表清单
仪器名称
数量
8255芯片
1
89C52芯片
1
键盘
1
蜂鸣器
1
发光二极管(LED)
8
6总结与思考及致谢
本次设计能够顺利的完成要感谢我的指导老师对我耐心的指导,感谢老师给我的帮助,同时也要感谢同学们对我的帮助,因为在设计的过程中遇到了很多的困难是老师和同学们帮我度过了那些难关。
在设计的过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次设计的最大收获,使我终身受益。
从这次的课程设计中,我意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,不仅使我真正的学会了数字温度计的设计,而且我相信通过这次的学习我能够达到举一反三的效果,同时这次的不足之处是在有些细节方面刚开始做的很不详细,我想原因在于自己平时对自己的学习要求的不够严格,才造成遇到一些问题显得惊慌失措,在日后我会克服这些缺点的。
参考文献
[1] 蒋廷彪、刘电霆等.单片机原理及应用[M].重庆:
重庆大学出版社,2005年1月.
[2] 李光、谢然苗.8051实验指导书电子电气综合实训系统[M].北京:
北京航天航空大学出版社,2009年9月.
[3]吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M].北京:
清华大学出版社,2002.
[5]张国勋.缩短ICL7135A/D采样程序时间的一种方法[J].北京航空航天大学学报,1993年第一期.
[6]高峰.单片微型计算机与接口技术[M].北京:
科学出版社,2003.
附录一:
设计原理图
图10设计原理图
附录二:
程序
#defineucharunsignedchar//定义一下方便使用
#defineuintunsignedint
#defineulongunsignedlong
#include
#include"ABSACC.H"
#definea8255_PAXBYTE[0xD1FF]/*PA口地址*/
#definea8255_PBXBYTE[0xD2FF]/*PB口地址*/
#definea8255_PCXBYTE[0xD5FF]/*PC口地址*/
#definea8255_CONXBYTE[0xD7FF]/*控制字地址*/
charcodedx516[3]_at_0x003b;//这是为了仿真设置的
unsignedchartemp;
sbitBEEP=P3^3;//喇叭输出脚
sbitP10=P1^0;
//sbitK1=P3^2;
//sbitK2=P3^5;
//sbitK3=P2^4;
//sbitK4=P2^5;
ucharth0_f;//在中断中装载的T0的值高8位
uchartl0_f;//在中断中装载的T0的值低8位
//T0的值,及输出频率对照表
ucharcodefreq[36*2]={
0xA9,0xEF,//00220HZ,1//0
0x93,0xF0,//00233HZ,1#
0x73,0xF1,//00247HZ,2
0x49,0xF2,//00262HZ,2#
0x07,0xF3,//00277HZ,3
0xC8,0xF3,//00294HZ,4
0x73,0xF4,//00311HZ,4#
0x1E,0xF5,//00330HZ,5
0xB6,0xF5,//00349HZ,5#
0x4C,0xF6,//00370HZ,6
0xD7,0xF6,//00392HZ,6#
0x5A,0xF7,//00415HZ,7
0xD8,0xF7,//00440HZ1//12
0x4D,0xF8,//00466HZ1#//13
0xBD,0xF8,//00494HZ2//14
0x24,0xF9,//00523HZ2#//15
0x87,0xF9,//00554HZ3//16
0xE4,0xF9,//00587HZ4//17
0x3D,0xFA,//00622HZ4#//18
0x90,0xFA,//00659HZ5//19
0xDE,0xFA,//00698HZ5#//20
0x29,0xFB,//00740HZ6//21
0x6F,0xFB,//00784HZ6#//22
0xB1,0xFB,//00831HZ7//23
0xEF,0xFB,//00880HZ`1
0x2A,0xFC,//00932HZ`1#
0x62,0xFC,//00988HZ`2
0x95,0xFC,//01046HZ`2#
0xC7,0xFC,//01109HZ`3
0xF6,0xFC,//01175HZ`4
0x22,0xFD,//01244HZ`4#
0x4B,0xFD,//01318HZ`5
0x73,0xFD,//01397HZ`5#
0x98,0xFD,//01480HZ`6
0xBB,0xFD,//01568HZ`6#
0xDC,0xFD,//01661HZ`7//35
};
voiddelay(unsignedinti)//延时
{
while(i--);
}
//定时中断0,用于产生唱歌频率
timer0()interrupt1
{
TL0=tl0_f;TH0=th0_f;//调入预定时值
BEEP=~BEEP;//取反音乐输出IO
}
unsignedcharkeyscan(void)
{
unsignedchara=0,b=0,PC_data=0,test_x=0,test_y=0,key;
/*testkeyboardanddisplay*/
while
(1)
{
a8255_CON=0x89;
a8255_PB=0xff;
a8255_PA=0xff;
delay(100);
PC_data=a8255_PC;
for(b=0;b<4;b++)
{
if((PC_data&(1<
{
for(a=0;a<4;a++)
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 远程 点歌 系统