




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 成绩Protel课程论文题 目: 篮球计分器 学生姓名: 汤培泉 学生学号: 1114020131 系 别: 电气信息工程学院 专 业: 电子信息工程 年 级: 2011级 任课教师: 王千春 电气信息工程学院制2013年12月第1章 概述Protues是电子信息工程专业的一门重要专业课,对应用能力和动手能力要求很高,课程设计环节是学生学习该课程后进行的一项必不可少的基本训练。并于大三上学期进行,本人所选的课题是篮球赛计分器。本课题以增强型单片机AT89C52为核心,设计制作篮球比赛计分器。针对篮球比赛中有得1、2、3分,有时还会出现加分错误的情况,本人设计的简易篮球赛计分器主要通过按键实现
2、以下功能:能够进行加1、2、3分;能够进行减1分。并通过3个数码管进行显示。第2章 设计分析2.1 功能分析根据前面的设计的任务的要求,本设计任务主要具有以下几个模块:单片机模块;按键模块;数码显示模块。本设计由单片机模块部分植入主程序,通过按键部分进行加1、2、3分以及减1分操作,最终在3个LED数码管上显示结果。2.2方案论述本系统是以C语言作为编辑语言,采用单片机AT89C52作为本设计的核心元件,。利用7段共阳LED作为显示器件。在此设计中共接入了3个7段共阳LED显示器,分别表示个位,十位,百位用于记录该队的分数, 3个LED显示器显示范围可达到0999分,能够满足篮球比赛的需要。并
3、设置有4个按键:K1,K2,K3,K4。当比赛队得1分时,按下k1键加1分,得2分时按k2键加2分,得3分时按下k3键加3分。如分数计错需减分时,每按一次k4键减1分。因所设计的篮球赛计分器功能较少,电路结构也相对简单。所以在选材方面也不多。由于按键要求不是很高,因此选材只有两个部分:单片机部分和显示部分。本次课程设计选用的芯片为AT89C52,显示部分用的是LED数码管显示。第3章 系统详细设计本次课程设计主要分为2个主要的部分进行:硬件和软件。首先进行的是硬件的选材和电路图的连接,然后再进行程序的编写。3.1硬件设计 由于本次课程设计的简易篮球计分器功能比较简单,所以选择的器件也比较少,主
4、要有5个按键,1个AT89C52,3个共阳的数码显示管,因此本课题的硬件设计部分划分为3个模块:单片机模块;按键模块;数码显示模块。系统的总电路图见附录2(总电路原理图)。3.1.1 单片机模块单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O口等计算机所需要的基本部件的大规模集成电路,又称MCU。如果说C语言程序设计课程设计的基础课,那么AT89C52单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。AT89C51是51系列单片机的一个增强型号,它是ATMEL公司生产的。AT89C51是一个低电压,高性能CMOS 8位单片机,片内含
5、8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C51单片机可为您提供许多较复杂系统控制应用场合。AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有
6、效地降低开发成本本设计P1口接四个开关,分别作为比分+1、+2、+3、1分的控制按键;P0、P2口和P3口分别按静态接口方法接两个数码管来显示比分。本次课程设计采用的是增强型AT89C51单片机。其管脚图如图1所示。 图 1 单片机模块图本次设计用到了其中的P0,P1,P2,P3口,分别用于百位,开关,个位,十位 。各管脚的功能和用法如下述。P0口:P0口为一个8位漏极开路双向I/O口,当作输出口使用时,必须接上拉电阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。P1口:P1口是一个内部提供上拉电阻的8位双向I/
7、O口,它不再需要多路转接电路MUX;因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的FET截止。P2口:P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。P2口可以作为通用的I/O口使用,这时多路转接电路开关倒向锁丰存器Q端。P3口:P3口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。当作为I/O口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。当输出第二功能信号时,该位应应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。
8、其中P1的14脚分别接上开关K1K4,P0的3639脚接上上拉电阻和数码显示的百位,P2的2124脚接数码显示的个位,P3的1013脚接数码显示的十位。VCC脚和XTAL分别接上5V电源和12M的晶振。3.1.2按键模块根据设计要求,该篮球赛计分器共有4个按键:K1、K2、K3、K4,分别实现的功能是加1、2、3分和减1分。K1与P1的1脚相连,K2与P1的2脚相连,K3脚与P1的3脚相连,K4键与P1的4脚相连,4个按键共用一个地端,如图2所示。 图2 按键模块图3.1.3 数码显示模块本设计显示部分采用的是7段共阳LED数码管显示,LED就是发光二极管,相对LET来说它的优势在于节能环保,
9、保护视力,使用寿命长等优点。数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。我们分别把他命名为A,B,C,D,E,F,G,H,如图3所示。 图 2 数码管结构图假设要显示一个数字2, 那么 A、B、G、E、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阳接法,那么为低电平是亮,为高电平是灭。从高往低排列, P1.7-P1.0写成二进制为01111110, 把它转化为16进制则为A2H。数码管的接口有静态接口和动态接口两种。动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,
10、另一接口完成各数码管的轮流点亮。静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阳接VCC,本次课程设计由于所需数码管较少,故可用这种方法接线。这种接法占用接口多,仅能接少量数码管。本次课程设计的比分范围是0999,所以采用的3个7段共阳LED来显示,分别显示个位十位百位,其中P2显示个位,P3显示十位,P0显示百位。由于P0没有内置电阻,因此在使用时需外接一个上拉电阻。如图4所示。 图4 数码管引脚连接图3.2 软件设计篮球比赛计分器其实就是一个计数器,本次课程设计就是利用单片机中的定时/计数器来实现其计分的功能。在52单片机中有两个16位的定时/计数器
11、T0,T1,分别由TH0、TL0和TH1、TL1组成,它们均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。它们用于存放定时或计数的初始值。此外,内部还有一个8位的方式寄存器TMOD和一个8位的控制寄存器TCON。用于选择和控制定时/计数器的工作。其格式见下面两表:表 1方式控制寄存器TMODGATEC/TM1M0GATEC/TM1M0门控开关计数/定时方式选择门控开关计数/定时方式选择表 2控制寄存器TF1TR1TF0TROIE1IT1IE0IT0T1请求有/无T1工作启/停T0请求有/无T0工作启/停INT1请求有/无INT1方式下沿INT1请求有/无INT1方式下沿篮球比赛计分器利
12、用单片机的计数器进行工作,计数器对脉冲电平进行加1计数,直至计满回零。作为可编程器件,单片机中的定时/计数器初始化编程步骤如下:根据定时时间要求或计数要求计算计数器初值;将工作方式控制字写入TMOD寄存器;将计数初值写入THX和TLX寄存器;启动定时器/计数器,即将TRX置位。如果工作于中断方式,需置位EA(中断总开关)及ETX(允许定时/计数器中断),并编写中断服务程序。本次课程设计程序是用C语言编写的,因为设计的功能较为简单,所以程序中只用到一个主程序就实现了其功能。程序的系统流程图如图5。控制源程序见附录1.图 3 系统程序流程图第4章 系统仿真与实验测试4.1系统仿真本次课程设计用到的
13、仿真软件有Protues和Keil uvision。在用Protues进行仿真之前,先要用KEIL UVISION软件将我们编写好的汇编程序编译。具体方法是先新建一项目,之后输入编写的程序,输入完成后保存然后执行项目、编译,在目标文件夹内生成编译好的程序文件,其中*.HEX文件就是我们所需要的目的文件,在之后电路设计好后用于导入AT89C51中执行其功能。然后在生成*.HEX文件后,进入Protues软件,此时软件已自动打开一新建项目。我们可直接在其中构建电路图,点击板面左侧按键P,在弹出的Pick devices对话框中进行元器件的选择,元器件都找到后,先进行排版再按照电路图连接,连接好后,
14、双击AT89C51在弹出对话框中选择单片机中要输入的程序,在输入程序后,即可开始进行仿真了,选择执行后点击开关可观察到数码管亮,并能实现加1、加2、加3、减1功能。仿真效果如图6。图6 仿真效果图4.2 实验测试打开 Proteus 上的单片机控制步进电机电路图,点击 AT89C51 单片机,调用后缀名为.”HEX”的文件。点击运行,观察现象,3个数码管均显示为0。如图7所示。图7 初始值为0的仿真效果图然后进行了如下操作:当按下k1键,从左往右(后同)的第3个数码管显示1,再按下k2键,第3个数码管显示3,按下k3键,第3个数码管显示6,再按下k4键,第3个数码管显示5,与设计的要求相符。显
15、示5的仿真图如图8所示.经过多次反复测试,本系统已能达到设计所要求的所有功能。图8 仿真计分为5的效果图第5章 总结这次课程设计历时两个星期多左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。在这期的学习中,虽然在理论上对单片机有了简单基本的了解,但是在真正的动手操作中还是存在很多的不足,这些个不足有体现在自己的粗心大意上,更多的是对知识的应用上能力有所欠缺,以至完成这样一个简单的设计花费了不少时间。但是最终通过自己的努力,查阅资料,询问同学,完成了这次的单片机的设计,在以后的学习中我也会更多的重视自己理论和实
16、践的结合能力,提高自身综合能力。在这次单片机课程设计中使我对AT89C52片机有了更深的了解,单片机的种类多,而型号杂,这也是我们学习中的困难,所以平时我们的学习应该多动手。单片机编程既可以用C语言也可用汇编语言,其中最重要的环节就是我们要敢于去写,敢于挑战,不怕犯错,然后就是多调试。在这次简易篮球赛计分器的设计中,由于本人的能力有限,所以还有很多需待改进的地方,比如能显示2个球队的比分以及时间的显示,利用数码管的动态显示来显示比分,时间等等。最后,我还要感谢在此次课程设计中帮助过我的老师和同学。特别是朱老师的细心指导和我的同学,在他们的鼎力帮助我才能顺利的完成了本次课程设计。参考文献1陈忠平
17、. 基于Protues的51系列单片机设计与仿真M. 北京:电子工业出版社,2012.2谢维成,杨加国. 单片机原理及C51程序设计M. 北京:清华大学出版社,2009.3吉雷. Protel99从入门到精通M.西安:西安电子科技大学出版社,2000.4张靖武,周灵彬.单片机系统的Protues设计与仿真M.北京:电子工业出版社,2007.5唐颖单片机原理与应用 M北京:北京大学出版社,2008.附录一 控制源程序#include<reg52.h>#define uchar unsigned char#define uint unsigned int sbit key1=P10;
18、sbit key2=P11; sbit key3=P12; sbit key4=P13; sbit wei_1=P20; sbit wei_2=P21;sbit wei_3=P22;sbit wei_4=P23; uint code tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void delay(unsigned int x) unsigned int a,b; for(a=x;a>0;a-) for(b=110;b>0;b-); void main()uint k1=0;uint k2=0;uint k3=0;uint k4=0;wei_1=1;wei_2=1;wei_3=1;wei_4=1; while(1) if(key1 = 0) delay(10);if(key1 = 0)k1 += 1; while(key1 = 0); if(key2 = 0) k1 += 2; while(key2 = 0);if(key3 = 0)k1 += 3; while(key3 = 0);if(key4= 0)k1 -= 1; while(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论