单片机ATC控制篮球计分器课程方案报告_第1页
单片机ATC控制篮球计分器课程方案报告_第2页
单片机ATC控制篮球计分器课程方案报告_第3页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、宁波技师学院课程设计报告设计课题:单片机篮球计分器专业班级:学生姓名:指导教师:宁波技师学院电气技术系二零一三年9月摘要进入21世纪,伴随着电子,信息通信技术的应用与普及开发,人们对电子技术的要求也越来越高。目前嵌入式单片机渗透到我们生活的各个领域,按照历史性、本质性普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。对于嵌入式即可分软件部分和硬件部分。以MCU为核心,就是各种各样的单片机,是嵌入式硬件部分的实现方式之一,它主要是因为把处理器和存储器等部件集成在一 块芯片上。在探索单片机的发展道路时,有过两种模式,即“工模式”与“创新模式”。“工模式”将通用计算机系统中的基本

2、单元进行裁剪后,集成在一个芯片上, 构成单片微型计算机“创新模式”则完全按嵌入式应用要求设计全新的,满足嵌入式 应用要求的体系结构、微处理器、指令系统、总线方式、管理模式等。In tel公司的MCS-48、MCS-51就是按照创新模式发展起来的单片形态的嵌入式系统。MCS-51是在MCS-48探索基础上,进行全面完善的嵌入式系统,成为单片嵌入式系统的典型结 构体系。体育比赛计分器是对体育比赛过程中所产生的比分等数据进行快速采集记录、加工处理、 传递利用的工具。 篮球比赛的计分器 是一种得分类型的工具。它由计分器等多种电子设备 组成。虽然篮球比赛中很早就开始研究应用了电子计分器,通常都是利用模拟

3、电子器件、 数字电子器件或是模拟、数字混合组成的,其稳定性和高准确度计分仍存在一些问题。以 单片机为核心的篮球比赛计分器,计分准确,具有体积小,重量轻,能耗低,价格便宜, 可靠性高,抗干扰能力强和使用方便等独特的优点。目录一 总体设计方案 11.1 系统设计方案 11.2 系统结构框图 1二 系统硬件设计 22.1 晶振电路 22.2 复位电路 32.3 数码管电路 42.4LED 指示电路 5 2.5 按 钮 加 分 电路6三 软件设计 73.1 主 流 程图73.2 程 序图9四 制作与调试 18五 结论 19六 致谢 20附录 1 系统实物原来图 212 实 验 原 理图23图244PC

4、B原理图255分工表29总体设计方案1.1系统设计方案LED灯指示输赢篮球计分系统 主要由:复位电路、晶振电路、数码管显示电路、 电路、甲乙加分电路等部分电路组成。各器件的选用:1单片机的选用:单片机芯片选用 AT89C51。2数码管的选用:数码管选用四位共阴极数码管和两位共阳极数码管。3晶振的选用:晶振选用的是 12MHZ 。1.系统结构框图聃躺复位电路电顧堺趨电踰A计分显示4图1.2-1系统结构框图二系统硬件设计复位电路、晶振电路、数码管显示电路迪电路组成。2.1晶振电路内部方式时钟电路如图2.1-1所示。在XTAL2和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。2.2复位电

5、路XCCO O0S11R2丄200322UFI«_HRl1K图2.2-1按键复位电路按键手动复位有电平方式和脉冲方式。而此次选用的便是按键电平复位。按键电平复位是通过复位端经电阻与Vcc接通而实现的。电路如图2.2-1所示。2.3数码管电路Q1堂ECO图2.3-1数码管电路gf3 ab flel gk匸10|9|8|7|6|eds cdpo图2.3-2数码管2.4LED指示电路注:此电路可以明显的反映出LED的运行状态 输赢状态),如图 2.4-1所示。2.5按钮加分电路SW-PB图2.5-1按钮加分电路注:此电路可以选择甲、乙的加分,如图2.5-1所示。三软件设计3.1主程序流程图

