基于单片机的篮球计分器.pdf

上传人:tbuqq 文档编号:4563230 上传时间:2019-11-17 格式:PDF 页数:28 大小:1.60MB
返回 下载 相关 举报
基于单片机的篮球计分器.pdf_第1页
第1页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

1、课程设计 (论文) 题 目 名 称基于单片机的篮球计分器 课 程 名 称单片机原理与应用 学 生 姓 名彭金科 学号0941301388 系 、专业信息工程系 指 导 教 师周晓燕 年月日 目录 第一章绪论.1 1.1 系统功能 1 1.2 课题运用的知识点 1 第二章 系统原理的设计. . . 2 2.1 课题的技术与量化要求 2 2.2 系统的组成框图 2 第三章 硬件部分的设计 3 3.1 单片机接口电路 3 3.2 数码显示电路 4 第四章 软件部分的设计 7 4.1按键模块 7 4.1.1键盘处理的流程图 . 7 4.1.2源代码 . 8 4.2显示模块 9 4.2.1简介.9 4.

2、2.2显示的流程图 .9 4.2.3源代码 .9 4.3成绩调整模块 .10 4.3.1简介10 4.3.2成绩调整流程图 11 4.3.3源代码 12 4.4延时模块 .13 4.4.1简介14 4.4.2延时的流程图 14 4.4.3延时的源代码 14 附录一 原理图 .15 附录二 仿真.16 附录三 源程序设计 .17 参考文献 .23 总结.23 1 第一章绪论 1.1 系统功能 随着科技的迅猛发展 , 单片机在计算机应用领域中起到了越来越重要的作用. 单片 机体积小 , 功能强 , 集成了微型机的各部件 , 大大缩短了系统内信号传送的距离, 从而提 高了系统的可靠性及运行速度。 该

3、系统主要是线以下两种功能: 计分:能同时显示甲、乙两队比分, 最大计分数为 99。能分别对甲、乙两队比分进 行加分。 计时:从比赛开始时启动计时工作方式, 初始时间为 00, 最大计时为 99 分钟, 经过 修改后应该还能实施计时暂停, 还能设定为倒计时。 交换比分:中场交换比赛场地时,能交换甲、乙两队比分的位置。 哨音提示:设定的比赛时间到了, 能自动哨音提示比赛结束 . 1.2 课题运用的知识点 本课题主要运用单片机设计知识设计篮球赛记时计分器,因此涉及到的知识点主 要有以下几点: (1)AT89C51 单片机的运用 (2)LED数码管的运用 (3)人机接口 2 第二章系统原理的设计 2.

4、1 课题的技术和量化要求 2. 能记录整个赛程的比赛时间,并能修改比赛时间、暂停比赛时间。 3. 能随时刷新甲、乙两队在整个赛程中的比分。 4. 中场交换比赛场地时,能交换甲、乙两队比分的位置。 5. 比赛时间结束时,能发出报警指令; 2.2 系统的组成框图 为了实现原理图的设计目标, 同时结合自己获取的各种资料以及要达到的具体 功能,所确定的组成框图见图3.1.1 。 一、组成框图的组成说明 图2.1.1 :系统原理框图 二、组成框图的组成及其功能说明 1、LED能够显示比赛成绩和比赛时间,并且能够显示调整后的比赛成绩和时间 2、控制按钮由两队的加分按钮组成、以中场中止按钮组成。 3、暂停比

5、赛时间 按 钮 单 片 机芯 片 时间显示 比分显示 3 第三章硬件部分的设计 3.1 单片机接口电路 图 3.1.1 单片机接口电路见图3.1.1 ,其电路分析如下: 1)复位电路 复位是指单片机的CPU 或系统中其它的部件处于某一确定的初试状态,并从这 一状态开始工作。除了进入系统的正常初始化之外,当由于程序运行出错或是操作错误 使系统处于锁死状态,为摆脱困境,需要进行按键复位。 通常单片机的复位操作有上电复位、信号复位、运行监视复位,运行监视复位 有程序运行监视和电源监视。 上电复位上电复位是指单片机上电是的复位操作,保证单片机上电后立即 进入规定的复位状态。 4 信号复位信号复位是指单

6、片机在正常供电的情况下,在复位引脚端加以复 位信号。根据不同情况有按键操作复位、唤醒复位、控制复位等。 系统运行监视复位系统运行监视复位是指系统出现非正常情况下时的复位 操作,通常有电源监视复位和程序监视复位。电源监视复位是指在电源下降到一定电平 状态或未达到额定电平要求时的系统复位;程序运行监视复位是指程序运行时常时的系 统复位。在本设计中,则是采用上电复位,复位电路见图2,原理是当电源接通后,上 电瞬间 RESET 引脚获取高电平,该高电平需要电容充电来维持,当高电平维持在两个机 械周期以上则单片机能被复位。一般为了能够可靠复位,复位时间一般在10ms以上, 对于振荡频率为 12MHZ 的

