智能八路抢答器设计

合集下载

八路智能抢答器设计报告

八路智能抢答器设计报告

1 引言随着人们物质文化水平的不断提高,对于业余的文化生活要求也不断提高。

于是,企业、学校和电视台等单位常举办各种智力竞赛来丰富人们的文化生活, 抢答记分器便成为不可或缺的电子设备。

过去在举行的各种竞赛中我们经常看到有抢答的环节,举办方多数采用让选手通过举手的方法判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。

于是人们开始寻求一种能不依人的主观意愿来判断的设备来规范比赛,抢答器便诞生了。

从最初的简单抢答按钮,到后来的显示选手号的抢答器,再到现在的数显抢答器,其功能在一天天的趋于完善。

不但可以用来倒计时抢答,还兼具报警,计分显示等等功能,有了这些更准确地仪器使得我们的竞赛变得更加精彩纷呈,也使比赛更突显其公平公正的原则。

1.1 目的和意义本设计旨在利用我们已学的数字电路知识,用不可编程的基础芯片和门电路完成一个简易八路智能抢答器的设计。

虽然如今在市场上销售的抢答器大多采用可编程逻辑元器件,或利用单片机技术进行设计,本设计较之实用性不高,但对于我们电子专业的学生而言,是个很好的锻炼机会,有助于我们回顾以前的数电知识,提高独立思考和动手做课程设计的能力,进一步掌握Multisim仿真软件的使用,为日后做毕业设计打下基础。

1.2 本系统主要研究内容(1)优先编码电路判断抢答者的编号,并由锁存器进行锁存,一位选手抢答后其他选手抢答无效,然后通过译码显示电路在数码管上显示抢答者的编号,且编号要求显示1~8而不是0~7;(2)倒计时电路显示抢答倒计时和答题倒计时,主持人操作开关控制抢答开始和系统清零。

抢答开始,数码管显示抢答倒计时时间(可由主持人调整),选手在规定时间内抢答则自动转为答题倒计时(也可由主持人调整),抢答选手需在答题时间内作答,否则抢答无效;若规定时间内无人抢答,此次抢答无效,主持人按清零键使系统回复到禁止工作状态,以便进行下一轮抢答。

(3)声光报警电路,当有选手抢答时抢答指示灯亮,蜂鸣器短暂报警;当抢答选手答题时,答题倒计时指示灯闪烁。

八路抢答器设计(附源程序)

八路抢答器设计(附源程序)

烟台大学单片机课程设计说明书课题:八路抢答器学生姓名:学号:院系:机电汽车工程学院专业:机械设计制造及其自动化指导老师:同组成员:组长:20 年06 月07 日目录1 概述 (2)2设计任务 (2)3 系统总体方案 (3)4 硬件设计 (4)4.1 控制系统所需硬件 (4)4.2 硬件原理介绍 (4)5 软件设计 (7)5.1 软件总体设计 (7)5.2 程序流程图 (8)6 Proteus软件仿真 (12)6.1 Keil软件 (12)6.2在Proteus软件 (12)7小结 (14)8心得体会 (15)附1:源程序代码 (16)附2:参考文献 (24)1 .概述8路智能抢答器的设计现如今,各种智力知识竞赛已经成为人们的一种娱乐形式,人们在答题的过程中不仅可以享受到乐趣,还可以学到一些科学知识和生活常识。

然而在抢答过程中,单靠视觉是很难判断出哪组最先完成抢答操作。

为了辨别哪一组或哪一位选手获得答题权,必须要设计一个智能抢答控制系统——智能抢答器。

抢答器作为一种电子产品,已被人们所熟知并广泛应用于各种智力知识竞赛场合。

抢答器在竞赛中有很大用处,通过抢答器的指示灯显示,数码管显示和警示蜂鸣等手段,能准确,公正,直观地判断出第1抢答者并协助比赛的顺利进行。

但是,目前使用的抢答器大多数都采用了逻辑电路进行设计,分立元件较多,造成抢答器的成本较高。

此外一般抢答器由模拟电路,数字电路或二者结合组成,其智能化程度低,故障率高,显示简单。

现代电子技术的发展要求电子电路朝数字化,集成化方向发展,因此设计出全集成电路的多路抢答器是现代电子技术发展的要求。