6、开台总分寄存器0清0七段数码管首送地址DPTRSTART取出低4 位是否有键按下5取R出位是否真有键按下明个键按下的?加1分加2分加3分零11S2S3S4等待按键释放S1将总分转换为B C D码再将 B C D码转换为七段码 经P 1 口和P 3 口输出显示图3.1-1流程图注:篮球计分程序根据流程图所写,根据按钮是否按下跳起来判断是否执行下一条令,从而使LED指示灯与数码管显示出值。3.2 程序图。篮球记分器ORG 0000HJMP LOOP3 。主程序ORG 0003HJMP KAI 。外部中断 0:判断输赢ORG 0013HJMP JIAO 。外部中断 1:比分交换LOOP3: SETB

7、 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,#00HCLR CYLOOP2: MOV DPTR,#TABLE1 。比分显示 开始扫描LCALL DAY1 。扫描左移MOV A,R1 。左边比分十位数值传送到 P2 口MOVC A,A+DPTRMOV P2,ALCALL DAY2 。延时扫描时间LCALL DAY1

8、。扫描左移MOV DPTR,#TABLE2 。左边比分个位数值传送到MOV A,R2MOVC A,A+DPTRMOV P2,ALCALL DAY2 。延时扫描时间LCALL DAY1 。扫描左移MOV DPTR,#TABLE3MOV A,R3MOVC A,A+DPTRMOV P2,ALCALL DAY2 。延时扫描时间LCALL DAY1 。扫描左移MOV DPTR,#TABLE4MOV A,R4MOVC A,A+DPTRMOV P2,ALCALL DAY2 。延时扫描时间LCALL DAY1 。扫描左移MOV DPTR,#TABLE5 。右边比分十位数值传送到MOV A,R5MOVC A,A

9、+DPTRMOV P2,ALCALL DAY2 。延时扫描时间LCALL DAY1 。扫描左移MOV DPTR,#TABLE6 。右边比分个位数值传送到MOV A,R6P2 口P2 口P2 口MOVC 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,

10、R1 。左边个位数值超过 10 分, 十位数加上原来的十位数值传 到 R1ADD A,BMOV R1,AJMP LOOP2LOOP20:JNB P3.1,LOOP21 。判断左边有没有加 2 分键按下LCALL DAYSETB P0.0SETB P0.1SETB P0.2JB P3.1,$ 。去抖动LCALL DAYJB P3.1,$MOV A,#2 。左边加 2分并判断分数有没有超过十分ADD A,R2MOV R2,AMOV B,#10DIV ABMOV R2,BMOV B,R1。左边个位数值超过 10 分, 十位数加上原来的十位数值传到 R1ADD A,BMOV R1,AJMP LOOP2

11、LOOP21:JNB P3.4,LOOP22 。判断左边有没有加 3 分键按下LCALL DAYSETB P0.0SETB P0.1SETB P0.2JB P3.4,$ 。去抖动LCALL DAYJB P3.4,$MOV A,#3。左边加 3 分并判断分数有没有超过十分ADD A,R2MOV R2,AMOV B,#10DIV ABMOV R2,BMOV B,R1。左边个位数值超过 10 分, 十位数加上原来的十位数值传到 R1ADD A,BMOV R1,AJMP LOOP2LOOP22: JNB P3.5,LOOP30 。判断右边有没有加 1分键按下LCALL DAYSETB P0.0SETB

12、 P0.1SETB P0.2JB P3.5,$ 。去抖动LCALL DAYJB P3.5,$MOV A,#01。右边加 1 分并判断分数有没有超过十分ADD A,R6MOV R6,AMOV B,#10DIV ABMOV R6,BMOV B,R5。右边个位数值超过 10 分, 十位数加上原来的十位数值传到 R5ADD A,BMOV R5,AJMP LOOP2LOOP30: JNB P3.6,LOOP31 。判断右边有没有加 2分键按下LCALL DAYSETB P0.0SETB P0.1SETB P0.2JB P3.6,$ 。去抖动LCALL DAYJB P3.6,$MOV A,#2。右边加 2

