单片机课程设计_篮球计时器.docx

上传人:可****阿 文档编号:43242920 上传时间:2022-09-17 格式:DOCX 页数:18 大小:158.57KB
返回 下载 相关 举报
单片机课程设计_篮球计时器.docx_第1页
第1页 / 共18页
单片机课程设计_篮球计时器.docx_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《单片机课程设计_篮球计时器.docx》由会员分享,可在线阅读,更多相关《单片机课程设计_篮球计时器.docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、绪论 篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,规则还要求进攻方在24秒有一次投篮动作,否则视为违例。以下为一个篮球比赛计时器,该计时器采用按键操作、数码管显示,非常实用。此计时器也可作为其他球类比赛的计时器。 本课程设计介绍了一个基于单片机的篮球比赛计时器硬件设计,包括STC89C51, 2个八段共阳数码管显示、上电复位电路、时钟发生电路等基本模块的设计。其功能土要有:一场篮球比赛共分四节,每节12分:每次进攻为24秒,计时器的显示均为倒计时方式,24秒计时用两位数码管显示;所有的计时都要具有暂停、继续、复位;当球员的持球时间超过24秒时,24秒倒计时减为零且有蜂鸣器报警提示。本次

2、课程设计是采用单片机C语言实现倒计时24秒篮球比赛计时器。1系统工作原理1.1 功能说明随着信息时代的到来,电子技术在社会生活中发挥着越来越重要的作用,运用模电和数电知识设计的电子产品成为社会生活中不可缺少的一部分。在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就犯规了。大多数篮球计时器的主控芯片为AT89C51,采用12MHz晶振,P0.0-P0.7作数码显示端。24秒计时开始,A3为24秒复位开启键(投篮或交换控球时按下此键);A4为24秒计时停止键(有违例时按下此键); A5为24秒计时启动键;A6为总复位键。而此次我们设计的是1个简易篮球比赛计时器。最简单的篮球球计时器是24秒

3、倒计时计时器。也就是本次课程设计的课题。24秒篮球计时器要求设置外部操作开关,控制计数器的直接复位、启动和暂停,并且计时电路递减计时,每隔1秒钟,计时器减1,当计时器减0时,显示器上显示00,同时发出蜂鸣器报警信号。1.2基本原理AT89C51单片机显示驱动74LS57324秒计时器的总体参考方案框图如图1所示,它包括秒脉冲发生器、计数器、译码显示电路、报警电路和辅助时序控制电路等五个模块组成。其中计数器和控制电路是系统的主要模块。计数器完成24秒倒计时功能,而控制电路完成计数器的直接复位、启动技术、暂停以及连续计数、译码显示电路的显示与灭灯、定时时间到报警等功能。数码管显示按键蜂鸣器报警图1

4、 系统结构图2 设计2.1单片机最小系统单元主控机系统采用了AT89C51单片机,它含有128字节数据存储器,置4K 的电可擦除FLASH ROM,可重复编程,大小满足主控机软件系统设计,所以不必再扩展程序存储器。复位电路和晶振电路是AT89C51 工作所需的最简外围电路。单片机最小系统电路图如图2.1所示。在复位电路中,按一下复位开关就使在RST端出现一段时间的高电平,外接11.0592M 晶振和两个30pF 电容组成系统的部时钟电路。2.2 AT89C51单片机简介单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、

5、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机的存储器ROM和RAM是严格区分的。ROM称为程序存储器,只存放程序,用户数据。固定常数,及数据表格。RAM则为数据存储器,为满足控制需要,单片机有更强的逻辑控制能力用作工作区及存放特别是单片机具有很强的位处理能力。2.2.1 AT89C51单片机引脚功能简介(1)AT89C51有40个引脚,各引脚功能如下所示: 图2.1 AT89C51引脚图电源引脚Vcc和VssVcc(电源端):供电电压,为+5V。Vss(GND):接

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

7、P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1,时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口在Flash编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入,1,后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两软件可选的掉电模式。在闲

