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

下载本文档

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

文档简介

1、密级: NANCHANG UNIVERSITY GONGQING COLLEGE电子线路课程设计THESIS OF BACHELOR2021年中文题目:基于单片机的八路抢答器设计英文题目:Eight-channel Responder学 院:南昌大学系 别:信息工程系专业班级:10应用电子技术班学生姓名:学 号:8220710023指导教师:二 一二年 十二月目录摘要2Abstract3第一章 设计背景及设计任务4第二章 系统设计方案6第三章 硬件的的设计7键盘选择83.3 单片机最小系统9钟频率电路的设计9复位电路的设计103.6 89c52的概述10报警电路14第四章 软件系统设计15第五

2、章 电路调试16软件调试问题分析16仿真结果17总结19参考文献20附录21附录1基于单片机的八路抢答器设计原理图21附录2基于单片机的八路抢答器设计PCB图21附录3prtoues原理图22附录4基于单片机的八路抢答器C语言程序22摘要当今的社会竞争日益剧烈,选拔人才,评选优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。而现在的抢答器有着数字化,智能化的方向开展,这就必然提高了抢答器的本钱。鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。因此,我们制作了这款简易八路抢答器屏弃了本钱高,体积大,而且操作复杂。我们采用了数字显示器直接指示,自动锁存显示结

3、果,并具有复位的设计思想,本抢答器通过十分巧妙的设计仅用两块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比拟有分辨时间极短、结构简单、本钱低、制作方便等优点,并且还有按键报警功能。抢答器在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。如果在抢答中,靠视觉很难判断哪组先答题。利用数字芯片系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出那组优先答题。数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两局部组成主体电路。经过布线、焊接、调试等

4、工作后数字抢答器成形。关键词: CD4511,抢答,数显AbstractThe modern society increasingly fierce competition, the selection of talent, selection, knowledge contest winners activities such increasingly frequent, so must leave vies to implement. But now the responder has a digital device, the intelligent direction, this wi

5、ll necessarily improves vies to implement the cost. Now that the small-scale knowledge competition more and more, the operation is simple, economic and practical small vies to implement will certainly market. Therefore, we made this kind of simple eight line vies to implement reject the high cost, b

6、ig volume and complex operation. We adopted digital display direct instructions, automatic latch showed results, and have reset design ideas, this vies to implement through very clever design with only two digital chip then realized digtal vies to function, and other scare-answering decoder circuit

7、compared have tell time is very short, simple structure, low cost, convenient, and production and buttons alarm function.Contest in the responder process, in order to know which group or which one player first answer, must design a system to finish the task. If in the contest, it is difficult to jud

8、ge by visual which group first answer. Using digital chip system to implement, make design contest above problems were solved, even if the two groups of vies time difference microseconds, also can distinguish the group of priority answer. Digital vies to implement by corpus circuit and expansion cir

9、cuit composed. Priority coding circuit, latches, decoder circuit will be the team's input signal on the display output, With the control circuit and the host switches on the alarming circuit, the above two parts subject circuit. After wiring, welding, commissioning work digital vies to implement

10、 forming.Keywords: CD4511, vies,digital第一章 设计背景及设计任务 泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辩认出选手号码。现在大多数抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢按前或抢按后的计时、选手得分显示等功能。抢答器作为一种电子产品,早已广泛应用于各种智力和知识竞赛场合,但目前所使用的抢答器有的电路较复杂不便于制作,可靠性低,实现起来很困难;有的那么用一些专用的集成块 ,而专用集成块的购置又很困难

11、。为适应高校等多代表队单位活动的需要而设计一个多功能抢答器,这种抢答器具有电路简单,元件普通 ,易于购置等优点,很好地解决了制作者制作困难和难于购置的问题。在国内外已经开始了普遍的应用。随着改革开放事业的不断深入,促使人们学科学、学技术、学知识的手段多种多样,抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。但抢答器的使用频率校低,且有的要么制作复杂,要么可靠性低,减少兴致。作为一个单位假设专购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使电子器件的抢答器损坏,再购置的麻烦和及时性就会影响活动的开展。但目前多数抢答器存在2个缺乏之处:第一,现场线路连接复杂。因为每

