单片机篮球计分器报告书

更新时间:2023-05-23 14:57:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

一、 目 录

一目 录 1

摘要 1

概 述: 2

二、篮球计分器方案及硬件设计: 3

2.1 AT89C51与AT89S51简介 3 2.2 数码管显示原理: 4 2.3定时/计数器 5

三、流程图: 6 四、仿真图和实际焊接图: 7

4.1 Proteus仿真图: 7 4.2 实际焊接图: 8

五、程序代码: 8 六、心得体会: 14 七、参考文献: 15

1、Proteus仿真软件简介 15 2. 《51系列单片机》实验指导书 15

摘 要

单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

设计,便能收到电路更简单、功能更齐全的良好效果。若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。

单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。同时,一个学习与应用单片机的新高潮正在大规模地兴起。

但是,单片机并不像传统数字电路或模拟电路那样直观,原因是除了“硬件”之外,还存在一个“软件”的因素。正是这个“软件”因素的存在,使得许多初学者怎么也弄不懂单片机的工作过程,怎么也不明白为什么将几个数送来送去,就能控制一盏灯亮/灭,就能控制一个电机变速。

本设计是由一种由AT89C51编程控制LED七段数码管做显示的篮球计分系统。本系统具有加1,加2,加3,以防止加错分数的减一控制,红、蓝两队双方的比分以及比赛中换场交换分数。

本设计就是基于单片机计分系统,通过串口通信动态传输数据,使计时计分系统有了更多更完善的功能。。

概 述:

本系统是采用单片机AT89C51作为本设计的仿真元件。焊接时使用单片机AT89S51实践,利用7段共阳LED作为显示器件。所设计的篮球计分器分为三个部分:开关控制、数码管的显示以及红蓝两队两位数码管的控制。P0口接数码管,显示红蓝两队的比分。P2口接数码管的COM用于对数码管的控制。P3口接6个开关分别作为比分+1、+2、+3、-1 交换 红蓝两队切换的控制按键。

该方案使用共阳极数码管的com焊接时接C9012三极管的C极和电阻用于驱动数码管。B 极接1K电阻后连接到P2口, E 级接5V电源.。

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

二、篮球计分器方案及硬件设计:

2.1 AT89C51与AT89S51简介

单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O口等计算机所需要的基本部件的大规模集成电路,又称MCU。其以体积小、功能全、性价比等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。如果说C语言程序设计课程设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。本次实训中,使用AT89C51进行仿真实验。

AT89C51管脚图

其管脚图如右89S51是一个低功图所示。AT8耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。在本次实训中AT89S51作为实际焊接时使用,在焊接过程中,注意与仿真图对应其管脚,区分AT89C51与AT89S51的管脚排列。

AT89S51管脚图

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

2.2 数码管显示原理:

一位共阳极数码管引脚排列和内部结构图。下图为实物图:

引脚排列:共十个引脚,上5下5。如上图放置数码管,从左上角第一个引脚顺时针开始数,引脚依次如下:1:g 2:f 3:com端(接高电平) 4:a 5:b 6: dp 7:c 8:com端(接高电平) 9:d 10:e 注:3 8两引脚用时只需接一个高电平端即可

假设我们要显示一个数字2, 那么 A、B、G、E、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阳接法,那么为低电平是亮,为高电平是灭。从高往低排列, P1.7-P1.0写成二进制为01111110, 把他转化为16进制则为A2H。我们可以根据硬件的接线把数码管显示数字编制成一个表格,见下表,以后直接调用就行了。

表2.1 共阳极数码管显示

数码管的接口有静态接口和动态接口两种。静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阳接VCC,这种接法占用接口多,仅能接少量数码管。

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一接口完成各数码管的轮流点亮。

2.3定时/计数器

篮球比赛计分器其实就是一个计数器,本次课程设计就是利用单片机中的定时/计数器来实现其计分的功能。在51单片机中有两个16位的定时/计数器T0,T1,分别由TH0、TL0和TH1、TL1组成,它们均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。它们用于存放定时或计数的初始值。此外,内部还有一个8位的方式寄存器TMOD和一个8位的控制寄存器TCON。用于选择和控制定时/计数器的工作。其格式见下面两表:

表3.1 方式控制寄存器TMOD

表3.2 控制寄存器

篮球比赛计分器利用单片机的计数器进行工作,计数器对外部脉冲的下降沿进行加1计数,直至计满回零。作为可编程器件,单片机中的定时/计数器初始化编程步骤如下:

根据定时时间要求或计数要求计算计数器初值; 将工作方式控制字写入TMOD寄存器; 将计数初值写入THX和TLX寄存器; 启动定时器/计数器,即将TRX置位。

如果工作于中断方式,需置位EA(中断总开关)及ETX(允许定时/计数器中断),并编写中断服务程序。

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

三、流程图:

篮球比赛中,得分可分为1分、2分、3分、减1、交换、控制六种情况,根据这样的设计要求,结合数码管的显示以及51单片机中计数器的工作实现方式、接口应用、中断控制等可设计出程序流程图如下所示:

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

四、仿真图和实际焊接图:

4.1 Proteus仿真图:

在用Protues进行仿真之前,先要用WAVE软件将我们编写好的汇编程序编译。具体方法是先新建一项目,之后输入编写的程序,输入完成后保存然后执行项目、编译,在目标文件夹内生成编译好的程序文件,其中*.HEX文件就是我们所需要的,在之后电路设计好后用于放入AT89C51中执行其功能。

在生成*.HEX文件后,进入Protues软件,此时软件已自动打开一新建项目。我们可直接在其中构建电路图,点击板面左侧按键P,在弹出的Pick devices对话框中进行元器件的选择,选择实训过程中所需求的元器件绘制出电路图,其仿真图如图1-1:

