基于单片机的篮球计时器的设计.doc

上传人:文库蛋蛋多 文档编号:4148752 上传时间:2023-04-07 格式:DOC 页数:24 大小:621KB
返回 下载 相关 举报
基于单片机的篮球计时器的设计.doc_第1页
第1页 / 共24页
基于单片机的篮球计时器的设计.doc_第2页
第2页 / 共24页
基于单片机的篮球计时器的设计.doc_第3页
第3页 / 共24页
基于单片机的篮球计时器的设计.doc_第4页
第4页 / 共24页
基于单片机的篮球计时器的设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《基于单片机的篮球计时器的设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的篮球计时器的设计.doc(24页珍藏版)》请在三一办公上搜索。

1、课程设计(论文)题 目 名 称 基于单片机的篮球计时器的设计 课 程 名 称 单片机原理及其接口技术 学 生 姓 名 陈子龙 学 号 1041201164 系 、专 业 电气工程系 电气工程及其自动化专业 指 导 教 师 李凯男 2012年6月1日邵阳学院课程设计(论文)评阅表学生姓名 陈子龙 学 号 1041201164 系 电气工程系 专业班级 电气工程及其自动化3班 题目名称 基于单片机的篮球计时器的设计 课程名称 单片机原理及其接口技术 一、学生自我总结 学生签名: 年 月 日二、指导教师评定评分项目平时成绩论文答辩综合成绩权 重304030单项成绩指导教师评语: 指导教师(签名):

2、年 月 日注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。摘 要篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,规则还要求进攻方在24秒内有一次投篮动作,否则视为违例。以下为一个篮球比赛计时器,该计时器采用按键操作、LED显示,非常实用。此计时器也可作为其他球类比赛的计时器。本课程设计介绍了一个基于单片机的篮球比赛计时器硬件设计,包括AT89C51、2个八段显示LED、上电复位电路、时钟发生电路等基本模块的设计。其功能主要有:一场篮球比赛共分四节,每节12分;每次进攻为24秒,

3、计时器的显示均为倒计时方式,24秒计时用两位数码管显示;所有的计时都要具有暂停、继续、清零;当球员的持球时间超过24秒时,24秒倒计时减为零且有蜂鸣器报警提示。本次课程设计是采用单片机C语言实现倒计时24秒篮球比赛计时器。关键词:AT89C51;LED数码管;按键;模块目 录摘要.I1 篮球计时器概述.11.1 篮球竞赛24秒计时器功能.11.2 主要参考器件.11.3 单片机的概述.11.3.1AT89C51单片机简介.11.3.2 AT89C51单片机引脚功能简介.12 硬件设计.42.1 设计原理.42.2 硬件设计流程图.42.3 功能单元模块.。.52.4硬件设计电路.63软件设计.

4、83.1程序流程图.83.2程序设计.94 protues仿真.134.1 protues仿真软件简介.134.2仿真过程.145调试分析.20总结.21参考文献.22附录.23致谢.241 篮球计时器概述1.1 篮球竞赛24秒计时器功能 随着信息时代的到来,电子技术在社会生活中发挥着越来越重要的作用,运用模电和数电知识设计的电子产品成为社会生活中不可缺少的一部分。在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就犯规了。大多数篮球计时器的主控芯片为AT89C51,采用12MHz晶振,P0.0-P0.7作键盘输入。24秒计时开始,A3为24S复位开启键(投篮或交换控球时按下此键); A4

5、为24秒计时停止键(没有违例);A5为24秒计时同时启动键;A6为总计时和24S计时同时停止键。而此次我们设计的是一个简易篮球比赛计时器。最简单的篮球球计时器是24秒倒计时计时器。也就是本次课程设计的课题。24秒篮球计时器要求设置外部操作开关,控制计数器的直接清零、启动和暂停/并且计时电路递减计时,每隔1秒钟,计时器减1,当计时器减到0时,显示器上显示00,同时发出蜂鸣器报警信号。1.2 主要参考器件AT89C51 LED数码管 蜂鸣器 开关 电阻 导线等1.3单片机的概述1.3.1 AT89C51单片机简介单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器C

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

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

8、地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口在Flash编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 (3)振荡器特性 XTAL1和XTAL2分别为反向放大器的输入和输出。该反