2 .设计任务本设计要求学生结合现有的实际条件,以单片机为控制核心,设计一个8路智能抢答器。

要求实现的功能如下:1) 抢答器可同时供8名选手或8个代表队比赛,分别用8个按键S1~S8进行抢答。

2) 主持人可以通过智能抢答器的按键设定每道题的抢答时间和回答时间。

3) 具有清零和非法抢答控制功能,并由主持人操纵,避免选手在主持人说“开始”前提前抢答,违反规则。

八路智能抢答器设计

八路智能抢答器设计

八路智能抢答器设计
一、概述
八路智能抢答器是一种在教室课堂上提出问题,学生用设置在课桌上
的发射器发出抢答信号,接收端实时识别收到的信号,并将收到的抢答信
号自动分配给对应的台数,从而实现抢答活动的目的,让学生更容易抢答,提高课堂参与度。

二、结构
发射器的功能:当学生按下按钮发送抢答信号时,发射器发出抢答信号,并将发送的数据编码,从而保证抢答信号不会被其他发射器的信号干扰。

接收端的功能:接收端接收来自各台发射器的抢答信号,识别信号,
并将收到的抢答信号分配给对应的台数,然后由接收端输出给抢答指示灯。

抢答指示灯的功能:抢答指示灯接收来自接收端的信号,控制灯的开关,来指示哪一台学生发出了抢答信号。

三、电路
发射器:发射器主要由发射管、指示灯、MCU(微控制器)、发射器模
块等组成,其中MCU负责编码抢答信号,发射模块负责将抢答信号发射出去。

数电课程设计八路智力竞赛抢答器设计

数电课程设计八路智力竞赛抢答器设计

数电课程设计八路智力竞赛抢答器设计课程设计任务书题目: 八路智力竞赛抢答器设计初始条件:◆教材:《电子线路设计·实验·测试》第三版谢自美主编华中科技大学出版社◆元器件:74LS48三片,72LS192两片,74LS279、74LS148、74LS00、74LS11、555各一片,数码管三个,发光二极管一个,开关、电阻、电容若干,面包板,导线若干◆仿真:Proteus仿真软件要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)◆多路智力竞赛抢答器功能要求:基本功能:1.设计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,她们的编号分别是0、1、2、3、4、5、6、7,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别是S0、S1、S2、S3、S4、S5、S6、S7。

2.给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。

3.抢答器具有数据锁存和显示的功能。

抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时扬声器给出音响提示。

另外,要封锁输入电路,禁止其它选手抢答。

优先抢答选手的编号一直保持到主持人将系统清零为止。

扩展功能:1.抢答器具有定时抢答的功能,且一次抢答的时间能够由主持人设定。

当节目支持人按下“开始”按钮后,要求定时器立即倒计时,并在显示器上显示,同时扬声器发出短暂的声响,声响持续时间0.5s左右。

2.参赛选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。

3.如果定时抢答的时间已到,却没有选手抢答,则本次抢答无效,系统短暂报警,并封锁输入电路,禁止选手超时后抢答,时间显示器上显示00.报告要求:课程设计的内容要求用A4纸打印,且页数不得少于20页。

时间安排:第20周理论设计、实验室安装调试地点安排:鉴主15楼通信实验室一指导教师签名:年月日系主任(或责任教师)签名:年月日摘要在各种智力竞赛场合,抢答器是必不可少的最公正的用具。

关于八路抢答器的设计报告

关于八路抢答器的设计报告

关于八路抢答器的设计报告2019-06-23关于八路抢答器的设计报告篇一:八路抢答器设计报告课程名称:数字电路课程设计设计题目:八路数字抢答器一、实验名称:八路数字抢答器二、实验目的:1.熟悉芯片引脚的识别方法,以及原理。

2.掌握与非门实现其他逻辑门电路的方法。

3. 掌握电路板的焊接技术。

4.加深对模拟电路和数字电路课程的理解和认识。

三、实验要求:主持人没有宣布抢答开始时,抢答不起作用,在主持人宣布抢答开始后,可以进行抢答。

它的任务是从八名参与者中确定出最先的抢答者,立即将其编号锁存,并在LED数码管上显示选手的编号,同时用LED灯显示。

此外,封锁输入电路,禁止其他选手抢答,优先抢答选选手的编号一直保存到主持人将系统清零为止(即复位操作)。

