实训项目篮球记分牌单片机设计(共17页).doc

上传人:飞****2 文档编号:13830717 上传时间:2022-05-01 格式:DOC 页数:17 大小:149KB
返回 下载 相关 举报
实训项目篮球记分牌单片机设计(共17页).doc_第1页
第1页 / 共17页
实训项目篮球记分牌单片机设计(共17页).doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《实训项目篮球记分牌单片机设计(共17页).doc》由会员分享,可在线阅读,更多相关《实训项目篮球记分牌单片机设计(共17页).doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上2009级学生单片机课程设计 单片机课程设计报告书课题名称 篮球赛计时计分电路 姓 名 学 号 院 系通信与电子工程学院专 业电子信息工程指导教师 2012年 6 月14日 一、设计任务及要求:。1.1 设计任务设计一个单片机系统用于篮球比赛计时计分,满足以下功能要求: 能记录整个赛程的比赛时间,并能修改比赛时间、暂停比赛时间;能随时刷新甲、乙两队在整个比赛过程中的比分;中场交换比赛场地时,能交换甲、乙两队比分的位置;比赛结束时,能发出报警声。1.2 设计要求1.画出总体设计框图,以说明计时计分器独立的功能模块组成,标出各个模块之间互相联系。2.设计各个功能模块的电路

2、图,加上原理说明。3.选择合适的元器件,在面板上接线验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。4.在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局,进行整个计时计分电路的接线调试。指导教师签名: 2012年 6 月 14 日 二、指导教师评语:指导教师签名: 年 月 日 三、成绩验收盖章 年 月 日 专心-专注-专业篮球计时计分电路课程设计 (湖南城市学院通电与电子工程学院电子信息工程专业,益阳,)1 设计任务1.1 设计目的1. 了解计时计分器组成及工作原理。2. 进一步

3、掌握计时计分器的设计方法 3. 进一步掌握芯片的逻辑功能及使用方法。 4. 熟悉集成电路的引脚安排.。1.2 设计指标设计一个单片机系统用于篮球比赛计时计分,满足以下功能要求: (1) 能记录整个赛程的比赛时间,并能修改比赛时间、暂停比赛时间。 (2)能随时刷新甲、乙两队在整个比赛过程中的比分。 (3)中场交换比赛场地时,能交换甲、乙两队比分的位置。 (4)比赛结束时,能发出报警声。1.3 设计要求1.画出总体设计框图,以说明计时计分器独立的功能模块组成,标出各个模块之间互相联系。2.设计各个功能模块的电路图,加上原理说明。3.选择合适的元器件,在面板上接线验证、调试各个功能模块的电路,在接线

4、验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。4.在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局,进行整个计时计分电路的接线调试。2、设计思路与总体框图.本设计是采用AT89C52单片机为核心设计的一个用于赛场的篮球计时计分器。本设计采用定时器T0中断计时,显示部分分为计时和计分显示两部分,均采用共阴极LED显示。单片机P3口(P3.0P3.5)是计时计分显示共用的扫描口,P0口是计时数据输出口,P2口是计分数据输出口。计时部分计时范围宽,而且可定时设定与小时、分钟调整;计分部分调整灵活,显示范围宽,足以满足各

5、种规模赛程需要。两个显示模块均采用动态扫描方式显示。图1所示为计时计分器的总体框图。图1 计时计分器结构框图3、系统硬件电路的设计3.1、时钟电路 MCS-51内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出端分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2上外接时钟源即可构成时钟电路。有内部和外部两种时钟产生方式。本设计采用的是外部方式。3.2、复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。上电复位设利用电容充电来实

6、现的,即上电瞬间RST/Vpd端的电位与Vcc相同,随着充电电流的减少,RST/Vpd的电位下降,最后被嵌位在0V。按钮电平复位是当按下按钮后,电源Vcc通过电阻R施加在单片机复位端RST/Vpd上,实现单片机复位。本设计采用的是上电+按钮电平复位电路,是上电自动复位与按钮电平复位电路的组合,当振荡频率选11.0592MH时。电容C取10u,R取10K,Rs取1K。 3.3、按键控制电路设计采用的是用查询方式的,也就是把按键接在P1口,用程序查询方式查询那个按键按下,执行相应的操作。3.4、数码管显示电路数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。我们分别把他命名为A,B,

