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

上传人:b****1 文档编号:14891198 上传时间:2023-06-28 格式:DOCX 页数:21 大小:193.02KB
下载 相关 举报
篮球赛计时计分器课程设计课件资料.docx_第1页
第1页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第2页
第2页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第3页
第3页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第4页
第4页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第5页
第5页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第6页
第6页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第7页
第7页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第8页
第8页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第9页
第9页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第10页
第10页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第11页
第11页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第12页
第12页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第13页
第13页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第14页
第14页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第15页
第15页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第16页
第16页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第17页
第17页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第18页
第18页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第19页
第19页 / 共21页
篮球赛计时计分器课程设计课件资料.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《篮球赛计时计分器课程设计课件资料.docx》由会员分享,可在线阅读,更多相关《篮球赛计时计分器课程设计课件资料.docx(21页珍藏版)》请在冰点文库上搜索。

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

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

电子与电气工程学院

课程设计报告

课程名称电子技术课程设计

设计题目计分器

专业名称电子科学与技术

班级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.180C51单片机……………………………………3

3.23×4矩阵式键盘……………………………………3

3.38段数码管显示器……………………………………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。

4个8段数码显示器

3x4矩阵键盘

89C52

单片机

发光二极管

复位电路

 

图2-1系统框图

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

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

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

 

2.2软件总体设计

软件设计主要分为3个部分:

信息输入、信息处理、显示输出。

主要包括:

显示函数,按键获取函数,按键处理函数,进制转换函数。

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

 

第3章系统硬件设计

3.180C51单片机

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

3.23×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:

MOVNUMA,#0

MOVNUMB,#0;分数清零

MOVTEMP,#1;起始时的分数加1

MOVP1,#0DFH

ACALLTRAN

M0:

ACALLDISP;调用显示函数

ACALLKEYSCAN;调用按键获取函数

SJMPM0;

首先初始化将储存甲乙两对分数的内存单元清零,起始时TEMP置1,并使LED5点亮,调用进制转换函数,调用显示函数,调用按键获取函数,之后重复调用显示函数,调用按键获取函数.。

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

主函数

进制转换函数

显示函数

延时函数

按键获取函数

延时函数

按键处理函数

进制转换函数

图4-1函数关系调用图

 

4.2按键获取,按键处理函数

按键获取,按键处理函数流程图,见图4-2。

图4-2按键获取,按键处理函数流程图

说明:

由于图纸大小有限,还有B加分键处理,B减分键处理,以及按下无关键时显示不变。

未在图纸中表示出来。

 

4.3显示子程序

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

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

 

 

 

 

 

 

图4-3显示子程序流程图

 

4.4延时子程序

延时子程序就是通过执行一些没用但又占用时间的指令的集合。

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

源程序清单:

NUMAEQU30H

NUMBEQU31H;甲乙两队的分数

 

D1EQU32H;显示缓存区32h—35h

D2EQU33H

D3EQU34H

D4EQU35H

DUANEQUP0;段显示端口

WEI1EQUP2.4;位选端口P2.4---P2.7

WEI2EQUP2.5

WEI3EQUP2.6

WEI4EQUP2.7

TEMPEQU36H;存放切换的加减分数1/2/3

KEYDATEEQU37H;存放按键值

ORG0000H

MAIN:

MOVNUMA,#0

MOVNUMB,#0;分数清零

MOVTEMP,#1;起始时的分数加1

MOVP1,#0DFH

ACALLTRAN

M0:

ACALLDISP;调用显示函数

ACALLKEYSCAN;调用按键获取函数

SJMPM0;

;********************************************************

KEYSCAN:

MOVP2,#0FFH;采用反转法读取按键值

MOVP2,#0F0H

MOVA,P2

ANLA,#0F0H

CJNEA,#0F0H,K0

SJMPK4

K0:

MOVR5,#5

K1:

ACALLDELAY2MS;10ms延时去抖动

DJNZR5,K1

MOVA,P2

ANLA,#0F0H

CJNEA,#0F0H,K2

SJMPK4;是抖动返回

K2:

MOVKEYDATE,A;存储按键值

MOVP2,#0FH

MOVA,P2

ANLA,#07H

ORLA,KEYDATE;取得键值存放在KEYDATE中

MOVKEYDATE,A

K3:

MOVA,P2

ANLA,#07H

CJNEA,#07H,K3;等待按键松开

ACALLCHULI;调用按键处理函数

ACALLTRAN

K4:

RET

;********************************************************

CHULI:

MOVA,KEYDATE

CJNEA,#0E6H,C0

MOVNUMA,#0

MOVNUMB,#0

MOVTEMP,#1;按下清零键,A,B队分数清零,加分为1

MOVP1,#0DFH

RET

C0:

CJNEA,#0D6H,C2

INCTEMP;按下分值切换键,按一下分值加1,

MOVP1,#0BFH

MOVA,TEMP

CJNEA,#3,C01

MOVP1,#7FH

C01:

CJNEA,#4,C1

MOVTEMP,#1;分值循环1-2-3-1

MOVP1,#0DFH

C1:

RET

C2:

CJNEA,#0E5H,C4

MOVA,NUMA;按下A队加分按键,A队加分

ADDA,TEMP;分值相加

CJNEA,#99,C3;

MOVA,#0

C3:

MOVNUMA,A

RET

C4:

CJNEA,#75H,C6

MOVA,NUMB;按下B队加分按键,A队加分

ADDA,TEMP;分值相加

CJNEA,#99,C5;

MOVA,#0

C5:

MOVNUMB,A

RET

C6:

CJNEA,#0E3H,C9

MOVA,NUMA;按下A队减分按键,A队减分

SUBBA,TEMP;分值相减

CJNEA,#0FCH,C7

RET

C7:

JCC8

MOVA,#99

C8:

MOVNUMA,A

RET

C9:

CJNEA,#073H,C12

MOVA,NUMB;按下B队加减按键,A队减分

SUBBA,TEMP;分值相减

CJNEA,#0FCH,C10

RET

C10:

JCC11

MOVA,#99

C11:

MOVNUMB,A

C12:

RET

;***********************************************************

TRAN:

MOVA,NUMA;进制转换将10进制分数转化成2进制,然后显示

MOVB,#10

DIVAB

MOVD1,A

MOVD2,B

MOVA,NUMB

MOVB,#10

DIVAB

MOVD3,A

MOVD4,B

RET

;***********************************************************

DISP:

MOVDPTR,#TAB;显示函数,

CLRWEI1;位选通

MOVA,D1;

MOVCA,@A+DPTR;取段码

MOVDUAN,A;送段码

ACALLDELAY2MS;

SETBWEI1;关位选

CLRWEI2

MOVA,D2

MOVCA,@A+DPTR

MOVDUAN,A

ACALLDELAY2MS

SETBWEI2

CLRWEI3

MOVA,D3

MOVCA,@A+DPTR

MOVDUAN,A

ACALLDELAY2MS

SETBWEI3

CLRWEI4

MOVA,D4

MOVCA,@A+DPTR

MOVDUAN,A

ACALLDELAY2MS

SETBWEI4

MOVDUAN,#0FFH;

RET

;************************************************************

DELAY2MS:

MOVR6,#5

D0:

MOVR7,#248

DJNZR7,$

DJNZR6,D0

RET

TAB:

DB28H;0

DB0EBH;1

DB32H;2

DB0A2H;3

DB0E1H;4

DB0A4H;5

DB24H;6

DB0EAH;7

DB20H;8

DB0A0H;9

DB60H;A

DB25H;B

DB3CH;C

DB23H;D

DB34H;E

DB74H;F

DB0D7H;-.

DB0F7H;-

DB61H;H

DB70H;P

DB0DFH;.

DB27H;O

DB0FFH;全黑

END

 

电气学院 电子技术 课程设计

指导老师评价表

院(部)

电气学院

年级专业

电科132

学生姓名

唐前昆

学生学号

2013210825

题目

一、指导老师评语

 

指导老师签名:

年月日

二、成绩评定

 

指导老师签名:

年月日

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2