为此我们小组决定就这次机会设计一个低成本但又能满足需要的八路智力竞赛抢答器,并通过安装与调试。

四、使用元件:以及排线、焊锡若干。

五、工作原理:接通电源后,主持人先进行复位,此时七段显示器显示“0”ご耸鼻来鹌鞔τ谙允咀刺。

当主持人宣布“开始抢答”ご耸鼻来鹌骺始工作。

当参加智力竞赛的选手摁下手中的抢答器时LED数码管会点亮提示ね时,七段显示器显示该小组的编号。

只有最先抢答者的编号才能被锁存,并在LED数码管上显示选手的编号。

由以上两个条件可以想到:用D触发器来实现,D触发篇二:八路抢答器实验报告能抢答器主要由数字优先编码电路、锁存/译码/驱动电路于一体的CD4511集成电路、数码显示电路和报警电路组成。

优先编码电路、CD4511集成电路将参赛队的输入信号在数码显示管上输出,用报警电路对时间进行严格控制,这样就构成了八路智能抢答器电路。

八路数字抢答器电路包括抢答,编码,优先,锁存,数显,复位及抢答键。

抢答器数字优先编码电路由D1-D12组成,实现数字的编码。

CD4511是一块含BCD-7段锁存/译码/驱动电路于一体的集成电路。

抢答器报警电路由NE555接成音多谐振荡器构成。

八路智能抢答器的设计

八路智能抢答器的设计

课程设计任务书姓名:XXX 、XX 专业班级:通信0903指导教师:XX工作单位:XXXX题目:多路智能抢答器的设计一完成的任务与要求用中、小规模集成电路设计一台能抢答和报警的智能抢答器,要求如下:1可同时提供8名选手进展抢答;2通过主持人开关,控制系统的清零和抢答的开场;3通过定时电路设定有效抢答时间〔30s〕,主持人启动抢答开关后,定时电路开场倒计时;4如果有人抢答,那么编号被锁存,并在LED数码管上显示,同时扬声器报警,封锁输入电路,其他选手不能抢答;5如果没人抢答,那么有效时间过后。

系统自动报警,且封闭输入电路,选手抢答无效。

二时间安排:时间:第1-12周理论设计,软件仿真,第15-18周实验室焊接、安装调试。

地点:理工楼E604实验室学生签名:年月日指导教师签名:年月日多路智能抢答器的设计摘要 (3)Abstract (4)1 系统原理框图 (6)2 方案的设计与论证 (6)2.1时钟脉冲产生电路 (6)2.2 抢答电路……………………………………………………………2.3定时电路……………………………………………………………3 单元电路的设计3.1时钟脉冲产生电路的设计…………………………………………3.2计数电路的设计……………………………………………………3.3抢答电路的设计……………………………………………………3.4定时电路的设计……………………………………………………3.5报警电路的设计……………………………………………………3.6电路总图……………………………………………………………4 仿真结果及分析5 心得体会6 参考文献附录1 原件清单附录2 系统原理图摘要多路智能抢答器一种以数字电路技术来实现多人抢答的装置,具有操作简单、性化、能化且公平性高的优点,在很多竞答比赛中都有用到。

本文的设计与实现是以中小规模集成电路设计多路智能抢答器的方法,它主要与数字电路挂钩,囊括了数字电路的两大电路〔组合逻辑电路和时序电路〕。

八路抢答器的方案设计书报告(1)

八路抢答器的方案设计书报告(1)

八路抢答器的方案设计书报告(1)方案名称:八路抢答器方案设计书报告1. 项目背景:八路抢答器是一种用于教育培训和游戏娱乐等场景中的互动装备,旨在增加参与者之间的竞争性和互动性。

该抢答器适用于小组竞赛、知识问答和快速反应等活动,能够提供准确的抢答结果和实时的排名反馈。

2. 项目目标:- 提供一个可靠、准确的抢答系统,确保抢答结果的准确性;- 设计一个易操作、方便使用的抢答器,满足各类用户的需求;- 实现实时展示参与者的排名、成绩和抢答结果,增强竞争性和互动性;- 提供灵活的配置参数,适应不同场景和活动的需求。

3. 方案设计:- 硬件设计:- 抢答器主机:设计一个抗干扰的主机设备,包含显示屏幕、按钮等交互元素,用于显示题目、记录抢答结果和展示排名。

