基于51单片机八路抢答器的设计_第1页
基于51单片机八路抢答器的设计_第2页
基于51单片机八路抢答器的设计_第3页
基于51单片机八路抢答器的设计_第4页
基于51单片机八路抢答器的设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、编号:褴幷签今科技未潜GUILIN UNIVERSITY OF ELECTRONIC TECMNOLOGX课程设计说明书(专业工程设计)题目:基于51单片机八路抢答器的设计院(系):信息与通信学院专业:微电子科学与工程学生姓名:伦海威学号:1300240120指导教师:李琦2016 年 12 月 17日随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就 显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上

2、 问题得以解决针对以上情况,本文设计出以STC89C52R单片机为核心的八路抢答器。 我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的 输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒, 也可分辨出是哪组优先按下的按键,它充分利用了单片机系统的优点,具有结构简单、 功能强大、可靠性好、实用性强的特点。本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用51单片机及外围接口实现的抢答系统,利用单片机的定时器 /计数器定时和记数的原理, 将软、硬件有机地结合起来

3、,使得系统能够正确地进行计时,同时使数码管能够正确 地显示时间。用开关做键盘输出,扬声器及LED指示灯发出提示。同时系统能够实现: 在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为犯规;满时后系统计时 自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。【关键词】STC89C52RC共阴数码管;按键;蜂鸣器ABSTRACTWith the developme nt and popularizati on of scie nee and tech no logy, a variety of competiti ons more and more, in which the rol

4、e of the Resp on der will be obvious. At present, a lot of answer basically using small-scale digital integrated circuit design, use it is not ideal. So design a more easy-to-use and high-definition of the Resp on der has become a very urge nt task. Now MCU has en tered various fields, with its powe

5、r consumption is small, intelligent and known, so if the use of si ngle-chip desig n to an swer, so that the above problems can be resolved .In view of the above, this design to STC89C52RC single chip as the core of the eight- . We use the direct display of digital display, automatically latch the d

6、isplay results, and automatically reset the desig n, it can an swer in accorda nee with the differe nt in put sig nals, through the microc on troller con trol and produce differe nt in put sig nal corresp onding to the output sig nal, and fin ally through LED digital tube shows the corresp onding nu

7、 mber of road, eve n if the two groups of the an swer time differe nee of a few microsec on ds, which can be disti nguished which group of priority press the butt on, which makes full use of the adva ntages of SCM system with a simple, powerful, reliable Good, practical and stro ng features.The desi

8、g n is based on eight-way an swer for the basic idea. Taking into acco unt the need to set the time limit to answer the function, the use of 51 MCU and peripheral in terface to achieve the an swer in the system, the use of sin gle-chip timer / counter timing and counting principle, the software and

9、hardware organically combine, making the system correctly Time, while allowing the digital tube to display the correct time. With the switch to do the keyboard output, speaker and LED indicator. At the same time the system can be achieved: in the answer, only after the beg inning of the an swer is v

10、alid, if in the beg inning to an swer before an sweri ng for foul,full time after the system automatically reset and master reset.【Key words 】STC89C52RC, common cathode digital tube, button, buzzer弓丨 言 1第一章方案概述21.1 设计目标21.1.1 基本功能21.1.2 主要技术参数 2第二章 硬件设计与原理32.1 总设计框图32.2 硬件设计分析32.2.1单片机主控模块42.2.2 STC

11、89C52 芯片简介42.2.3封装和引脚说明42.2.4数码管显示电路72.2.5按键输入电路92.2.5报警与指示电路11第三章软件仿真113.1 软件调试部分113.1.1 PROTEUS简介 113.1.2软件调试123.2 PROTEUS 仿真图13第四章硬件调试 154.1 DXP软件简介 154.1.1 原理图 154.1.2 PCB 图 154.2 实物图15结论16谢辞17参考文献18附录一总源程序19附录二原理图32附录三PCB图32附录四元件清单33附录五实物图33最近几年来,随着科技的飞速发展,单片机领域正在不断的走向社会各个角落, 还带动传统控制检测日新月异更新。在实