12、个选手位于抢答现场的不同位置,每个选手与控制台之间要有长长的连接线。选手越多,连接线就越多、越乱,这些连接线不仅影响了现场的美观,而且降低了抢答器的可靠性,增加了安装的难度,甚至影响了现场人员的走动。第二,电路复杂。因为单片机只完成号码处理、计时、数据运算等功能,其它功能如选手号码的识别、译码、计分显示等仍只能通过数字集成电路完成。采用单片机扫描技术识别选手抢按号码时,电路的延迟时间较大。1. 抢答器可同时供8名选手或8个代表队比赛,分别用8个按键S1S8进行抢答。2. 具有清零和非法抢答控制功能,并由主持人操纵,防止选手在主持人按“开始前提前抢答,违反规那么 。3. 当主持人启动“开始抢答键

13、后,定时器进行减计时,在20S内无人抢答表示所有参赛选手或参赛队对此题弃权,抢答时间耗尽后禁止抢答。4. 倒计时5S时,如果仍无人抢答,那么系统每1S报警一次,用以提示参赛选手。5. 抢答器具有锁存与显示功能。即选手按下按键,锁存相应选手的参赛号码,并在LED数码管上显示。选手抢答实行优先锁存,其他按键者将不能响应,以便公平地选择第一个抢答者。6. 倒计时期间,如果主持人想终止倒计时,可以按下“停止按键,系统会自动进入准备状态。此次设计提出了用AT89S52单片机为核心控制元件,设计一个简易的抢答器,本方案以AT89S52单片机作为主控核心,与晶振、数码管、蜂鸣器等构成八路抢答器,利用了单片机

14、的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的八路抢答器具有实时显示抢答选手的号码和抢答时间的特点,还有复位电路,使其再开始新的一轮的答题和比赛,同时还利用C51语言编程,使其实现一些根本的功能。本设计的系统实用性强、判断精确、操作简单、扩展功能强。它的功能实现是比赛开始,主持人读完题之后按下总开关,即计时开始,此时数码管开始进行20s的倒计时,直到有一个选手抢答时,对应的会在数码管上显示出该选手的编号和抢答所用的时间,如果在规定的20s时间内没有做出抢答,那么此题作废,即开始重新一轮的抢答。在抢答和答复时间的最后5s,蜂鸣器都会给予报警提示。第二章 系统设计方案8路抢答按键输入

15、AT89C52单片机时钟复位电路显示电路声音电路主持人按“抢答开始键,立刻进入抢答倒计时预设20S抢答时间,如有选手抢答,会有提示,并会显示其号数,不进行抢答查询,所以第一个按抢答的选手有效。倒数时间到小于5S会每秒响一下提示音。 如倒计时期间,主持人想停止倒计时可以随时按“停止按键,系统会自动进入准备状态,等待主持人按“抢答开始进入下次抢答计时。如果主持人未按“抢答开始键,那么无法按抢答按键。主控制器模块:采用AT89S52单片机控制抢答器显示模块:数码管显示第三章 硬件的的设计显示模块主要是显示抢答的时间,组别号码等。在使用传统的数码管显示。数码管具有:低能耗、低损耗、低压、寿命长、耐老化

16、、防晒、防潮、防火、防高低温,对外界环境要求低,易于维护,同时其精度高,称量快,精确可靠,操作简单。数码显示是采用BCD编码显示数字,程序编译容易,资源占用较少。显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。在这里我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两种:一种是静态显示,一种是动态显示。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;动态显示的特点是:显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。在本设计中根据实际情况采用的是动态显示方法。4位七段数码管显示电路如下