8、置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。(3)振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可配置为片振荡器。石晶振荡和瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.3功能单元模块(1)常开型按钮开关 控制模块是由键盘输入,键盘是一组按键的集合,它是最常见的单片机输入设备,是一种常开型按钮开关。常态时,按键的两

9、个触点处于断开状态,如图2.3所示,键盘分为编码键盘和非编码键盘,键盘上闭合键的识别由一专门的硬件译码器实现,并产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等;靠软件识别的称为非编码键盘。图2.2常开型按钮开关(2)七段数码显示管 单片机常用7段LED构成字型“8”,另外,还有一个小数点发光一极管,以显示数字、符号及小数点。这种显示器有共阴极和共阳极两种,此课程设计采用的是共阳极。发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。一位显示器由8个发光二极管组成,其中,7个二极管构成字型“8”的各个笔画a-g,另一个小数点为dp发光二极管。将多个LE

10、D显示块组合在一起就构成了多位LED显示器。每个LED显示器的段引脚称为段选线,公共端称为位选线。段选线控制显示的字符,位选线控制该LED的亮和灭。(3)蜂鸣器由于蜂鸣器在使用时需要三极管来驱动,这里我们使用的是PNP型三极管,蜂鸣器接e极,再接高电平。在基极输入高电平时,三极管不导通,蜂鸣器不响,在基极输入低电平时,三极管导通,蜂鸣器被驱动并发声。2.3硬件设计电路 设计思路:选用AT89C51作为主控芯片,晶振是12MHz,机械周期为1 ms,所以循环20次为l秒。PO口作为段码输出,P3.3, P3.4作为位控,高电平有效。数码管是液晶显示,采用动态显示,两个串行口作为中断入口,高电平有

11、效,启动TO定时器/计数器进行计数,低电平有效。图2.4是系统硬件设计电路图 图2.4系统硬件设计电路图 时间设置完后,启动定时器TO开始定时计数。计时采用倒计时,比如:设置的时间为24秒钟,则在LED上显示24两位数。定时TO计数24秒后中断返回,继续定时计数下一个24秒;同时则在2位LED显示器上显示,表示时间已经过去1秒钟,即为23要按下键,即可暂停计时秒。这样一直持续下去。直到变为“00”时表示赛程结束。如果比赛中裁判叫停,则只要按下暂停按键,即可暂停计时。3 软件设计3.1 系统主程序 根据设计要求,可分析并设计图程序流程图,采用24秒倒计时,所以复位值为24秒,倒计时到0时,数码管

12、显示为00,开始判断,并报警。开关A1控制复位,A2控制暂停,A3控制启动。以下是篮球计时器24秒倒计时的程序流程图:开始结束蜂鸣器报警Y暂停键是否按下N定时时间到否倒计时开始YY初始化 N启动键是否按下N 图3.1 主程序流程图3.2 中断程序定时器定时,每隔50毫秒进入中断一次。进入20次,完成1秒计时。数码管显示数字减1。3.3键盘程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。4 结论 本次课程设计是我到目前为止觉得最有意义也是收获最大的一次实习,可以说是有苦也有甜。身为电子信息工程系的学生,设计是我

13、们将来必须的技能口而这次课程设计恰恰给我们提供了一个应用自己所学知识的平台。 从通过理论设计,到确定具体方案,再到仿真软件仿真,最后到调试电路、显示结果。整个过程都需要我充分利用所学的知识进行思考、借鉴。可以说,本次课程设计是针对前面所学知识进行的一次比较综合的检验。总的来说,这次课程设计虽然很累,但非常充实。在这次实习中,正确的思路是很重要的,只要设计思路是正确的,那么才可能成功。因此我们在设计前必须做好充分的准备,认真查找详细的资料,为我们设计的成功打下坚实的基础。 如果说前面的电路的理论设计是多么令人头痛的事,那么安装、调试过程则是一个考验人的耐心的过程,对电路的安装、分析调试要一步一步