- 抢答器手柄:设计一组手柄设备,每个手柄配有一个按钮,用于参与者进行抢答操作。

- 无线通信模块:通过无线通信技术实现主机和手柄之间的数据传输,确保实时性和可靠性。

- 软件设计:- 控制程序:设计主机端控制程序,用于接收手柄的抢答信号、判断抢答正确与否,并实时更新参与者的得分和排名。

- 数据显示程序:设计主机端数据显示程序,用于展示抢答题目、参与者的得分和排名等信息。

- 管理程序:设计主机端管理程序,用于配置抢答系统的参数,如参与者人数、抢答题库等。

4. 实施计划:- 第一阶段:进行前期调研和需求分析,明确项目目标和功能需求。

设计硬件和软件的初步方案,并进行初步的设计验证。

- 第二阶段:进行详细的硬件和软件设计,包括电路设计、外壳设计、程序编写等。

并进行相应的测试和验证。

- 第三阶段:进行整体集成和调试,确保硬件和软件的协同工作和稳定性。

进行用户测试和反馈收集。

- 第四阶段:根据用户反馈进行改进和优化,完善产品的功能和性能。

准备量产并开始市场推广。

5. 预期效果:- 提供一个实用、可靠的八路抢答器,满足教育培训和游戏娱乐场景的需求;- 增加参与者之间的竞争性和互动性,提升活动的趣味性和吸引力;- 为组织者提供一个便捷、灵活的抢答系统,简化活动的组织和管理工作;- 受益用户包括教育机构、培训机构、游戏娱乐场所等。

八路智力竞赛抢答器的设计

八路智力竞赛抢答器的设计

摘要抢答器是一种常见的电子产品,尤其是在各类智力竞猜中,为了实现选手的公平性,性能优良的抢答器往往更能得到各单位的青睐。

这里通过两种设计方案的对比,最终选定了用单片机实现抢答器电路。

由于单片机具有可编程定时器和中断设备,便于实现编程和时间的精确控制。

所用方案电路结构简单,易于实现,它用4个七段数码管来显示,且具有简单精准的报警电路。

所选方案的一个很重要的特点在于具有灵活性,主持人可以根据题目难易进行时间设定,这样进一步保证了公平性。

由于它具有成本低廉,结构简单,且性能优良的诸多优点,必定会得到广泛的应用。

关键词:抢答器,单片机,七段数码管,时间设定目录一方案的概述 (1)1.1 设计内容及要求 (1)1.1.1 设计内容 (1)1.1.2 设计要求 (1)1.2 设计方框图 (2)1.3 抢答器的程序流程 (3)二抢答器单元设计及其说明 (8)2.1主要芯片的介绍 (8)2.2程序流程图 (10)2.3 MAX7219 (12)2.3.1 MAX7219引脚说明 (12)2.3.2 基本的工作方法 (13)2.3.3 MAX7219初始化 (14)2.3.4 部分程序功能介绍 (14)2.4LCD简介 (16)2.4.1LCD和LED的区别 (16)2.4.3显示电路设计和LCD的引脚功能说明 (17)2.4.4液晶显示模块 (18)三抢答器电路原图及仿真 (20)3.1抢答器原理图 (20)3.2仿真软件介绍 (21)3.3仿真测试效果 (22)设计小结 (25)参考文献 (26)附录一 (26)附录二 (27)一方案的概述1.1 设计内容及要求1.1.1 设计内容1设计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,他们的编号分别是1、2、3、4、5、6、7、8,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别是S0、S1、S2、S3、S4、S5、S6、S7。

2给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能八路抢答器设计1引言1.1设计目的此设计采用AT89C52单片机为核心控制元件,结合数码管、蜂鸣器、发光二极管等器件构成一个简易的八路抢答器。

利用了单片机的按键复位电路、时钟电路、定时中断等电路,设计的抢答器具有实时显示抢答功能。

1.2设计要求(1)设计一个可供8人进行抢答的抢答器。

(2)系统设置复位按钮,按动后,重新开始抢答。

2设计方案及原理2.1设计方案(1)复位电路89C52的复位输入引脚RST为89C52提供了初始化的手段,可以使程序从指定处开始执行,在89C52的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作,如果RST保持高电平,则单片机循环复位。

