篮球赛计时计分器课程设计课件

合集下载

篮球比赛计时计分器

篮球比赛计时计分器

内容摘要:篮球比赛计时计分器是为了解决篮球比赛时计时与计分准确的问题,更加方便篮球比赛时的计时与计分问题。

此装置利用单片机AT89C51完成了篮球比赛时计时和计分的功能。

本文详细介绍了系统硬件与软件的设计过程,采用该装置可根据实际情况进行比分、时间的修改与显示,具有低功耗、可靠性、安全性和低成本等特点。

本文主要阐述的是基于AT89C51单片机、数码管、开关模块等构成了篮球比赛计时计分器。

实现了四位一体时钟型共阴数码管显示篮球比赛时间、三位一体共阴数码管显示篮球比赛分数、篮球比赛分数的加减、篮球比赛时间的开始与暂停和篮球比赛结束时的报警等功能。

关键字:AT89C51单片机篮球比赛计时篮球比赛计分内容摘要 (2)引言 (4)第一章绪论 (5)1.1 设计目的与意义 (5)1.2 篮球比赛计时计分器的发展和现状 (5)第二章系统硬件的介绍 (6)2.1 MCS-51 单片机简述 (6)2.2 显示器及其接口 (9)第三章系统整体设计 (11)3.1 系统硬件设计方案 (11)3.2 系统设计流程 (12)第四章系统软件设计 (13)4.1 单元模块设计 (13)4.2 软件设计流程 (13)设计总结 (14)参考文献 (15)附录1:原理图与PCB图 (16)附录2:程序 (17)单片机又称单片微控制器,它内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件。

概括的讲:一块芯片就是一台计算机。

我们现在用的全自动滚筒洗衣机,排烟罩VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。

单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。

篮球比赛计时器(课程设计).

篮球比赛计时器(课程设计).

目录摘要 (I)1 总体设计思路、基本原理 (1)1.1 设计思路 (1)1.2 基本原理 (1)2单元电路设计与各单元电路图 (2)2.1 秒脉冲发生器的设计 (2)2.2 秒、分倒计数器的设计 (2)2.2.1 24秒倒计时电路 (2)2.2.2 12分钟倒计时电路设计 (3)2.3 译码器和显示器的设计 (5)3 总设计 (6)4 总结 (8)参考文献 (9)附录 (10)附录1 (10)附录2 (11)简易篮球比赛计时器摘要本设计主要能完成:显示篮球竞赛24秒和12分倒计时功能;此计时器功能齐全,系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器灭灯;计时器计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时蜂鸣器会发出声报警信号等。

本设计是脉冲数字电路的简单应用,应用七段数码管来显示时间。

此计时器有了启动、暂停和连续功能,可以方便地实现断点计时功能。

本设计完成的中途计时功能,实现了在许多的特定场合进行时间追踪的功能,在社会生活中也具有广泛的应用价值。

本电路主要有五个模块构成:秒脉冲发生器、计数器、译码显示电路、控制电路和报警电路。

当控制电路的置数开关闭合时,在数码管上显示数字24和12:00,每当一个秒脉信号输入到计数器时,数码管上的数字就会自动减1,当计时器递减到零时,报警电路会发出蜂鸣信号。

控制电路能直接控制计数器启动计数、暂停/连续计数、译码显示电路的显示等功能。

关键词:计数器24秒倒计译码显示电路报警电路1 总体设计思路、基本原理1.1 设计思路篮球比赛计时器的主要功能包括:12分钟倒计时、进攻方24秒倒计时计时暂停,重新开启和结束警报提示。

该计时系统由以下四个电路模块组成:1秒时基产生器:由集成电路定时器555与RC组成的多谐振荡器作为时间标准信号源。

24秒倒计时:这部分电路完成24 秒倒计时的功能,当比赛准备开始时,屏幕上显示24秒字样,当比赛开始后,倒计时从24逐秒倒数到00。

篮球计分器ppt

篮球计分器ppt