7、复位电路,典型RC系数为: C3=10uF ,R29=8.2 千欧。 2) 晶体振荡电路 晶体振荡电路用于产生单片机工作时所需的时钟信号,从而保证各部分工作的 同步。单片机内部有一个高增益反相反大器,只要在输入端XTAL1与输出 XTAL2之间挂 一个晶体振荡器和微调电容就可以构成一个稳定的自激震荡器并在单片机内部产生的 时钟脉冲信号。振荡电路见图3,电容器 C1与 C2用于稳定频率和快速起振,电容一般 在 5PF 30PF ,本设计电容为 30PF 。 3)键盘接口电路 与通用单片机相比,单片机应用系统中的键盘种类很多,键盘中按键数量设置 依系统操作要求而定。单片机应用系统中的键盘有独立式和

8、行列式两种。 (1)独立式键盘 独立式键盘中,每个按键占用一个I/O 口线,每个按键相对独立。I/O 口通过按键 与地相连,无按键按下时,引脚端为高电平,有按键按下时,引脚为低电平,I/O 口内 部有上拉电阻外部不可接上拉电阻。 (2)行列式键盘 用 I/O 口线组成行列结构,按键设置在交叉点上,在按键数目较多时运用这种连接 方式,可节省 I/O 口连线。行列式键盘的标识最常用的两种方法:行扫描法和线反转法。 本次设计中由于按键较少,采用三按键独立式键盘即可满足需要 见图(3.1.2)。 5 图 3.1.2 3.2 数码显示电路 LED 显示器通常所说的 LED显示器由七个发光二极管组成,因此

9、也称作七段LED 显示器,通过七段发光二极管的不同组合,可以显示多种数字、字母或其它符号。 图 3.1.3 1)LED的接法 共阴极接法是指把发光二极管的阴极连接在一起构成公共阴极,使用时公共阴极接 地,阳极输入高电平段的二极管则会导通发光,而输入低电平的则不会亮。 6 2) 显示方式 动态显示是指依次轮流点亮显示器的各个位,每隔一段时间则点亮一次, 设置足 够短的时间,利用人的视觉暂停效应和发光二极管的熄灭时的余辉,达到多个字符同时 显示的效果。运行这种显示方式可以降低成本与功耗,但需要较大的驱动电流。 本设计中采用的共阴极连接方式,由于没有有足够的I/O 口可以使用采用动态示 方式,显示电

