文档介绍:乒乓球比赛计分显示器设计(单片机考试任务书)
河北工业大学计算机硬件技术基础(MCS-51单片机原理及应用)
综合性、开放性实验考试任务书
学院班级设计人成绩
一、题目:乒乓球比赛计分显示器设计
二、问题的提出
1)根据乒乓球比赛规则,设计一个乒乓球比赛计分显示器
2)比赛中暂停定时处理
3)区分初赛和决赛局数计分
三、总体设计
1、分析问题的功能
1)按照乒乓球比赛规则,初赛单打采用三局两胜制,先胜两局者获胜。每局比赛先得11分并同时领先对手2分者胜一局,否则,超过11分后直到领先对手2分者胜一局。决赛采用七局四胜制
2)主程序可不断根据按键情况识别各参赛者得分计入总分并显示输出各参赛者当前得分
3)采用外部中断模拟球场中途暂停(显示倒计时1分钟), 当暂停解除后恢复正常计分显示
2、系统总体结构设计
(1)硬件设计:
,将八个8段LED显示器分为4个一组,分别显示每个队手的得分。包括:参赛运动员姓名(1个英文字母表示)、分数(2位00-99分)和获胜局数(1位),分数和获胜局数按比赛规则随着各参赛者得分情况而改变。
,不同的键按下代表不同的含义,用不同的键区分是否为决赛、代表各参赛者的得分和获胜的局数。
(2)软件设计:
主程序:用散转判断按键调用相应子程序实现对应按键功能
子程序块1:获取按键,控制8段显示器显示
子程序块2:确定初赛决赛
子程序块3:实现中场暂停倒计时显示
子程序块4:选手代码、得分与获胜局数的控制与显示
四、详细设计:
1、硬件详细设计:
(1)按键分配:
1
2
3
4
5
6
7
8
选择左边选手代码
左边选手比分加1
左边选手胜局加1
交换场地
开始
初赛
9
10
11
12
13
14
15
16
选择右边选手代码
右边选手比分加1
右边选手胜局加1
比赛结束
暂停倒计时
决赛
(2)连线:→RST ;SDA → ;SCL→;INT_KEY→
(3)资源分配:
00H~07H 0组寄存器
00H SYSTEMREG
01H KEYREG
07H CMDBUF0 命令缓冲区0
08H~0FH 1组寄存器 CMDBUF1 命令缓冲区1
10H~17H 2组寄存器 DPRAM 显示缓存区
18H~1FH 3组寄存器
20H~2FH 位地址区
30H~37H
38H~3FH DISBUF显示缓冲区
40H~47H MTD发送数据缓冲区
48H~4FH MRD接收数据缓冲区
50H SLA器件从地址
51H SUBA器件子地址
52H NUMBYTE字节变量
53H KEY用户按键
56H SCORE1 比分1寄存单元
57H SCORE2 比分2寄存单元
58H JUSHU 比赛胜局寄存单元
60H~67H 显示寄存区
68H~6FH 计时循环控制数寄存区
70H~7FH 堆栈区
80H~0F0H 特殊寄存器地址区
2、流程图
3、程序清单
SDA BIT
SCL BIT
RST BIT
INT_KEY BIT
MTD EQU 40H
MRD EQU 48H
DISBUF EQU 38H
;定义ZLG7290器件地址及子地址
ZLG7290 EQU 70H
ACK BIT 10H
SLA DATA 50H
SUBA DATA 51H
NUMBYTE DATA 52H
KEY DATA 53H
JUSHU EQU 58H
SCORE1 EQU 56H
SCORE2 EQU 57H
SYSTEMREG EQU 00H
KEYREG EQU 01H
CMDBUF0 EQU 07H
CMDBUF1 EQU 08H
DPRAM EQU 10H
ORG 8000H
LJMP MAIN
ORG 8100H
;-------主程序如下:
MAIN: MOV SP,#70H
CLR RST
LCALL DELAY
SETB RST
LCALL DELAY
LCALL CLSDISP
MAINLOOP:MOV DISBUF+0,#0
MOV DISBUF+1,#0
MOV DISBUF+2,#0
MOV DISBUF+3,#0
MOV D