17、列图所示。 图3-1位数码管上图中数码管采用的是4位一体七段共阳数码管,其中AH段分别接到单片机的P0口,由单片机输出的P0口数据来决定段码值,位选码COM1, COM2,COM3,COM4分别接到单片机的P2.0,P2.1,P2.2 ,P2.,3,由单片机来决定当前该显示的是哪一位。在图中还有一个排阻,连接在P0口上,用作P0口的上拉电阻,保证P0口没有数据输出时候处于高电平状态。通过查表法,将其在数码管上显示出来,其中P0口为字型码输入端,P2口低4位为字选段输入段。在这里我们通过查表将字型码送给7段数码管显示的数字。键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可以

18、分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者那么用硬件方法来产生键码。在单片机中使用的都是非编码键盘,因为非编码键盘结构简单,本钱低廉,非编码键盘的类型很多,常用的有独立式键盘,行列式键盘等。本设计采用独立式键盘键盘接口中使用多少根I/O线,键盘中就有几个按键,键盘接口使用了8根I/O口线,该键盘就有8个按键,这种类型的键盘,其按键比拟少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。如图2-2。最简单的编码方式就是根据I/O输入口所直接反映的相应按键,按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU可以通过直接读取I/O口的状态

19、来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。独立式键盘的缺点是需要占用比拟多的I/O口线,当单片机应用系统键盘中需要的按键比拟少或I/O口线比拟充裕时,可以采用这样类型的键盘。 图3-2手抢答按键 图3-3持人控制按键 单片机最小系统 图3-4小系统单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。时钟电路如下列图所示。 图3-5部振荡源电路一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右

20、的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数。图中时钟频率为12MHz。 单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如下所示图3-6位电路3.6 89c52的概述AT89S52单片机是美国Atmel公司生产低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器

21、EPROM和128 bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器CPU和Flash 存储单元,功能强大。AT89S52单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。图3-7AT89S52单片机的根本组成功能方块图。由图可见,在这一块芯片上,集成了一台微型计算机的主要组成局部,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,各局部通过内部总线相连。下面介绍几个振荡器和时序OSC程序存储器4 KB ROM数据存储器256 B RAM/SFR定时器/计数器 2

22、×16 AT89S51CPU64 KB总线 扩展控制器可编程 I/O可编程全双工串行口内中断图3-7单片机结构图 图3-8AT89C52管脚图ATMEL公司的AT89S52是一种高效微控制器。采用40引脚双列直插封装形式。AT89S52单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚具有第二功能。VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0 口作为原码输入口,当FLASH进行校验时

23、,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口输

24、出地址的高八位。在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入1后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流。P3口也可作为AT89S51的一些特殊功能口,如下表所示:P3口管脚 备选功能P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 INT0外部中断0P3.3 INT1外部中断1P3.4 T0记时器0外部输入P3.5 T1

25、记时器1外部输入P3.6 外部数据存储器写选通P3.7 外部数据存储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号。ALE/:当访问外部存储器时,地址锁存允许端的输出电平用于锁存地址的地址字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。PSEN:外部程序存储器的选通信号端。在由外部程序存储器

26、取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/VP:当保持低电平时,那么在此期间外部程序存储器0000H-FFFFH,不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:反向振荡器的输出,如采用外部时钟源驱动器件,应不接电路 我们知道,声音的频谱范围约在几十到几千赫兹,假设能利用程序来控制单片机某个口线的“高电平或低电平,那么在该口线上就能产生一定频率的巨型波,

27、接上喇叭就能发出一定频率的声音,假设再利用延时程序控制“高“低电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。本文设计如下列图所示。图中单片机的14脚输出具有复合功能,此处用到了单片机14脚的IO端口功能,单片机通过内部定时器的操作实现交替变换的波形输出驱动扬声器发声。图 3-9声音电路 第四章 软件系统设计系统软件由主程序和INT0中断效劳组成。主程序由验键,违规显示,倒计时等功能子程序组成,系统完成初始化后循环检查各个功能当用户使用某个功能时,按下相应的按钮或开关单片机进入相应的功能处理。INT0中断效劳程序完成抢答信号采样和识别处理。该智能抢答器以AT89S52单片

