跑马灯游戏机的设计交大理工.docx
- 文档编号:10552868
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:23
- 大小:954.58KB
跑马灯游戏机的设计交大理工.docx
《跑马灯游戏机的设计交大理工.docx》由会员分享,可在线阅读,更多相关《跑马灯游戏机的设计交大理工.docx(23页珍藏版)》请在冰豆网上搜索。
跑马灯游戏机的设计交大理工
存档资料成绩:
华东交通大学理工学院
课程设计报告书
所属课程名称单片机原理及应用
题目跑马灯游戏机的设计
分院 电信分院
专业班级电气2012-1
学 号**************
学生姓名**
指导教师陈芳
2015年1月20日
序号
项目
等 级
优秀
良好
中等
及格
不及格
1
课程设计态度评价
2
出勤情况评价
3
任务难度评价
4
工作量饱满评价
5
任务难度评价
6
设计中创新性评价
7
论文书写规范化评价
8
综合应用能力评价
综合评定等级
课程设计(论文)评阅意见
评阅人陈芳 职称讲师
2015年1月21日
目 录
第1章课程设计内容及要求4
第2章硬件电路设计5
2.1数字时钟原理图5
2.2系统硬件说明5
2.2.1电源5
2.2.2AT89C2051单片机及其引脚说明5
2.2.3LED数码管结构原理图6
2.3时钟各部分电路设计7
2.3.1复位电路7
2.3.2时钟电路8
2.3.3驱动电路9
2.3.4限流电路9
第3章软件设计11
3.1Keil软件介绍11
3.2建工程11
3.3程序设计19
第4章系统调试21
4.1仿真实现图21
4.2电路板正面22
4.3电路板反面23
4.4读入程序后现象24
第5章课程设计心得25
参考文献(资料)26
致谢27
第1章课程设计内容及要求
设计内容:
此课程设计的课题为跑马灯游戏机设计,设计内容是:
由单片机I/O口控制发光二极管(LED)依次点亮短暂延时后熄灭,周而复始。
当外部功能按键(连接于INT0/1)作用时,分别实现开始、停止功能。
具体过程为:
按开始键,LED循环显示,按停止键时,LED循环状态暂停,若正巧最后一个LED被点亮,而其它LED皆熄灭时,表示该操作人获胜,赢得游戏,同时蜂鸣器鸣响2秒,以示庆祝,反之则蜂鸣器鸣响500ms示意输掉游戏。
下次按下开始后,游戏仍能继续。
设计要求:
(1)要求学生掌握单片机I/O口和外部中断等资源的使用,并实现由外部输入信号如何控制输出信号的功能。
(2)要求学生用所提供的元件来完成对跑马灯游戏机的硬件设计。
(3)要求学生用所学语言(汇编语言或C语言)来完成跑马灯游戏机的软件设计。
(4)要求学生掌握电路调试的方法,培养解决实际问题的能力。
第2章硬件电路设计
2.1数字时钟原理图:
图2-1数字时钟电路原理图
2.2系统硬件说明
2.2.1电源:
电源部分有二部分组成.一部分是由220V的市电通过变压,整流稳压来得到+5V电压维持系统的正常工作;另一部分是由3V的电池供电,以保证停电时正常计时.正常情况下电池是不提供电能的,以保证电池的寿命。
2.2.2AT89C2051单片机及其引脚说明
(1)AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版.内
部自带2K字节可编程FLASH存储器的低电压,高性能COMS八位微处理器,与Intel
MCS-51系列单片机的指令和输出管脚相兼容.由于将多功能八位CPU和闪速存储器结
合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单,造价最低廉,
效率最高的微控制系统,省去了外部的RAM,ROM和接口器件,减少了硬件开销,节省了
成本,提高了系统的性价比.
(2)引脚说明
图2-2AT89C2051引脚图
1.VCC电源电压;
2.GND接地;
3.RST复位输入.当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至"1";
4.XTAL1反向振荡放大器的输入及内部时钟工作电路的输入;
XTAL2来自反向振荡放大器的输出。
5.P1口8位双向I/O口.引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故.P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA的灌电流,并能直接驱动LED显示器;P1口引脚写入"1"后,可用作输入.在闪速编程与编程校验期间,P1口也可接收编码数据。
6.P3口引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/0引脚.P3.6在内部已与片内比较器输出相连,不能作为通用I/O引脚访问.P3口的输出缓冲器能接收20mA的灌电流;P3口写入"1"后,内部上拉,可用作输入P3口也可用作特殊功能口,P3口同时也可为闪速存储器编程和编程校验接收控制信号。
P3.5T1(定时器1外部输入)
P3.4T0(定时器0外部输入)
P3.3(外部中断1)
P3.2(外部中断0)
P3.1TXD(串行输出口)
P3.0RXD(串行输入口)
2.2.3LED数码管结构原理图
LED显示数码管通常由硬件7段译码集成电路,完成从数字到显示码的译码驱动.本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码有更大的灵活性.所谓软件译码,即由单片机软件完成从数字到显示码的转换.从LED数码管结构原理可知,为了显示字符,要为LED显示数码管提供显示段码,组成一个"8"字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED数码管的显示段码为1个字节.
各段码位与显示段的对应关系如下:
abcdefgdp
显示段D0D1D2D3D4D5D6D7
段码位(共阳段码)90H80HF8H82H92H99HB0HA4HF9HCOH
字型9876543210
图2-3数码管引脚图
图2-4共阳极LED数码管内部结构原理图
2.3时钟各部分电路设计
2.3.1复位电路
上电复位:
只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。
上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。
为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。
手动复位:
按键后,电容器被短路放电,RST直接和VCC相连,就是高电平,此时进入“复位状态”。
松手后,电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到RST,仍然是“复位状态”;
稍后,充电结束,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。
图2-5复位电路图
2.3.2时钟电路
AT89C2051单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。
图2-6时钟电路图
2.3.3驱动电路
数码管需要的工作电流大,单片机的驱动电流不够。
三极管的基极通过4.7K的电阻与单片机的I/O口相连,利用单片机的输出,做三极管的基极驱动,发射极接电源,做输出的驱动,输出更高的电压和大的电流。
集电极与数码管的公共端相连。
三极管起到对电流电压进行放大达到数码管额定值的作用。
图2-7三极管驱动电路图
2.3.4限流电路
数码管的abcdefg各段分别通过510欧的电阻接单片机的P1.0-P1.6引脚(段选)。
其中,通过这7个电阻达到限流的作用。
图2-8数码管接线图
第3章软件设计
3.1Keil软件介绍
KeiluVision2是德国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。
KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。
C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。
C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:
编译器,汇编器,实时操作系统,项目管理器,调试器。
uVision2IDE可为它们提供单一而灵活的开发环境。
3.2建工程
1.双击启动桌面的KeiluVision2
进入下面的界面
2.点击“Project->NewProject…”菜单,出现对话框,要求选择保存工程的文件夹并给将要建立的工程起一个名字,输入之后点击保存。
3.点击上面的保存之后跳出如下的对话框,这个时候需要我们对我们的单片机的型号进行选择,我们就选Atmel的AT89C2051选择之后点击“确定”。
4.接上一步点击“确定之后”,跳出如下的对话框。
这个时候是问我们是否添加那个仿真配置文件的,我们就选择“否”。
好了。
我们的工程已经建立成功。
如下图:
5.有了工程之后,我们需要给我们的工程写程序。
那就点击“FileNew”在工程管理器的右侧打开一个新的文件输入窗口Text1,在这个窗口里输入源程序。
输入程序如下:
输入完毕之后,选择“FileSave”,给这个文件取名保存,取名字的时候必须要加上扩展名,一般C语言程序均以“.C”为扩展名,这里将其命名为Text1.c,保存完毕后可以将该文件关闭。
到这里。
我们就已经建立好c语言的文件了。
6.建立好工程、建立好c语言的文件之后,我们就需要将这个c语言的文件添加到我们的工程来。
点击“SourceGroup1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,如图所示,选中其中的“AddfiletoGroup”SourceGroup1”,出现一个对话框,要求寻找源文件Text1.c。
找到源文件Text1.c之后。
点击“Add”,还有“Close”,将其关闭。
这个时候,我们会发现“SourceGroup1”的前面多了个“+”好,表明我们已经将源文件Text1.c添加到我们的工程来。
点击“+”可以看到Text1.c已经在工程里。
打开我们建立的源文件Text1.c。
双击这个
就可以将文件打开。
打开之后,我们会发现。
文件的关键字的颜色已经改变了。
这个是我们keil编程软件设定好的,方便我们进行编写、查看等。
到目前为止,我们已经建立整个工程。
并写好程序了。
但是单片机不能识别我们编写的C程序,只识别HEX和BIN格式的文件。
所以需要我们对我们的程序进行设置编译输出。
选中“Target1”,并右击选择“optionsforTarget‘Target1’”,会弹出下面的对话框。
选择“output”选项卡,将”createHEXfile”项打钩,点”确定”。
我们就设置好输出了。
当我们点编译的时候就会在我们的文件夹里生成”.HEX”文件了。
3.3程序设计
#include
#include
voiddelay(unsignedinti);
intDelayCNT;
unsignedcharcodeDisp_Tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsignedcharcodedispbit[6]={0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
main()
{
unsignedinti,a=0;
unsignedintLedOut[6];
DelayCNT=0;
while
(1)
{
if(++DelayCNT>=28)
{
DelayCNT=0;
a++;
}
LedOut[5]=Disp_Tab[a%60%10];
LedOut[4]=Disp_Tab[a%60/10];
LedOut[3]=Disp_Tab[a%3600/60%10];
LedOut[2]=Disp_Tab[a%3600/60/10];
LedOut[1]=Disp_Tab[a/3600%10];
LedOut[0]=Disp_Tab[a/3600/10];
for(i=0;i<6;i++)
{
P3=dispbit[i];
P1=LedOut[i];
delay(5);
}
}
}
voiddelay(unsignedinti)
{
intj;
for(i;i>0;i--)
for(j=110;j>0;j--);
}
第4章系统调试
4.1仿真实现图
图4-1仿真实现图
4.2电路板正面
图4-2电路板正面图
4.3电路板反面
图4-3电路板反面图
4.4读入程序后现象
图4-4读入程序后正面图
第5章课程设计心得
此次课程设计,是我们一个学期,学习单片机以来的小结,
总体上来说是顺利完成了,但由于自己的理论知识和实践操作水平有限,致使作品所实现功能的过程中出现了很多问题,不过经过仔细的核对排查,并从中吸取经验解决了很多设计时出现的问题。
许多同学的焊接板子,均不能正常运行,而我的还算一切正常,虽不能幸灾乐祸,但是心中还是有一丝慰藉,毕竟自己辛辛苦苦的焊接了两天,吸了很多毒,...至少自己的东西有所收获!
其中,焊接也不是十分牢靠,线路跳线太多,焊接不专业,经常断线,虚焊假焊时有发生,以及单片机底座跟单片机接触不良等.....造成许多不确定因素,这些问题我们都应该认认真真的解决!
参考文献(资料)
[1]谢希仁计算机网络(第五版)[M].北京:
电子工业出版社,2008年2月
[2]胡小强计算机网络[M]北京:
北京邮电大学出版社2005年1月
[3]牟琦微机原理与接口技术.北京:
清华大学出版社,2002
[4]张毅坤单片微型计算机与接口技术.西安:
西安电子科技大学出版社2002年
[5]李群芳单片微型计算机与接口技术北京:
电子工业出版社2005年
[6]梅丽凤单片机原理与接口技术北京:
清华大学出版社,2004年
[7]魏坚华微型计算机与接口技术教程北京:
北京航空航天大学出版社,2002年
[8]张毅刚新编MCS-51单片机应用设计(第二版)哈尔滨:
哈尔滨工业出版社,2003
[9]张振荣MCS—51单片机原理及实现技术北京:
人民邮电出版社2000
[10]于锡之单片机应用系统抗干扰技术北京:
北京航空航天大学出版社,2000
[11]何利民单片机原理及接口技术北京:
北京航空航天大学出版社,1993
[12]蔡美琴mcs-51系列单片机及其应用(第二版)北京:
高等教育出版社,2004
[13]李华mcs-51系列单片机实用接口技术北京北京航空航天出版社,1993
[14]赵亮单片机c语言编程实例北京:
北京航空航天大学出版社,2006
[15]刘守义单片机应用技术西安:
西安电子科技大学出版社,2006
[16]周坚单片机的c语言轻松入门北京:
北京航空航天大学出版社,2005
[17]李群芳单片机原理,接口及应用北京:
清华大学出版社2005
[18]胡汉才单片机原理及其接口技术北京:
清华大学出版社。
1996
致谢
此次有所收获,离不开陈老师的指导教育,是她的细心,让我从一点点的错误中爬出来,是她负责的讲课,将我变成不再是一名“无知”学生,在这里感谢陪伴在身边的陈老师,还有各位一同进步的同学们!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 跑马 游戏机 设计 交大 理工