9、向放大器可配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(4) 芯片擦除 芯片擦除在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。2 硬件设计2.1 设计原理 24秒计时器的总体参考方案框图如图2.1所示,它包括秒脉冲发生器、计数器、译码显示电路、报警电路和辅助时序控制电路等五个模块组成。其中计数器和控制电路是系统的主要模块。计数器完成24秒计时功能,而控制电路完成计数器的直接清零、启动技术、

10、暂停/连续计数、译码显示电路的显示与灭灯、定时时间到报警等功能。显示显示驱动单片机按键报警图2.1 总体方案框图2.2硬件电路图设计根据设计要求,要求要求设置外部操作开关,控制计数器的直接清零、启动和暂停。所以,硬件设计框图包括AT89C51芯片、显示器、报警和按键四大模块。系统硬件设计框图如图2.2所示 图2.2 系统硬件设计框图 此计时器采用的设计采用模块化的结构,主要由以上几个部分组成,即计时模块、控制模块以及译码显示模块。在设计此计时模块时,采用模块化的设计思想,使设计起来更加简单、方便、快捷。一个完整的计算机应该由运算器、控制器、存储器和I/O接口组成。运算器包括一个可进行8位算术运

11、算和逻辑运算的单元ALU,8位的暂存器1、暂存器2,8位的累加器ACC,寄存器B和程序状态寄存器PSW等。控制器包括程序计数器PC、指令寄存器IR、指令寄存器ID、振荡器及定时电路等。存储器分为程序存储器(Flash ROM)和数据存储器(RAM)。另外,89C51有4个与外部交换信息的8位并行接口,即P0至P3。它们都是准双向端口,每个端口各有8个I/O线,均可输入输出。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁

12、止所用其他芯片功能,直到下一个硬件复位为止。2.3 功能单元模块(1)常开型按钮开关控制模块是由键盘输入,键盘是一组按键的集合,它是最常见的单片机输入设备,是一种常开型按钮开关。常态时,按键的两个触点处于断开状态,如图2.3所示,键盘分为编码键盘和非编码键盘,键盘上闭合键的识别由专门的硬件译码器实现,并产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等;靠软件识别的称为非编码键盘。 图2.3 常开型按钮开关 (2)七段数码显示管单片机中通常用7段LED构成字型“8”,另外,还有一个小数点发光二极管,以显示数字、符号及小数点。这种显示器有共阴极和共阳极两种,此课程设计采用的是共阳

13、极。发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。一位显示器由8个发光二极管组成,其中,7个二极管构成字型“8”的各个笔画ag,另一个小数点为dp发光二极管。 图2.4 七段数码显示管 另外,将多个LED显示块组合在一起就构成了多位LED显示器。每个LED显示器的段引脚称为段选线,公共端称为位选线。段选线控制显示的字符,位选线控制该LED的亮和灭。按照显示器的工作方式不同,位选线和段选线的连接方法也不同。LED显示器有静态显示和动态显示两种方式。 (2) 蜂鸣器使用SH69P43 为控制芯片,使用4MHz 晶振作为主振荡器。PORTC.3/T0 作为I/O口通过三

14、极管Q2来驱动蜂鸣器LS1,而PORTC.2/PWM0 则作为PWM 输出口通过三极管Q1 来驱动蜂鸣器LS2。另外在PORTA.3 和PORTA.2 分别接了两个按键,一个是PWM 按键,是用来控制PWM 输出口驱动蜂鸣器使用的;另一个是PORT 按键,是用来控制I/O 口驱动蜂鸣器使用的。连接按键的I/O 口开内部上拉电阻。图2.5 蜂鸣器示意图 (3)AT89C51芯片 芯片的的40个引脚及其功能在上述中已经介绍,以下是Proteus中的AT89C51芯片的示意图图2.6 AT89C51芯片2.4 硬件设计电路设计思路:选用AT89C51作为主控芯片,晶振是6KHz,机械周期为1ms,所

15、以循环10次为1s。P0口作为段码输出,P2.0、P2.1作为位控,高电平有效。数码管是液晶显示,采用动态显示,两个串行口作为中断入口,高电平有效,启动T0定时器/计数器进行计数,低电平有效。图2.6是系统硬件设计电路图图2.7 硬件设计图时间设置完后,启动定时器T0开始定时计数。计时采用倒计时,比如:设置的时间为24秒钟,则在LED上显示24两位数。定时T0计数24秒后中断返回,继续定时计数下一个24秒;同时则在2位LED显示器上显示,表示时间已经过去1秒钟,即为23要按下键,即可暂停计时秒。这样一直持续下去。知道变为“00”时表示赛程结束。如果比赛中裁判叫停,则只要按下键,即可暂停及时。3