74ls248介绍
七段显示数码管 译码器
用到的门电路Βιβλιοθήκη 74LS248和显示部分连接图
记分电路
一分脉冲电路
二分脉冲电路
三分脉冲电路
篮球计分器电路图
C
心得体会
虽然这只是一次的简单的课程制作, 虽然这只是一次的简单的课程制作,可是平 心而论,也耗费了我们不少的心血。 心而论,也耗费了我们不少的心血。当我们仿真 实验成功的时候,当我们连好线,按下按钮, 实验成功的时候,当我们连好线,按下按钮,LED 亮了起来的时候我们的心中就不免兴奋, 亮了起来的时候我们的心中就不免兴奋,不免激 以前种种艰辛这时就变成了最甜美的回忆! 动。以前种种艰辛这时就变成了最甜美的回忆! 对我们而言,知识上的收获重要, 对我们而言,知识上的收获重要,精神上的丰收 更加可喜让我知道了学无止境的道理。 更加可喜让我知道了学无止境的道理。我们每一 个人永远不能满足于现有的成就, 个人永远不能满足于现有的成就,人生就像在爬 一座山峰的后面还有更高的山峰在等着你。 山,一座山峰的后面还有更高的山峰在等着你。 挫折是一份财富,经历是一份拥有。 挫折是一份财富,经历是一份拥有。这次课程设 计必将成为我人生旅途上一个非常美好的回忆! 计必将成为我人生旅途上一个非常美好的回忆!
设计要求
设计制作一个篮球赛 计时计分牌, 计时计分牌,功能如 下: 具有加分功能( 具有加分功能(1、2、 ),并在数码管 3分),并在数码管 上显示双方比分。 上显示双方比分。 按下加减键显示和输 入加分, 入加分,平时显示时 时间精确到1S 间、时间精确到1S 。
系统方案设计
硬件设备
七段数码管
共阴极接法:把发光二极 管的阴极连在一起构成公共 阴极。使用时公共阴极接地, 这样阳极端输入高电平的段 发光二极管就导通点亮,而 输入低电平的则不点亮。实 验中使用的LED显示器为共 阴极接法.

篮球赛计时计分器课程设计课件资料

篮球赛计时计分器课程设计课件资料

电子与电气工程学院课程设计报告课程名称电子技术课程设计设计题目计分器专业名称电子科学与技术班级 13级 2班学号2013210825学生姓名唐前昆指导教师王欢2015年06 月02日目录第1章系统概述 (1)1.1 功能简述 (1)1.2 按钮设置 (1)第2章总体方案设计 (2)2.1 系统框图 (2)2.2 软件总体设计 (2)第3章系统硬件设计 (3)3.1 80C51单片机 (3)3.2 3×4矩阵式键盘 (3)3.3 8段数码管显示器 (3)3.4 系统原理图 (3)第4章软件设计 (4)4.1 主函数设计 (4)4.2按键码获取,按键处理函数 (5)4.3显示子函数 (6)4.4延时子函数 (7)第5章系统的安装调试说明 (8)5.1 软件调试 (8)5.2 软硬联调 (8)总结 (9)参考文献 (10)附录A 系统原理图 (11)附录B 源程序清单 (12)第1章系统概述1.1 功能简述本设计内容为比赛计分器,主要用于各种体育比赛记录分数。

采用矩阵式键盘作为输入,用户可分别对两队比分进行加1、加2和减1减2操作,其加减1,2分可以通过加减1分、2分的切换按钮实现,并通过指示灯显示其每次按下加减分键所加减的分值。

可以实现预置分。

比分通过4个8段数码管显示器进行显示,每队比分显示2位,1.2 按钮设置计分器应该有7个按键分别标注于原理图,见图1-1。

图1-1按钮功能图其中1/2分切换由发光二极管指示,加1减1分别对应。

预置分是事先设定分数可以分别设定甲乙两队的初始分数。

按下清零后,显示的分数清零。

第2章总体方案设计2.1 系统框图系统框图,见图2-1。

图2-1 系统框图本设计用80C51单片机为核心,利用4个8段数码管显示器.采用动态显示输出比分,用户信息输入则采用3×4矩阵式键盘。

89C52单片机有32根I/O线,所以不用扩展I/O口。

用一片单片机即可满足本设计的输入输出。

篮球比赛计分器课件

