篮球赛计时计分器课程设计汇总.pdf

上传人:白大夫 文档编号:5421537 上传时间:2020-05-05 格式:PDF 页数:23 大小:233.98KB
返回 下载 相关 举报
篮球赛计时计分器课程设计汇总.pdf_第1页
第1页 / 共23页
篮球赛计时计分器课程设计汇总.pdf_第2页
第2页 / 共23页
篮球赛计时计分器课程设计汇总.pdf_第3页
第3页 / 共23页
篮球赛计时计分器课程设计汇总.pdf_第4页
第4页 / 共23页
篮球赛计时计分器课程设计汇总.pdf_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《篮球赛计时计分器课程设计汇总.pdf》由会员分享,可在线阅读,更多相关《篮球赛计时计分器课程设计汇总.pdf(23页珍藏版)》请在三一文库上搜索。

1、1 电子与电气工程学院 课程设计报告 课程名称电 子 技 术 课 程 设 计 设计题目计 分 器 专业名称电 子 科 学 与 技 术 班级 13级 2 班 学号2013210825 学生姓名唐 前 昆 指导教师王欢 2015 年06 月 02日 2 目录 第 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 按键码获取,按键处理函

2、数5 4.3 显示子函数6 4.4 延时子函数7 第5章系统的安装调试说明8 5.1 软件调试8 5.2 软硬联调8 总结9 参考文献10 附录 A 系统原理图11 附录 B 源程序清单12 3 第 1 章系统概述 1.1 功能简述 本设计内容为比赛计分器,主要用于各种体育比赛记录分数。采用矩阵式键盘作 为输入,用户可分别对两队比分进行加1、加 2 和减 1 减 2 操作,其加减1,2 分可以 通过加减1 分、 2 分的切换按钮实现,并通过指示灯显示其每次按下加减分键所加减 的分值。可以实现预置分。比分通过4 个 8 段数码管显示器进行显示,每队比分显示 2 位, 1.2 按钮设置 计分器应该

3、有7 个按键分别标注于原理图, 见图 1-1 。 p2.1 p 2 .4 p 2 .5 p2.2 p2.0 p 2 .6 p 2 .7 清零1/2/3分切换 甲加1 甲减1 乙加1 乙减1 图 1-1 按钮功能图 其中 1/2 分切换由发光二极管指示,加1 减 1 分别对应。预置分是事先设定分数 可以分别设定甲乙两队的初始分数。按下清零后,显示的分数清零。 4 第 2 章总体方案设计 2.1 系统框图 系统框图,见图2-1。 图 2-1 系统框图 本设计用80C51 单片机为核心, 利用 4 个 8 段数码管显示器. 采用动态显示输出比 分,用户信息输入则采用34 矩阵式键盘。 89C52单片

4、机有32 根 I/O 线,所以不用 扩展 I/O 口。用一片单片机即可满足本设计的输入输出。 2.2 软件总体设计 软件设计主要分为3 个部分:信息输入、信息处理、显示输出。主要包括:显示 函数,按键获取函数,按键处理函数,进制转换函数。信息输入时采用矩阵式键盘来 实现,所以需要检测键盘有无按键的子程序;信息处理需要对用户通过键盘输入的不 同信息进行辨别并执行相应的处理;显示输出考虑到成本和电路体积,决定采用动态 输出。 89C52 单片机 3x4 矩阵键盘 4 个 8 段数码显示器 发光二极管 复位电路 5 第 3 章系统硬件设计 3.1 80C51 单片机 因为我们上课时学的是MCS-51

5、 ,所以就选择了STC89C52单片机,因为它与 INTEI MCS-51 兼容, 并且它们都具有相同的CPU和指令系统, 引脚功能兼容, 容易 掌握和使用。 3.2 3 4 矩阵式键盘 根据设计共需要7 个按键,可采用33 矩阵式键盘,但考虑到常用键盘为34 矩阵 式键盘, 而且方便以后功能的扩展和方便硬件的连接,所以最终决定采用34 矩阵式 键盘作为输入。 3.3.1 数码管显示器数量选择 两个队, 每队 2 位比分, 每个显示器只能显示一位,则至少需要采用4 个 8 段数码 管显示器。段数码管显示器采用动态显示输出比分。 3.3.2 数码管共阴共阳接法的选择 51 单片机 I/O 口输出