图1-1电路仿真图

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

AT89C51实现其功能,按下S1键,总分加1分;按下S2键,总分加2分;按下S3键总分加3分;按下S4键,总分减去一分;按下S5键交换红蓝两对分数;按下S6键对红蓝两队分数进行控制。

注意:仿真过程中可以省略晶振、三极管、电阻等以便于观察结果,在焊接电路板时,这些元件必须焊接上去。

4.2 实际焊接图:

实际焊接图分为正反两面,正面如图1-2,反面如图1-3: 其晶振和复位电路均焊接在芯片底座内。

正面焊接电路图1-2

五、程序代码:

数码管的显示,在TAB中加入数码管显示数字时对应的16进制数

程序清单: org 0000h

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

ajmp main org 000bh ajmp dscx org 0030h main: mov sp,#60h mov tmod,#11h mov th0,#0fch mov tl0,#18h setb p1.0 clr p1.1 mov p3,#0ffh mov 30h,#00h mov 31h,#00h mov r1,#32h mov r2,#11h lcall jscx setb ea

setb et0

setb tr0 ljmp ajcx

org 0060h ajcx: jnb p3.0,s0 jnb p3.1,s1 jnb p3.2,s2 jnb p3.3,s3 jnb p3.4,s4 jnb p3.5,sz5

ljmp ajcx

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

sz5: ljmp s5 s0: lcall del jb p3.0,s01

ljmp ajcx

s01: jnb p1.0,s02 mov a,30h inc a

mov 30h,a

ljmp tzcx s02: mov a,31h inc a

mov 31h,a

ljmp tzcx s1: lcall del jb p3.1,s11

ljmp ajcx

s11: jnb p1.0,s12 mov a,30h add a,#02h

mov 30h,a

ljmp tzcx s12: mov a,31h add a,#02h

mov 31h,a

ljmp tzcx s2: lcall del jb p3.2,s21

ljmp ajcx

s21: jnb p1.0,s22

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

mov a,30h add a,#03h

mov 30h,a

ljmp tzcx s22: mov a,31h add a,#03h

mov 31h,a

ljmp tzcx s3: lcall del jb p3.3,s31

ljmp ajcx

s31: jnb p1.0,s32 mov a,30h dec a

mov 30h,a

ljmp tzcx s32: mov a,31h dec a

mov 31h,a

ljmp tzcx s4: lcall del jb p3.4,s41

ljmp ajcx

s41: push 30h push 31h pop 30h

pop 31h

lcall jscx

ljmp ajcx

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

jb p3.5,s51

ljmp ajcx

s51: cpl p1.0 cpl p1.1 ljmp ajcx

org 0120h tzcx: lcall jscx ljmp ajcx

org 0130h del: mov tl1,#00h mov th1,#0bh setb tr1 jnb tf1,$

mov tl1,#00h

mov th1,#0bh clr tf1 ret

org 0150h dscx: mov th0,#0fch

mov tl0,#18h mov a,r2 rl a mov r2,a cjne r2,#11h,d1

mov r1,#32h

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

reti

d1: cjne r2,#22h,d2 mov r1,#33h lcall jscx

reti

d2: cjne r2,#44h,d3 mov r1,#34h lcall jscx

reti

d3: mov r1,#35h lcall jscx reti

org 0190h jscx: mov a,30h mov b,#0ah div ab mov 33h,b mov 32h,a

mov a,31h mov b,#0ah div ab mov 35h,b mov 34h,a

mov p2,r2

mov dptr,#tab mov a,@r1

movc a,@a+dptr

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

mov p0,a ret

org 0220h

tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h

db 80h,90h

end

六、心得体会:

在这次实训中,通过编程用WAVE软件将我们编写好的汇编程序编译。具体方

法是先新建一项目,之后输入编写的程序,输入完成后保存然后执行项目、编译,在目标文件夹内生成编译好的程序文件,在生成*.HEX文件后,进入Protues软件,选择其所需的元器件,绘制出电路图。P0.0~P0.7口接7段共阳极数码管。P2.0~P2.3口接数码管的COM引脚;P3.0~P3.5接6个开关,通过对6个开关的操作实现篮球计分器的功能。

仿真过程中,不需要考虑晶振以及三极管压降的影响,在仿真中,我只使用了简单的元器件,加载HEX文件以后,初步实现了篮球计分器的功能。在实际焊接中,考虑的问题要比仿真全面,我在焊接的过程中,P2口接数码管的COM用于对数码管的控制。该方案使用共阳极数码管的com焊接时接C9012三极管的C极和电阻用于驱动数码管。B 极接1K电阻后连接到P2口, E 级接5V电源.。P3口接6个开关分别作为比分+1、+2、+3、-1 交换 红蓝两队切换的控制按键。 P0口接七段显示数码管,根据相应的管脚焊接。焊接的过程中需考虑其晶振、复位电路等相关问题。

实训中,通过仿真和实际焊接验证结果,在仿真和焊接的过程中解决一些问题。通过实训,对单片机进一步的了解。

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

七、参考文献:

1、Proteus仿真软件简介

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。

在Protues中进行电路仿真时,先绘制好原理图,再调入已编译好的目标代码文件:*.HEX,随后便可在PROTEUS的原理图中模拟的实物运行状态和过程,进行观察从而改良自己的设计方案。操作简单,非常适合初学者进行单片机的仿真,进而了解其原理,增强实践。

2. 《51系列单片机》实验指导书 3. 单片机原理及接口技术

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

实训。。。两位计数,从00~~99计数的红蓝两队篮球计分器

本文来源:https://www.bwwdw.com/article/m8d4.html

Top