12、时运作和自动控制的单片机应用到系统中, 单片机如今是作为一个核心部件来使用, 仅掌握单片机方面知识是不够的, 还应根据 其具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。“单片机原理及应用课程设计”是电子类专业的学科基础科,它是继“汇编语言程序设计”,“接 口技术”等课程之后开出的实践环节课程。第一章方案概述1.1 设计目标1.1.1基本功能1、同时供8名选手或8个代表队参加比赛,分别用8个按钮K1 K8表示。2、设置一个系统抢答控制开关 K0,该开关由主持人控制。3、抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,扬声器发 出声响提示,并在七段数码管上显示选手号码。选手

13、抢答实行优先锁存,优先抢答选 手的编号一直保持到主持人将系统清除为止。4、 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当 主持人启动"开始"键后,定时器进行减计时。5、参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上 显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 在这段时间如果定 时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示F FF<1.1.2主要技术参数1、在抢答中,只有在主持人按“开始”按键后抢答才有效,如果在按“开始”抢答按键前抢答为犯规,系统发出警报,数码管显示违规号码及FF

14、(如 3 FF)。2、抢答限定时间和回答问题的时间是在 1060s设定。3、数码管可以显示是哪位选手有效抢答和无效抢答,正确按键后有音提示并在数码 管上正确显示。4、主持人按下“开始”按键后抢答时间和回答问题时间倒记时在数码管上显示,时 间完后系统自动复位为F FF。5、在抢答时间和倒计时时间准备到达时,系统会发出警报提示。6、按键锁定,在有效状态下,按键无效非法。第二章硬件设计与原理以STC89C52R单片机为核心,起着控制作用。系统包括数码管显示电路、复位 电路、时钟电路、按键输入电路和蜂鸣器报警电路。设计思路分为六个模块:复位电 路、晶振电路模块、STC89C52RC数码管显示电路、按键

15、输入电路和蜂鸣器报警电路 这六个模块。2.1 总设计框图设计总框图如下图2-1所示。STC89C52RC图2-1设计总框图2.2 硬件设计分析2.2.1单片机主控模块51单片机是对目前所有兼容intel 8031 指令系统的单片机的统称。该系列单片机的始祖是in tel的8031单片机,后来随着技术的发展,成为目前广泛应用的8为单片机之一。单片机是在一块芯片内集成了CPU RAM ROM定时器/计数器和多功能I/O 口等计算机所需要的基本功能部件的大规模集成电路,又称为 MCU 51系列单片机内包含以下几个部件:一个8位CPU 一个片内振荡器及时钟电路;4KB的ROM程序存储器;一个128B的

16、RAM数据存储器;寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路;32条可编程的I/O 口线;两个16位定时/计数器;一个可编程全双工串行口;5个中断源、两个优先级嵌套中断结构。2.2.2 STC89C52 芯片简介单片机是微型机的一个主要分支,在结构上的最大特点是把CPU存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能 而言,一块单片机芯片就是一台计算机。它是一种高性能、低功耗的8位CMO微处理芯片,市场应用最多。8KB Flash ROM,可以擦除1000次以上,数据保存10年。 STC89C52RC的主要特性如下表2-1所示。表2-1

17、 STC89C52RC勺主要功能特性兼容MCS51指令系统32个可编程I/O线4k字节可编程闪烁存储器可编程UARL通道三个16位可编程定时/计数器中断时钟频率0-24MHZ2个外部中断源,共8个中断源256>8bit 内部 RAM2个读写中断口线可直接驱动LED软件设置睡眠和唤醒功能低功耗空闲和掉电模式2.2.3封装和引脚说明STC89C52单片机为双列直插式(DIP)芯片,是最常用的有总线扩展引脚的 DIP40 封装。如图2-2所示。(1) .电源及时钟引脚Vcc :接入电源。Vss :接地。XTAL1 :振荡器反相放大器的及内部时钟发生器的输入端。XTAL2 :振荡器反相放大器的输