14、来,不能急躁。这次课程设计对以前学过的理论知识起到了很好的回顾作用,同时还弥补了之前对单片机知识的相关漏洞。刚开始,我对课程设计是一无所知,就连按照硬件图来写汇编程序,都是一个很大的问题。后来在实验室同学的耐心指导下,我终于知道了如何编写程序,焊接实物。在设计过程中,遇到了很多疑难点,通过同学间的讨论,并在老师指导下,综合运用所学知识,最终完成基于单片机的篮球比赛计时器设计。是一个24秒计时电路,并具有时间显示的功能。 当然,要做好本次的课程设计,熟练地掌握课本上的理论知识是前提。而且这次的课程设计老师在验收时还要求学生进行现场操作,答辩。这就更加促进了我们去认真的去完成这次课程设计,同时也只

15、有这样刁一能督促学生对设计中出现的问题进行一定的分析和调试。 虽然这次课程设计过程中我们遇到了很多问题,比如说程序、流程图的仿真,我们还不能如鱼得水,还不是很熟练,经常熬夜对程序进行修改,但是我仍然非常感有这么一个机会,老师的耐心指导也让我们懂得了不少知识。 总体来说,这次课程设计让我受益匪浅。在摸索改如何设计电路使之实现所需功能的过程中培养了我的设计思维,增加了实际动手能力,在让我体会到了设计电路的艰辛的同时,更让我体会到了成功的喜悦。参考文献 1楼然苗单片机课程设计指导【M.:航空航天大学,出版年:2ao年.2何立民.单片机实验与实践教程【M.:航空航天大学,出版年:2004年,3童诗白模

16、拟电子技术基础【M.:高等教育,出版年:2001年.4朝青.单片机原理及接口技术!M.;航空航天大学,出版年:1999年.5俊漠.单片机巾级教程【M:航空航天人学,出版年:1999年.【6余永权.Flash单片机原理及应用M.:电子工业,出版年:1997年.附录A 源程序#include#define uint unsigned int #define uchar unsigned char sbit w1=P33; /十位位选 sbit w2=P34; /个位位选 sbit key1=P35; sbit key2=P36; sbit key3=P37; sbit BEEP=P10; /报警器

17、控制位 sbit LED=P11; sbit left=P26; sbit right=P27; unit num,num1,shi,ge;int num; uchar code table=0xc0,0xf9,0xa4,0xb0, /数码管相应的段选码0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e ;void delay(unit z) unit x,y; for(x=z;x0;x-) for(y=110;y0;y-);/*按键扫描函数*/ void keyscan() if(key1=0) /开始计数 delay(10

18、); /延时消抖 if(key1=0) while(!key1); /松手检测TR0=1;beep = 1;led = 1; if(key2=0) /暂停计数 delay(10); /延时消抖 if(key2=0) while(!key2); /松手检测TR0=0;beep = 1;led = 1; if(key3=0) /重新计时 delay(10); /延时消抖 if(key3=0) TR0=0;while(!key3); /松手检测 num1=24; TR0=1;BEEP=1; /关闭蜂鸣器 void init() num1=24;TMOD=0x01; /设置定时器0为工作方式1TH0=

19、(65536-50000)/256; /定时器0的高八位TL0=(65536-50000)%256; /定时器0的低八位EA=1; /开总中断ET0=1; /开定时器0中断TR0=1; /启动定时器0w1 = 1;w2 = 1;num = 0;/*数码管显示函数*/void display(uchar shi,uchar ge)left = 1;right = 0;P0 = tableshi;delay(2);left = 0;right = 1;P0 = tablege;delay(2);void main()init();while(1) keyscan(); if(num=20) num=0; num1-;if(num1 =0) beep = 0; led = 0; if(num1 0) TR0 = 0; num1= 24; ge=num1%10; /个位 shi=num1/10; /十位 display(shi,ge); void time1() interrupt1 /定时器计数,50ms产生一次中断 TH1=(65536-50000)/256; TL1=(65536-50000)%256; num+; 附录B 系统原理图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