篮球比赛24s计时器--课程设计_第1页
篮球比赛24s计时器--课程设计_第2页
篮球比赛24s计时器--课程设计_第3页
篮球比赛24s计时器--课程设计_第4页
篮球比赛24s计时器--课程设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上目 录专心-专注-专业摘 要课程设计目的课程设计是在校学生素质教育的重要环节,是理论与实践相结合的桥梁和纽带。单片机课程设计,要求学生更多的完成软硬结合的动手实践方案,解决目前学生课程设计过程中普遍存在的缺乏动手能力的现象 。单片机课程设计是继电子技术、电路和单片机原理与应用课程之后开出的实践环节课程,其目的和任务是训练学生综合运用已学课程“电子技术基础”、“单片机原理及应用”的基本知识,独立进行单片机应用技术和开发工作,掌握单片机程序设计、调试和应用电路设计、分析及调试检测。篮球比赛中除了有总时间倒计时外,为了加快比赛的节奏,新的规则还要求进攻方在秒内有一次投篮动作

2、,否则视为违例。以下为一个篮球比赛计时器,该计时器采用按键操作、显示,非常实用。此计时器也可作为其他球类比赛的计时器。本课程设计介绍了一个基于单片机的篮球比赛计时器硬件设计,包括AT89C51、6个八段显示LED、上电复位电路、时钟发生电路等基本模块的设计。其功能主要有:每次进攻为24秒,计时器的显示均为倒计时方式,24秒计时用两位数码管显示;所有的计时都要具有暂停、继续、清零;当球员的持球时间超过24秒时,24秒倒计时减为零且有声光提示。本次课程设计是采用单片机汇编语言实现倒计时24秒篮球比赛计时器。关键词:AT89C51;LED数码管;按键;模块1、具有24s计时功能。2、设置外部操作开关

3、,控制计时器的直接清零、 启动和暂停 /连续功能。3、计时器为24秒递减时,计时间隔为1秒。4、计时器递减到零时,数码显示器不能灭灯,同时发出光电报警信号。5、有直接清零然后恢复到24秒,准备重新开始计数。学生在教师指导下,综合运用所学知识完成基于单片机的篮球比赛24秒计时器设计。要求设计一个24秒计时电路,并具有时间显示的功能。要求:1、设置外部操作开关,控制计数器的直接清零、启动和暂停/连续计时。2、要求计时电路递减计时,每隔1秒钟,计时器减1。3、当计时器减到0时,显示器上显示00,同时发出光电报警信号。1 篮球计时器概述1.1 篮球竞赛24秒计时器功能 随着信息时代的到来,电子技术在社

4、会生活中发挥着越来越重要的作用,运用模电和数电知识设计的电子产品成为社会生活中不可缺少的一部分。在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就犯规了。大多数篮球计时器的主控芯片为AT89C51,采用12MHz晶振。24秒计时开始, 24S复位开启键(投篮或交换控球时按下此键);24秒计时停止键(没有违例);24秒计时同时启动键; 24S计时同时停止键。而此次我们设计的是一个简易篮球比赛计时器。最简单的篮球球计时器是24秒倒计时计时器。也就是本次课程设计的课题。24秒篮球计时器要求设置外部操作开关,控制计数器的直接清零、启动和暂停/并且计时电路递减计时,每隔1秒钟,计时器减1,当计时器

5、减到0时,显示器上显示00,同时发出光电报警信号,最后5s也会报警提示.。 1.2 主要参考器件AT89C51 LED 数码管 光电报警器 开关 电阻 导线等1.3 单片机的概述1.3.1 AT89C51单片机简介单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。 单片机的存储器ROM和RAM是严格区分的。ROM称为程序存储器,只存放程序,固定常数,及数

6、据表格。RAM则为数据存储器,用作工作区及存放用户数据。为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。1.3.2 AT89C51单片机引脚功能简介AT89C51有40个引脚,各引脚功能如下所示:(1) 电源引脚Vcc和VssVcc(电源端):供电电压,为+5V。Vss(GND):接地端。(2)输入输出端口P0、P1、P2和P3P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在Flash编程时,P0 口作为原码输入口,当Flash

7、进行校验时,P0输出原码,此时P0外部必须被拉高。    P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在Flash编程和校验时,P1口作为第八位地址接收。     P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电

8、流。这是由于内部上拉的缘故。P2口在Flash编程和校验时接收高八位地址信号和控制信号。   P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。(3)振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲

9、的高低电平要求的宽度。(4)芯片擦除:在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。如图1.3所示为AT89C51结构框图在一小块芯片上,集成了一个微型计算机的各个组成部分。以下即为上述的AT89C51芯片图 1.3 AT89C51结构框图2 硬件设计2.1 设计原理24秒计时器的总体参考方案框图如图2.1所示,它包括秒脉冲发生器、计数器、译码显示电路、报警电路和辅助时序控制电路等五个模块组成。其中计数器和控制电路是系统的主要模块。计数器完成24秒计时功能,而控制电路完成计数器的直接清零、启动技术、暂停/连续计数、译码显示电路的显示与灭灯、定时时间到

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

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

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

13、共阴极显示器。一位显示器由8个发光二极管组成,其中,7个二极管构成字型“8”的各个笔画ag,另一个小数点为dp发光二极管。图 2.4 LED显示器另外,将多个LED显示块组合在一起就构成了多位LED显示器。每个LED显示器的段引脚称为段选线,公共端称为位选线。段选线控制显示的字符,位选线控制该LED的亮和灭。按照显示器的工作方式不同,位选线和段选线的连接方法也不同。LED显示器有静态显示和动态显示两种方式。(3)报警器报警探测器是由传感器和信号处理组成的,用来探测信号的,由电子和机械部件组成的装置,是报警系统的关键,而传感器又是报警探测器的核心元件。采用不同原理的传感器件,可以构成不同种类、不