7、C,D,E,F,G,H。假设我们要显示一个数字2, 那么 A、B、G、E、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阳接法,那么为低电平是亮,为高电平是灭。从高往低排列, P1.7-P1.0写成二进制为, 把他转化为16进制则为A2H。本设计采用的是数码管动态显示。3.5、定时报警电路定式报警电路4、软件设计4.1、程序流程图篮球比赛中,得分可分为1分、2分、3分三种情况,但为了方便我们在这只设置加1分,得2分、3分的情况可用按2次、3次加1分得到。还设置了定是报警键。根据这样的设计要求,结合数码管的显示以及52单片机中计数器的工作实现方式、接口应用、中断控制等可设计出程序

8、流程图如下:4.2、程序分析本设计采用AT89S52单片机中的一个16位的定时/计数器T0,分别由TH0和TL0组成,它们均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。它们用于存放定时或计数的初始值。此外,内部还有一个8位的方式寄存器TMOD和一个8位的控制寄存器TCON。用于选择和控制定时/计数器的工作。5程序设计仿真在计算机中打开PROTEUS软件,建立新的项目,在元件库中选择相应的元件,放在编辑窗口中,依次连线,组成仿真原理图。 计时工作仿真状态图: 甲乙两队计分工作仿真状态图:6.总结与体会6.1 总结1.根据原理和芯片引脚图,分功能设计原理图,并根据接线顺序分步骤验证。2.

9、容易出现故障为接触不良。a)集成块引脚方向预先弯好对准面板的金属孔,再小心插入。b)导线的剥线长度与面包板的厚度相适应(比板的厚度稍短)。c) 导线的裸线部分不要露在板的上面,以防短路。d)导线要插入金属孔中央。3.注意芯片的控制引脚必须正确接好4.检查故障时除测试输入、输出信号外,要注意电源、接地和控制引脚。5.要注意芯片引脚上的信号与面包板上插座上信号是否一致(集成块引脚与面包板常接触不良)。6.2 体会这次课程设计历时二个星期左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。回顾起此次单片机课程设计,我仍

10、感慨颇多,的确,从选题到定稿,从理论到实践,在接近两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用

11、方法,对C语言程序设计掌握的不够通过这次课程设计之后,一定把以前所学过的知识重新温故。7.参考文献:附1/*程 序 名:篮球记分牌测试程序编辑时间:2012-06-14编 辑 者: 修改时间:硬件平台:MCU:At89C51 晶振:12MHz硬件连接:功能说明:按下K1键,甲队加1分按下K2键,乙队加1分 按下K5交换记分牌 按下K3键,开始/停止比赛按下K4:调整比赛时间 第14位数码管为比赛时间的分和秒,第58位数码管分别为两队的分数测试结果:OK注 意:*/头文件#include#include#includedisplay.h#includedelay.h#includekey.h/变

