单片机课程设计报告篮球计时计分器.docx

上传人:b****6 文档编号:16038041 上传时间:2023-07-10 格式:DOCX 页数:52 大小:403.03KB
下载 相关 举报
单片机课程设计报告篮球计时计分器.docx_第1页
第1页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第2页
第2页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第3页
第3页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第4页
第4页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第5页
第5页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第6页
第6页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第7页
第7页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第8页
第8页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第9页
第9页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第10页
第10页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第11页
第11页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第12页
第12页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第13页
第13页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第14页
第14页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第15页
第15页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第16页
第16页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第17页
第17页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第18页
第18页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第19页
第19页 / 共52页
单片机课程设计报告篮球计时计分器.docx_第20页
第20页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机课程设计报告篮球计时计分器.docx

《单片机课程设计报告篮球计时计分器.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告篮球计时计分器.docx(52页珍藏版)》请在冰点文库上搜索。

单片机课程设计报告篮球计时计分器.docx

单片机课程设计报告篮球计时计分器

 

2010~2011学年第2学期

 

《单片机应用系统设计与制作》

课程设计报告

 

教学院(部)电气与电子信息工程学院

教研室电气自动化  

指导教师

课程设计时间2011.5.30~2011.6.10

课程设计班级电气自动化技术2009(*)班

学号2009********

姓名张**

 

单片机应用系统设计与制作课程设计成绩评定表

课程设计题目:

篮球计时记分器

课程设计答辩或质疑记录:

1、

 

2、

 

成绩评定依据:

成绩评定依据:

课程设计考勤情况(20%):

课程设计答辩情况(30%):

完成设计任务及报告规范性(50%):

最终评定成绩(以优、良、中、及格、不及格评定)

 

指导教师签字:

2011年6月20日

摘要

篮球计时计分器以单片机为核心,由计时器、计分器、综合控制器等组成。

系统采用模块化设计,主体分为计时显示模块、计分显示模块、定时报警、按键控制键盘模块。

每个模块的程序结构简单、任务明确,易于编写、调试和修改。

编程后利用Keil软件来进行编译,再将生成的HEX文件装入芯片中,采用Proteus软件仿真,检验功能是否能够正常实现,本设计中系统硬件电路主要由以下几个部分组成:

单片机AT89C52、计时电路、计分电路、报警电路和按键开关。

该系统具有赛程定时设置、赛程时间暂停、及时刷新甲乙双方的成绩以及赛后成绩暂存等功能。

关键词:

单片机,计时,计分,显示器,接口

ABSTRACT

TimebasketballscoringdeviceasthecoreofSCMincludesthetimer,scoringdevices,integratedcontrollerandothercomponents.Thissystemisusedofthemodulardesign,inwhichthemaindisplaymoduleisdividedintotimedisplaymodule,scoringdisplaymodule,timingalarmmodule,andkeycontrolkeyboardmodule.Programstructureofeachmoduleissimpleandclear.Soitiseasytowrite,debugandmodify.Afterprogramming,firstlywecanuseKeilsoftwaretocompileandthengeneratetheHEXfileintothechip.SecondlyweusetheProteussoftwaresimulationtotestwhetherthenormalfunctiontoachieve.Thedesignofhardwarecircuitmainlyconsistsofthefivecomponents,includingAT89C52,timingcircuit,scoringcircuit,alarmcircuitandkeyswitchcircuit.Thesystemhasmanyfeatures,suchassettingthescheduletime,schedulingtimetopause,refreshingresultofbothpartiestimely,storingtemporarilyresultsafterthematchandsoon.

KEYWORDS:

Microcontroller,Timing,Scoring,Display,Interface

 

一、设计目的及要求··································3

二、方案论证·······································3

三、元件及其功能简介································5

四、电路方案设计····································12

五、编程及仿真······································16

六、心得与总结·····································20

附表一、程序清单·····································21

参考文献·············································34

 

 

课程设计报告