18、出端。(2) .控制线引脚RST : RST是复位信号输入端。ALE/PROG :地址锁存允许信号输入端。在存取外存储器时,用于锁存低8位地址 信号。当单片机正常工作后,ALE端就周期性地以时钟振荡频率的1/6固定频率向外 输出正脉冲信号。此引脚的第2功能PRO(是作为编程脉冲输入端。PSEN :程序存储器允许输出端。CPU从外部程序存储器取指令时,PSENB号会自 动产生负脉冲,作为外部程序存储器的选通信号。EA/Vpp :程序存储器地址允许输入端。当EA为高电平时,CPU执行片内程序存储 器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令;当 EA 为低电平时,CPU

19、只执行片外程序存储器指令。(3).并行I/O引脚P0 口 : P0 口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作 为输出口用时,每位能吸收电流的方式驱动 8个TTL逻辑门电路,对端口 P0写“ 1” 时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时 转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电 阻。P1 口: P1是一个带内部上拉电阻的8位双向I/O 口,P1的输出缓冲级可驱动(吸 收或输出电流)4个TTL逻辑门电路。对端口写“ T,通

20、过内部的上拉电阻把端口拉 到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被 外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分 别作为定时/计数器2的外部计数输入(P1.0/T2 )和输入(P1.1/T2EX)。Flash编 程和程序校验期间,P1接收低8位地址。P2 口: P2是一个带有内部上拉电阻的8位双向I/O 口,P2的输出缓冲级可驱动 (吸收或输出电流)4个TTL逻辑门电路。对端口 P2写“ T,通过内部的上拉电阻 把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某 个引脚被外部信号拉低时会输

21、出一个电流(IIL)。在访问外部程序存储器或16位地址 的外部数据存储器(例如执行 MOVX DPT令)时,P2 口送出高8位地址数据。在 访问8位地址的外部数据存储器(如执行 MOVXgR脂令)时,P2 口输出P2锁存器的 内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3 口: P3 口是一组带有内部上拉电阻的 8位双向I/O 口。P3 口输出缓冲级可驱 动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“ 1”时,它们被内部上拉 电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL )。 P3 口除了作为一般的I/O 口线外,更重要的用途

22、是它的第二功能P3 口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。如表2-2所示。图2-2 STC89C52单片机引脚封装表2-2 P3特殊功能口口管脚备选功能P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INTO外部中断0P3.3 /INT1外部中断1P3.4 TO记时器0外部输入P3.5 T1记时器1外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通单片机最小系统原理图如图2-3所示ITTTT10 G"H+5V40J9 FO.O P】5 6巧nr.12-IHZSTCSQCZRC:4 P2.3TTTT722 P2.12

23、1 P2.G巧1TPE十P16/ 円r gPJ 111?7Tl2P3 3B?3 414-rriN20*t?S PQ.1 :尸 b". j s3640.4 5.UP05K6呷310 1-34 5 6 popopopopopo.po.pu.r7.6J4 3.2J o r* i寿j>歩jPPPPPPFF.1 咋4 3 4、67T o 1 3 4 .M.AIID 1 I 1 1 1 1 J. J 3 3 3 3 3nr? p p p p p p PRP p p p p p p p X XGP1 0 1P】2P1.2 3P1 3 4OR2 0 2KC3 30pFl|卜单片机最小系统Jl

24、:!赧电路图2-3单片机最小系统单片机最小系统说明:时钟信号的产生:在 MCS-51芯片内部有一个高增益反相放大器,其输入端为芯 片引脚XTAL1,其输出端为引脚XTAL2而在芯片的外部,XTAL1和XTAL2之间跨接晶 体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟振荡电 路。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。一般地,电容C2和C3取30pF左右,晶体的振荡频率范围是1.2-12MHZ。如果晶 体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。单片机复位使CPU和系统中的其他功能部件都处在一个确定的初始状态下, 并从

