篮 球比赛计时控制器设计.docx
《篮 球比赛计时控制器设计.docx》由会员分享,可在线阅读,更多相关《篮 球比赛计时控制器设计.docx(26页珍藏版)》请在冰豆网上搜索。
![篮 球比赛计时控制器设计.docx](https://file1.bdocx.com/fileroot1/2023-2/4/c46b6f08-4ece-456d-bc3f-4ca8ae1600f5/c46b6f08-4ece-456d-bc3f-4ca8ae1600f51.gif)
篮球比赛计时控制器设计
郑州轻工业学院
单片机课程设计
题目篮球比赛计时控制器设计
学生姓名xxxx
专业班级电子信息工程xx班
学号541001030xxx
院(系)电气信息工程学院
指导教师杜海明耿鑫
完成时间2013年12月25日
郑州轻工业学院
课程设计任务书
题目篮球比赛计时控制器设计
专业、班级电子信息工程xxx学号541001030xxx
姓名xxx
主要内容、基本要求、主要参考资料等:
一、主要内容:
熟悉单片机应用系统的设计方法和规范,达到综合的目的。
学习文件检索和查找数据手册的能力。
学习protel软件的使用。
学会整理和总结设计文档报告。
二、基本要求:
以MCS-51系列单片机为核心,设计篮球比赛计时控制器。
篮球比赛上下半场四节制,每节12分钟,要求能随时暂停,启动后继续计时,一节比赛结束后应可清零。
按篮球比赛规则,进攻方有24秒为例计时。
“分”、“秒”显示用LED数码管。
用开关控制计时器的启动/暂停。
24秒计时时间到、每节结束、全场结束能自动音响提示。
三、主要参考资料:
张毅坤等单片微型计算机原理及应用西安西安电子科技大学出版社
李建忠编著单片机原理及应用西安西安电子科技大学出版社
完成期限:
指导教师签名:
课程负责人签名:
2013年12月16日
摘要
本文介绍了一个基于单片机的篮球比赛计时器硬件设计,包括AT89C51、7个八段显示LED、上电复位电路、时钟发生电路等基本模块的设计。
其功能主要有:
一场篮球比赛共分四节,每节12分;每次进攻为24秒,计时器的显示均为倒计时方式,24秒计时用两位数码管显示;所有得计时都要具有暂停、继续、清零和时间调整功能;当每节比赛时间结束、24秒倒计时减为零有声光提示,具有得分计数功能。
关键词:
单片机,计时器,倒计时,LED
Abstract
Taketheoffensiveto24wayfor,timerhavetoshowingallforpouringaccountinghourseachtime;Thetimeruse(twocents,twoseconds)foureverystanzainluck,24secondsaccountusetwofiguresestubemanifestation;Allaccountallhavethepause,continue,thepurezeroadjuststhefunctionwithtime;Wheneachstanzagametimeends,24secondspourtoaccountreducetohavethesoundandlighttohintforthezero.Articlepointtodesigntheprojectproceededthediscussion.
Keywords:
MicroControllerUnit,Calculagraph,Countdown,LED
目录
摘要I
1引言1
1.1设计目的1
1.2基本要求1
2硬件电路设计2
2.1AT89C51简介2
2.2显示译码器CD45116
2.3显示器介绍7
2.4复位电路9
2.5时钟电路设计10
2.6报警器11
2.6.1报警器的分类11
2.6.2报警器工作原理11
3系统软件的设计12
3.1篮球比赛计时控制器程序框图12
3.2独立键盘服务程序的设计12
3.3显示子程序的设计12
4总电路原理图13
4.1原理图13
4.2PCB图14
结束语15
参考文献16
附录17
1元器件清单17
2程序17
1引言
1.1设计目的
熟悉单片机应用系统设计方法和规范,达到综合应用单片机的目的。
学习文件检索和查找数据手册的能力。
学习protel软件的使用。
学会整理和总结设计文档报告。
1.2基本要求
以MCS-51系列单片机为核心,设计篮球比赛计时控制器。
篮球比赛上下半场四节制,每节12分钟,要求能随时暂停,启动后继续计时,一节比赛结束后应可清零。
按篮球比赛规则,进攻方有24秒为例计时。
“分”、“秒”显示用LED数码管。
用开关控制计时器的启动/暂停。
24秒计时时间到、每节结束、全场结束能自动音响提示。
2硬件电路设计
2.1AT89C51简介
MCS-51是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了很多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。
INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的。
AT8AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。
AT89C51具有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
它是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
如图所示,图2-1为AT89C51单片机基本构造,其基本性能介绍如下:
AT89C51本身内含40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C51的主要特性:
·与MCS-51兼容
·4K字节可编程FLASH存储器
·寿命:
1000写/擦循环
·数据保留时间:
10年
·全静态工作:
0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
AT89C51管脚说明:
VCC(40):
供电电压,接±5V的电压。
GND(20):
接地。
P0口(39~32):
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口(1~8):
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口(21~27):
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口(10~17):
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3口管脚备选功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST(9):
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG(30):
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN(29):
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP(31):
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1(19):
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2(18):
来自反向振荡器的输出。
2.2显示译码器CD4511
设计中还用到一个显示译码器CD4511,它是一个用于驱动共阴极数码管(LED)显示器的BCD码—七段译码器。
它具有BCD码转换、消隐、和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的上拉电流,可以直接驱动LED显示器。
CD4511的引脚功能:
图2-2CD4511引脚
BI:
4脚是消隐输入控制端,当BI=0时,不管其它输入端状态是怎么样的,七段数码管都会处于消隐也就是不显示的状态。
LE:
锁定控制端,当LE=0时,允许译码输出。
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
LT:
3脚是测试信号的输入端,当BI=1,LT=0时,译码输出全为1,不管输入DCBA状态如何,七段均发亮全部显示。
它主要用来检测数7段码管是否有物理损坏。
A1、A2、A3、A4、为8421BCD码输入端。
a、b、c、d、e、f、g:
为译码输出端,输出为高电平1有效。
2.3显示器介绍
显示器是最常用的输出设备,其种类繁多,但在单片机系统设计中最常用的是发光二极管显示器(LED)和液晶显示器(LCD)两种。
由于这两种显示器结构简单,价格便宜,接口容易实现,因而得到广泛的应用。
液晶显示器分很多种类,按显示方式可分为段式,行点阵式和全点阵式。
段式与数码管类似,行点阵式一般是英文字符,全点阵式可显示任何信息,如汉字、图形、图表等。
图2-37段LED数码管
如图2-3,LED显示器又称为数码管,LED显示器由8个发光二极管组成。
中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。
LED显示器有两种不同的形式:
一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。
如图2-4所示。
图2-4共阴与共阳极LED显示器
2.4复位电路
复位是单片机的初始化操作,只需给8051的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可得8051复位,复位时,PC初始化为0000H,使8051从OUT单元开始执行程序。
除了进入系统的正常初始化之外由于程序运行出错或操作错误而使系统处于死锁状态,为摆脱死锁状态,也需按复位键使得RST脚为高电平,使8051重新启动。
在系统中,有时会出现显示不正常,也为了调试方便,我们需要设计一个复位电路,在系统中,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。
复位电路可由简单的RC电路构成,也可使用其它的相对复杂,但功能更完善的电路。
本系统采用的电路如图2-5所示。
工作原理是:
上电瞬间,RC电路充电,RESET引脚端出现正脉冲,只要RESET保持10ms以上高电平,就能使单片机有效的复位。
当时钟频率选用6MHz时,C取22μF,R取1KΩ。
图2-5复位部分原理
上电自动复位电路由上电瞬间C与R构成充电电路,RESET端的电位与Vcc相同,随着充电电流的减少,RESET的电位逐渐下降。
图中RC时间常数越大,上电时RESET端保持高电平的时间越长,图中这组参数足以保证复位操作。
若复位电路失效,加电后CPU从一个随机的状态开始工作,系统就不能正常运行。
2.5时钟电路设计
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统稳定性。
常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。
此设计选用内部时钟方式见下图:
图2-6时钟电路部分原理图
单片机内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2这两个引脚跨接在石英晶体振荡器和微调电路,就构成一个稳定的自激振荡器。
电路中的电容C1和C2典型值通常选择30pF左右,该电容大小会影响振荡器频率的高低,振荡器的稳定性和起振的快速性。
晶振的振荡器频率的范围通常在1.2~12MHz之间,晶体的频率越高,则系统得时钟频率也就变高,单片机的运行速度也就越快。
但反过来运行速度快,对存储器的速度要求就高。
对印刷电路板的工艺要求也高,即要求浅间的寄生电容要小;晶体和电容应尽可能安装得与单片机芯片靠近,以减少寄生生活,更好的保证振荡器稳定,可靠地工作。
判断单片机芯片及时钟系统是否正常工作有一个简单的办法,就是用万用表测量单片机晶振引脚(18、19脚)的对地电压,以正常工作的单片机用数字万用表测量为例:
18脚对地约2.24V,19脚对地约2.09V。
对于怀疑是复位电路故障而不能正常工作的单片机也可以采用模拟复位的方法来判断,单片机正常工作时第9脚对地电压为零,可以用导线短时间和+5V连接一下,模拟一下上电复位,如果单片机能正常工作了,说明这个复位电路没有问题。
2.6报警器
2.6.1报警器的分类
蜂鸣器有两类3大品种。
一类是压电式,一类是电磁式,电磁式又有两大品种,铁振膜式和动圈式,二者原理一样只是结构不同。
所有蜂鸣器都有两种类型:
纯蜂鸣器和带驱动的蜂鸣器,蜂鸣器都是用音频信号驱动的,都是交流驱动。
2.6.2报警器工作原理
报警器的种类很多,比如:
扬声器,蜂鸣器等,本次设计采用的是电磁式蜂鸣器作为报警器。
电磁式蜂鸣器由振荡器、电磁线圈、磁铁、震动膜片以及外壳等组成。
接通电源后,振荡器产生的音频信号通过电磁线圈,使得电磁线圈产生了一个磁场。
振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声[2]。
3系统软件的设计
3.1篮球比赛计时控制器程序框图
图3-1程序框图
3.2独立键盘服务程序的设计
键盘有功能按键和直接查询按键,功能按键需要子程序不断的调用,并在主程序中循环检测,直接按键通过查询方式,判断相应的数据进行相应的调整。
3.3显示子程序的设计
显示程序时通过查询数组的方式,进行动态扫描,给P0口送段码,P2口送位码。
4总电路原理图
4.1原理图
图4-1原理图
4.2PCB图
图4-2PCB图
结束语
本文介绍了以89S51单片机为核心的篮球比赛计时器,并详细介绍了各个部分的功能的结构,原理。
我在整个设计过程中懂得了许多东西,当遇到一不了的问题,跟同伴一起商量、合作,或许能收到事半功倍的效果。
不管学什么,一定要打好基础,并将其学好、学精,但空有知识也不一定就能说明什么,还得能为己所用;还有更重要的是培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。
虽然这个设计做的不是很完美,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益;最后,也是我感触比较深的一点,这次课程设计时为数不多的独立完成的一次,虽然过程中遇到很多困难,让自己犯愁过,彷徨过,急躁过,可当自己很快调整好心态,从跌倒的地方爬起来继续,最后取得成功,不止是成功后的喜悦,也是一次锻炼!
在论文制作的整个过程中,本人最深的体会是做一定要认真,仔细。
这一点与只写一篇文章的论文有很大的不同。
在画原理图,调试的过程中,都必须以认真,仔细的态度去对待每一个细节,任何不慎都将导致最终的失败。
当然,这些都是我未来学习和工作的重要步骤,相信有了这一步,我将会走得更远。
参考文献
1杨素行.模拟电子技术基础.清华大学电子教研组.1998:
492-518
2李士平.北京电子报.北京电子报社98合订本下.1998
3赵保经.中国集成电路大全.国防工业出版社.1989:
79-82
4童诗白.现代电子学及应用.东南大学出版社.1997:
23-34
5童诗白.模拟电子技术基础.高等教育出版社.1988:
55-78
6.晓喻.电子制作.中国家用电器维修协会.1999:
15-18
7翟德富.家用电路手册.机械工业出版社.2001:
56-60
8陈克安.集成电路速查大全.西安电子科技出版社.1996:
153-155
9于洪沿.常用电子元件简明手册.中国矿业大学出版社.1985:
345-347
10肖景和.数字集成电路应用精粹.人民邮电出版社.1995:
67-70
11刘京南、王成华.电子电路基础.北京电子工业出版社.1998:
271-293
12余孟尝.数字电子技术基础.清华大学电子教研组.1999:
371-390
13邹寿彬.电子技术基础.高等教育出版社.1997:
45-66
14闫石主.数字电子技术基础.高等教育出版社.1989:
56-146
附录
1元器件清单
2程序
ORG0000H
AJMPLK1//主程序地址
ORG000BH//定时中断入口地址
AJMPCTCO
ORG0013H//外部中断入口地址
AJMPCXT
MOV40H,#00H//记时分钟清0
MOV41H,#00H
CLRP0.0
Mp:
CLRP2.0//计时牌子清零
CLRP2.1//分分秒秒清0
CLRP2.2
CLRP2.3
MOVP1,#00H
NOP
NOP
SETBP2.0
SETBP2.1
SETBP2.2
SETBP2.3
MOV42H,#05H//送秒钟初值59秒
MOV43H,#09H
MOVSCON,#00H//计分牌子清零程序
CLRP3.7
MOVR1,#33H
MOVR2,#06
LP:
MOVA,@R1
MOVDPTR,#TAB//取显示数
MOVCA,@A+DPTR
MOVSBUF,A//通过串行口发显示数据
JNBTI,$//是否发送完毕
CLRTI//清除标志位
INCR1
DJNZR2,LP//6次是否发送完毕
SETBP3.7//显示数据
LK3:
JBP2.4,LK6
ACALLD10MS
JBP2.4,LK3
ACALLD2S
LK4:
JBP2.4,LK3//调整分钟(十位)
CLRP2.0//显示分钟十位数据
MOVP1,40H
SETBP2.0
ACALLD2S//调用延时程序
INC40H//将十位加1
MOVA,40H
CJNEA,#0AH,LK4//十到了没有
MOV40H,#00H
AJMPLK4
LK6:
JBP2.5,LK5
ACALLD10MS
JBP2.5,LK6
ACALLD2S
LK7:
JBP2.5,LK6//调分钟(个位)
CLRP2.1//显示分钟个位数据
MOVP1,41H
SETBP2.1
ACALLD2S//调用延时程序
INC41H//将个位加1
MOVA,41H
CJNEA,#0AH,LK7//十到了没有
MOV41H,#00H
AJMPLK7
LK5:
JBP2.6,LK3//等待启动计时
ACALLD10MS
JBP2.6,LK5
CLRP2.2//显示秒钟十位
MOVP1,42H
NOP
NOP
SETBP2.2
CLRP2.3//显示秒钟个位
MOVP1,43H
NOP
NOP
SETBP2.3
SETBP0.0//点亮计时指示灯
MOVTMOD,#01H//定时中断初始化
MOVTL0,#0B0H//送定时初值
MOVTH0,#3CH
SETBET0//开放定时中断
SETBEX1//开放外部中断
CLRIT0//外部中断低电平有效
SETBTR0//启动定时
MOVR0,#14H
SJMP$
CTCO:
JNBP2.6,LK8//定时中断程序
DJNZR0,NEXT//一秒钟到了吗?
MOVR0,#14H
DEC43H
CLRP2.3//显示时间