ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:584.13KB ,
资源ID:2381106      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2381106.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(球类计分器jun.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

球类计分器jun.docx

1、球类计分器jun目 录一、概述 3二、球类计分器方案 4三、球类计分器硬件设计 43.1单片机最小系统 43.2键盘电路 73.3输出电路 8四、球类计分器软件设计 124.1主函数 124.2按键处理函数 13五、球类计分器调试与分析 145.1设计及调试 145.2调试现象及分析 14六、结束语 15参考文献 16附录A 17附录B 18附录C 19球类计分器一、概述随着科学技术的发展,计算机技术在电子电路设计中发挥着越来越重要的作用。20世纪80年代后期,出现了一批优秀的电子设计自动化软件,如Protel99Se、Proteus、Keil C51等,为软件开发提供有利环境。随着该行业开发

2、技术的不断发展,开发软件也在不断的发展。目前,此次专业课程设计涉及到的单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展,已经在日常生活和控制领域等方面得到广泛的应用,它正为我国经济的快速发展发挥着举足轻重的作用。在我们周围,球类计分器的应用较为广泛,在学生阶段,大家都为之熟悉的篮球、兵乓球、羽毛球等等,都涉及到计分这一部分,那球类计分器的引入是必不可少。诸如国际、国家、省等各球类的比赛中都有应用到球类计分器,由此可见,球类计分器的应用是极为广泛的。本课程设计是单片机系统在计分方面的简单应用,利用AT89C51单

3、片机及外围电路来设计的一个球类计分器,同时在LCD上显示各对、局数(即第几局)、比分等。 设计目的:通过此次的专业课程设计,巩固和加深专业课程中所学的理论知识和实验能力,基本掌握应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对其软硬件知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。 设计要求:1 利用单片机组成一个球类计分器。2 通过加分按钮能对A或B对加分。3 设计对调功能,交换场地后,分数互换。 4 设计局数比分显示,在此用LCD显示。5 绘制系统硬件接线图,并进行系统仿真。6 画出程序流程图并编写程序实现上述功能。二、球类计分器方案总的来说,此次设计是

4、利用单片机及显示装置设计的一个球类计分器,通过键盘扫描程序实时对此扫描,检测是否有键按下,若有,再根据哪个键做出相应的操作,并在LCD显示装置进行显示操作。即球类计分器是以单片机器件为主体,设计的计分器。如图1所示,球类计分器大致由单片机、复位电路、晶振电路、LCD显示装置、按键检测装置等组成。利用AT89C51单片机,通过LCD显示扫描模块、按键处理模块等,实现比赛进行时的局数、球队、计分结果。三、球类计分器硬件设计单片机是由CPU、并行口、ROM、RAM、定时/计数器、串行口和中断系统等组成部分,通过内部总线把各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的

5、作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。该球类计分器系统由3个模块实现:单片机最小系统,键盘电路,LCD显示。3.1单片机最小系统单片机的最小系统指的是由最基本的电路元件组成的,外接部分简单的电路就能够独立完成一定的工作任务的单片机系统。51单片机的最小系统有单片机芯片、电源、时钟电路和复位电路组成,如图2所示。设计之前得对单片机的引脚及其功能应有所了解,下面简单介绍单片机的引脚: 1主电源引脚Vcc:芯片电源,接

6、+5V。 VSS:电源接地端。2时钟引脚XTAL1:片内放大器输入端。XTAL2:片内放大器输出端。3专用控制端口 (1)ALE/:地址锁存允许/片内EPROM编程脉冲 。 ALE功能:用来锁存P0口送出的低8位地址。 功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。(2):外ROM读选通信号。 (3)RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 (4) /Vdd:内外ROM选择/片内EPROM编程电源。 功能:内外ROM选择端。 Vdd功能:片内有EPROM的芯片,在EPROM编程期间,施加

7、编程电源Vpp。 4. 输入/输出端口 AT80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这

8、是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,

9、可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 5. P3口第二功能 P3.0 RXD:串行输入口。 P3.1 TXD:串行输出口 。 P3.2:外部中断0。 P3.3:外部中断1。 P3.4 T0:定时计数器0。 P3.5 T1:定时计数器1。 P3.6:外部数据存储器写选通。 P3.7:外部数据存储器读选通。1时钟电路单片机的时钟电路用来产生时钟信号,以提供单片机片内各种数字逻辑电路工作的时间基准。时钟电路

10、可采用内部振荡方式和外部振荡方式两种电路形式。此时钟电路采用内部振荡方式,即在单片机的XTAL1和XTAL2两个引脚间接一只晶振及两只电容就构成了单片机的时钟电路,如上图2所示。2复位电路复位是是单片机的片内电路初始化的操作,复位使单片机从初始状态开始运行。在复位引脚RET输入宽度为2个机械周期以上的高电平,单片机就会执行复位操作。有两种操作形式:上电复位、手动复位。单片机的RESET引脚为主机提供一个外部复位信号输入端口,按下复位键S1,单片机被强制执行复位操作。复位后,单片机内各部件恢复到初始状态,单片机从ROM的0000H开始执行程序。其电路图如图2所示,RESET按键选择开关。3.2键

11、盘电路球类计分器中的外围电路中,键盘电路这部分是相对重要的部分,它实现对A或B对加分,场地交换后,分数交换、局数的确定等。这也是人机接口的关键,人只有通过键盘电路,才能对球类计分器的改变与调整,达到人能操作的基本要求。体现一个明显的效果就是对于客户来说,设计好的球类计分器,其操作非常简单,功能相对较强,以满足客户的需求,即两个按键控制着球队的加分情况,一个按键是对局数的调整,最后一个按键是场地交换时,球队、分数等都进行交换。用户操作起来非常方便,正因其操作方便的有利一面,球类计分器在这一方面得到了广泛的应用,在我们周围随处都可以看到,如学校球赛、国家球赛。键盘电路由独立连接式键盘组成,如图3所

12、示,通过编程来判断是否有键按下,再根据是哪个键被按下,做出相应的动作,即判断图3所示的P1口的一些端口,当P1.0有低电平通过时,即“左加”键(K1键)按下,则左边的数加一,即在左边那个球队得一分或一球;当P1.2有低电平通过时,即“右加”键(K2键)按下,则右边的数加一,即在右边那个球队得一分或一球;当P1.4有低电平通过时,即“局数”键(K3键)按下,则局数在原有的第几局的基础上加一,显示当前是第几局;当P1.6有低电平通过时,即“队换”键(K4键)按下,则两队进行了换场地,实行了分数等之间的对换,即在LCD显示器上显示换后的球队之间、分数之间的对换显示。3.3输出电路此球类计分器的输出电

13、路是LCD显示接口电路。其中,LCD显示接口电路是用来显示当前的局数(即为第几局)、球队、比分等,是比较重要的一部分,也是人机接口的显示那块,反馈给人。只需认识阿拉伯数字即可知道当前比分是多少,很明显;下面介绍一下LCD显示器,在此用的是LCD1602。LCD显示接口电路液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软硬件都比较简单,下面介绍LCD,其引脚定义及作用如表1所示。LCD的特点:显

14、示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。功耗低:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。1.清屏指令功能: 清除液晶显示器,即将DDRAM的内容全部填入空白的ASCII码20H; 光标归位,即将光标撤回液晶显示屏

15、的左上方; 将地址计数器(AC)的值设为0。2.进入模式设置指令功能:设定每入1位数据后光标的移位方向,且设定每写入的一个字符是否移动。如下: 位名 设置I/D0=写入新数据后光标左移1=写入新数据后光标右移S0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右移1个字符3.显示开关控制指令功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情况如下:位名 设置D 0=显示功能关 1=显示功能开C 0=无光标 1=有光标B 0=光标闪烁 1=光标不闪烁4.设定显示屏或光标移动方向指令功能:使光标移位或使整个显示屏幕移位。参数设定的情况如下:S/C R/L 设定情况0 0 光

16、标左移1格,且AC值减1 0 1 光标右移1格,且AC值加1 1 0 显示器上字符全部左移一格,但光标不动1 1 显示器上字符全部右移一格,但光标不动5.功能设定指令功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下:位名 设置DL0=数据总线为4位 1=数据总线为8位 N0=显示1行 1=显示2行 F0=57点阵/每字符 1=510点阵/每字符6.基本操作时序:读状态 输入:RS=L,RW=H,E=H 输出:DB0DB7=状态字写指令 输入:RS=L,RW=L,E=下降沿脉冲,DB0DB7=指令码 输出:无读数据 输入:RS=H,RW=H,E=H 输出:DB0DB7=数据写数据 输

17、入:RS=H,RW=L,E=下降沿脉冲,DB0DB7=数据 输出:无LCD1602的实物图如图4所示,硬件电路图如图5所示,显示部分采用LCD1602显示模块,其中P0口设置为指令、数据输出口,P2口中的P2.0、P2.1分别控制着LCD1602的RS和E端口,LCD1602的各端口的连接方式如图4显示接口电路图所示。四、球类计分器软件设计软件设计是课程设计的一个重要组成部分,在硬件设计好的基础上,软件设计的成功与否,直接关系到它能否正常运行。为实现上述要求的功能,设计球类计分器软件主要包括:主函数、按键处理函数等。4.1主函数主函数流程图如图6所示,从图上的内容可知,首先得初始化,实时进行键

18、盘扫描程序,判断是否有键按下,若是,则转入到相应键值的按键处理程序中去,处理完毕后,进入到当前局数、球队对阵情况、比分情况等的显示程序,之后回到是否有键按下,不断的进行循环。若不是有键按下,则返回,直接跳过相应键值的按键处理模块,直接进入到当前局数、球队、比分等的显示模块,又回到判断是有键按下那块,这样也形成循环运行。4.2按键处理函数按键处理这部分程序是比较重要的一部分,可堪称为设计球类计分器的核心程序,关系到能否完成上述的功能要求。按键处理函数流程图如图7所示,首先通过入口进入到按键处理程序,通过按键处理函数读取键值,判断按下的是哪个键值,若是“左加(K1)”键,则球队比分数的左边那个数加

19、“1”,即表示在左边场地的这个球对或是进攻球队赢得一球;若是“右加(K2)”键,则球队比分数的右边那个数加“1”,即表示在右边场地的这个球对或是进攻球队赢得一球;若为“局数(K3)”键,则表示在原有的局数加“1”,显示第几局;若为“队换(K4)”键,则表示两个球队对换场地,那么,显示的球队、比分情况都进行相应的互换。在判断完哪个键,进行完相应键的处理后,进而返回到主程序中去。五、球类计分器调试与分析5.1设计及调试调试过程也是课程设计必不可少的一个环节,根据设计的要求,初步设计好硬件的外围电路,以及程序。调试先通过仿真软件进行仿真,发现问题,既而解决问题;之后,在单片机实验室进行实物调试。在程

20、序这一块,主要涉及到对Keil C51、Proteus等的使用,在Keil C51的开发环境中,编写程序,调试运行,发现、解决出现的错误。正确无误后,调到Proteus中进行软件仿真,观察现象,根据设计要求逐步修改电路及程序,直至跟要求一致,仿真结果见附录B所示。实验室实物调试,根据已设计好的电路图连接电路,把已设计好的程序通过烧写装置导入到到单片机芯片,接入电路中,通过键盘的输入电路改变球队比分、换场后对换、局数的确定等,再通过LCD1602显示装置观察现象。5.2调试现象及分析在进行Proteus仿真调试时,发现按下“队换(K4)”键时,即换场地后,只在初始化的情况下进行对换,经过仔细、多

21、时的考虑、调试与仿真后,发现按键后的值没有调用过来,解决后,就基本没什么问题了。通过调节“左加(K1)”键、“右加(K2)”键、“局数(K3)”键,确定一定的局数与比分后,再通过“队换(K4)”键观察LCD1602显示装置的显示效果,现象无误,见附录B所示。在这一过程中,我们发现了一系列的问题,通过资料的收集与查阅,从调试到发现错误再到修改我们学到了很多。经过查阅资料,并与同学讨论,反复调试都一一解决。最终我们成功地实现电子打铃器的功能,顺利通过检测。六、结束语此次的专业课程设计,是我们自动化专业学生在校学习期间,必须完成的一项重要的动手实践活动,经过这次的在实验室进行实物调试后,了解到专业课

22、程设计及实物调试让人学到更多,也吸引了对该领域学习的兴趣。经过近两个星期的奋战与努力,终于成功的地完成了球类计分器的专业课程设计,并能正常实现球队分数的调整与显示,且能在球队换场后,球队的对换,分数的对换,更能让人清楚知道与操作。但还有些地方需要改进,我想到的有如下几个:一是球类计分器可以在加上时间的操作,显示时间。二是还应该加入暂停停表的功能,若需实现这些功能,LCD1602不能满足,这得引入更强功能的LCD显示装置。运用在校所学的理论课程和实践教学,并根据专业课程设计题目要求搜集相关的设计资料,理论联系实际,为以后工作的顺利展开铺平道路,也对我们所学的知识进行复习、加强、巩固与提高。经过这

23、次课程设计,在一定的理论基础上,动手实践,更容易学会,更容易理解,也加深了对其的印象,使我认识到了自学的重要性,在设计过程中,遇到问题时,也查阅了图书馆的一些资料,丰富自己的知识。使我对该领域产生了一定的兴趣,并决定进一步学习本专业。好好利用剩余的大学时间,使自己的大学生活更加充实,提高自身的素质。在老师的严格要求、耐心教导和指正下,和同学讨论,顺利的完成此次课程设计。最后衷心感谢老师的悉心指导和同学们的热心帮助!参考文献1 曾屹.单片机原理与应用.长沙:中南大学出版社,20092 张一斌、余建坤.单片机原理课程设计.长沙:中南大学出版社,20093 李朝青.单片机原理及接口技术(修订版).北

24、京:北京航空航天大学出版社,1998 4 徐仁贵.微型计算机接口技术及应用(第一版).北京:机械工业出版社,1998 5 李光飞.单片机课程设计实例指导(第一版).北京:北京航空航天大学出版社,2004 6 余永权.ATMEL89系列单片机应用技术.北京:北京航空航天大学出版社,20027 周航慈.单片机应用程序设计技术.北京:北京航空航天大学出版社,20028 张俊谟.单片机中级教程原理与应用(第2版) .北京:北京航空航天大学出版社,20069 刘高鏁.单片机实用技术.北京:清华大学出版社,200410 李广弟.单片机基础.北京:北京航空航天大学出版社,199211 谭浩强.单片机课程设计

25、.北京:清华大学出版社,198912 何立民.单片机应用技术大全.北京:北京航空航天大学出版社, 199413 张毅刚.单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,199014 李光飞.单片机课程设计实例指导.北京:北京航天航空大学出版社,200415 陈明荧.8051单片机课程设计实训教材.北京:清华大学出版社,200416 范风强,兰婵娟.单片机语言C51实战锦集.北京:电子工业出版社,200317 赖麒文.8051单片机C语言彻底应用.北京:科学出版社,200218 徐爱均,彭秀华.Keil Cx51 V7.0单片机高级语言编程与Vision2应用实践.北京:电子工业出版社.20

26、04附录A球类计分器电路图附录B第一局球队比分记录仿真图第二局换场地后的开始仿真图附录C球类计分器源程序/* * 文件名称:球类计分器 * 作 者:何超军 * 硬件平台:51系列MCU * 软件平台:Keil * 创建日期:2010-12-22*/#include#define uchar unsigned char #define uint unsigned intsbit rs=P20;sbit lcden=P21;sbit k1=P10;sbit k2=P12;sbit k3=P14;sbit k4=P16;uchar data table= 1 A vs B;uchar data ta

27、ble1= 00 : 00;uchar shu1,shu2,ju;/*函数声明*/void init();void delay(uint z);void write_com(uchar com);void write_date(uchar date);void write_bf(uchar add,uchar date);void write_jushu(uchar add1,uchar date1);void keyscan();/*主函数*/void main() init(); ju=1; while(1) keyscan(); /*延时函数*/void delay(uint z) ui

28、nt x,y; for(x=z;x0;x-) for(y=110;y0;y-);/*写指令函数*/void write_com(uchar com) rs=0; lcden=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; /*写数据函数*/void write_date(uchar date) rs=1; lcden=0; P0=date; delay(5); lcden=1; delay(5); lcden=0; /*初始化函数*/void init() uchar num; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2