单片机原理及接口技术课程设计篮球记分器的设计报告
单片机原理及接口技术课程设计报告课题名称篮球记分器的设计学院自动控制与机械工程学院专业电气工程及其自动化班级姓名 (学号)时间2011年12月27日星期二目 录一. 内容提要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1. 设计任务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. 设计要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2二. 设计的基本步骤及方案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31AT89C51简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32数码管显示原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33总体方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5三. 硬件电路设计及描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1. 硬件原理电路图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2. 硬件电路设计及描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7四. 软件设计思想及流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 .主流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82.记分流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93.时间中断流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104.源程序代码见附录一. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13五硬软件的调试过程及调试方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . .13六课程设计心得体会. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15七参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15附录一 源程序代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16一.内容提要本设计是采用单片机AT89C52作为本设计的核心元件。利用7段共阴LED作为显示器件。在此设计中共接入了8个7段共阴LED显示器,其中4个用于记录AB队的分数,每队2个LED显示器显示范围可达到099分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。赛程计时采用倒计时方式。即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。计时范围可达到099分钟,也完全满足实际赛程的需要。当比赛队A对得1分时,按下A+1键;得2分时,按下A+2键;得3分时,按下A+3键;当加分出现错误时,可以按A-1键减1分,可以达到调整分数的作用;依照同样的方法可以记录B对的得分。采用单片机控制使这个系统按键操作使用简洁,LED显示,安装方便。解决了篮球比赛计分器的安装问题,节约了线材,适合在各种规模的体育场馆使用,完全可以代替传统的用钟表进行计时的方法,当然稍加改动也可以用于其他球类比赛,是体育器材向智能化发展的一个实例。1设计任务基于MCS-51单片机AT89C51,设计一款显示篮球比分的记分牌。2设计要求1)设计一款显示篮球比分的记分牌; 2)通过加分按钮可以给A队,或B队加分; 3)设计对调功能,更换场地后,AB队分数互换; 4)计时:能实现099分和059秒任意调整,具有启动、暂停、复位功能; 5)秒计时:能实现099秒任意调整,具有启动、暂停、复位功能; 6)自定义按键个数和功能; 7)增加局数比分功能; 8)增加比赛时间倒计时功能; 9)报警:099秒违例自动声、光报警:099分终场自动声响; 10)可实现A、B两队暂停次数和犯规的显示和任意加减; 11)其他功能。二设计的基本步骤及方案1AT89C51简介单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O口等计算机所需要的基本部件的大规模集成电路。其以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。如果说C语言程序设计课程设计软件设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。2数码管显示原理数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。我们分别把他命名为A,B,C,D,E,F,G,H。 图1 数码管内部结构图假设我们要显示一个数字2, 那么 A、B、G、E、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阴接法,那么为高电平是亮,低电平是灭。从高往低排列, P1.7-P1.0写成二进制为01011011, 把他转化为16进制则为5BH。我们可以根据硬件的接线把数码管显示数字编制成一个表格,见下表,以后直接调用就行了。数码管的接口有静态接口和动态接口两种。静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阴接GND,本次课程设计由于所需数码管不多,故可用些种方法接线。这种接法占用接口多,仅能接少量数码管。动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一接口完成各数码管的轮流点亮。多位一体的数码管原理和单个的差不多。表2 共阴极数码管显示显示 P1.7 小数点 P1.6 G P1.5小FP1.4 EP1.3 DP1.2 CP1.1 BP1.0 A HE代码 0 00111 11 13FH1 0 0 0 0 0 11 0 06H 2 0 1 0 1 1 01 1 5BH 3 0 1 0 01 1 11 4FH 4 0 11 00 1 1 0 66H5 01 1 0 1 1 0 16DH 6 01 1 1 1 1 0 1 7DH 7 00 00 0 1 11 07H 8 0 1 1 11 1 1 1 7FH 9 0 1 10 1 1 1 1 6FH 3总体方案:基于单片机系统的篮球赛计时计分器的系统构成图如下图所示: 图3 系统结构图本系统采用单片机AT89C51作为本设计的核心元件。利用7段共阴LED作为显示器件。在此设计中共接入了8个7段共阴LED显示器,其中4个用于记录AB队的分数,每队2个LED显示器显示范围可达到099分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。赛程计时采用到计时方式。即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。计时范围可达到099分钟,也完全满足实际赛程的需要。其次,为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了11个按键,其中8个用于设置,交换场地,启动和暂停等功能。三. 硬件电路设计及描述1.硬件原理电路系统硬件图如下图4所示:记分图如下图5所示:计时图如下图6所示:2.硬件电路设计及描述硬件部分的设计是整个设计中的一个重要部分。在进行硬件部分设计时,首先要确定元器件,并且知道这些器件的工作原理和功能。然后才可以进行设计。本设计的硬件电路包括两部分:计时电路、计分电路。硬件电部分的设计除了硬件电路的设计,还包括PCB板的绘制。 图7 AT89C51引脚图四. 软件思想及流程1 主流程图8:开始定时清零两队分数设置定时开始按键是否按下定时时间是否到倒计时开始计时暂停键是否按下计分键是否按下对应甲乙队加减的分数交换键是否按下甲乙两队交换分数显示YNYYYYNNNN2. 记分流程图9:比分显示程序:DISPF:MOV R0,#34H MOV R3,#7FH MOV A,R3PLAYF:MOV P2,A MOV A,R0 MOV DPTR,#DSEG1 MOVC A,A+DPTR MOV P0,A LCALL DL1 MOV P2,#0FFH MOV A,R3 RR A J