只有当RST由高电平变低电平以后,89C52才从0000H地址开始执行程序。

本系统采用按键复位方式的复位电路。

(2)时钟电路89C52的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另外一种为外部方式。

本论文根据实际需要和简便,采用内部振荡方式。

89C52内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。

这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器。

(3)输入电路抢答器输入信号由八个小按键控制,八个按键连接在P2口当有键按下的时候,就产生了有效的输入信号,使与这个按键相连的引脚变为低电平,产生一个低电平的输入信号。

2.2系统组成框图该系统的组成框图如图1所示,在89C52单片机的P2口接上八个开关用于八路抢答;P3.2口接启动开关,用于主持人控制抢答是否开始;在RST脚接复位开关用于清零;在P1.0口接蜂鸣器用于开始提示和超时后报警;在P0口接三个数码管用于显示倒计时时间和抢答者的编号。

该系统还包括时钟电路部分。

复位时钟RSTXTAL1XTAL2~AT89C52数码管第一路...第八路启动蜂鸣器P0.0P0.7~P2.0P2.7~P3.2P3.7图1 系统组成框图3硬件设计3.1系统总体电路图2 系统总体电路图3.2抢答按键电路抢答按键电路采用八位开关依次接入P2口的8位,并通过编程实现抢答的优先判断,其电路如图4所示。

图4 抢答按键电路3.3数码管显示电路显示电路采用三位共阳数码管,前两位为抢答倒计时,后一位在有选手抢答时,显示抢答成功者编号。

P0口外接上拉电阻驱动数码管,并输出段选码,P1.0~P1.2口作为三位数码管的位选端,通过动态扫描的方式来实现预期功能。

数码管显示电路如图3所示。

图3 数码管显示电路3.4蜂鸣器电路蜂鸣器用以实现开始时提示、有选手抢答时提示以及时间用尽提示,外接在单片机的P3.7口上,其电路如图5所示。

图5 蜂鸣器电路3.5时钟电路通过引脚XTAL1和XTAL2外接晶振和电容构成系统时钟,如图6所示。

图6 时钟电路4软件设计4.1程序总体流程图初始化开始抢答20S ?蜂鸣Y有选手抢答?NY显示抢答成功者编号结束N图7 程序总体流程图4.2分段程序设计(1)延时程序段,即Delay()函数。

该函数用以调整单片机CPU处理指令的延时,实现数码管动态扫描显示、蜂鸣器发声等功能。

(2)数码管显示程序段,分为Display_1()和Display_2()两个函数。

前者用于在还没有选手抢答时显示问题倒计时,后者用于在有选手抢答后,数码管对时间和抢答成功者编号的显示。

(3)蜂鸣器发声程序段,即ring()函数。

用于控制蜂鸣器响一段时间。

(4)程序主函数,即main()。

该程序段用于指示单片机整个程序的入口,并设置好相应的参数、单片机处理的主要任务等。

(5)中断函数interrupt0(),用于触发主程序的执行,即打开定时器、开始倒计时等功能。

(6)定时器运行函数time0(),用于初始化定时器的初值以触发中断,实现准确倒计时的功能。

该函数的执行使定时器每10ms触发一次中断,每触发100次,即计时满1s,将倒计时的数字减一。

在倒计时未结束时,持续扫描键盘按钮,当有选手抢答时,将标志位置1,EA置0,并触发Display_2()的运行。

4.3编程语言编制程序见附录4.4调试结果源程序经过KeilC51软件编译通过,并通过调试工具成功验证软件执行结果,成功生成可以被单片机CPU识别执行的HEX文件。

5系统仿真5.1仿真结果主持人按下Start按钮,倒计时开始,运行效果如图8所示。

图8 倒计时阶段有选手抢答时,倒计时停止,显示选手编号,系统停止响应其他抢答者的按键,直到主持人将系统复位,如图9所示。

图9 抢答成功5.2问题分析(1)软件结构设计略显繁琐,会降低单片机执行效率,尚有待改进。

(2)系统功能仍可进一步扩充,使其更加智能化。

如可以加入最后五秒钟蜂鸣器报警功能、根据问题难易程度由主持人设置问题倒计时等功能。

(3)选手抢答按键判断可以采取矩阵键盘扫描方式,可方便后期扩充更多路数。

6设计总结此方案设计的抢答器具有计时抢答功能,并且灵敏度高,实用性强,造价低廉,功能比较完善。