6、高电平时输出的电流很小,数码管不会太亮;因为本设计采 用动态显示,单片机I/O 口直接接数码管,所以决定采用共阳数码管。 3.3.3 数码管驱动的选择 为了使数码管亮度达到要求,数码管的位选端需要驱动,因为单片机I/O 口的高 电平输出的电流很小,需要驱动电路驱动,从而增加显示亮度。最简单便宜的驱动就 是使用三极管,为低电平时开通,所以选择PNP型三极管。 3. 4 系统原理图(见附录) 6 第 4 章软件设计 4.1 主函数设计 主函数程序代码: MAIN: MOV NUMA,#0 MOV NUMB,#0 ;分数清零 MOV TEMP,#1 ;起始时的分数加1 MOV P1,#0DFH AC

7、ALL TRAN M0: ACALL DISP ;调用显示函数 ACALL KEYSCAN ;调用按键获取函数 SJMP M0 ; 首先初始化将储存甲乙两对分数的内存单元清零,起始时TEMP置 1,并使LED5 点亮,调用进制转换函数,调用显示函数,调用按键获取函数,之后重复调用显示函 数,调用按键获取函数. 。 函数间的调用关系,见图4-1 。 图 4-1 函数关系调用图 主函数 进制转换函数显示函数按键获取函 进制转换函数按键处理函数 延时函数 延时函数 7 4.2 按键获取,按键处理函数 按键获取,按键处理函数流程图,见图4-2 。 图 4-2 按键获取,按键处理函数流程图 说明:由于图

8、纸大小有限,还有B加分键处理, B减分键处理 , 以及按下无关键时 显示不变。未在图纸中表示出来。 键扫描 开始 有无键按下 去抖动 键码计算 释放键 JMP A+DPTR A=06EH,清 零键处理 A=0D62H, 分 值切换键处理 A=0E3H, A 减分键处理 A=0E5H,A 加分键处理 8 4.3 显示子程序 本程序是采用动态显示,用这种方法的好处在于每次刷新显示的时间相同,每个 数码管显示的时间也相同,这样就可以让数码管清晰而且稳定的显示数据。 显示子程序流程图,见图4-3 。 图 4-3 显示子程序流程图 位 选 通 取 段 码 送 段 码 调用延时程序 关 段 码 9 4.4

9、 延时子程序 延时子程序就是通过执行一 些没用但又占用时间的指令的集 合。 这个子程序可以用于很多延时 的地方因为它延时的时间可以通 过 R7进行改变,所以通用性好, 可以将几个延时子程序合为一个, 只用在调用前给R7赋值,即可根 据用户的需要延时,流程图见图 4-4 。 给 R6 放初值 执行三条空指令 返回 R6-1,判断 R6 是否 为 0 R7-1,判断 R7 是否 为 0 图 4-4 延时子程序流程图 10 第 5 章系统的安装调试说明 5.1 软件调试 软件调试主要是在仿真软件完成的。在写好源程序,画出原理图之后,在电脑上 进行软件仿真。系统原理图附后。 5.2 软硬联调 首先将编

10、译成功程序载入单片机系统开发板。通电后, 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”键,甲队分

11、数减3; “7”键 为乙加分键,“ B”键为乙队减分键,其实现功能与甲队一样。对应的“0”键为预置分 按钮,按下“0” 键之后,通过按甲乙队加、 减分按钮配合分数切换键实现快速预置分。” RESET ”为复位键,按下可以实现复位。数码管显示甲乙队当前分数,复位后,数码管 显示“ 0000” 。 11 总 结 这次课程设计虽然只有不到两周的时间,但我受益匪浅。刚开始时觉得自己的课 题无处入手,但通过老师的讲解和查询资料,开始有了自己的思路,整理出了总体方 案,然后设计出硬件原理图,源程序等。在这次设计中困难最大的就是调试,收获最 多的也是调试,因为调试的时候你必须对程序相当的熟悉,对每一条指令相