12、量定义unsigned char disp_buff14=1,2,0,0; /比赛时间显示缓冲区unsigned char disp_buff24=0; /两队得分显示缓冲区unsigned char minute=12,second=0; /比赛时分秒unsigned char score1=0,score2=0; /两队的比赛得分bit volatile finish_flag=0; /比赛完成标志位unsigned char num=0; /定时累加计数unsigned char key=0; /保存键值/定时器T0初始化函数void initial() TMOD=0x80; TH0=(

13、65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET0=1; TR0=1;/*函 数 名:数码管显示缓冲区数组处理函数入口参数:无出口参数:无*/void dispose(void)disp_buff10=minute/10;/分钟的十位disp_buff11=minute%10;/分钟的个位disp_buff12=second/10;/秒钟的十位disp_buff13=second%10;/秒钟的个位disp_buff20=score1/10;/甲队得分的十位disp_buff21=score1%10;/甲队得分的个位disp_buff22=sc

14、ore2/10;/乙队得分的十位disp_buff23=score2%10;/乙队得分的个位/主函数 void main(void) unsigned char temp; initial();/定时器T0初始化 while(1) key=key_scan();/按键扫描switch(key)case 1:score1+;/K1按下,甲队加1分 if(score1=100)score1=99; break;case 2:score2+;/K2按下,乙队加1分 if(score2=100)score2=99; break;case 5:temp=score1;/K5按下,交换记分牌 score1

15、=score2; score2=temp; break;case 3:TR0=TR0;/K3按下,停止或开始比赛 break;case 4:if(TR0=0)/停止比赛时,按下K4键可以调整比赛时间 minute+;if(minute=60) minute=0; break;default:break;dispose();diaplay(disp_buff1,disp_buff2);if(finish_flag)P1=0x08;minute=second=0; /定时器T0中断服务函数void T0_time()interrupt 1 TH0=(65536-20000)/256; TL0=(6

16、5536-20000)%256; num+; if(num=250) num=0; if(second=0) if(minute=0)/比赛时间到,则停止计时TR0=0;finish_flag=1;elsesecond=60;minute-; second-; /*程 序 名:8位共阳七段数码管动态显示程序编辑时间:2012-06-14编 辑 者:x_z_yQ Q:修改时间:硬件平台:MCU:At89c51晶振:12MHz 8位共阳七段数码管硬件连接:第14位数码管段选P0 位选P30,P31,P32,P33 第58位数码管段选P2 位选P30,P31,P32,P33注 意:*/头文件#inc

17、lude#include#includedelay.h#includedisplay.h/变量定义unsigned char code disptable= 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71 ;/定义0F所对应的十六进制数组disptable/* 函 数 名:一位数码管显示函数入口参数:unsignedchar num 对应的第几个数码管 unsigned char dat1,dat2 对应要显示的数出口参数:无*/void seg_display(unsigne

18、d char num,unsigned char dat1,unsigned char dat2)P3&=0xf0;/消影P0=disptabledat1;/第14位数码管段选P2=disptabledat2;/第58位数码管段选P3=_cror_(0x08,num);/位选/* 函 数 名:八位数码管显示函数入口参数:unsigned char *disp_buff1,*disp_buff2 对应要显示的数缓冲数组指针出口参数:无*/void diaplay(unsigned char *disp_buff1,unsigned char *disp_buff2)unsigned char i

19、;for(i=0;i4;i+) /循环扫描数码管 seg_display(i,disp_buff1i,disp_buff2i); delay_ms(3);/* 程 序 名:STC89C52RD+ 四个独立按键的程序 编辑时间: 2012-06-14 编译环境:keil c 硬件平台:STC89C52RD+单片机,11.0592MHZ晶振 四个独立按键 功能描述: sbit K1=P10;/K1甲对加分键sbit K2=P11;/K2乙队加分键sbit K3=P12;/K3开始/停止比赛sbit K4=P15;/K4调整比赛时间sbit K5=P16;/K5甲乙队交换记分牌 注 意:*/ /头文

20、件#include#includedelay.h#includekey.h/硬件定义sbit K1=P10;/K1甲对加分键sbit K2=P11;/K2乙队加分键sbit K3=P12;/K3开始/停止比赛sbit K4=P15;/K4调整比赛时间sbit K5=P16;/K5甲乙队交换记分牌/*函 数 名:三个独立键盘扫描函数函数入口:无函数出口:无*/unsigned char key_scan(void) unsigned char key=0;if(K1=0)/甲对加分键delay_ms(2);if(K1=0)while(K1=0);key=1;else if(K2=0)/乙队加分键

21、delay_ms(2);if(K2=0)while(K2=0);key=2;else if(K3=0)/开始/停止比赛delay_ms(2);if(K3=0)while(K3=0);key=3;else if(K4=0)/调整比赛时间delay_ms(2);if(K4=0)while(K4=0);key=4;else if(K5=0)/甲乙队交换记分牌delay_ms(2);if(K5=0)while(K5=0);key=5;return key;/*延时函数*/头文件#include #include #include delay.h/延时xus的函数void delay_us(unsign

22、ed int xus)while(xus-)_nop_();/延时xms的函数void delay_ms(unsigned int xms)while(xms-)delay_us(1);#ifndef _DISPLAY_H_#define _DISPLAY_H_void seg_display(unsigned char num,unsigned char dat1,unsigned char dat2);/一位数码管显示函数void diaplay(unsigned char *disp_buff1,unsigned char *disp_buff2);/八位数码管显示函数#endif#ifndef _DELAY_H_#define _DELAY_H_extern void delay_us(unsigned int xus);/微秒延时extern void delay_ms(unsigned int xms);/毫秒延时#endif

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

当前位置:首页 > 教育专区 > 教案示例

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

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