28、机为控制核心,控制精度较高,操作误差主要来自晶振自身所造成的误差。其他外围电路包括复位电路、时钟电路、报警电路、LED显示电路、抢答按键等。该智能抢答器具有计时记忆功能,一次时间设置完,复位后不需重新进行时间设定;通过按键扫描输出按键信息,并通过单片机将它转化为在七段数码管上显示的字形符。单片机的的P1口为8组抢答按键的输入口,P0.0P0.7为数码管的段选口,P2.0P2.7为数码管的片选口。P3.4为报警电路的控制口,P3.5为暂停按钮的控制口,P3.6为开始按钮的控制口,P3.7为复位按钮的控制口。 数码显示管用来作为时间的显示输出,一般用7段数码显示管。本次设计中采用7段共阳数码显示管

29、应用简单、可靠性高、本钱低,作为显示输出。连接时段选信号接在P0口的P0.0P0.7七个I/O口上,P1口是准双向I/O接口在输出驱动局部具有驱动4个TTL负载的能力,即输出电流不大于400A第五章 电路调试系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软硬件的配人情况以及是否到达设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。硬件调试分单元电路调试和联机调试,单元电路试验在硬件电路设计时已经进行,这里的调试只是将其制成印刷电路板后试验电路是否正确,并排除一些加工工艺性错误如错线、开路

30、、短路等。这种调试可单独模拟进行,也可通过开发装置由软件配合进行,硬件联机调试那么必须在系统软件的配合下进行。软件调试一般包括分块调试和联机调试两个阶段。程序的分块调试一般在单片机开发装置上进行,可根据所调程序功能块的入口参量初值编制一个特殊的程序段,并连同被调程序功能块一起在开发装置上运行;也可配合对应硬件电路单独运行某程序功能块,然后检查是否正确,如果执行结果与预想的不一致,可以通过单步运行或设置断点的方法,查出原因并加以改正,直到运行结果正确为止。这时该 程序功能块已调试完毕,可去掉附加程序段。其它程序功能块可按此法进行调试。程序联机调试就是将已调试好的各程序功能块按总体结构联成一个完整

31、程序,在所研制的硬件电路上运行。从而试验程序整体运行的完整性、正确性和与硬件电路的配合情况。在联调中可能会有某些支路上的程序、功能块因受条件制约而得不到相应的输入参数,这时,调试人员应创造条件进行模拟调试。在联调中如发现硬件问题也应及时修正,直到单片机系统的软件、硬件全部调试成功为止。系统调试完成后,还要进行一段时间的试运行,从而检验系统的稳定性和抗干扰能力,验证系统功能是否到达设计要求,是否到达预期的效果。数码管显示问题:本次设计的最终方案是采用数码管显示屏实现显示功能,最初数码管显示不正常,出现闪烁现象。通过调试发现这是由于延时时间选择不当会使人眼产生视觉暂留效果,每一次显示时都必须参加适

32、当的时间延时。由于一开始所选用的延时时间太短因此出现闪烁现象,在增加显示延时之后,数码管显示正常。蜂鸣器异常启动问题:蜂鸣器的启动/关闭是通过单片机输出的控制信号来实现的,当前时间与闹钟设置时间比拟吻合时,单片机将对闹铃控制口执行取反命令,从而启动蜂鸣器发声。一开始编写程序时,没有对控制口的最初状态作正确设置,由于系统开机复位后,闹铃控制口处于高电平状态,因此出现一开机蜂鸣器就处于启动状态的情况。通过在主程序最开始参加对闹铃控制口取零命令后,蜂鸣器启动/关闭控制恢复正常5.3 5号键按下总结通过这次课程设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知

33、识和综合素质。总之,不管学会的还是学不会的确实觉得困难比拟多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。通过这次课程设计懂得了很多,我们自己去图书馆,上网查资料然后自己和我们这组的成员一起合作商讨完成的,原以为会很简单的,但无论在制作与写作过程中我们都遇到了理论课上所不曾遇到的问题,第一是综合性太强,这次制作与论文不仅涉及到我们以前所学到的单片机,模拟电子技术,数字电子技术,高等数学等课程的知识还涉及到很多我们的选修及课