篮球比赛计分器课件

篮球比赛计分器
*
清理工位,归还工具
篮球比赛计分器
*
欢 迎 指 导!
篮球比赛计分器
*
编写程序
系统调试
制作电路
篮球比赛计分器
*
任务实施
硬件设计
1、单片机最小系统 2、输入电路 3、输出电路
软件设计
1、主程序 2、按键扫描程序 3、数码管显示程序
系统调试
软硬件相结合 调试,通过调试现 象分析故障原因并排除故障,完成系统功能。
篮球比赛计分器
篮球比赛计分器
*
任务实施
分组讨论
学生以小组为单位,在八路数显抢答器的基础上讨论该任务的控制方案,每组推举一名代表展示讨论结果。
1)分析任务 2)查阅资料 3)确定控制方案
提示
活动1 讨论设计方案
手指
篮球比赛计分器
*
任务实施
只能显示同样的字符
活动2 汇报知识准备情况(任务书)
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
AT89C51
P2.6
P2.7

1
0
0
1
0
0
"1"
"2"
1
0
0
1
1
1
1
1
0 1
1 0
优点:节约了单片机的I/O 资源 耗能少
任务实施
篮球比赛计分器
*
任务实施
活动3 领取材料
活动4 小组内分工合作,完成系统的制作和调试
篮球比赛计分器
*亮度高,可视性好 *可控性强

单片机c51篮球计时计分器课程设计

单片机c51篮球计时计分器课程设计

单片机微机原理及应用课目:篮球记分牌的设计学院:电气工程学院班级:自动化08-2姓名:库万古丽(20082102427)麦地楠木(20082102426)指导教师:帕子来提完成时间:2011年12月11日篮球赛计时计分器一设计目的设计并制作一个用于赛场的篮球赛计时计分器,实现如下基本功能:(1)能记录整个赛程的比赛时间,并能修改比赛时间,暂停比赛时间。

(2)能随时刷新甲,乙两队在整个赛程中的比分。

(3)中场交换场地时,能交换甲,乙两队比分的位置。

(4)比赛时间结束时,能发出报警指令。

二设计意义通过篮球计分计时器的制作,可以使我熟悉,了解单片机开发设计实例的过程,并能使读者加深对单片机的理解和运用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下的一些方面:(1)篮球计分计时器包含了8051系列单片机的最小应用系统的构成,同时在此基础上扩展了一些实用性强的外围接口。

(2)掌握键盘接口原理,能正确地把键盘使用到单片机系统中,可以了解到LED显示器的结构,工作原理以及这种显示器的接口实例。

(3)学会调试电路,分析电路故障,积累电路调试经验。

三具体设计内容1 系统框图构成基于单片机系统的篮球计分计时器的系统构成框图如下所示:2硬件电路改进:由于原来的电路比较复杂,用了很多芯片,浪费成本,而且给后期调试的调试会带来较多麻烦,故对原来的硬件电路进行了改动。

改动方面主要关于数码管显示的驱动和位选的,前期的电路设计采用了大量的CD4511和CD4094来进行数码管显示的驱动和位选,而这次的电路设计只用了8个三极管就实现了这项功能。

下面前期电路设计的计时部分的原理图,还有更为复杂的计分原理图未给出a b c d e f gLEDa b c d e f gLEDa b c d e f gLEDa b c d e f gLEDCD4511a b c d e f gVCCAB C D LELTGNDBICD4511a b c d e f gVCCAB C D LELTGNDBICD4511a b c d e f gVCCAB C D LELTGNDBICD4511a b c d e f gVCCAB C D LELTGNDBI123a1a2a32526271641234a4a1a2a3a4a1a2a3a412349181920RESET X TAL2X TAL1GNDP2.4P2.5P2.6P3.6VCC8765b1b2b3b4b1b2b3b45678EAb3P1.0P1.1P1.2P1.3P2.0P2.1P2.2P2.3b4403171234212223248GNDK5K6K7调时启动\暂停\交换C130pF C230pFU112MHZ C322uF R11k¦¸GNDVDD5VVDD5V调时VSS5V蜂鸣器GND后期改进的整体原理图:(3)软件调试及组装软件的编程调试首先要抓住计分和计时两大模块,在这两大模块成功的基础上再进行其他细小模块的组装和完善。