16、 软件设计3.1 程序流程图 根据设计要求,可分析并设计图程序流程图,采用24秒倒计时,所以复位值为24秒,倒计时到0时,LED显示为00,开始判断,并报警。开关A1控制复位,A2控制暂停,A3控制启动。以下是篮球计时器24秒倒计时的程序流程图。开始初始化启动键是否按下倒计时开始定时时间到蜂鸣器报警YYNYY暂停键是否按下NN图3.1主程序流程图3.2 程序设计根据以上流程图,可以用汇编语言编写出篮球计时器24秒倒计时程序,该程序包括主程序,中断程序,延时程序以及显示程序。程序#include#include#define uint unsigned int #define uchar uns

17、igned charsbit w1=P20; /十位位选sbit w2=P21; /个位位选sbit key1=P10; /按键位选码sbit key2=P11;sbit key3=P12;sbit BEEP=P27; /报警器控制位uint num,num1,shi,ge;uchar code table=0x3f,0x06,0x5b,0x4f, /数码管相应的段选码 0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(uint z) uint x, y; for(x=z;x0;x-) for(y=11

18、0;y0;y-);/*void delay1(uchar x) /x*0.14MS uchar i; while(x-) for (i = 0; i13; i+) void beep(void) uchar i; for (i=0;i50;i+) delay1(4); BEEP=!BEEP; /BEEP取反 */*按键扫描函数*/void keyscan() if(key1=0) /开始计数 delay(5);/延时消抖if(key1=0) while(!key1); /松手检测 TR0=1; if(key2=0)/暂停计数 delay(5);/延时消抖if(key2=0) while(!ke

19、y2); /松手检测 TR0=0; if(key3=0) /重新计时 delay(5);/延时消抖if(key3=0) TR0=0; while(!key3); /松手检测 num1=24; TR0=1; BEEP=1; /关闭蜂鸣器 void init()num1=24;TMOD=0x01;/设置定时器0为工作方式1TH0=(65536-50000)/256; /定时器0的高八位TL0=(65536-50000)%256; /定时器0的低八位EA=1;/开总中断ET0=1;/开定时器0中断TR0=1;/启动定时器0 /TOCN中有TR0 /*数码管显示函数*/void display(uch

20、ar shi,uchar ge) P0=tableshi; /十位显示 w1=1; w2=0; /位选设置 delay(2);P0=tablege;/个位显示 w1=0; w2=1; /位选设置 delay(2); if(num1=0) /如果24秒显示完后,报警 TR0=0; BEEP=0;void main() init(); while(1) keyscan(); if(num=20) num=0; num1-; ge=num1%10; / 个位 shi=num1/10; / 十位 display(shi,ge); void time1() interrupt 1 /定时器计数,50ms

21、产生一次中断 TH1=(65536-50000)/256;TL1=(65536-50000)%256; num+; 4 Proteus软件仿真4.1 Proteus仿真软件简介Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Protues提供了丰富的资源: 仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交

22、直流电流表。理论上同一种仪器可以在一个电路中随意的调用。Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标。另外Proteus还提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。在Protues中进行电路仿真时,先绘制好原理图,再调入已编译好的目标代码文件:*.HEX,随后便可在PROTEUS的原理图中模拟的实物运行状态和过程,进行观察从而改良自己的设计方案。操作简单,非常适合初学者进行单片机的仿真,进而了解其原理,增强实践。4.2 仿真过程在用Protues进

23、行仿真之前,先要用WAVE软件将我们编写好的汇编程序编译。具体方法是先新建一项目,之后输入编写的程序,输入完成后保存然后执行项目、编译,在目标文件夹内生成编译好的程序文件,其中*.HEX文件就是我们所需要的,在之后电路设计好后用于放入AT89C51中执行其功能。在生成*.HEX文件后,进入Protues软件,此时软件已自动打开一新建项目。我们可直接在其中构建电路图,点击板面左侧按键P,在弹出的Pick devices对话框中进行元器件的选择,如下图:图4.1 查找元器件元器件都找到后,先进行排版再按照电路图连接,如连接好后如下图所示:图4.2仿真电路图在电路连接好后,双击AT89C51在弹出对