13、 分并判断分数有没有超过十分ADD A,R6MOV R6,AMOV B,#10DIV ABMOV R6,BMOV B,R5。右边个位数值超过 10 分, 十位数加上原来的十位数值传到 R5ADD A,BMOV R5,AJMP LOOP2LOOP31: JNB P3.7,LOOP32 。判断右边有没有加 3分键按下LCALL DAYSETB P0.0SETB P0.1SETB P0.2JB P3.7,$ 。去抖动LCALL DAYJB P3.7,$MOV A,#3。右边加 3 分并判断分数有没有超过十分ADD A,R6MOV R6,AMOV B,#10DIV ABMOV R6,BMOV B,R5

14、。右边个位数值超过 10 分, 十位数加上原来的十位数值传到 R5ADD A,BMOV R5,AJMP LOOP2LOOP32: JMP LOOP2DAY1:MOV A,P1。扫描左移RLC AMOV P1,ARET。跳转返回DAY2:MOV R7,#10 。扫描时间LOOP5:MOV R0,#250LOOP:NOPNOPDJNZ R0,LOOPDJNZ R7,LOOP5RET。跳转返回TABLE1:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 。左边十位数值的表格TABLE2:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH

15、,6FH 。左边个位数值的表格TABLE3:DB 40HTABLE4:DB 40HTABLE5:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 。右边十位数值的表格TABLE6:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 。右边个位数值的表格KAI: SETB P0.0。判断输赢 先赋初值SETB P0.1SETB P0.2LCALL DAYJNB P0.7,LOOP34JMP LOOP33LOOP34:PUSH ACC 。开始判断MOV A,#10MOV B,R1MUL ABMOV B,R2ADD A,B100H

16、100HMOV 100H,A 。用乘法和加法算出左边的数值并传到MOV A,#10MOV B,R5MUL ABMOV B,R6ADD A,BMOV 110H,A 。用乘法和加法算出右边的数值并传到MOV A,100HCJNE A,110H,LOOP201 。开始比较CLR P0.1 。右边赢 P0.1 亮POP ACCSETB P0.7JMP LOOP33LOOP201:JNC LOOP200 。平局 P0.2 灯亮CLR P0.2SETB P0.7POP ACCJMP LOOP33LOOP200:CLR P0.0 。左边赢 P0.0 亮SETB P0.7POP ACCLOOP33: RETI

17、JIAO: PUSH ACC。2边比分交换 输赢灯赋初值SETB P0.0SETB P0.1SETB P0.2MOV A,R1XCH A,R5MOV R1,AMOV A,R2XCH A,R6MOV R2,APOP ACCRETIDAY: MOV R7,#50 。去抖动延时D1: MOV R0,#250DJNZ R0,$DJNZ R7,D1RET四 制作与调试根据自己的设计题目,用 Protel99 SE 软件绘出电子草图,交与指导老师检查。之 后在Proteus软件里搭出电子图,并且写出程序,放于 Proteus软件里进行仿真,并且 通过。通过以后在 Protel99 SE 软件里把 PCB 板制作,同时要注意板子的外观,和元 器件的摆放,使之达到理想状态。PCB 板子做好以后,把图打印在热转印纸上,之后再和板子通过热转印机把图转 印至板子上。在把板子放置腐蚀液里,把露铜部分经行腐蚀,留下被覆盖的部分。腐蚀好之后,用清水和砂纸打磨,露出铜线。然后用机子把洞打出来,把元器件 焊在上面。在调试时,按步骤一步一步的经行,在出现问题时,应及时记录,并且及时修 改。完全调试成功后,叫老师看过后上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论