单片机应用课程设计.docx
- 文档编号:28752792
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:14
- 大小:63.23KB
单片机应用课程设计.docx
《单片机应用课程设计.docx》由会员分享,可在线阅读,更多相关《单片机应用课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
单片机应用课程设计
存档资料成绩:
华东交通大学理工学院
课程设计报告书
所属课程名称《单片机应用课程设计》
题目 跑马灯游戏机设计
分院 电信分院
专业班级11级电气<4>班
学 号20110210470435
学生姓名
指导教师
2014年1月5日
华东交通大学理工学院
课程设计(论文)任务书
专业电气工程及其自动化班级电气<4>班姓名袁圭
一、课程设计(论文)题目跑马灯游戏机设计
二、课程设计(论文)工作:
自2013年12月11日起至2014年1月5日止。
三、课程设计(论文)的内容要求:
设计内容:
要求用所学的单片机应用知识以及查阅有关资料设计并制作出跑马灯游戏机。
而且要完成电路的装配和调试。
要求:
1>.外部功能按键连接于(INT0/1)作用时,分别实现开始、停止的功能。
具体过程为:
按开始键,LED循环显示,按停止键时,LED循环状态暂停,若正巧最后一个LED被点亮,而其他LED皆熄灭时,表示该操作人获胜,赢得游戏,同时蜂鸣器鸣响较长时间,以示庆祝。
反之则蜂鸣器鸣响较短时间示意输掉游戏。
下次再按下开始键,游戏又开始。
2>.软件编程用汇编语言或C语言。
3>.详细说明设计方案,给出硬件电路图和软件流程图,并给出程序。
学生签名:
2014年1月5日
课程设计(论文)评阅意见
序号
项目
等 级
优秀
良好
中等
及格
不及格
1
课程设计态度评价
2
出勤情况评价
3
任务难度评价
4
工作量饱满评价
5
设计中创新性评价
6
论文书写规范化评价
7
综合应用能力评价
综合评定等级
评阅人 职称讲师
2014年1月5日
目录
第1章课程设计内容及要求......................5
第2章引言......................................6
第3章系统硬件电路设计.........................7
第4章系统软件设计........................13
第5章课程设计心得............................15
第6章参考文献(资料)...........................17
第一章课程设计内容及要求
1.1设计内容概述
设计选择采用AT89C51单片机为核心。
T89C51是一个低电压、性能CMOS8位单片机带有K字节的可反复擦写的程序存储器。
和128字节的存取数据存储器RAM,这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。
片内含有8位控制领域中提供以下的功能标准4K字节闪烁存储器,128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内振荡器和时钟电路。
另外,AT89C51还可以进行OHZ的静态逻辑操作,并支持两种软件的节电模式。
闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。
掉电方式保存随机存取数据存储器中的内容,但振荡器停止工作并禁止其它所有部件的工作直到下一个复位。
要求用所学的单片机应用知识以及查阅有关资料设计并制作出跑马灯游戏机。
而且要完成电路的装配和调试。
1.2设计要求
1>.外部功能按键连接于(INT0/1)作用时,分别实现开始、停止的功能。
具体过程为:
按开始键,LED循环显示,按停止键时,LED循环状态暂停,若正巧最后一个LED被点亮,而其他LED皆熄灭时,表示该操作人获胜,赢得游戏,同时蜂鸣器鸣响较长时间,以示庆祝。
反之则蜂鸣器鸣响较短时间示意输掉游戏。
下次再按下开始键,游戏又开始。
2>.软件编程用汇编语言或C语言。
3>.详细说明设计方案,给出硬件电路图和软件流程图并给出程序。
第二章引言
跑马灯在单片机系统中一般是用来指示和显示单片机的运行状态,一般情况下,单片机的跑马灯由多个LED发光二极管组成。
在单片机运行时,可以在不同状态下让跑马灯显示不同的组合,作为单片机系统正常的指示。
当单片机系统出现故障时,可以利用跑马灯显示当前的故障码,对故障做出诊断。
此外,跑马灯在单片机的调试过程中也非常有用,可以在不同时候将需要的寄存器或关键变量的值显示在跑马灯上,提供需要的调试信息。
本设计使用AT89C2051芯片,利用P1的8个端口连接8个发光二极管,通过P1.0到进行响应,改变开关按键,使得跑马灯,二极管循环点亮模式,当停止循环时并P1.7的值控制“跑马灯”的亮灭,以达到显示效果。
设计的中断程序要对多个按键动作短时间有音乐发出。
单片机演奏一个音符,是通过引脚,周期性的输出一个特定频率的方波。
这就需要单片机,在半个周期内输出低电平、另外半个周期输出高电平,周而复始。
演奏时,要根据音符频率的不同,把对应的、半个周期的定时时间初始值,送入定时器,再由定时器按时输出高低电平。
这次跑马灯游戏机设计要求:
外部功能按键连接于(INT0/1)作用时,分别实现开始、停止的功能。
具体过程为:
按开始键,LED循环显示,按停止键时,LED循环状态暂停,若正巧最后一个LED被点亮,而其他LED皆熄灭时,表示该操作人获胜,赢得游戏,同时蜂鸣器鸣响较长时间,以示庆祝。
反之则蜂鸣器鸣响较短时间示意输掉游戏。
下次再按下开始键,游戏又开始。
第三章系统硬件电路设计
一、跑马灯游戏机设计电路原理图如下:
元器件清单:
AT89C2051芯片,1个
74LS240芯片,1个
30p电容,2个
10uF极性电容,2个
排阻200,1个
10K电阻,1个
1K电阻,1个
蜂鸣器,1个
12M晶振,1个
9012三极管,1个
开关,1个
LED灯,8个
二、芯片性能简介:
3.2.1AT89C2051芯片引脚图
1、VCC:
电源电压。
2、GND:
地。
3、P1口:
P1口是一个8位双向I/O口。
口引脚P1.2~P1.7提供内部上拉电阻,P1.0和P1.1要求外部上拉电阻。
P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(ANI0)和反相输入(AIN1)。
P1口输出缓冲器可吸收20mA电流并能直接驱动LED显示。
当P1口引脚写入“1”时,其可用作输入端,当引脚P1.2~P1.7用作输入并被外部拉低时,它们将因内部的写入“1”时,其可用作输入端。
当引脚P1.2~P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流。
4、P3口:
P3口的P3.0~P3.5、P3.7是带有内部上拉电阻的七个双向I/O口引脚。
P3.6用于固定输入片内比较器的输出信号并且它作为一通用I/O引脚而不可访问。
P3口缓冲器可吸收20mA电流。
当P3口写入“1”时,它们被内部上拉电阻拉高并可用作输入端。
用作输入时,被外部拉低的P3口脚将用上拉电阻而流出电流。
当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。
每一个机器周期需12个振荡器或时钟周期。
5、XTAL1:
作为振荡器反相器的输入和内部时钟发生器的输入。
6、XTAL2:
作为振荡器反相放大器的输出。
主要性能:
1、和MCS-51产品兼容;
2、2KB可重编程FLASH存储器(10000次);
3、2.7-6V电压范围;
4、全静态工作:
0Hz-24MHz;
5、2级程序存储器保密锁定;
6、128*8位内部RAM;
7、15条可编程I/O线;
8、两个16位定时器/计数器;
9、6个中断源;
10、可编程串行通道;
11、高精度电压比较器(P1.0,P1.1,P3.6);
12、直接驱动LED的输出端口。
3.2.2八缓冲器/总线驱动器(三态、反相)74LS240
74LS240这种八缓冲器和线驱动器是为提高三态输出存储地址驱动器、时钟驱动器和总线定向接收器和发射器的性能和集成度而特意设计的。
此电路的特点是,扇出高,扇入好,噪声容限高(400mV)。
可用来驱动小到133Ω的终端负载线。
3.2.3PNP三极管9012
9012是非常常见的晶体三极管,在各种放大电路中经常看到它,应用范围很广,它是PNP型小功率三极管。
9012三极管(TO-92封装)管脚图:
1、发射极2、基极
3、集电极
9012三极管管脚
3.3硬件电路分析
晶振时钟电路
3.3.1晶振时钟电路:
一般由晶体震荡器、晶震控制芯片和电容组成,产生象时钟一样准确的振荡电路。
在电路中主要是提供时钟信号的作用。
排阻电路
3.3.2排阻电路:
就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚,其余引脚正常引出。
所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚。
它在排阻上一般用一个色点标出。
在电路中主要是起到限流的作用。
图3.3.3复位电路
3.3.3复位电路:
为确保单片机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。
由于单片机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,单片机电路开始正常工作。
在电路中起到复位(RST)操作功能。
中断和定时电路
3.3.4中断和定时电路:
中断电路于INT0,INT1组成,用按键K1,K2来控制芯片程序的操作,定时电路在定时器T0的程序控制,并在PNP9012三极管的控制下,使得蜂鸣器是否发出声音。
蜂鸣器驱动电路
3.3.5蜂鸣器驱动电路:
一般都包含以下几个部分:
一个三极管、一个蜂鸣器、一个续流二极管和一个电源滤波电容。
P3.3/T0作为I/O口通过三极管来驱动蜂鸣器LS1,而P3.2/PWM0则作为PWM输出口通过三极管来驱动蜂鸣器。
另外在P3.3和P3.2分别接了两个按键,一个是PWM按键,是用来控制PWM输出口驱动蜂鸣器使用的;另一个是PORT按键,是用来控制I/O口驱动蜂鸣器使用的。
连接按键的I/O口开内部上拉电阻。
4.硬件模板布置电路板实物
第4章系统软件设计
#include
#defineLEDP1
charflag=1;
voiddelay(unsignedintx)
{
unsignedinti,j;
for(i=0;i for(j=0;j<120;j++); } voidgame() { while(! flag) { LED=0x01;//11111110,L0亮,其余全灭 delay(100); LED=0x02;//111110,L0亮,其余全灭 delay(100); LED=0x04;//11111011,L0亮,其余全灭 delay(100); LED=0x08;//11110111,L0亮,其余全灭 delay(100); LED=0x10;//11101111,L0亮,其余全灭 delay(100); LED=0x20;//11011111,L0亮,其余全灭 delay(100); LED=0x40;//10111111,L0亮,其余全灭 delay(100); LED=0x80;//01111111,L0亮,其余全灭 delay(100); } } voidgame_start()interrupt0 { flag=0; } voidmain() { P1=0; EA=1; EX1=1; EX0=1; IT0=0; IT1=0; while (1) { game(); } }voidgame_stop()interrupt2 { flag=1; } 第五章 课程设计心得 为期两周的单片机跑马灯游戏机课程设计中,通过陈老师的指导和同学的帮助以及上网查阅资料,总算完成了这次课设。 在设计过程中,和同学们相互探讨,相互学习。 加强了动手能力,更深入的了解了所学知识的用途。 在这次设计过程中,进一步体现出自己单独根据电路图如何在万能板中布置的能力以及综合运用知识的能力,以及对proteus和keil软件的学习和熟悉。 还学会了使用keil和proteus两个软件。 知道了怎么用keil新建工程文件、编写调试程序、生成.HEX文件;怎么用proteus软件画图,怎么仿真等。 在这次课程设计中,我受益匪浅,学到了很多书本上所没有的东西,懂得了理论和实际联系的重要性。 在以后的学习中,我不仅要把理论知识掌握牢固,更要提高自己的动手能力和分析能力,在此感谢老师的帮助。 第六章 参考文献(资料) [1]高洪波.MCS-51单片机原理及应用技术教程[M].北京: 人民邮电出版社,2009 [2]李丽娟.C语言程序设计教程(第2版)[M].北京: 人民邮电出版社,2010 [3]谭浩强.C程序设计教程[M].北京: 清华大学出版社 [4]王港元.电工电子实践指导[M].北京: 江西科学技术出版社,2006 [5]郭天翔.51单片机C语言教程——入门、提高、开发、拓展全攻略[M].北京: 电子工业出版社,2009 [6]马忠海等.单片机的C语言应用程序设计[M].北京: 北京航天航空大学出版社,2003
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 应用 课程设计