34、外的知识像实训课上学到的手工焊接技术等等知识。第二是理论联系实际性太强,把所学的搜集到得知识运用的实际中不是一件容易的事,不仅由元件从课本上的符号到实物的认识还是理论的测量结果与实际值的误差。在不断的努力下我的课程设计终于完成了。在没有做课程设计以前觉得课程设计只是对这几年来所学知识的大概总结,但是真的面对课程设计时发现自己的想法根本是错误的。课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。课程设计是我们对所学知识理论的检验与总结,能够培养和提高设计者独立分析和解决问题的能力;课程设计提高了我们理论联系实际的能力更在知识的稳固与实际的操作上的衔接提高了我们的能力,课程设计

35、中遇到的困难与挫折以及解决这些问题的思路与方法更增加了我们对以后工作中遇到困难克服解决的信心,也让我们积累了经验,为以后的工作打下了良好的根底,同时也培养了我们遇到突发状况要稳定冷静的精神,也培养了我们学会怎么与别人合作的方法,怎么解决与合作的伙伴意见不同一时状况,为以后怎么和同事相处好奠定了根底。这次课程设计业也让我们懂得了分析问题,才能解决问题的道理,通过了这次更增加了我们以后能够干好自己工作的信心。参考文献1张毅刚.单片机原理及应用 高等教育出版社2张义和.例说51单片机 c语言版 人民邮电出版社 3郭天祥.新概念51单片机C语言教程 电子工业出版社附录附录1基于单片机的八路抢答器设计原

36、理图 附录2基于单片机的八路抢答器设计PCB图 附录3prtoues原理图 附录4基于单片机的八路抢答器C语言程序#include <reg52.h>#define uint unsigned int#define uchar unsigned charunsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;sbit start= P36;sbit stop=P35;sbit reset = P37;sbit key1 = P10;sbit key2 = P11;sbit key3 = P

37、12;sbit key4 = P13;sbit key5 = P14;sbit key6 = P15;sbit key7 = P16;sbit key8 = P17;sbit buzzer = P34;bit start_flag = 0;bit stop_flag=0;bit key1_flag = 0;bit key2_flag = 0;bit key3_flag = 0;bit key4_flag = 0;bit key5_flag = 0;bit key6_flag = 0;bit key7_flag = 0;bit key8_flag = 0;bit reset_flag = 0;b

38、it action = 0;uchar second = 20;uchar timer0_count = 0;uchar number = 0;uchar number_display = 0;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void display(uchar number,uchar second)uchar second_first,second_second;second_first = second / 10;second_second = second % 10;P2 = 0xfe;

39、P0 = tablenumber;delay(2);P2 = 0xfd;P0 = 0x00;delay(2);P2 = 0xfb;P0 = tablesecond_first;delay(2);P2 = 0xf7;P0 = tablesecond_second;delay(2);void start_keyscan()if(start = 0)delay(8);if(start = 0)&&(!start_flag)start_flag = 1;action = 1;TR0 = 1;elsestart_flag = 0;uchar key_scan8()if(key1 = 0)

40、delay(8);if(key1 = 0)&&(!key1_flag)key1_flag = 1;number = 1;number_display = number;elsekey1_flag = 0;number = 0;if(key2 = 0)delay(8);if(key2 = 0)&&(!key2_flag)key2_flag = 1;number = 2;number_display = number;elsekey2_flag = 0;number = 0;if(key3 = 0)delay(8);if(key3 = 0)&&(!key3_flag)key3_flag = 1;number = 3;number_display = number;elsekey3_flag = 0;number = 0;if(key4 = 0)delay(8);if(key4 = 0)&&(!key4_flag)key4_flag = 1;number = 4;number_display = number;elsekey4_flag = 0;number = 0;if(key5 = 0)delay(8);if(key5 =

温馨提示

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

评论

0/150

提交评论