通过这次抢答器的设计我加深了对单片机各个方面知识的了解,基本掌握了利用单片机设计制作简单的电子系统的步骤和方法。

在整个设计过程中,我先进行了软件方面的设计。

通过去图书馆翻阅相关书籍、在网络上查看相关资料等方式对项目进行了一个初步的设计,并在word上做了基本的设计思路汇总,列出大概的整体框架和程序流程图。

之后我根据流程图写出基本的c语言程序。

这个程序中包括了初始化子程序、延时程序、中断程序、定时器程序、Led数码管显示程序等。

在多次检查程序后,我在keil里对源程序进行了编译。

Keil下方显示屏中出现了两个错误,经过检查,原因是没有通过sbit 命令对接口进行定义。

经过对源代码的修改,再次运行时编译成功,之后我通过建立目标文件生成了.hex文件。

硬件方面,我根据设计需求在proteus仿真软件上进行了基本的硬件设计。

首先从元件库中选出了89C52芯片,之后我在P0口上连Led数码管显示电路,P2连选手按键抢答电路,P3口连蜂鸣器警报电路和start电路。

在这个整体过程中我认为最困难的步骤是找到适合抢答器设计的电容元件,为了解决这个问题,我上网查了大量资料,并结合自己的多次的实验,最终找到合适电路的电容。

在解决完这个问题后,我把hex文件烧录到AT89C52芯片中,但是系统无法响应Start 按键触发的中断程序,按下Start按钮后,数码管只显示20而不开始倒计时。

于是我又重新回到工程文件中查找错误的根源所在,在确定了电路图连接无误后,我开始查找C语言源程序中存在的不能被编译器识别的错误,经过反复查找和对比相关资料,最终确定导致错误的原因是误把ET0的值赋成了0而没有开启计时器,经过改正后,系统运行正常。

参考文献[1]王思明.《单片机原理及应用系统设计》.北京科学出版社,2012.09[2]邹应全.《51系列单片机原理与实验教程》.西安电子科技大学出版社,2007.12[3]周坚.《单片机轻松入门(第二版)》.北京航空航天大学出版社,2007.02[4]周坚.《单片机C语言轻松入门》. 北京航空航天大学出版社,2011.08附录C语言源程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intuint num=20;uint Count=0;uint ge=0;//个位uint shi=2;//十位uint n;uint i;uint m=0;sbit P3_7=P3^7;uchar flag=0;uchar flag1=0;uint tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void Delay(i){for(;i>0;i--);}void Display_1(){P1=0x01;P0=tab[shi];Delay(200);P1=0x02;P0=tab[ge];Delay(200);}void Display_2(){P1=0x01;P0=tab[shi];Delay(200);P1=0x02;P0=tab[ge];Delay(200);P1=0x04;P0=tab[n];Delay(200);}void ring(){flag1=0;P3_7=1;Delay(1000);P3_7=0;}main(){EA=1;//开总中断EX0=1;//开外部中断0IT0=1;//中断方式TMOD=0x01;//定时器/计数器0工作于方式1 ET0=1;//开定时器/计数器0中断TH0=0xd8;TL0=0xf0;P3_7=0;while(1){if(flag!=1)Display_1();if(flag==1)Display_2();if(flag1==1)ring();}}void interrupt0() interrupt 0{TR0=1;flag1=1;}void time0() interrupt 1{TH0=0xd8;TL0=0xf0;Count++;if(Count==100){Count=0;num--;}if(num!=0&&P2==0xff){shi=num/10;ge=num%10;flag=0;}if(num==0){ring();EA=0;}if(num!=0&&P2!=0xff){switch(P2){case 0xfe:n=1;flag=1; flag1=1;EA=0;break;case 0xfd:n=2;flag=1; flag1=1;EA=0; break;case 0xfb:n=3;flag=1; flag1=1;EA=0; break;case 0xf7:n=4;flag=1; flag1=1;EA=0; break;case 0xef:n=5;flag=1; flag1=1;EA=0; break;case 0xdf:n=6;flag=1; flag1=1;EA=0; break;case 0xbf:n=7;flag=1; flag1=1;EA=0; break;case 0x7f:n=8;flag=1; flag1=1;EA=0; break;default:break;}}}。

相关文档
最新文档