- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
比赛计分器课程设计改概要
微机原理 课程设计报告
实验名称: 计算机比赛计分器
姓 名: 黄秀满
学 号: 201217010222
专业班级: 计科12102班
指导教师: 杨红杰
实验日期: 2015年上学期第十八周
目录
一、 系统概述 1
1.1 功能简述 1
1.2 按钮设置 1
二、 总体方案设计 2
2.1 系统框图 2
2.2 软件总体设计 3
三、 系统硬件设计 3
3.1 80C51单片机 3
3.2 3×4矩阵式键盘 3
3.3.1 数码管显示器数量选择 4
3.3.2 数码管共阴共阳接法的选择 4
3.3.3 数码管驱动的选择 4
3. 4系统原理图 5
四、 系统软件设计 6
4.1主函数设计 6
4.2按键获取,按键处理函数 7
4.3显示子程序 8
4.4 延时子程序 9
五、 系统的安装调试说明 10
5.1 软件调试 10
5.2 软硬联调 10
六、 源程序清单: 11
总 结 18
参考文献 18
一、 系统概述
1.1 功能简述
本设计内容为比赛计分器,主要用于各种体育比赛记录分数。采用矩阵式键盘作为输入,用户可分别对两队比分进行加1、加2、加3和减1减2、减3操作,其加减1,2,3分可以通过加减1分、2分和3分的切换按钮实现,并通过指示灯显示其每次按下加减分键所加减的分值。可以实现预置分。比分通过4个8段数码管显示器进行显示,每队比分显示2位,
1.2 按钮设置
计分器应该有7个按键分别标注于原理图,见图1.1。
图1.1按钮功能图
其中1/2/3分切换由发光二极管指示,加1减1分别对应。预置分是事先设定分数可以分别设定甲乙两队的初始分数。按下清零后,显示的分数清零。
二、 总体方案设计
2.1 系统框图
系统框图,见图2.1。
图2.1 系统框图
本设计用80C51单片机为核心,利用4个8段数码管显示器.采用动态显示输出比分,用户信息输入则采用3×4矩阵式键盘。89C52单片机有32根I/O线,所以不用扩展I/O口。用一片单片机即可满足本设计的输入输出。
2.2 软件总体设计
软件设计主要分为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.1主函数设计
主函数程序代码:
MAIN: MOV NUMA,#0
MOV NUMB,#0 ;分数清零
MOV TEMP,#1 ;起始时的分数加1
MOV P1,#0DFH
ACALL TRAN
M0: ACALL DISP ;调用显示函数
ACALL KEYSCAN ;调用按键获取函数
SJMP M0 ;
首先初始化将储存甲乙两对分数的内存
文档评论(0)