25、这个状态开始工作。单片机复位条件:必须使 9脚加上持续两个机器周期(即24个 振荡周期)的高电平。2.2.4数码管显示电路显示系统采用四位一体数码管来显示,LED显示屏作为大型显示设备的一种,具 有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示 sP,即点),每个发光二极管的阳极连在一起,如 图2-4所示。这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数 值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论共阴八段LED数码显示管,其他

26、类形的显示管与其类似。T2图2-4 LED数码管LED灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮 而显示不同的字形,如H,G,F,E,D,C,B,A 全亮显示为8,采用共阴极连接驱动代码, 代码表如下表2-3所示。表2-3 LED驱动代码显示数值H,G,F,E,D,C,B,A驱动代码0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH225按键输入电路按键是由一组按压式或触摸式开关构成

27、的阵列,是一种常用的输入设备。键盘可分为编码式键盘和非编码式键盘两种。1. 编码键盘通过硬件电路产生被按按键的键码,这种键盘所需程序简单,但硬件 电路复杂、价格昂贵通常不被单片机系统采用。2. 非编码键盘常用一些按键排列成行列矩阵,其硬件逻辑与按键编码不存在严格的对应关系,而要由所用的程序来决定。非编码键盘的硬件接口简单,但是要占用较 多的CPU寸间,通常采用可编程键盘管理芯片来克服这个缺点。本设计使用两种按键,一种是按键式非编码键盘和轻触式非编码开关。在接线时由于有四个引脚,连接时需要用万用表进行测量,然后接通两个引脚, 原理图如图2-5(a) ,(b)所示。要进行数据的计算就必须先进行数据

28、的输入,也就必须确定按键输入的数值是什图2-5(b)按键电路226报警与指示电路在电路设计当中,设有报警与指示电路如图2-6所示,电路在整个电路中起到报 警提示的作用。图2-6报警与指示电路第三章软件仿真一般调试都是在编写代码完之后用来验证电路的准确与否,通过反复修改程序代码来来使电路尽可能完善,但是单单依靠软件来仿真并不能保证电路能实现想要的功 能,因为软件仿真并不像现实的一样。所以还要依靠硬件电路来实现,不断修改。3.1软件调试部分使用Proteus和KeiluVision4 软件来仿真,Proteus软件是用来仿真电路图,而 KeiluVisio n4软件用来编译代码和编写代码,总程序如

29、附录一所示。3.1.1PROTEU騎介Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。 它运行于 Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特 点是:(1) 现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(2) 支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16

30、系列、PIC18系列、Z80系列、HC11系列以及各 种外围芯片。(3) 提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必 须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVisio n2 等软件。(4) 具有强大的原理图绘制功能。可以仿真51系列、AVR PIC、ARM等常用主流单片机。还可以直接在基于原理 图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统 配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。在PROTEUS制

31、好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEU的原理图中看到模拟的实物运行状态和过程。PROTEUS是单片机课堂教学的 先进助手。PROTEU不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程 形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路 修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS供了实验室无法相比的大量的元器件库,提供了修

32、改电路设计的灵活性、提供了实验室在数量、 质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平 台。3.1.2软件调试用软件来调试查找编程上的错误,可以比较好的修改电路和程序,使得电路能尽 可能完善和正确。如图3-1为电路连接图在Proteus的接法。上 吗 广用走 m Mil闱卫I I Mi bm r I raj r w 4亠 m a m j口 7 車 l| |* 性 f 吗 w « ton u I '图3-1 Proteus 电路原理图而KeiluVision4 用来检查语法和编译上的错误,用起来比较方便,它是和Proteus软件相结合的,只有编译没