24、话框中选择单片机中要输入的程序,见下图:图4.3 向AT89C51中加入程序在输入程序后,即可开始进行仿真了,选择执行后点击开关可观察到数码管亮,并能实现加1、加2、加3、减1的功能。图4.4 仿真结果图5 调试分析在仿真成功之后,便可进行实践了。实物和仿真还是有一定的差别的,制作实物时要考虑的方面比仿真多的多。做实物时,不仅要考虑到电路正确同时也要注意版面的设计,不仅设计功能要求实现,版面的美观也是必不可少的一方面,这就要注意尽量少的接线。在电路板刚刚焊好后,与以前制作的单片机板连接在一起,接好电路,烤入程序后发现第一个数码管的C段一直处于亮的状态,经检查后确定不是硬件出现的问题,但在仿真时

25、能正确显示也证明程序也是正确的,找不到问题所在让我非常郁闷。想着原因可能程序读入时出现错误,试着重新将程序烤入单片机中,显示结果果然变得正常,实践成功。 总 结本次课程设计是我到目前为止觉得最有意义也是收获最大的一次实习,可以说是有苦也有甜。身为电气工程系的学生,设计是我们将来必须的技能。而这次课程设计恰恰给我们提供了一个应用自己所学知识的平台。从通过理论设计,到确定具体方案,再到仿真软件仿真,最后到调试电路、显示结果。整个过程都需要我充分利用所学的知识进行思考、借鉴。可以说,本次课程设计是针对前面所学知识进行的一次比较综合的检验。总的来说,这次课程设计虽然很累,但非常充实。在这次实习中,正确

26、的思路是很重要的,只要设计思路是正确的,那么才可能成功。因此我们在设计前必须做好充分的准备,认真查找详细的资料,为我们设计的成功打下坚实的基础。如果说前面的电路的理论设计是多么令人头痛的事,那么安装、调试过程则是一个考验人的耐心的过程,对电路的安装、分析调试要一步一步来,不能急躁。这次课程设计对以前学过的理论知识起到了很好的回顾作用,同时还弥补了之前对单片机知识的相关漏洞。刚开始,我对课程设计是一无所知,就连按照硬件图来写汇编程序,都是一个很大的问题。后来在实验室同学的耐心指导下,我终于知道了如何编写程序,焊接实物。在设计过程中,遇到了很多疑难点,通过组员的讨论, 并在老师指导下,综合运用所学

27、知识,最终完成基于单片机的篮球比赛计时器设计。是一个24秒计时电路,并具有时间显示的功能。 当然,要做好本次的课程设计,熟练地掌握课本上的理论知识是前提。而且这次的课程设计老师在验收时还要求学生进行现场操作,答辩。这就更加促进了我们去认真的去完成这次课程设计,同时也只有这样才能督促学生对设计中出现的问题进行一定的分析和调试。虽然这次课程设计过程中我们遇到了很多问题,比如说程序、流程图以及Proteus的仿真,我们还不能如鱼得水,还不是很熟练,经常熬夜对程序进行修改,但是我仍然非常感谢有这么一个机会,老师的耐心指导也让我们懂得了不少知识。总体来说,这次课程设计让我受益匪浅。在摸索改如何设计电路使

28、之实现所需功能的过程中培养了我的设计思维,增加了实际动手能力,在让我体会到了设计电路的艰辛的同时,更让我体会到了成功的喜悦参考文献1楼然苗.单片机课程设计指导M.北京:北京航空航天大学出版社,出版年:2007年.2何立民.单片机实验与实践教程M.北京:北京航空航天大学出版社,出版年:2004年.3童诗白.模拟电子技术基础M.北京:北京高等教育出版社,出版年:2001年.4李朝青.单片机原理及接口技术M.北京:北京航空航天大学出版社,出版年:1999年.5张俊谟.单片机中级教程M.北京:北京航空航天大学出版社,出版年:1999年.6余永权. Flash单片机原理及应用M.北京:电子工业出版社,出版年:1997年.7李群芳. 单片机微机计算机与接口技术M.北京:电子工业出版社,出版年:2001年.附录致谢本文是在李凯南老师精心指导和大力支持下完成的。老师以其严谨求实的治学态度、高度的敬业精神、兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对我产生重要影响。渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。同时,在此次课程设计过程中我也学到了许多关于单片机设计方面的知识,实验技能有了很大的提高。 另外,我还要特别感谢同学对我实验以及论文写作的指导,他们为我完成这篇论文提供了巨大的帮助。最后,再次对关心、帮助我的老师和同学表示衷心地感谢 致谢人:刘书

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号