《基于单片机AT89C51控制的篮球计分器课程设计报告》由会员分享,可在线阅读,更多相关《基于单片机AT89C51控制的篮球计分器课程设计报告(29页珍藏版)》请在金锄头文库上搜索。
1、28宁波技师学院电气系流水灯课程设计 宁波技师学院 课 程 设 计 报 告 设计课题:单片机篮球计分器 专业班级: 学生姓名: 指导教师: 宁波技师学院电气技术系 二零一三 年 9月摘 要进入21世纪,伴随着电子,信息通信技术的应用与普及开发,人们对电子技术的要求也越来越高。目前嵌入式单片机渗透到我们生活的各个领域,按照历史性、本质性普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。对于嵌入式即可分软件部分和硬件部分。以MCU为核心,就是各种各样的单片机,是嵌入式硬件部分的实现方式之一,它主要是因为把处理器和存储器等部件集成在一块芯片上。在探索单片机的发展道路时,有过两种模
2、式,即“模式”与“创新模式”。“模式”将通用计算机系统中的基本单元进行裁剪后,集成在一个芯片上,构成单片微型计算机“创新模式”则完全按嵌入式应用要求设计全新的,满足嵌入式应用要求的体系结构、微处理器、指令系统、总线方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照创新模式发展起来的单片形态的嵌入式系统。MCS-51是在MCS-48探索基础上,进行全面完善的嵌入式系统,成为单片嵌入式系统的典型结构体系。 体育比赛计分器是对体育比赛过程中所产生的比分等数据进行快速采集记录、加工 处理、传递利用的工具。篮球比赛的计分器是一种得分类型的工具。它由计分器等多种 电子设备组成。虽然篮球比
3、赛中很早就开始研究应用了电子计分器,通常都是利用模拟 电子器件、数字电子器件或是模拟、数字混合组成的,其稳定性和高准确度计分仍存在 一些问题。以单片机为核心的篮球比赛计分器,计分准确,具有体积小,重量轻,能耗 低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点。 目录 一 总体设计方案11.1系统设计方案11.2系统结构框图1二 系统硬件设计22.1晶振电路22.2复位电路32.3数码管电路42.4LED指示电路52.5按钮加分电路.6三 软件设计.73.1主流程图.73.2程序图.9四 制作与调试.18五 结论.19六 致谢.20附录1 系统实物原来图.212实验原理图.233系统仿
4、真图.244PCB原理图.25 5分工表.29一 总体设计方案1.1系统设计方案篮球计分系统主要由:复位电路、晶振电路、数码管显示电路、LED灯指示输赢电路、甲乙加分电路等部分电路组成。各器件的选用:1 单片机的选用:单片机芯片选用AT89C51。2数码管的选用:数码管选用四位共阴极数码管和两位共阳极数码管。3晶振的选用:晶振选用的是12MHZ。 1.系统结构框图 图1.2-1系统结构框图二系统硬件设计复位电路、晶振电路、数码管显示电路迪电路组成。2.1晶振电路图2.1-1晶振电路内部方式时钟电路如图2.1-1所示。在XTAL2和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。2.2
5、复位电路图2.2-1按键复位电路按键手动复位有电平方式和脉冲方式。而此次选用的便是按键电平复位。按键电平复位是通过复位端经电阻与Vcc接通而实现的。电路如图2.2-1所示。2.3数码管电路图2.3-1数码管电路 注:此电路可以十分清楚的体现出当前比赛的分数指示。 图2.3-2数码管2.4LED指示电路图2.4-1 LED指示电路注:此电路可以明显的反映出LED的运行状态(输赢状态),如图2.4-1所示。2.5按钮加分电路图2.5-1 按钮加分电路注:此电路可以选择甲、乙的加分,如图2.5-1所示。三 软件设计3.1主程序流程图 图3.1-1流程图注:篮球计分程序根据流程图所写,根据按钮是否按下
6、跳起来判断是否执行下一条令,从而使LED指示灯与数码管显示出值。 3.2程序图;篮球记分器ORG 0000HJMP LOOP3 ;主程序ORG 0003HJMP KAI ;外部中断0:判断输赢ORG 0013HJMP JIAO ;外部中断1:比分交换LOOP3:SETB EA ;中断开启SETB EX0SETB IT0SETB EX1SETB IT1MOV P0,#0FFH ;赋初值MOV P1,#0FFHMOV P2,#00HMOV P3,#0CHMOV A,#00HMOV R5,#00HMOV R1,#00HMOV R2,#00HMOV R3,#00HMOV R4,#00HMOV R6,#
7、00HCLR CYLOOP2:MOV DPTR,#TABLE1 ;比分显示 开始扫描LCALL DAY1 ;扫描左移MOV A,R1 ;左边比分十位数值传送到P2口MOVC A,A+DPTRMOV P2,ALCALL DAY2 ;延时扫描时间LCALL DAY1 ;扫描左移MOV DPTR,#TABLE2 ;左边比分个位数值传送到P2口MOV A,R2MOVC A,A+DPTRMOV P2,ALCALL DAY2 ;延时扫描时间LCALL DAY1 ;扫描左移MOV DPTR,#TABLE3MOV A,R3MOVC A,A+DPTRMOV P2,ALCALL DAY2 ;延时扫描时间LCALL
8、 DAY1 ;扫描左移MOV DPTR,#TABLE4 MOV A,R4MOVC A,A+DPTRMOV P2,ALCALL DAY2 ;延时扫描时间LCALL DAY1 ;扫描左移 MOV DPTR,#TABLE5 ;右边比分十位数值传送到P2口MOV A,R5MOVC A,A+DPTRMOV P2,ALCALL DAY2 ;延时扫描时间LCALL DAY1 ;扫描左移MOV DPTR,#TABLE6 ;右边比分个位数值传送到P2口MOV A,R6MOVC A,A+DPTRMOV P2,ALCALL DAY2 ;延时扫描时间MOV P1,#0FFHCLR CYJNB P3.0,LOOP20 ;判断左边有没有加1分键按下LCALL DAYJB P3.0,$;去抖动LCALL DAYJB P3.0,$MOV A,#01;左边加1分并判断分数有没有超过十分ADD A,R2MOV R2,AMOV B,#10DIV ABMOV R2,BMOV B,R1;左边个位数值超过10分, 十位数加上原来的十