篮球记分牌 - mine

上传人:千****8 文档编号:183244507 上传时间:2021-06-01 格式:DOC 页数:16 大小:1.98MB
返回 下载 相关 举报
篮球记分牌 - mine_第1页
第1页 / 共16页
篮球记分牌 - mine_第2页
第2页 / 共16页
篮球记分牌 - mine_第3页
第3页 / 共16页
篮球记分牌 - mine_第4页
第4页 / 共16页
篮球记分牌 - mine_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《篮球记分牌 - mine》由会员分享,可在线阅读,更多相关《篮球记分牌 - mine(16页珍藏版)》请在金锄头文库上搜索。

1、个人收集整理 勿做商业用途目录1、 方案设计1.篮球记分牌的功能要求.。.。.。.。.。.。.。.。.。.。.。.。.。22.篮球记分牌的性能扩展.。.。.。.。.。.。.。.。.。.。.。.。.。23.实际操作说明.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。22、 硬件装配1. 硬件清单及简要说明.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。32. 电路原理图与注解.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.33、 软件仿真1. 软件设计前瞻.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.52.

2、 流程图.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.53. 程序设计.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。74. 系统仿图。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.124、 制作与调试1. 焊接实物图.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。122. 调试过程.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.135、 心得体会1、 方案设计1、篮球记分牌的功能要求比赛开始,比分能够全部清零,数码管前2位、末2位实

3、现099加减记分,中间2位做24秒倒计时用.24秒倒计时时间到,蜂鸣器响、指示灯亮,重新开始倒计时,蜂鸣器停止鸣叫、指示灯灭。比分增加后,倒计时从24秒重新开始倒计时。任意时刻24秒可以重新开始倒计时。并且必要时候能够关闭倒计时。2、篮球记分牌的性能要求利用AT24C02或者单片机内部资源保存比分,支持复位保存,掉电保存功能。其他可附加功能 3、 实际操作说明暂停计时按钮(Stop):按钮按下则停止当前计时,并显示当前计时值。重新计时按钮(ReTimer):不管什么条件下,此按钮按下则倒计时重新从24秒开始倒计时;若先按Stop按钮,再按此键则在原来暂停计时的基础上继续计时.分数交换按钮(Ch

4、ange):按钮按下则两队的分数交换位置,即记分牌上左右调换.甲队/乙队的加/减分按钮:此按钮按下则位于记分牌左侧/右侧的分数相应的加/减1分,且此时24秒倒计时关闭,蜂鸣器关闭,指示灯灭(左边代表甲队,右边代表乙队)。二、硬件装配1、硬件清单及简要说明主要元件:AT89C51单片机芯片、74LS245上拉电阻、ULN2003APG反相器、6位并排显示数码管、蜂鸣器、LED灯、若干三极管、按钮、电阻及电容等。AT89C51芯片设置:4个I/O口,P0,P1,P2口做输出动作,P3口设置按钮做输入控制。定时器T0作为24秒倒计时设置.P1负责控制LED灯和蜂鸣器,P2负责数码管的位选,P0负责数

5、码管的段选,晶振设置成12MHZ.硬件电路设计:本设计硬件电路主要包括三部分,分别是:89c51单片机最小系统板,凌阳大学计划ledkey demo板和24秒倒计时结束时的蜂鸣器和指示灯提示电路。2、 电路原理图: 单片机最小系统原理图: 凌阳大学计划led-key demo板原理图: 24秒倒计时结束时的蜂鸣器和指示灯提示电路:3、 软件仿真1、软件设计前瞻考虑到篮球的加分有3分、2分、1分的情况,设置3个按钮不是明智的选择,所以采用了甲乙各用一个加/减按钮,每按一次就加/减一分,灵活掌控实际情况。2、 流程图(1)主程序流程图如下:(A/B分别表示甲队/乙队) 开始SR 执行相应的加减操作

6、CB+1A-11 储存器初始化、定时初始化、中断初始化 显示扫描不按 按键扫描B-1A+11按 按 按 按 按 按 按 重新24s定时暂停24s定时半场交换甲乙两 队比分 转换为BCD码开始 (2) 定时流程图:定时初始化50ms是否到?主程序 再定时初赋值(50ms)( YES1s是否到? NO YES NO关闭定时蜂鸣器响指示灯亮退出中断退出中断 秒减1 YES 24s是否到? YES NO3、 程序设计#includereg51。h#define uchar unsigned chardefine uint unsigned intuchar CZ=24; /计时24秒初值uchar J

7、iaMark = 0;/甲队得分变量uchar YiMark = 0; /乙队得分变量uchar time=0; /定义计数变量uchar change=0;/两对分数交换变量Uchar code table = 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D, 0x07, 0x6F,; /显示0,1,2,3,4,5,6,7,8,9sbit StopTimer = P31; /暂停24秒倒计时sbit ReTimer = P32; /重新24秒倒计时sbit Change = P33; /交换甲乙两队分数sbit JiaSub = P34; /甲队分数减1sbit Jia

8、Add = P35; /甲队分数加1sbit YiSub = P36; /乙队分数减1sbit YiAdd = P37; /乙队分数加1sbit AlarmLed = P10; /倒计时到指示灯sbit BJ = P16; /倒计时到蜂鸣器/*延时函数*/* 延时1ms /void delay1ms(uchar t) uint i,j; for(i=0;it;i+) for(j=0;j120;j+); /软件延时1ms /* 定时器T0中断服务程序*/void timer0 (void) interrupt 1 using 1 TL0 =(65536-50000)256; TH0 =(6553

9、650000)/256; /定时50ms time+; while(time=20)/每经一秒调用一次显示程序 time=0; CZ; if(-1 = CZ) BJ=0;CZ=0; AlarmLed=0;/定时到0秒后,蜂鸣器响,指示灯亮 if(ReTimer) delay1ms(5); if(ReTimer) CZ=24;TR0=1;BJ=1; AlarmLed=1; while(ReTimer); /重新定时 /*甲队分数处理函数*/int jia_scan() if(JiaSub) /甲队分数-1 delay1ms(5); if(JiaSub) delay1ms(5); JiaMark

10、= JiaMark1; if (JiaMark=-1) JiaMark=0; while(JiaSub); delay1ms(5); if(JiaAdd) /甲队分数+1 delay1ms(5); if(JiaAdd) delay1ms(5); JiaMark = JiaMark+1; while(JiaAdd); delay1ms(5); return JiaMark;/*乙分数处理函数*/ int yi_scan() if(YiSub) /乙队分数1 delay1ms(5); if(YiSub) delay1ms(5); YiMark = YiMark 1; if (YiMark=-1) YiMark=0;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 工学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号