10、路见图3.1.3 。 此外 P0需外加上拉电阻 (图 3.1.4) 。 图 3.1.4 7 第四章软件部分设计 4.1 按键模块 4.1.1 键盘处理的流程图 图 4.1.1 N 有 键 按 下 Y 延时 N 真的有键按下 Y 按键处理 等待按键释 8 4.1.2 源代码 void key_sc() /键盘扫描模块 uchar key_bt,i; while(1) P1=0xff; delay_t(80); key_bt=P1; switch(key_bt) case 0xfe: /初始化, 显示 0; for(i=0;i1 P3=bit_dis p3 显 显 P2、P3 初始化 P0=sho

11、wdis_codei N Y 10 void display_rt(uchar dis_code) /显示任务 char bit_disp2,bit_disp3,i; bit_disp3=0x20; bit_disp2=0x08; for(i=0;i1; else bit_disp3=0x20; P2=bit_disp2; P3=0xff; bit_disp2=bit_disp21; delay_t(1); 4.3 成绩调整模块 4.3.1 简介 11 成绩调整模块用用于记录两队比赛成绩,显示Led 中前 3 位用于记录 A队比赛成 绩,后三位用于记录B队的比赛成绩。成绩的记录范围从00099

12、9其中。 4.3.2 成绩调整流程图 获取键盘 K2 和 K3 信息 P1=0xfd ? B队 P1=0xfb A队 P1=0xfd uSuS_a N Y dS_a+ Y N Y hS_a+ Y N uS_b=0 uS_a=0 dS_a=0 显示 延时等待再次获取P1 的键盘 12 4.3.3源代码 void modify_sc() /调整比赛结果 while(1) display_rt(display_buf); while(P1=0xfd) /A队 uS_a+; if(uS_a9) dS_a+; uS_a=0; if(dS_a9) dS_a=0; hS_a+; if(hS_a9) uS_a

13、=0; dS_a=0; hS_a=0; display_buf3=uS_a; display_buf4=dS_a; display_buf5=hS_a; display_rt(display_buf); delay_t(60); 13 while(P1=0xfb) /B队 uS_b+; if(uS_b9) uS_b=0; dS_b+; if(dS_b9) dS_b=0; hS_b+; if(hS_b9) uS_b=0; dS_b=0; hS_b=0; display_buf0=uS_b; display_buf1=dS_b; display_buf2=hS_b; display_rt(disp

14、lay_buf); delay_t(60); 4.4 延时模块 14 4.4.1 简介 程序主要采用双循环结构。 4.4.2 延时的流程图 关于延时的流程图 4.4.3 延时的源代码 void delay_t(int t) /延时 int tt; while(t-) tt=300; while(tt-); t=? t- 退 N t tt N 15 附录一原理图 16 17 附录二仿真 18 19 附录三 源程序设计 #include #define uchar unsigned char #define uint8 unsigned int uchar code show_t10=0x3f,0

15、x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /0 1 2 3 4 5 6 7 8 9 static uchar display_buf10; /定义显示缓冲 char xSc3,ySc3; /保存两队的比赛结果 char tSc4; /保存比赛时间 uchar uS_a=0,dS_a=0,hS_a=0,uS_b=0,dS_b,hS_b=0; /分别定义 A和 B队比赛成 绩的个位、十位、百位 uchar suT=0,sdT=0,muT=0,mdT=0; /分别定义比赛时间的秒、 分个位及其十位 sbit fm_bt = P27; /蜂鸣状态位 vo

16、id delay_t(int t) /延时 int tt; while(t-) tt=300; while(tt-); void display_rt(uchar dis_code) /显示任务 char bit_disp2,bit_disp3,i; 20 bit_disp3=0x20; bit_disp2=0x08; for(i=0;i1; else bit_disp3=0x20; P2=bit_disp2; P3=0xff; bit_disp2=bit_disp21; delay_t(1); void alarm_spk() /攻击时间倒计时,喇叭在最后5 秒钟发出 滴答滴答的警报声 ui

17、nt8 vTmp; for(vTmp=0;vTmp9) dS_a+; uS_a=0; if(dS_a9) dS_a=0; hS_a+; if(hS_a9) uS_a=0; dS_a=0; hS_a=0; display_buf3=uS_a; display_buf4=dS_a; display_buf5=hS_a; display_rt(display_buf); delay_t(60); 22 while(P1=0xfb) /B队 uS_b+; if(uS_b9) uS_b=0; dS_b+; if(dS_b9) dS_b=0; hS_b+; if(hS_b9) uS_b=0; dS_b=0

18、; hS_b=0; display_buf0=uS_b; display_buf1=dS_b; display_buf2=hS_b; display_rt(display_buf); delay_t(60); void modify_st() /调整比赛时间 23 uchar i=0; while(i9) suT=0; sdT+; if(sdT5) sdT=0; muT+; if(muT9) muT=0; mdT+; if(mdT9) suT=0; sdT=0; muT=0; mdT=0; display_buf6=suT; display_buf7=sdT; display_buf8=muT

19、; 24 display_buf9=mdT; display_rt(display_buf); i+; delay_t(5); void key_sc() /键盘扫描模块 uchar key_bt,i; while(1) P1=0xff; delay_t(80); key_bt=P1; switch(key_bt) case 0xfe: /初始化, 显示 0; for(i=0;i9;i+) /display_bufi=0; display_rt(display_buf); break; case 0xfd: /A队 modify_sc(); break; case 0xfb: /B队 modi

20、fy_sc(); break; /时间 case 0xf7: 25 modify_st(); break; void main(void) key_sc(); /display_rt(d); /alarm_pk(); 参考文献 1 汪德彪 主编 MCS-51单片机原理及接口技术北京:电子工业出版社 2 张大明 主编 单片机控制实训指导及综合应用实例北京:机械工业出版 3 吴金戌 , 沈庆阳 .8051 单片机实践与应用 M. 北京: 清华大学出版社 ,2003 :35-52 4 李广弟 . 单片机基础 M. 北京: 北京航空航天大学出版社 ,1994:20-28 5 孙涵芳 , 徐爱卿 .MC

21、S-51/96 系列单片机原理及应用(修订版). 北京: 北京航空航天 大学出版社, 1996:76-83 6 李 勋, 林 广 艳 . 单 片微 型 计 算 机大 学 读 本 M. 北 京: 北 京航 空航天 大学 出版 社,1998:86-90 7 陈建铎,宋彩利,康磊, 冷冬梅 单片机原理与应用科学出版社出版 8 陈明计,周立功等编著嵌入式实时操作系统Small RTOS51 原理及其应用北京: 北京航空航天大学出版社,2004.1 总结 这是我第一次正式的设计单片机课程实验设计,虽然过程比较的辛苦,但终究完成 了最后的设计,有很多的感触。 26 实验做完了,这是汗水了智慧的结晶。同时也是老师细心教导与关怀的产物,是老 师的教育才得以让我能顺利的完成此次的课程设计。通过这次的课题,让我能够更加深 刻的理解本门课的知识,同时也让我对本门课程产生了更大的兴趣。我希望能够通过自 己的努力能够将本课程更加牢固的掌握,最后再一次感谢帮助过自己的老师与同学,谢 谢。

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1