12、当了解, 并且硬件的连接也要清晰的印在脑海里,只有这样你才能让软件和硬件结合在一起, 实现预期功能。在编程结束时需要编写END指令,这也是初学者编程时经常忘记的。 当然也有值得高兴的地方,我的设计通过加减分键和分数切换键配合实现加减1,2, -1(-2)分只用了 3 个键,而两队分别设置加减1,2,-1(-2)分就需 6 个键。我认为这 样的设计更科学。 总之,在课程设计中遇到了不少的困难,在老师的细心讲解和辅导下,最终完成 了本次设计。在此,由衷感谢王欢老师的指导和帮助。 12 参考文献 1 、 微型计算机原理及应用许立梓编机械工业出版社 2002 2 、 微型计算机接口技术及应用刘乐善编华

13、中理工大学出版社 2000 3 、 计算机硬件技术基础试验教程邹逢兴编高等教育出版社 2000 4 、 16 位微型计算机原理接口及其应用周佩玲编中国科学技术大学出版社 2000 5 、 微型计算机原理与接口技术吴秀清编中国科学技术出版社 2001 6 、 微型计算机接口技术邓亚平编清华大学出版社 2001 7 、 单片机原理及及应用王迎旭编机械工业出版社 2001 8 、 单片机应用程序设计技术周航慈著北京航空航天大学出版社 2002 9 、 单片机实用技术问答谢宜仁主编人民邮电出版社 2002 13 附录 附录 A系统原理图: 14 p2.0 p2.1 p2.2 p2.3 s 1 s 2

14、s 3 s 4 D P G F E DC BA beep A F B G C DP D E p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7 p2.4 p2.5 p2.6 p2.7 s1 s2 s3 s4 p2.1 p 2 .4 p 2 .5 p2.2 p2.0 p 2 . 6 p 2 .7 p 1 . 0 p 1 . 1 p 1 . 2 p 1 . 3 p 1 . 4 p 1 . 5 p 1 . 6 p 1 . 7 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/

15、AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0/T2 1 P1.1/T2EX 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/

16、A13 26 P2.6/A14 27 U1 AT89C52 NET=s6 2 3 4 5 6 7 8 9 1 RP1 10k R1 330R R2 330R R3 330R R4 330R R5 330R R6 330R R7 330R R8 330R 12 U2:A 74LS04 34 U2:B 74LS04 56 U2:C 74LS04 1312 U2:D 74LS04 D1 LED-RED D2 LED-RED D3 LED-RED D4 LED-RED D5 LED-RED D6 LED-RED D7 LED-RED D8 LED-RED 清零1/2/3分切换 甲加1 甲减1 乙加1

17、乙减1 附录 B 15 源程序清单: NUMA EQU 30H NUMB EQU 31H ;甲乙两队的分数 D1 EQU 32H ;显示缓存区32h35h D2 EQU 33H D3 EQU 34H D4 EQU 35H DUAN EQU P0 ;段显示端口 WEI1 EQU P2.4 ;位选端口P2.4-P2.7 WEI2 EQU P2.5 WEI3 EQU P2.6 WEI4 EQU P2.7 TEMP EQU 36H ;存放切换的加减分数1/2/3 KEYDATE EQU 37H ;存放按键值 ORG 0000H MAIN:MOV NUMA,#0 MOV NUMB,#0 ;分数清零 MO

18、V TEMP,#1 ;起始时的分数加1 MOV P1,#0DFH ACALL TRAN M0: ACALL DISP ;调用显示函数 ACALL KEYSCAN ;调用按键获取函数 16 SJMP M0 ; ;* KEYSCAN:MOV P2,#0FFH ;采用反转法读取按键值 MOV P2,#0F0H MOV A,P2 ANL A,#0F0H CJNE A,#0F0H,K0 SJMP K4 K0: MOV R5,#5 K1: ACALL DELAY2MS ;10ms延时去抖动 DJNZ R5,K1 MOV A,P2 ANL A,#0F0H CJNE A,#0F0H,K2 SJMP K4 ;是

