单片机应用与接口技术课程设计指导书1单片机课程设计报告篮球计时计分器姓名:×××学号:×××××专业班级:××××指导老师:×××所在学院:××××××××××2007年6月30日单片机应用与接口技术课程设计指导书21引言篮球比赛计时计分器是为了解决篮球比赛时计分与计时准确的问题。此装置利用单片机AT89C51完成了计时和计分的功能。该设计将介绍系统硬件与软件的设计过程,采用该装置可根据实际情况进行比分修改和时间的准确显示,具有低功耗,可靠性,安全性以及低成本等特点。1.1背景知识介绍单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。例如,80C51系列单片机已有十多年的生命期,如今仍保持着上升的趋势,就充分证明了这一点。单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制、自动化系统等、智能型家用电器等。而美国ATMEL公司开发生产了新型的8位单片机——AT89系列单片机。他不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点,此次设计中所用到的AT89C51就是其中典型的代表。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影。单片机是靠程序实现功能的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件的话,电路一定是一块大PCB板。但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别。只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。单片机应用与接口技术课程设计指导书31.2设计目的随着单片机在各个领域的广泛应用,许多用单片机做控制的球赛计时计分系统也应运而产生,如用单片机控制LCD液晶显示器计时计分器,用单片机控制LED七段显示器计时计分器等。本设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。它具有价格低廉,性能稳定,操作方便并且易于携带等特点。广泛适合各类学校或者小型团体作为赛程计时计分。通过本次基于C51系列篮球计时计分器的设计,可以了解、熟悉有关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下一些方面:(1)篮球赛计时计分系统包含了8051系列单片机的最小应用系统的构成,同时在此基础上扩展了一些使用性强的外围接口。(2)可以了解到LED显示器的结构、工作原理以及这种显示器的接口实例与具体连接与编程方法。(3)怎样利用串行口来扩展显示接口等。1.3功能要求(1)能记录整个赛程的比赛时间,并能在比赛开始前设定比赛时间,在比赛过程中能暂停比赛时间。(2)能随时刷新甲、乙两队在真个赛程中的比分,即对甲乙两队的分数进行加分和减分。(3)中场交换比赛场地时,能交换甲、乙两队比分的位置。(4)比赛结束时能发出报警提示。(5)在每次交换球权后24秒能手动赋初值,进攻超过24秒计时暂停知道按下继续开始计时。1.4硬件系统方案设计基于单片机系统的篮球记时记分器的系统结构如图1.1单片机应用与接口技术课程设计指导书4图1.1篮球记时记分器的系统结构系统硬件由以下三个部分组成:(1)处理器:单片机AT89C51(2)显示部分(3)按键开关处理器:本系统采用单片机AT89C51作为本设计的核心元件,兼容MCS—51指令系统,32个双向I/O口,两个16位可编程定时/计数器,1个串行中断,两个外部中断源,低功耗空闲和掉电模式,4k可反复擦写(1000次)FlashROM,全静态操作0-24MHz,128x8bit内部RAM,共6个中断源,足以满足本次设计的要求。显示部分:在本次设计中,共接入12个七段共阴LED显示器,其中6个用于计录甲、乙两队的分数,每队3个LED显示器分数范围可达到0—999分,足够满足赛程需要。另外的6个LED显示器则用于计录赛程的时间。分、秒、进攻时间,各用2个用LED显示。其中显示分钟的两位数字和显示进攻时间的四个LED可以通过按键进行调整设定。当把时间设置好后,按下开始计时按键比赛开始时启动计时。分钟和进攻时间可以设置的范围为0—99。根据设计,计时范围可达0—99分钟,进攻时间最大为99秒也完全满足赛程的需要。按键部分:本次设计共用了10各按键。其中4各来调整甲乙两队的分数,每个队用两个按键,分别对分数进行加1分和减1分;2各按键用来设定比赛时间的分钟,其中这两个按键分别控制分钟的十位和个位;同样两个按键来设定进攻时间的十位和个位;剩下的两个按键一个用来控制比赛时间的开始与暂停,另外一个用来控制进攻时间,当按下比赛开始暂停按键时,比赛的时间有原来的状态变为另一种状态,进攻调整按键则是在交换球权的时候,手动来赋予进攻时间初值。当一场比赛结束的时候,暂停/开始按键还能完成交换两队分数的功能。AT89C51计时显示计分显示CD4511CD4094复位晶振赛程时间设置键盘赛程分数调整时间单片机应用与接口技术课程设计指导书51.5软件设计要求一、在上电点时,先对系统初始化。等待时间设定。二、当时间设定完成之后,按下开始键,系统显示分值和比赛时间。三、进攻时间由设定值减到0时。整个体统暂停计时,直到开始键重新按下。进攻时间重新赋值,开始继续计时。四、当按下暂停按键时,进攻时间赋初值,停止计时,等待继续计时键按下。五、倒计时结束时,发出10秒警报。六、在整个计时过程中,都可以对甲乙两队分数进行修改。单片机应用与接口技术课程设计指导书62系统硬件设计2.1单片机AT89C51介绍MCS-51是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了很多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。AT89C51具有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。AT89C51也是一个低功耗高性能单片机,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。如图所示,图2.1为AT89C51单片机基本构造,其基本性能介绍如下:图2.1AT89C51引脚图单片机应用与接口技术课程设计指导书72.1.1管脚说明VCC:供电电压GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:表2.1AT89C51特殊功能表端口引脚第二功能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口同时为闪烁编程和编程校验接收一些控制信号。单片机应用与接口技术课程设计指导书8RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信。8051单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的I/O电路;方式1多用于双机之间或与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统。串行端口有两个控制寄存器(SCON和PCON),用来设置工作方式、发送或接收的