33、有问题、正确后才能导入Proteus中得到正确的结果。如图3-2是编译检查正确后的结果。百勒3-II图3-2 KeilUvision4编写程序其次,用KeilUvision4 编写程序,编译无误后生成 HEX文件,通过在网上买的最小系统来烧录程序,最小系统烧录程序很简单,只需插到电脑的USE接口,在网上下载烧录STC系列的单片机的烧录软件,找到生成 HEX文件,即可下载3.2 Proteus 仿真图下图片为通过Proteus软件将已经用KeilUvision4 编写的程序,编译无误后生 成HEX文件装载入单片机中仿真出来后的结果。图3-3(a)为仿真的初始画面,图3-3 (b)为6号犯规仿真结

34、果图,图3-3( c)为4号成功抢答的仿真结果图,图3-3 (d)为抢答时间调整仿真结果图,图3-3(e)为答题时间调整仿真结果图。图3-3( a)仿真初始画面图3-3( b) 6号犯规图3-3( c) 4号成功抢答4*"T'图3-3 (d)抢答时间调整图3-3 (e)答题时间调整 3 V . .VI . B f -4! k”i-.- !.'j|nIS t'j雋:-Ml Nb 二.第四章硬件调试为了能够更好地完成电路的设计我使用 DXP这款软件来制作电路板4.1 DXP软件简介Altium公司作为EDA领域里的一个领先公司,在原来 Protel 99SE的基础

35、上,应 用最先进的软件设计方法,于2002年率先推出了一款基于 Windows2000和WindowsXP 操作系统的EDA设计软件Protel DXP并于2004年推出了整合Protel完整PCB板级 设计功能的一体化电子产品开发系统环境 Altium Desig ner2004版。ProtelDXP在前版本的基础上增加了许多新的功能。 新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的 用户界面等。Protel DXP是第一个将所有设计工具集于一身的板级设计系统,电子设 计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。

36、 Protel DXP运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能 够处理各种复杂的PCB设计过程。通过设计输入仿真、PCB绘制编辑、拓扑自动布线、 信号完整性分析和设计输出等技术融合,Protel DXP提供了全面的设计解决方案。 4.1.1原理图因为使用PCB板来焊接电路,所以还会用DXP软件,这个软件里面必须先画原理 图,如图附录二为所设计电路的原理图。4.1.2 PCB 图在原理图编译没有错误后就可以直接导入到PCB工程中,生成设计电路的PCB图,然后进行布线排版,调到合适的位置后可以进行自动布线,不过也可以自己布线,但 是必须设计好规则。如图附录三是布好线的PCB

37、图。由于太久没有使用DXP软件,对这款软件也不是很熟练使用,因此在布线上不是 很美观有一些红色的跳线。4.2实物图将做好的PCB图打印出来后,制好电路板并且打好孔,将如附录四所示的元件清 单按电路图焊接好,最后检查调试好电路,得到实物如附录五所示。经过近一个月的努力,终于顺利完成了课程设计。刚开始,头绪不是很清楚,不知道从哪里入手,但通过老师的耐心指导并和同学认真研究设计课题,跑图书馆查资料、确定基本设计方案、对所用芯片功能进行查找、调试、上机仿真等,经历了一 次次的困难,从中积累了很多宝贵的经验。 在整个设计的过程中虽然遇到了很多的问 题,比如对之前学习的单片机课程有些淡忘,学过的知识掌握的

38、不牢靠;对常用的软 件不是很熟练,在应用时经常通过查找资料来解决等。通过设计进一步认识到了自己的不足, 让自己能够端正学习态度,对自己要严格 要求,一切都要实事求是,不能够一知半解,要力求明明白白。不能急于求成,在动 手之前,头脑里必须清楚该怎么做,要有总体思路,这一点是很重要的。就目前来说, 我的动手能力虽然不是很好,但我想,只要通过我的不懈努力,总会得到提高,这一 点,我坚信。因为别人能做到的,我相信我也一定能做到。在此次的课程设计中我最大的体会就是进一步认识到了理论与实践的重要性。一份耕耘,一份收获。总而言之,此次课程设计让我学到了好多平时在课堂上学不到的 东西,增加了我的知识运用能力,

