基于51单片机比赛计分器设计课程设计.docx
- 文档编号:5951985
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:30
- 大小:526.07KB
基于51单片机比赛计分器设计课程设计.docx
《基于51单片机比赛计分器设计课程设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机比赛计分器设计课程设计.docx(30页珍藏版)》请在冰豆网上搜索。
基于51单片机比赛计分器设计课程设计
等级:
课程设计
课程名称
单片机原理与应用
课题名称
比赛计分器设计
专业
测控技术与仪器
班级
学号
姓名
指导老师
2016年3月11日
电气信息学院
课程设计任务书
课题名称
比赛记分器设计
姓名
专业
测控技术与仪器
班级
学号
指导老师
课程设计时间
2016年2月29日-2015年3月11日(1、2周)
教研室意见
意见:
审核人:
一、任务及要求
1、给甲,乙两队分别设置1个加分按钮,按一下能分别实现+1;
2、给甲,乙两队分别设置1个减分按钮,按一下能分别实现-1;
3、设置一个清零按钮,按一下能实现清零;
4、设置一个甲、乙比分对调按钮;
5、设置一个加减一分、两分和三分的切换按钮;
6、设置预置分按钮。
二、进度安排
第一周:
周一:
集中布置课程设计相关事宜,确定设计课题,进行分组和小组分工
周二~周五:
到网上查找相关资料,了解设计方法和练习proteus软件的使用;
周六~周日:
学习初步的模块设计;对所得资料进行整理和分析,连接线路图;
第二周:
周一~周二:
使用keil和proteus软件设计,修改程序,纠正错误;
周三:
软件仿真和系统调试,单片机实物图的连接和调试;
周四~周五:
设计报告撰写。
周五进行答辩和设计结果检查。
三、参考资料
[1]《单片机原理及及应用》王迎旭编机械工业出版社2011
[2]《单片机应用程序设计技术》周航慈著北京航空航天大学出版社2002
1.1比赛记分器介绍………………………………………………………………1
1.2课题和分工…………………………………………………………………………………………………………1
2.2AT89C51单片机介绍………………………………………………………………3
第3章系统硬件设计…………………………………………………………………7
3.1原理图及说明………………………………………………………………………………………………7
3.2时钟输入电路……………………………………………………………………………………………………7
3.3发光二极管显示电路………………………………………………………………………………………8
3.4独立式键盘控制电路………………………………………………………………………………………8
3.5数码管显示电路………………………………………………………………………………………………9
第4章系统软件设计10
5.1调试结果……………………………………………………………………………………………………………16
第6章总结……………………………………………………………………………………………………………19
第1章设计任务及要求
1.1比赛记分器介绍
比赛记分器运用广泛,尤其在各类体育运动和体育比赛上,常能见到它的影子,而传统的比赛记分器多采用手翻形式的记分牌,这种记分牌虽然廉价可靠,但使用寿命短,易磨损,计分不方便,位数少,面积小等缺陷使得它难以继续胜任现在的大型体育比赛的计分要求,于是电子化的记分器应运而生,这类记分器以其除了具有一切同记分牌一样的操作外,还有计时报警,比分切换、比分预置等诸多优点,逐渐成为各大比赛首选的记分器。
1.2课题和分工
本次课程设计的课题是比赛记分器,是由刘永庚(小组组长)、黄鸿杰、冯德勇三人共同完成此次设计的,其中刘永庚主要负责使用汇编语言在keil软件上按照电路图和课题要求编写出正确的程序,黄鸿杰负责使用proteus软件绘制出符合设计要求和电气原理的比赛记分器电路图,以及进行仿真和演示,本人主要负责收集网络上的相关资料和软件,并进行归纳整理,以及学习相关软件的使用方法,还有对后续出现的错误进行修正,拟写报告。
1.3.1.设计内容
设计一个甲,乙两队用的比赛计分器,要求能实现以下功能:
1、设置一个甲队按钮,结合分值切换键能实现甲的加减一分、加减两分、加减三分;
2、设置一个乙队按钮,结合分值切换键能实现甲的加减一分、加减两分、加减三分;
3、设置一个加减一分、加减两分和加减三分的分值切换按钮;
4、设置一个清零按钮,按一下能实现清零;
5、设置一个比分切换按钮,能在比赛换场时实现比分的对调;
6、设置一个预置分按钮,能从任意比分开始;
7、使用六位或八位数码管实时显示比赛双方比分。
1、设计方案要合理、正确,系统稳定;
2、软件设计要求尽可能精练、简短,并且运行可靠;
3、硬件电路力求简单明了,以节约成本。
第2章系统方案设计
2.1总体系统框图
本次设计是设计一个基于AT89C51单片机的比赛计分器,在以单片机为主体的基础上配以一定的外围电路和软件,来实现比赛计分器的一些功能。
利用2片4个7段共阴级数码管显示器.采用动态显示输出比分,通过甲操作按钮、乙操作按钮、分值切换按钮、对换比分按钮、清零按钮和预置按钮共六个功能按钮可以基本实现设计要求,分值状态用发光二极管的亮和灭来表示。
系统设计方案的硬件电路设计的框图如图2-1所示。
图2-1基于AT89C51单片机比赛计分器系统框图
2.2AT89C51单片机介绍
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。
2.2.1AT89C51单片机的主要特点
1)与MCS-51产品指令系统完全兼容;
2)4k字节可重擦写Flash闪速存储器;
3)1000次擦写周期;
4)全静态操作:
0Hz-24MHz;
5)三级加密程序存储器;
6)8×8字节内部RAM;
7)32个可编程I/O口线;
8)2个16位定时/计数器;
9)6个中断源;
10)可编程串行UART通道;
11)低功耗空闲和掉电模式。
图2-2-2AT89C51引脚图
2.2.2AT89C51各引脚的功能
1)VCC
AT89C51电源正极输入,接+5V电压。
2)GND
电源接地端。
3)XTAL1
接外部晶振的一个引脚,在单片机内部,它是一反向放大器输入端,这个放大器构成了片内振荡器,它采用外部振荡器时,此引脚应接地。
4)XTAL2
接外部晶振的一个引脚,在片内接至振荡器的反相放大器输出端和
内部时钟发生器输入端,当采用外部振荡器时,则此引脚接外部振荡信号的输入。
5)RST
AT89C51的复位信号的输入引脚,高电位工作,只要将此引脚电位提升到高电位,并持续两个周期以上的时间,AT89C51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。
6)ALE/PROG'
ALE是英文“ADDRESSLATCHENABLE”的缩写,表示允许地址锁存允许信号.当访问外部存储器时,ALE信号负跳变来触发外部的8位锁存器(如74LS373),将端口P0的地址总线(A0~A7)锁存进入锁存器中,在非访问外部存储器期间,ALE引脚的输出频率是系统工作频率的1/16,因此可以用来驱动其他外围芯片的时钟输入.当访问外围存储器期间,将以1/12振荡频率输出。
7)EA'/VPP
此引脚为低电平时,则读取外部程序代码(存于外部EPROM中)来执行程序.在使用AT89C51时,此引脚接成高电平使程序运行时访问内部程序存储器,当程序指针PC值超0FFFH时,将自动转向外部程序存储器运行。
8)PSEN'
此为“ProgramStoreEnable”的缩写.在访问外部程序存储器选通信号,低电平有效。
在访问外部程序存储器读取指令代码时,每个机器周产生二次PSEN信号。
在执行片内程序存储器指令时,不产生PSEN信号,在访问外部数据时,也不产生PSEN信号。
9)P0
P0口(P0.0~P0.7)是一个8位漏极开路双向输入端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。
外部不扩展而单片应用时,则作为一般I/O口使用,P0口每个引脚可以驱动8个LSTTL负载。
10)P1
P1口(P1.0~P1.7)是具有内部提升电路的双向I/O端口(准双向并行I/O端口),其输出可驱动4个LSTTL负载,仅供用户作为输入输出用的端口。
P2
P2口(P2.0~P2.7)是具有内部提升电路的双向I/O端口(准双向并行I/O端口),当访问外部程序存储器时,它是高8位地址,外部不扩展而单片使用时,则作一般I/O口用,每个引脚可驱动4个LSTTL负载
11)P3
P3口(P3.0~P3.7)是具有内部提升电路的双向I/O端口(准双向并行I/O端口),它还提供特殊功能,包括串行通信,外部中断控制、计时计数控制及外部随机存储器的读取或写入控制等功能,其特殊功能引脚分配如下:
P3.0RXD串行通信输入
P3.1TXD串行通信输出
P3.2INT0外部中断0输入,低电平有效
P3.3INT1外部中断1输入,低电平有效
P3.4T0计数器0外部事件计数输入端
P3.5T1计数器1外部事件计数输入端
P3.6WR外部随机存储器的写选通,低电平有效
P3.7RD外部随机存储器的读选通,低电平有效
第3章硬件设计
3.1原理图及说明
如图3.1所示,8个8段共阴极数码显示管采用动态输出方式,
8个发光二极管采用低电平点亮,信号输入采用独立按键方式。
图3.1电路原理图
3.2时钟输入电路
如图3.2所示,采用的是内部时钟方式,在MCS-51单片机芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。
而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路。
图3.2时钟输入电路
3.3发光二极管显示电路
如图3.3所示,6个LED灯在低电平时点亮,高电平时熄灭,系统上电后,默认分值为+1,此时所有灯均不亮,只在分值切换按钮动作后会使指示灯依次从左到右循环点亮,对应的分值依次是+1、+2、+3、-1、-2、-3。
图3.3LED显示电路
3.4独立式键盘控制电路
如图3.4所示,独立式按键是指用I/0口线构成的单个按键电路,每个独立式按键单独占一根I/0口线,每根I/0口线上按键的工作状态不会影响其他I/O口线的工作状态,即一个按键对应着-个端口输入,每一个按键都有一个按键电路来判断其是否按下。
其中第一个按键为甲队分数控制键,第二个按键为乙队分数控制键,第三个按键为甲乙两队加减分值切换键,第四个按键为甲乙两队比分清零键,第五个按键为甲乙两队比分对调键,第六个按键为甲乙两队比分预置键(预置分均为50)。
图3.4独立式键盘控制电路
3.5数码管显示电路
如图3.5所示,数码管显示电路使用2片4个8段共阴极数码显示管,采用动态输出方式。
采用最前三位数码管显示甲队的分值,最后三位数码管显示乙队的分值,中间两位数码管显示分隔符。
74LS245是常用来驱动led或者其他的设备的芯片,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器
表3.5LED显示器共阴极部分
图3.5数码管显示电路
第4章软件设计
4.1主要流程图
4.1.1主程序流程图
图4.1.1主程序流程图
4.1.2键盘控制子程序流程图
图4.1.2键盘控制子程序流程图
4.1.3数码管显示子程序流程图
图4.1.3数码管显示子程序流程图
4.2程序模块
4.2.1键位模块
4.2.1.1按键设置
NAEQU24H
NBEQU25H;甲乙两队分数
TEMPEQU26H;存放每次计分分值
TEMP1EQU27H
STABITP1.0;甲队分值控制位
STBBITP1.1;乙队分值控制位
SWITCHBITP1.2;计分分值切换控制位
CLR0BITP1.3;比分清零控制位
BFQHBITP1.4;比分对调控制位
YZFZBITP1.5;预置分值控制位
ORG0000H
SJMPSTART
START:
MOVDPTR,#TABLE;将表首址送DPTR
MOVNA,#0
MOVNB,#0;比分自动清零
MOVTEMP,#1;开机默认加减分值为1
MOVP2,#01H;分值显示灯亮
A1:
ACALLDISPLAY;调显示函数
JNBSTA,S1
JNBSTB,S2
JNBSWITCH,S3
JNBCLR0,S4
JNBBFQH,S5
JNBYZFZ,S6
LJMPA1;判断按下的控制键
4.2.1.1甲队控制键
S1:
LCALLDELAY;去抖动
JBSTA,A1;确认按键
MOVA,NA
ADDA,TEMP
MOVNA,A
C0:
JBSTA,A1;等键释放
LCALLDISPLAY
SJMPC0
4.2.3乙队控制键
S2:
LCALLDELAY;去抖动
JBSTB,A1
MOVA,NB
ADDA,TEMP
MOVNB,A
C1:
JBSTB,A1;等键释放
LCALLDISPLAY
SJMPC1
JB0:
JBSWITCH,A1
RET
4.2.1.2置零按键
S4:
LCALLDELAY;去抖动
JBCLR0,A1
MOVNA,#0;甲清零
MOVNB,#0;乙清零
C2:
JBCLR0,A1;等键释放
LCALLDISPLAY;延时去抖动
SJMPC2
4.2.1.3比分置换
S5:
LCALLDELAY;比分对调
JBBFQH,A1
MOVA,24H;将甲队比分送寄存器A
XCHA,25H;交换A和乙队比分,A存乙队比分
MOV24H,A;乙队比分送甲空间
C3:
JBBFQH,A1;等键释放
LCALLDISPLAY
SJMPC3
4.2.1.4预置比分为50:
50
S6:
LCALLDELAY
JBYZFZ,A1
MOVNA,#50
MOVNB,#50
C4:
JBYZFZ,A1;等键释放
LCALLDISPLAY
SJMPC4
4.2.1.5分值切换按键
S3:
LCALLDELAY;分值切换
LCALLJB0
INCTEMP1
MOVA,TEMP1
D00:
CJNEA,#2,D0
MOVTEMP,#2
LCALLJB0;等键释放
MOVP2,#11111101b;设分值为+2命令
LJMPD00
D0:
CJNEA,#3,D1
MOVTEMP,#3
LCALLJB0
MOVP2,#11111011B;设分值为+3命令
LJMPD0
D1:
CJNEA,#4,D2
MOVTEMP,#-1
LCALLJB0;设分值为-1的命令
MOVP2,#11110111B
LJMPD1
D2:
CJNEA,#5,D3
MOVTEMP,#-2
LCALLJB0
MOVP2,#11101111B;设分值为-2命令
LJMPD2
D3:
CJNEA,#6,D4
MOVTEMP,#-3
LCALLJB0
MOVP2,#11011111B;设分值为-3命令
LJMPD3
D4:
CJNEA,#7,D5
MOVTEMP,#1
LCALLJB0
MOVP2,#11111110B;设分值为+1命令
MOVTEMP1,#1
LJMPD4
D5:
LJMPA1
4.2.2显示函数
DISPLAY:
MOVA,NA;甲队比分显示
MOVB,#100;将8位二进制转换位十进制
DIVAB
CLRP3.0
MOVCA,@A+DPTR;送段码
MOVP0,A;显示甲比分比分百位
LCALLDELAY
SETBP3.0;关位选
MOVA,B
MOVB,#10
DIVAB
CLRP3.1;开位选
MOVCA,@A+DPTR
MOVP0,A
LCALLDELAY
SETBP3.1
MOVA,B
CLRP3.2
MOVCA,@A+DPTR
MOVP0,A
LCALLDELAY
SETBP3.2
CLRP3.3
MOVP0,#40H;显示分隔符
LCALLDELAY
SETBP3.3
;****************************乙队比分显示
MOVA,NB
MOVB,#100
DIVAB
CLRP3.5
MOVCA,@A+DPTR
MOVP0,A
LCALLDELAY
SETBP3.5
MOVA,B
MOVB,#10
DIVAB
CLRP3.6
MOVCA,@A+DPTR
MOVP0,A
LCALLDELAY
SETBP3.6
MOVA,B
CLRP3.7
MOVCA,@A+DPTR
MOVP0,A
LCALLDELAY
SETBP3.7
CLRP3.4
MOVP0,#40H
LCALLDELAY
SETBP3.4
RET
TABLE:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH;共阴极数码管代码
4.2.3延时模块
DELAY:
MOVR6,#10
E:
MOVR7,#250
DJNZR7,$
DJNZR6,E
RET
END
第5章系统仿真及调试
5.1调试结果
调试结果记录如下:
按照键盘分布说明按键,可以给甲、乙加或减1分,2分,3分,显示器跟踪显示出总分,然后模拟比赛细节,均达到预期效果。
在甲、乙均有一定总分的情况下,按复位按钮,显示结果复位。
重复进行上面操作,结果均符合设计要求。
可以通过切换按钮选择不同的状态,将会实现不同的功能。
图5.1.1甲队加一分
图5.1.2乙队加一分
图5.1.3甲队加三分
图5.1.4甲乙比分对调
图5.1.5甲乙比分对调
图5.1.6比分预置
图5.1.7比分清零
第6章总结
这次课程设计锻炼了我们思考和解决问题的能力,是一次非常深刻的学习经历。
我们曾尝试过很多方法,虽然多有失败,但从中领悟和积累的经验和设计方法则是我们一笔不可多得的财富。
越是在艰难关头,越是要锐意进取,越是感到无计可施,知识空乏之时,越是要好学善思。
我国的科学事业起步晚,技术差,全都仰赖一代又一代甘于奉献、刻苦专研的科学家们将我国的科技推进到世界先进水平的行列,虽然我们不是科学家,但我们理应向他们学习。
开始的那几天,天天在网上找资料,不知看了多少文档,也不知道看了多少遍,把自己累的精力全无。
方才懂得我们太盲目了,得到的是是事倍功半,所以最后就回到教材上去了,我们看不懂程序,就一条一条对照书本了解,还不懂的就去请教基础好点的同学或者直接不厌其烦地问老师,慢慢地我们从不懂到懂,从不会到会,我们都有种离成功不远的感觉。
俗语说“行百里者半九十”,不到最后成功地仿真出来,我们就不能懈怠。
三个臭皮匠顶个诸葛亮,把观点和主意综合起来也许就有惊人的创新,于是我们循着有感觉的方向慢慢完善它,直到最后。
当我们一步一步得到想要的结果时,就仿佛是战胜了一个强大的敌人。
当然我们的成果不但是我们“三人帮”的共同努力,勇于专研的作用的结果,也有老师的耐心教导和细心帮助的成分在里面。
经过这次磨砺,我能更深刻的体会到精诚团结的重要性,也明白知识基础是成才成人的重要基石,所以要好好学习,对知识永不满足。
参考文献
[1]《51系列单片机原理与接口技术实验指导》周向红编湖南工程学院
[2]《微型计算机原理及应用》许立梓编机械工业出版社2002
[3]《微型计算机接口技术及应用》刘乐善编华中理工大学出版社2000
[4]《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社2000
[5]《16位微型计算机原理接口及其应用》周佩玲编中国科技大学出版社2000
[6]《微型计算机原理与接口技术》吴秀清编中国科学技术出版社2001
[7]《微型计算机接口技术》邓亚平编清华大学出版社2001
[7]《单片机原理及及应用》王迎旭编机械工业出版社2001
[8]《单片机应用程序设计技术》周航慈著北京航空航天出版社2002
[9]《单片机实用技术问答》谢宜仁主编人民邮电出版社2002
[10]《单片机原理及应用》张毅刚编高等教育出版社;2008
附录A电路原理图
附录B汇编程序清单
NAEQU24H
NBEQU25H;甲乙两队分数
TEMPEQU26H;存放每次计分分值
TEMP1EQU27H
STABITP1.0;甲队分值控制位
STBBITP1.1;乙队分值控制位
SWITCHBITP1.2;计分分值切换控制位
CLR0BITP1.3;比分清零控制位
BFQHBITP1.4;比分对调控制位
YZFZBITP1.5;预置分值控制位
ORG0000H
SJMPSTART
START:
MOVDPTR,#TABLE;将表首址送DPTR
MOVNA,#0
MOVNB,#0;比分自动清零
MOVTEMP,#1;开机默认加减分值为1
MOVP2,#01H;分值显示灯亮
A1:
ACALLDISPLAY;调显示函数
JNBSTA,S1
JNBSTB,S2
JNBSWITCH,S3
JNBCLR0,S4
JNBBFQH,S5
JNBYZFZ,S6
LJMPA1;判断按下的控制键
S1:
LCALLDELAY;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 比赛 计分 设计 课程设计