19、抖动返回 K2: MOV KEYDATE,A ;存储按键值 MOV P2,#0FH MOV A,P2 ANL A,#07H ORL A,KEYDATE ;取得键值存放在KEYDATE 中 MOV KEYDATE,A K3: MOV A,P2 ANL A,#07H CJNE A,#07H,K3 ;等待按键松开 ACALL CHULI ;调用按键处理函数 ACALL TRAN 17 K4: RET ;* CHULI: MOV A,KEYDATE CJNE A,#0E6H,C0 MOV NUMA,#0 MOV NUMB,#0 MOV TEMP,#1 ;按下清零键 ,A,B 队分数清零,加分为1 MO

20、V P1,#0DFH RET C0: CJNE A,#0D6H,C2 INC TEMP ;按下分值切换键,按一下分值加1, MOV P1,#0BFH MOV A,TEMP CJNE A,#3,C01 MOV P1,#7FH C01: CJNE A,#4,C1 MOV TEMP,#1 ;分值循环 1- 2- 3- 1 MOV P1,#0DFH C1: RET C2: CJNE A,#0E5H,C4 MOV A,NUMA ;按下 A队加分按键, A队加分 ADD A,TEMP ;分值相加 CJNE A,#99,C3 ; MOV A,#0 C3: MOV NUMA,A RET C4: CJNE A,

21、#75H,C6 18 MOV A,NUMB ;按下 B队加分按键,A队加分 ADD A,TEMP ;分值相加 CJNE A,#99,C5 ; MOV A,#0 C5: MOV NUMB,A RET C6: CJNE A,#0E3H,C9 MOV A,NUMA ;按下 A队减分按键,A队减分 SUBB A,TEMP ;分值相减 CJNE A,#0FCH,C7 RET C7: JC C8 MOV A,#99 C8: MOV NUMA,A RET C9: CJNE A,#073H,C12 MOV A,NUMB ;按下 B队加减按键,A队减分 SUBB A,TEMP ;分值相减 CJNE A,#0FC

22、H,C10 RET C10: JC C11 MOV A,#99 C11: MOV NUMB,A C12: RET ;* TRAN: MOV A,NUMA ;进制转换将10 进制分数转化成2 进制,然后显示 MOV B,#10 19 DIV AB MOV D1,A MOV D2,B MOV A,NUMB MOV B,#10 DIV AB MOV D3,A MOV D4,B RET ;* DISP: MOV DPTR,#TAB ;显示函数, CLR WEI1 ;位选通 MOV A,D1 ; MOVC A,A+DPTR ;取段码 MOV DUAN, A ;送段码 ACALL DELAY2MS ; S

23、ETB WEI1 ;关位选 CLR WEI2 MOV A,D2 MOVC A,A+DPTR MOV DUAN, A ACALL DELAY2MS SETB WEI2 CLR WEI3 MOV A,D3 20 MOVC A,A+DPTR MOV DUAN, A ACALL DELAY2MS SETB WEI3 CLR WEI4 MOV A,D4 MOVC A,A+DPTR MOV DUAN, A ACALL DELAY2MS SETB WEI4 MOV DUAN,#0FFH; RET ;* DELAY2MS:MOV R6,#5 D0: MOV R7,#248 DJNZ R7,$ DJNZ R6,

24、D0 RET TAB:DB 28H ; 0 DB 0EBH ; 1 DB 32H ; 2 DB 0A2H ; 3 DB 0E1H ; 4 DB 0A4H ; 5 DB 24H ; 6 21 DB 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 22 电气学院电子技术课程设计 指导老师评价表 院(部)电气学院年级专业电科 132 学生姓名唐前昆学生学号2013210825 题目 一、 指导老师评语 指导老师签名: 年月日 二、 成绩评定 指导老师签名: 年月日 23

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1