39、增强我的实际操作能力,为下一个学期的毕业设计 做好了基础。谢谢老师给我们提供这么好的机会,为我们之后走向工作,走向社会奠 定了一个好的基础。谢辞随着2016年接近尾声,我的课程设计也顺利的完成了,通过此次的课程设计我 从中又学到了很多课本上学不到的知识,这也为我下学期的毕业设计打下了良好的基 础,在提高自己的能力的同时又能为自己将要步入工作、社会铺设了道路。在这次课 程设计过程中获得了各方面的支持,在这里首先向我的指导老师表示最诚挚的感谢, 对那些无私的帮助和支持过我的老师和同学,在此我深表谢意。最后再次向所有在课 设设计的过程中给予我帮助的老师和同学最诚挚的谢意!参考文献1 李群芳,张士军,

40、黄建单片微型计算机与接口技术北京:电子工业出版社,20082 张迎新.单片微型计算机原理、应用及接口技术.北京:国防工业出版社,19993 高峰.单片微机应用系统设计及使用技术.北京:机械工业出版社,20074 彭伟.单片机c语音程序设计实例基于protues仿真.北京:电子工业出版社, 2007 徐春河.浅谈AT89S51J.制造业自动化,2010,( 12): 80-82.6 吴汉清.常用的典型单片机资料J.无线电,2007,(11):72-80.7 陈汝全.实用微机与单片机控制技术M.电子科技大学出版社.1995.7 12.8 李建民单片机在温度控制系统中的应用M.江汉大学学报,1996

41、.6 210-215.9 薛玲,孙曼,张志会,夏莉丽,魏希文.基于单片机AT89S51的温湿度控制仪J.2010,37, (7):66-6910 张毅刚.单片机原理及接口技术M.出版地:北京市丰台区成寿寺路,出版社: 人民邮电出版社,出版年月:2011年8月第一版11 郭天祥.51单片机C语言教程M.出版地:成都新华路口 33号,出版社:电子 工业出版社,出版年月:2009年1月12 马杰.C语言程序设计基础M.出版地:广西桂林市中华路22号,出版社:广 西师范大学出版社,出版年月:2012年8月第一版附录一总源程序#in clude<reg51.h> typedef un sig

42、 ned char uchar;typedef un sig ned int uint;sbit K0=P3P;开始抢答按键sbit beep=P3A7;/ sbit D0=P3A1; sbit K1=P1AO;/1 sbit K2=P1A1;/2 sbit K3=P1A2;/3 sbit K4=P1A3;/4 sbit K5=P1A4;/5 sbit K6=P1A5;/6 sbit K7=P1A6;/7 sbit K8=P1A7;/8 sbit S仁 P3A2;/ sbit S2=P3A3;/ sbit S3=P3A4;/ char s;uchar num=O;蜂鸣器 指示灯号选手抢答按键

43、号选手抢答按键 号选手抢答按键 号选手抢答按键 号选手抢答按键 号选手抢答按键 号选手抢答按键 号选手抢答按键 答题计时键 开始抢答时间调整键 答题计时时间调整键char timel;/抢答时间char time2;答题限时时间uint m, n; /T0,T1定时器定一秒时bit flag1,flag2,flag3,flag4;/ 标志位bit aa,bb;/时间调整标志位/延时子函数 void delay( uint z)uint x,y;for(x=z;x>0;x_) for(y=120;y>0;y-);uchar code table1=/共阴数码管段码值0x3f,0x06