篮球计分器ppt

篮球计分器ppt


} } if(key4==0) { delayms(1); if(key4==0) { while(key4==0); if(num3>0&&num3<=999) num3--;
if(num2>0&&num2<=999)
num2--;

} }

} }

3:显示函数
4:中断函数

void T0_time() interrupt 1 { TH0=(65536-45872)/256; TL0=(65536-45872)%256; numt0++; if(numt0==20) { numt0=0; if(num==0) { num=60; num1--; } num--; } } void T1_time() interrupt 3 { TH1=(65536-18349)/256; TL1=(65536-18349)%256; display(num1); display1(num); display3(num3); display2(num2); }
计分电路原理图
软件流程图
开始 TR0=0
显示时间和比分
开始/暂停 按钮按下?
N
Y
TR0位取反
开始计时
N
停止计时
开始/暂停 按钮按下?
Yห้องสมุดไป่ตู้
加减分处理
各个模块程序
1:延时函数和蜂鸣器发生函数
2:按键函数

void keyscan() { if(key1==0) { delayms(1); if(key1==0) { while(key1==0); if(num2>=0&&num2<999) num2++;

进位计数制ppt课件

进位计数制ppt课件

键盘
❖ 键盘区的划分 ❖ 键盘上的基本指法
金山打字程序
❖ 功能键
Ctrl Alt Shift
Caps Lock
Num Lock
Enter
Back Space
……
27
篮球比赛是根据运动队在规定的比赛 时间里 得分多 少来决 定胜负 的,因 此,篮 球比赛 的计时 计分系 统是一 种得分 类型的 系统
1.1.3 计算机的分类
❖ 按照处理数据分类
数字计算机、模拟计算机
❖ 按照使用范围分类
专用计算机、通用计算机
❖ 按照性能分类
巨型机、大型机、小型机、工作站、微 型机(PC)
7 7
篮球比赛是根据运动队在规定的比赛 时间里 得分多 少来决 定胜负 的,因 此,篮 球比赛 的计时 计分系 统是一 种得分 类型的 系统
1、硬件系统
运算器
输入设备
存储器
数据流 控制流 输出设备
控制器
❖ 控制器担负着对程序的每一条指令进行分析、判断,发出 各种控制信号,使计算机的有关设备实现协调工作的任务, 它是整个计算机的指挥中心 。
❖ 运算器负责计算机中的各类运算,如加、减、乘、除四则
运算;与、或、非、比较等逻辑运算;还能进行代码的传
单击选择提示框中的“安全删除USB Mass Storage Device –驱动器(F:,G:)”,将U盘关 闭,并拔下U盘。
或者 右击布告栏区的U盘图标,弹出一个 “安全删除硬件”对话框。
26
篮球比赛是根据运动队在规定的比赛 时间里 得分多 少来决 定胜负 的,因 此,篮 球比赛 的计时 计分系 统是一 种得分 类型的 系统
2、计算机的工作原理
输入设备
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子与电气工程学院课程设计报告课程名称电子技术课程设计设计题目计分器专业名称电子科学与技术班级 13级 2班学号2013210825学生姓名唐前昆指导教师王欢2015年06 月02日目录第1章系统概述 (1)1.1 功能简述 (1)1.2 按钮设置 (1)第2章总体方案设计 (2)2.1 系统框图 (2)2.2 软件总体设计 (2)第3章系统硬件设计 (3)3.1 80C51单片机 (3)3.2 3×4矩阵式键盘 (3)3.3 8段数码管显示器 (3)3.4 系统原理图 (3)第4章软件设计 (4)4.1 主函数设计 (4)4.2按键码获取,按键处理函数 (5)4.3显示子函数 (6)4.4延时子函数 (7)第5章系统的安装调试说明 (8)5.1 软件调试 (8)5.2 软硬联调 (8)总结 (9)参考文献 (10)附录A 系统原理图 (11)附录B 源程序清单 (12)第1章系统概述1.1 功能简述本设计内容为比赛计分器,主要用于各种体育比赛记录分数。

采用矩阵式键盘作为输入,用户可分别对两队比分进行加1、加2和减1减2操作,其加减1,2分可以通过加减1分、2分的切换按钮实现,并通过指示灯显示其每次按下加减分键所加减的分值。

可以实现预置分。

比分通过4个8段数码管显示器进行显示,每队比分显示2位,1.2 按钮设置计分器应该有7个按键分别标注于原理图,见图1-1。

图1-1按钮功能图其中1/2分切换由发光二极管指示,加1减1分别对应。

预置分是事先设定分数可以分别设定甲乙两队的初始分数。

按下清零后,显示的分数清零。

第2章总体方案设计2.1 系统框图系统框图,见图2-1。

图2-1 系统框图本设计用80C51单片机为核心,利用4个8段数码管显示器.采用动态显示输出比分,用户信息输入则采用3×4矩阵式键盘。

89C52单片机有32根I/O线,所以不用扩展I/O口。

用一片单片机即可满足本设计的输入输出。

2.2 软件总体设计软件设计主要分为3个部分:信息输入、信息处理、显示输出。

主要包括:显示函数,按键获取函数,按键处理函数,进制转换函数。

信息输入时采用矩阵式键盘来实现,所以需要检测键盘有无按键的子程序;信息处理需要对用户通过键盘输入的不同信息进行辨别并执行相应的处理;显示输出考虑到成本和电路体积,决定采用动态输出。

第3章系统硬件设计3.1 80C51单片机因为我们上课时学的是MCS-51,所以就选择了STC89C52单片机,因为它与INTEI MCS-51 兼容,并且它们都具有相同的CPU和指令系统,引脚功能兼容,容易掌握和使用。

3.2 3×4矩阵式键盘根据设计共需要7个按键,可采用3×3矩阵式键盘,但考虑到常用键盘为3×4矩阵式键盘,而且方便以后功能的扩展和方便硬件的连接,所以最终决定采用3×4矩阵式键盘作为输入。

3.3.1 数码管显示器数量选择两个队,每队2位比分,每个显示器只能显示一位,则至少需要采用4个8段数码管显示器。

段数码管显示器采用动态显示输出比分。

3.3.2 数码管共阴共阳接法的选择51单片机I/O口输出高电平时输出的电流很小,数码管不会太亮;因为本设计采用动态显示,单片机I/O口直接接数码管,所以决定采用共阳数码管。

3.3.3 数码管驱动的选择为了使数码管亮度达到要求,数码管的位选端需要驱动,因为单片机I/O口的高电平输出的电流很小,需要驱动电路驱动,从而增加显示亮度。

最简单便宜的驱动就是使用三极管,为低电平时开通,所以选择PNP型三极管。

3. 4系统原理图(见附录)第4章软件设计4.1主函数设计主函数程序代码:MAIN: MOV NUMA,#0MOV NUMB,#0 ;分数清零MOV TEMP,#1 ;起始时的分数加1MOV P1,#0DFHACALL TRANM0: ACALL DISP ;调用显示函数ACALL KEYSCAN ;调用按键获取函数SJMP M0 ;首先初始化将储存甲乙两对分数的内存单元清零,起始时TEMP置1,并使LED5点亮,调用进制转换函数,调用显示函数,调用按键获取函数,之后重复调用显示函数,调用按键获取函数.。

函数间的调用关系,见图4-1。

图4-1函数关系调用图4.2按键获取,按键处理函数按键获取,按键处理函数流程图,见图4-2。

图4-2按键获取,按键处理函数流程图说明:由于图纸大小有限,还有B加分键处理,B减分键处理,以及按下无关键时显示不变。

未在图纸中表示出来。

4.3显示子程序本程序是采用动态显示,用这种方法的好处在于每次刷新显示的时间相同,每个数码管显示的时间也相同,这样就可以让数码管清晰而且稳定的显示数据。

显示子程序流程图,见图4-3。

图4-3 显示子程序流程图4.4 延时子程序延时子程序就是通过执行一Array些没用但又占用时间的指令的集合。

这个子程序可以用于很多延时的地方因为它延时的时间可以通过R7进行改变,所以通用性好,可以将几个延时子程序合为一个,只用在调用前给R7赋值,即可根据用户的需要延时,流程图见图4-4。

图4-4 延时子程序流程图第5章系统的安装调试说明5.1 软件调试软件调试主要是在仿真软件完成的。

在写好源程序,画出原理图之后,在电脑上进行软件仿真。

系统原理图附后。

5.2 软硬联调首先将编译成功程序载入单片机系统开发板。

通电后,LED5,电源指示灯点亮,数码管显示“0000”.。

对应的“4”键为甲加分按钮,当LED5亮时,每次按下“4”键,甲队分数加1;当LED6亮时,每次按下“4”键,甲队分数加2;当LED7亮时,每次按下“4”键,甲队分数加3;其中LED5,LED6,LED7的点亮与熄灭是通过对应的“1”键来控制,可以通过按“1”键来实现LED5,LED6,LED7之间的切换。

对应的“8”键为甲队减分键,当LED5亮时,每次按下“8”键,甲队分数减1;当LED6亮时,每次按下“8”键,甲队分数减2;当LED7亮时,每次按下“4”键,甲队分数减3;“7”键为乙加分键,“B”键为乙队减分键,其实现功能与甲队一样。

对应的“0”键为预置分按钮,按下“0”键之后,通过按甲乙队加、减分按钮配合分数切换键实现快速预置分。

”RESET”为复位键,按下可以实现复位。

数码管显示甲乙队当前分数,复位后,数码管显示“0000”。

总结这次课程设计虽然只有不到两周的时间,但我受益匪浅。

刚开始时觉得自己的课题无处入手,但通过老师的讲解和查询资料,开始有了自己的思路,整理出了总体方案,然后设计出硬件原理图,源程序等。

在这次设计中困难最大的就是调试,收获最多的也是调试,因为调试的时候你必须对程序相当的熟悉,对每一条指令相当了解,并且硬件的连接也要清晰的印在脑海里,只有这样你才能让软件和硬件结合在一起,实现预期功能。

在编程结束时需要编写END指令,这也是初学者编程时经常忘记的。

当然也有值得高兴的地方,我的设计通过加减分键和分数切换键配合实现加减1,2,-1(-2)分只用了3个键,而两队分别设置加减1,2,-1(-2)分就需6个键。

我认为这样的设计更科学。

总之,在课程设计中遇到了不少的困难,在老师的细心讲解和辅导下,最终完成了本次设计。

在此,由衷感谢王欢老师的指导和帮助。

参考文献[1] 、《微型计算机原理及应用》许立梓编机械工业出版社 2002[2]、《微型计算机接口技术及应用》刘乐善编华中理工大学出版社 2000[3]、《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社 2000[4]、《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版社2000[5]、《微型计算机原理与接口技术》吴秀清编中国科学技术出版社 2001[6]、《微型计算机接口技术》邓亚平编清华大学出版社 2001[7]、《单片机原理及及应用》王迎旭编机械工业出版社 2001[8]、《单片机应用程序设计技术》周航慈著北京航空航天大学出版社 2002[9]、《单片机实用技术问答》谢宜仁主编人民邮电出版社 2002附录附录A系统原理图:附录B源程序清单:NUMA EQU 30HNUMB EQU 31H ;甲乙两队的分数D1 EQU 32H ;显示缓存区32h—35hD2 EQU 33HD3 EQU 34HD4 EQU 35HDUAN EQU P0 ;段显示端口WEI1 EQU P2.4 ;位选端口P2.4---P2.7 WEI2 EQU P2.5WEI3 EQU P2.6WEI4 EQU P2.7TEMP EQU 36H ;存放切换的加减分数1/2/3 KEYDATE EQU 37H ;存放按键值ORG 0000HMAIN:MOV NUMA,#0MOV NUMB,#0 ;分数清零MOV TEMP,#1 ;起始时的分数加1MOV P1,#0DFHACALL TRANM0: ACALL DISP ;调用显示函数ACALL KEYSCAN ;调用按键获取函数SJMP M0 ;;******************************************************** KEYSCAN:MOV P2,#0FFH ;采用反转法读取按键值MOV P2,#0F0HMOV A,P2ANL A,#0F0HCJNE A,#0F0H,K0SJMP K4K0: MOV R5,#5K1: ACALL DELAY2MS ;10ms延时去抖动DJNZ R5,K1MOV A,P2ANL A,#0F0HCJNE A,#0F0H,K2SJMP K4 ;是抖动返回K2: MOV KEYDATE,A ;存储按键值MOV P2,#0FHMOV A,P2ANL A,#07HORL A,KEYDATE ;取得键值存放在KEYDATE中MOV KEYDATE,AK3: MOV A,P2ANL A,#07HCJNE A,#07H,K3 ;等待按键松开ACALL CHULI ;调用按键处理函数ACALL TRANK4: RET;******************************************************** CHULI: MOV A,KEYDATECJNE A,#0E6H,C0MOV NUMA,#0MOV NUMB,#0MOV TEMP,#1 ;按下清零键,A,B队分数清零,加分为1MOV P1,#0DFHRETC0: CJNE A,#0D6H,C2INC TEMP ;按下分值切换键,按一下分值加1, MOV P1,#0BFHMOV A,TEMPCJNE A,#3,C01MOV P1,#7FHC01: CJNE A,#4,C1MOV TEMP,#1 ;分值循环1- 2- 3- 1MOV P1,#0DFHC1: RETC2: CJNE A,#0E5H,C4MOV A,NUMA ;按下A队加分按键,A队加分ADD A,TEMP ;分值相加CJNE A,#99,C3 ;MOV A,#0C3: MOV NUMA,ARETC4: CJNE A,#75H,C6MOV A,NUMB ;按下B队加分按键,A队加分ADD A,TEMP ;分值相加CJNE A,#99,C5 ;MOV A,#0C5: MOV NUMB,ARETC6: CJNE A,#0E3H,C9MOV A,NUMA ;按下A队减分按键,A队减分SUBB A,TEMP ;分值相减CJNE A,#0FCH,C7RETC7: JC C8MOV A,#99C8: MOV NUMA,ARETC9: CJNE A,#073H,C12MOV A,NUMB ;按下B队加减按键,A队减分SUBB A,TEMP ;分值相减CJNE A,#0FCH,C10RETC10: JC C11MOV A,#99C11: MOV NUMB,AC12: RET;*********************************************************** TRAN: MOV A,NUMA ;进制转换将10进制分数转化成2进制,然后显示 MOV B,#10DIV ABMOV D1,AMOV D2,BMOV A,NUMBMOV B,#10DIV ABMOV D3,AMOV D4,BRET;*********************************************************** DISP: MOV DPTR,#TAB ;显示函数,CLR WEI1 ;位选通MOV A,D1 ;MOVC A,@A+DPTR ;取段码MOV DUAN, A ;送段码ACALL DELAY2MS ;SETB WEI1 ;关位选CLR WEI2MOV A,D2MOVC A,@A+DPTRMOV DUAN, AACALL DELAY2MSSETB WEI2CLR WEI3MOV A,D3MOVC A,@A+DPTRMOV DUAN, AACALL DELAY2MSSETB WEI3CLR WEI4MOV A,D4MOVC A,@A+DPTRMOV DUAN, AACALL DELAY2MSSETB WEI4MOV DUAN,#0FFH;RET;************************************************************ DELAY2MS:MOV R6,#5D0: MOV R7,#248DJNZ R7,$DJNZ R6,D0RETTAB:DB 28H ; 0DB 0EBH ; 1DB 32H ; 2DB 0A2H ; 3DB 0E1H ; 4DB 0A4H ; 5DB 24H ; 6DB 0EAH ; 7 DB 20H ; 8 DB 0A0H ; 9 DB 60H ; A DB 25H ; B DB 3CH ; C DB 23H ; D DB 34H ; E DB 74H ; F DB 0D7H ; -.DB 0F7H ; - DB 61H ; H DB 70H ; P DB 0DFH ; . DB 27H ; O DB 0FFH ; 全黑END电气学院电子技术课程设计指导老师评价表。

相关文档
最新文档