一、设计目的及要求

1、设计目的

通过本次基于C51系列篮球计时计分器的设计,可以了解、熟悉有关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下一些方面:

(1)篮球赛计时计分系统包含了8051系列单片机的最小应用系统的构成,同时在此基础上扩展了一些使用性强的外围接口。

(2)可以了解到LED显示器的结构、工作原理以及这种显示器的接口实例与具体连接与编程方法。

(3)怎样利用串行口来扩展显示接口等。

2、设计要求

(1)能记录整个赛程的比赛时间,并能修改比赛时间、暂停比赛时间;

(2)能随时刷新甲、乙两队在整个比赛中的比分;

(3)比赛时间和24秒结束,能发出报警提示。

二、方案论证

1、单片机的选型

方案一:

51单片机

虽然51单片机是8位的,采用总线结构,但具有编程控制简单、接口简单、工作可靠、价格经济、能耗少、容易实现系统小型化。

方案二:

61单片机

61单片机是在51的基础上扩展起来的,它是16位非总线结构的,支持16位硬件乘法,还有专门的乘法指令,现在应用非常广泛。

由于本系统结构简单,用51单片机就足够实现其功能,因此本系统采用51单片机来实现。

2、计时、计分方案

方案一:

采用计时芯片

针对计算机系统对即使芯片的要求,各大芯片厂家退出了键时钟、倒时钟、正时钟各种芯片,可采用自动控制计时芯片,通过触发控制电路使计时器自动地计时,达到预定时间后,芯片重新开始计时(实现倒计时功能);也可以触发控制电路使计时器不计时,达到预定时间后芯片重新开始计时(实现暂停功能),不需要程序干预。

计算机可以通过中断或查询方式读取计数器数据,实现计时的暂停的功能,并进行显示,计时功能的时间就无需占用cpu的时间,程序简单,控制精度高,因此在工业控制系统中多采用这一类专用芯片实现计时功能。

方案二:

软件控制

利用MCS—51内部的定时/计数器进行中断定时,配合软件延时实现计时。

该方案节省硬件成本。

方案二可以综合运用定时器/计数器、中断以及程序设计的知识,更适合做课程设计使用,因此本系统采用软件方案来实现计时。

3、数码管显示方式

点亮LED显示器有两种方式:

一是静态显示;二是动态显示。

方案一:

静态显示

静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口,用于笔划段字形代码。

这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。

这种电路的优点在于:

在同一时间可以显示不同的字符;但缺点就是占用端口资源较多。

从图可以看出,每位LED显示器需要单独占用8根端口线。

方案二:

动态显示

动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。

 

透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位元数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感。

由于动态显示和静态显示的显示效果是一样的,动态显示能够节省大量的I/O埠,而且功耗更低。

所以在本系统中选用动态显示

静态显示图动态显示图

4、系统结构方框图

本系统的核心控制元件是单片机AT89C52,在它的基础上加上一些输入控制和输出显示模块,来实现调整和显示篮球比赛时的时间和分数的设置。

三、元件及其功能简介

1、单片机AT89C52

①、单片机AT89C52简介

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

AT89C52为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。

功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。

②、基本功能特性

1、兼容MCS51指令系统

2、8k可反复擦写(大于1000次)FlashROM;

3、32个双向I/O口;

4、256x8bit内部RAM;

5、3个16位可编程定时/计数器中断;

6、时钟频率0-24MHz;

7、2个串行中断,可编程UART串行通道;

8、2个外部中断源,共8个中断源;

9、2个读写中断口线,3级加密位;

10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;

11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。

③、主要管脚及接口

XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。

RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。

VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。

P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:

P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash编程和程序校验期间,P1接收低8位地址。

P1.0和P1.1的第二功能

引脚号

功能特性

P1.0

T2,时钟输出

P1.1

T2EX(定时/计数器2)

P2口:

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。

Flash编程或校验时,P2亦接收高位地址和一些控制信号。

P3口:

P3口是一组带有内部上拉电阻的8位双向I/O口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。

P3口第二功能

端口引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

/INT0(外部中断0)

P3.3

/INT1(外部中断1)

P3.4

T0(记时器0外部输入)

P3.5

T1(记时器1外部输入)

P3.6

/WR(外部数据存储器写选通)

P3.7

/RD(外部数据存储器读选通)

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。

在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

XTAL1:

振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端。

④、中断

AT89C52共有6个中断向量:

两个外中断(INT0和INT1),3个定时器中断(定时器0、1、2)和串行口中断。

这些中断源可通过分别设置专用寄存器IE的置位或清0来控制每一个中断的允许或禁止。

IE也有一个总禁止位EA,它能控制所有中断的允许或禁止。

定时器2的中断是由T2CON中的TF2和EXF2逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2或EXF2产生中断,而由软件清除中断标志位。

定时器0和定时器1的标志位TF0和TF1在定时器溢出那个机器周期的S5P2状态置位,而会在下一个机器周期才查询到该中断标志。

然而,定时器2的标志位TF2在定时器溢出的那个机器周期的S2P2状态置位,并在同一个机器周期内查询到该标志。

⑤、Flash存储器的编程

AT89C52单片机内部有8k字节的FlashPEROM,这个Flash存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。

编程接口可接收高电压(+12V)或低电压(Vcc)的允许编程信号。

低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM编程器兼容。

AT89C52单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息。

AT89C52的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的PEROM程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。

2、报警器

①、报警器的分类

蜂鸣器有两类3大品种。

一类是压电式,一类是电磁式,电磁式又有两大品种,铁振膜式和动圈式,二者原理一样只是结构不同。

所有蜂鸣器都有两种类型:

纯蜂鸣器和带驱动的蜂鸣器,蜂鸣器都是用音频信号驱动的,都是交流驱动。

②、报警器工作原理

电磁式蜂鸣器由振荡器、电磁线圈、磁铁、震动膜片以及外壳等组成。

接通电源后,振荡器产生的音频信号通过电磁线圈,使得电磁线圈产生了一个磁场。

振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。

3、芯片74HC154

①、简介:

4线—16线译码器,可以实现地址的扩展。

②、引脚说明

1-1113-17:

输出端。

12:

Gnd电源地

18-19:

使能输入端、低电平有效

20-23:

地址输入端

24:

VCC电源正

4、RESPACK—8

接在51单片机的P0口,因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻。

排阻就是好多电阻连在一起,他们有一个公共端1端为公共端接VCC或地。

5、LED数码管

LED显示器又称为数码管,LED显示器由8个发光二极管组成。

中7个长条形的发光管排列成“日”字形,另一个点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。

LED显示器有两种不同的形式:

一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。

如图所示。

本设计采用的是共阴极数码管显示。

7段LED数码管

共阴极与共阳极LED显示器

共阳极与共阴极LED显示器显示数字、字母与显示代码之间的对应关系:

显示字符

共阴极段码

共阳极段码

显示字符

共阴极段码

共阳极段码

0

3FH

C0

8

7FH

80H

1

06H

F9

9

6FH

90H

2

5BH

A4

A

77H

88H

3

4FH

B0

B

7CH

83H

4

66H

99H

C

39H

C6

5

6DH

92H

D

5EH

A1H

6

7DH

82H

E

79H

86H

7

07H

F8

F

71H

8EH

四、电路方案设计

1、功能控制电路

该控制电路可以实现篮球比赛的节数、时间、24秒复位、比赛暂停、两队的分数加减等功能的设置。

采用7个复位开关一端共地,另一端接入与门,再连接到单片机的13号脚(P3.3/INT1口),实现外部中断1请求。

①、赛程时间设置

在计时电路中,“修改移位开关”和“红队加、减分开关”共同用来设置比赛的节次、剩余时间等。

比如:

比赛时间为第一小节剩余10分钟,则通过按“修改移位开关”,使数码管1进入修改模式,再按“红队加、减分开关”键,设定本场比赛的小节数,使数码管1显示“1”即可;继续按动“修改移位开关”可以使其他的数码管进入修改模式,按以上方法修改即可。

当比赛结束时,如果由于一些特殊原因需要增加比赛时间,这时增加比赛时间同样由以上方法来设置。

②、赛程时间启动/暂停设置

当时间设置完成后,这时,如果裁判吹响开始的哨声时,则应立即按下按“暂停/启动”键,表示赛程开始,计时显示则开始倒计时,在此过程中24秒也开始倒计,在24秒倒计到06秒时,蜂鸣器发出警报,报警灯开始闪烁,如果24秒倒计为00前,没有被复位(有人24秒进攻违例),则比赛自动暂停。

如果无进攻违例,则需要记分人员手动复位24秒(按控制键盘中的“复位”开关即可)。

比赛暂停后,需要按“暂停/启动”键来激活时间倒计。

③、比分刷新控制

由于在比赛中,甲、乙两队的比分是不断在变化的,所以需要设置比分刷新控制装置;此部分功能由计分电路中的所示的按键开关“红队加分”、“红队减分”、“蓝队加分”、“蓝队减分”来完成的。

2、时钟产生方式

 

采用内部时钟方式(在单片机的XTAL1和XTAL2引脚外接晶振即可),途中,电容器C1和C2的作用是稳定频率和快速起振。

3、复位电路

 

 

该电路采用:

按键与上电复位

上电复位要求接通电源后,单片机自动实现复位操作。

上电瞬间RST引脚获得高电平,随着电容C3的充电,RST引脚的高电平将逐渐下降。

RST引脚的高电平只要能保持足够的时间(两个机械周期),单片机就可以进行复位操作。

按下复位开关时,短接电容C3,使RST引脚瞬间得到高电平也可实现复位功能。

4、显示电路

显示电路是由数码管组成的,主要用来显示篮球比赛过程中的节次、24秒、比赛剩余时间、两队分数。

在此电路中,单片机的P1口用于控制4位LED的段选码:

P2口的P2.0—P2.3用于控制4位LED位选码。

由于所有的段选码连在一起,所以同一瞬间只能显示同一种字符。

但如果要显示不同字符,则要由位选码来控制,系统通过74HC154来扩展P2.0—P2.3端子来实现AT89c52对数码管的选码。

(如果LED为共阴极则P2.0—P2.3输出为高电平,如果LED为共阳极则P2.0—P2.3输出为低电平。

显示电路的主电路图如下:

5、电路总图

综上所述,结合以上各个电路,加上适当的组件,即可得到篮球比赛计时计分器的总设计图:

 

五、编程与仿真

1、keil软件的应用

利用keil软件,编写程序,并进行调试,调试结果出现0个错误时,即可生成hex文件(部分程序流程图如下)。

计时程序部分流程图:

记分程序部分流程图:

 

程序流程图:

HEX文件的生成方式:

在所建工程上右键→下拉菜单中点击‘optionsfortarget‘target1’’→点击输出选项卡→勾中创建hex文件(如下图)→确定→运行。

即可再所建工程的文件夹下找到hex文件

2、proteus的应用

按照原理图搭建防真电路图,加载hex文件运行即可。

Hex文件加载方式:

双击仿真电路图中的AT89C52单片机→单击programfile项后面的文件夹图标→选中刚刚建立的hex文件→确定(如下图所示)→确定

3、进行电路仿真

以上准备工作全部完成后就可以进行电路仿真啦,单击开始进行仿真。

运行效果图如下:

六、心得与总结

在本次设计中,我通过基于典型单片机AT89C52的设计和应用,对于单片机工作原理,功能有了宏观的了解,并对单片机汇编程序的应用有了新的、进一步的认识。

在设计的过程中,我发现很多的问题,给我的感觉就是下手很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路。

另外单片机系统的知

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2