乒乓球比赛计分显示器设计(单片机考试任务书).doc
文本预览下载声明
乒乓球比赛计分显示器设计(单片机考试任务书)
河北工业大学计算机硬件技术基础(MCS-51单片机原理及应用)
综合性、开放性实验考试任务书
学院 班级 设计人 成绩
一、 题目:乒乓球比赛计分显示器设计
二、问题的提出
1)根据乒乓球比赛规则,设计一个乒乓球比赛计分显示器
2)比赛中暂停定时处理
3)区分初赛和决赛局数计分
三、总体设计
1、分析问题的功能
1)按照乒乓球比赛规则,初赛单打采用三局两胜制,先胜两局者获胜。每局比赛先得11分并同时领先对手2分者胜一局,否则,超过11分后直到领先对手2分者胜一局。决赛采用七局四胜制
2)主程序可不断根据按键情况识别各参赛者得分计入总分并显示输出各参赛者当前得分
3)采用外部中断模拟球场中途暂停(显示倒计时1分钟), 当暂停解除后恢复正常计分显示
2、系统总体结构设计
(1)硬件设计:
A.本实验采用实验仪上的8个8段LED显示器作为计分显示器,将八个8段LED显示器分为4个一组,分别显示每个队手的得分。包括:参赛运动员姓名(1个英文字母表示)、分数(2位00-99分)和获胜局数(1位),分数和获胜局数按比赛规则随着各参赛者得分情况而改变。
B.采用键盘模拟得分和获胜局数,不同的键按下代表不同的含义,用不同的键区分是否为决赛、代表各参赛者的得分和获胜的局数。
C.用软件延时来控制暂停时间
(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)连线:P1.0→RST ;SDA →P1.7 ;SCL→P1.6;INT_KEY→P3.2
(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 P1.7
SCL BIT P1.6
RST BIT P1.0
INT_KEY BIT P3.2
MTD EQU 40H
MRD EQU 48H
DISBUF EQU 38H
显示全部