14、同用途、达到不同探测目的的报警探测装置。报警探测器的灵敏度和可靠性是相互影响的。合理选择报警探测器的探测灵敏度和采用不同的抗外界干扰的措施,可以提高报警探测器性能。采用不同的抗干扰措施,决定了报警探测器在不同环境下的使用性能。了解各种报警探测器的性能和特点,根据不同使用环境,合理配置不同的报警探测器是防盗报警系统的关键环节。 它有报警主机、红外报警器、门磁探测器、烟雾探测器、燃气探测器、红外对射、遥控器、紧急按钮等组成。探测器通过自己对周边物体的探测,和感应以及探测器自身的分离和接摸,自身产生一种感应信号,探测器把信号传给报警主机,报警主机通过自己的分析执行相应的报警功能。在课程设计中,用到的

15、是实验室的光电报警器。光电报警器的驱动器的输入端接AT89C51的P1.0,当P1.0输出高电平时,会产生光电,实现报警。(4)AT89C51芯片芯片的的40个引脚及其功能在上述中已经介绍,以下是Proteus中的AT89C51芯片的示意图图 2.5 Proteus软件中的AT89C51芯片2.3 硬件设计电路图图 2.6 硬件设计电路图设计思路:选用AT89C51作为主控芯片,晶振是6KHz,机械周期为1ms,所以循环10次为1s。P0口作为段码输出,P2.0、P2.1作为位控,高电平有效。数码管是液晶显示,采用动态显示,两个串行口作为中断入口,高电平有效,启动T0定时器/计数器进行计数,低

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

17、计时器24秒倒计时的程序流程图。图3.1 主程序流程图3.2 程序设计根据以上流程图,可以用汇编语言编写出篮球计时器24秒倒计时程序,该程序包括主程序,中断程序,延时程序以及显示程序。程序清单: # include<reg52.h> # include<intrins.h> # define uint unsigned int # define uchar unsigned charsbit w1=p20; /十位位选sbit w2=p21; /个位位选sbit key1=p10; /按键为选码sbit key2=p11;sbit key3=p12;sbit BEEP=

18、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(unit z) uint x,y; for(x=z;x>0;x-) for(y=1 10;y>0;y-)/*void delay1(uchar x) /x*0.14MS uchar i; while(x-) for(i=0;i<13;i+) void beep(void

19、) uchar i; for (i=0;i<50:i+) delay 1(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(!key2); /松手检测 TR0=0; while(!key 3); /松手检测 num1=24; TR0=1; BEEP=1; /关闭蜂鸣器 void init() nu

20、m1=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(uchar shi,uchar ge) P0=tableshi; /十位显示 w1=1; w2=0; /选位设置 delay(2); P0=tablege; /个位显示 w1=0; w2=1; /位选设置 delay(2); if(num1=

21、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产生一次中断 TH1=(65536-50000)/256; TL1=(65536-50000)%256; num+; 3.3 仿真及仿真结果 软件硬件联合仿真系统由一个硬件执行环境和一个软件执行环境组成,通常软件环境和硬件环境都

22、有自己的除错和控制界面,Keil与Proteus的整合调试可以实现系统的总调,在该系统中,Keil作为软件调试界面,Proteus作为硬件仿真和调试界面。24秒篮球计时器设置外部操作开关,控制计数器的直接清零、启动和暂停/并且计时电路递减计时,每隔1秒钟,计时器减1,当计时器减到0时,显示器上显示00,同时发出光电报警信号。编好程序,并对其进行编译连接之后,按照上面的步骤,通过Proteus进行仿真,能够进行24秒的倒计时,复位值是24,然后显示23、22、18、17、09、08、01、00。显示00后,暂停后复位。仿真结果分析通过在Proteus中仿真,按下复位键(开启键),显示器显示24,

23、然后自动显示23、22,当计时到21秒时,按下暂停,显示器锁定在21,当再按启动键时,又开始倒计时,直到显示00,开始报警,按下复位键,又回到了24。整个仿真过程按要求显示,以下为仿真结果图图3.2 23秒显示图 3.3 22秒显示4 课程设计体会本次课程设计是我到目前为止觉得最有意义也是收获最大的一次实习,可以说是有苦也有甜。从通过理论设计,到确定具体方案,再到仿真软件仿真,最后到调试电路、显示结果,整个过程都需要我充分利用所学的知识进行思考、借鉴。这次课程设计对以前学过的理论知识起到了很好的回顾作用,同时还弥补了之前对单片机知识的相关漏洞。刚开始,我对课程设计是一无所知,就连按照硬件图来写

24、汇编程序,都是一个很大的问题。后来在刘丽老师的耐心指导下,我终于知道了如何使用Protues软件,以及如何用Word绘图工具栏来画流程图。设计是我到目前为止觉得最有意义也是收获最大的一次实习,可以说是有苦也有甜。身为电气工程专业的学生,设计是我们将来必须的技能。而这次课程设计恰恰给我们提供了一个应用自己所学知识的平台。从通过理论设计,到确定具体方案,再到仿真软件仿真,最后到调试电路、显示结果。整个过程都需要我充分利用所学的知识进行思考、借鉴。可以说,本次课程设计是针对前面所学知识进行的一次比较综合的检验。总的来说,这次课程设计虽然很累,但非常充实。在这次实习中,正确的思路是很重要的,只要设计思路是正确的,那么才有可能成功。因此我们在设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论