44、,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code table2=/共阴数码管位码值0xfe,0xfd,0xfb,0xf7;/初始化子函数 void ini t()TMOD=0x11;TH0=(65536-2000)/256;TL0=(65536-2000)%256;TH1=(65536-2000)/256;TL1=(65536-2000)%256;ET0=1;ET1=1;EA=1;P0=0x00;time1=10;time2=10; flag2=1;/开始键扫描子函数 void k

45、ey1()uchar i=100;if(K0=0)delay(10);if(K0=0)while(K0=0&&i) i-; delay(10);TR0=1;s=time1;m=0;flag仁1;flag2=1;flag3=1;num=0;beep=1;D0=1;flag4=0; /清除违规标志位aa=0;bb=0;/选手抢答按键扫描子函数void key()uchar i=100;if(K1=0)delay(10);if(K1=0)while(K1=0&&i)i-;delay(10);num=1;/数码管显示1号"1"TR0=0;/关闭定时器

46、0,时间停止TR1=1;/打开定时器1,使扬声器响一声flag2=0;/关闭开始键标志位,使再按其他七个键不会响应if(K2=0)/下面七个键的处理同上delay(10);if(K2=0)while(K2=0&&i)i-;delay(10);num=2;TR0=0;TR1=1;flag2=0; / 重要 if(K3=0)delay(10);if(K3=0)while(K3=0&&i)i-;delay(10);num=3;TR0=0;TR1=1;flag2=0;if(K4=0)delay(10); if(K4=0) while(K4=0&&i)i-

47、;delay(10);num=4;TRO=O;TR1=1; flag2=0;if(K5=0)delay(10);if(K5=0) while(K5=0&&i) i-; delay(10); num=5; TR0=0; TR1=1; flag2=0;if(K6=0)delay(10);if(K6=0) while(K6=0&&i) i-; delay(10); num=6; TR0=0; TR1=1; flag2=0;if(K7=0)delay(10);if(K7=0)while(K7=0&&i)i-;delay(10);num=7;TR0=0;T

48、R1=1;flag2=0;if(K8=0)delay(10);if(K8=0)while(K8=0&&i)i-;delay(10);num=8;TR0=0;TR1=1;flag2=0;/数码管显示子函数void display()if(flag仁=1)/开始键按下,开始计时抢答if(num!=O) /如果有人抢答,则显示相应的几号P0=table1num;/显示几号抢到了P2=table20; delay(2);P0=0; P2=0xff;else/否则没人抢答,则前面不显示几号P0=0x00;P2=0xff;P0=table1s/10;/下面为显示抢答倒计时P2=table2

49、2;delay(2);P0=0;P2=0xff;P0=table1s%10;P2=table23;delay(2);P2=0xff;P0=0x00;else/如果开始键没有按下,则显示F FF(若有违规者,则显示违规号码及FF)或时间调整if(flag4=1) / 违规显示if(nu m!=0)P0=table1num;/显示几号违规了P2=table20;dela y(2);P0=0x00;P2=0xff;P0=table115;/下面显示FF,表示违规了P2=table22;dela y(2);PO=OxOO; / 消隐P2=0xff;P0=table115;P2=table23;dela

50、 y(2);PO=OxOO;P2=0xff;elsePO=OxOO;P2=Oxff;else /没有人违规才显示调整时间if(aa=1)PO=Ox76; /第一位数码管显示"5(S)"(表示抢答时间调整)P2=table2O;dela y(2);PO=OxOO;P2=0xff;P0=table1time1/10; /下面显示调整的抢答时间P2=table22;dela y(2);PO=OxOO;P2=0xff;P0=table1time1%10;P2=table23;dela y(2);PO=OxOO;P2=0xff;else if(bb=1)P0=0x38;/第一位与第二位数码管合起来显示"T",表示答题时间调整P2=table20; dela y(2); P0=0x00;P2=0xff;P0=table1time2/10

温馨提示

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

评论

0/150

提交评论