基于51单片机的4人抢答器课程设计
4路抢答器设计单片机课程设计报告
![4路抢答器设计单片机课程设计报告](https://img.taocdn.com/s3/m/6b6261cf7375a417876f8f32.png)
目录1、课程设计目的 (3)2、课程设计正文 (3)1、软件方面设计 (3)①总程序流程图 (3)②显示子程序流程图 (4)2、硬件方面设计 (5)①方案设计 (5)②单元电路设计 (5)③系统调试 (8)3、课程设计总结或结论 (8)4、参考文献 (8)附录一:总的原理图附录二:PCB图附录三:总程序1、课程设计目的①可以自主设计简单地电路;②掌握响应外部中断的原理;③利用Protel硬件设计电路原理图和PCB图;④初步掌握使用Proteus进行单片机的软硬件联机调试。
技术要求:①设置4个抢答台和4个抢答成功指示灯,1个比赛主持人“开始”键和1个抢答指示灯以及1个LED显示器。
②采用中断和查询结合的方法确定按键的动作。
③主持人按下“开始”键后,若有人抢答,则抢答指示灯确认有人抢答,并用7段LED显示抢答者的号码(1--4),并同时点亮对应抢答台上的抢答成功指示灯;若10秒内无人抢答,则发出超时报警,此题作废,主持人可按下“开始”键开始下一题的抢答。
2、课程设计正文1、软件设计方面①总程序流程图②显示子程序2、硬件方面设计①方案设计采用以52为内核的STC系列的芯片,组成一个单片机的最小应用系统,运用C语言编程来实现四路抢答器的设计,采用独立式键盘来作为输入,LED数码管显示,蜂鸣器来报警。
用此方案的优点是:编程简单、操作方便、成本低和错误率低。
②单元电路设计各引脚接线:通过单片机各引脚功能的介绍,本硬件设计中,P0口接数码管显示器;P1口接独立式键盘;P2.0通过PNP驱动接数码管;/ALE脚和/PSEN脚悬空,/EA脚接高电平;复位电路包含了上电复位和按键复位;晶振选择为6MHz,GND接地,VCC接+5V电源;蜂鸣电路接在P2.1上面。
针对抢答器的设计,输入电路键盘按下开始键后,开始抢答,按下相应的键,输出电路相应的LED二极管发光、数码管显示相应的序号⑴复位电路复位电路有两种复位方式:上电复位和按键复位。
基于单片机的四路抢答器的设计
![基于单片机的四路抢答器的设计](https://img.taocdn.com/s3/m/1c24170bf78a6529647d53da.png)
实验内容
本选题采用89C51做为核心器件,利用4*4矩阵 键盘作为输入部分,四位数码作为显示部分。 89C51通过扫描矩阵键盘,判断是否有按键按下, 通过中断程序,动态扫描数码管,将处理的结果 显示出来。RS232接口电路的设计采用MAX232, 用以进行电平转换,使单片机的TTL电平与PC的 RS232电平达到匹配。
提高部分
增加抢答队伍至八个队伍 当抢答的队伍使用锦囊或者选择了提高部 分的题目时,通过设置键,重新设置抢答 时限。按下增加键,时间增加1(选择了提 高部分的题目);按下减少按键的时候, 时间减去1(使用了锦囊功能);
实验所用工具 单片机程序编译软件
单)抢答功能:通过按键配合程序来实现抢答功能。当主 持人按下抢答键开始抢答后,此时任一路按下按钮均闭 锁其它各路,由程序对键盘译码并显示最先按下抢答键 的路数及其当前时间。 (2)抢答限时:主持人按下抢答键后,设置5秒为抢答时 间(此时间可在1-99秒之间修改)。若5秒内无人抢答,倒 计时为0时发出报警,说明该抢答题目作废。此时闭锁所 有抢答按键,只有当主持人再次按下抢答键开始下一次 抢答方可抢答。 (3)答题限时:当主持人按下开始答题按钮时,启动倒计 时60秒(此倒计时时间可在1~99秒之间修改),若答题时 间过长,倒计时为0时发出报警,说明答题时间到。 (4)计分功能:当按下计分键后可始计分,可实现加减计 分(10分),分值可在1~999之间设置。如果各题分值 相同,可在第一次设定计数分值后直接按加键或减键来 实现计分。 (5)设定功能:按下设定键后,可按顺序设置抢答限时时 间,答题限时时间和默认计分分值。
软件主程序流程图
中断子程序 流程图
键盘扫描 子程序
实验电路
单片机最小系统 通信模块(用于下载stc单片机) 4*4矩阵键盘电路 数码管显示电路
单片机课程设计四路抢答器
![单片机课程设计四路抢答器](https://img.taocdn.com/s3/m/84f44d7bf242336c1eb95ee1.png)
xxxxxx大学课程设计报告课程设计名称:单片机系统综合课程设计课程设计题目:四路抢答器院(系):专业:班级:学号:姓名:指导教师:完成日期:xxxxxx大学课程设计报告目录第1章总体设计方案 (1)1.1课程设计的内容和要求 (1)1.2课程设计原理 (1)1.3课程设计思路 (2)1.4实验环境 (2)第2章详细设计方案 (3)2.1硬件电路设计 (3)2.2主程序设计 (4)2.3功能模块的设计与实现独立式按键功能模块 (4)第3章调试及结果分析 (7)3.1调试步骤及方法 (7)3.2实验结果及分析 (7)参考文献 (8)附录一(源程序) (9)附录二(原理图) (13)附录三(元器件清单) (14)第1章总体设计方案1.1课程设计的内容和要求(1)课程设计内容:使用51单片机制作抢答器功能如下:①常规模式主持人按下抢答开始开关,数码管从10S开始倒计时,此时选手可以抢答,若有选手抢答,相应LED亮,单数码管显示其选手号,双数码管从30S开始进行答题倒计时,答题时间到则单数码管闪烁显示选手号5次,再回到初始状态,若时间到但没有人抢答则回到初始状态(所有灯灭,检测主持键是否按下)②违规模式主持人尚在念题还未按下抢答开始开关,某选手违规抢答,则单数码管闪烁显示其选手号5次后回到初始状态。
(2)课程设计要求:①认真完成课程设计任务;②通过老师现场验收;③交出完整的课程设计报告。
1.2 课程设计原理根据题目要求,设计中采用8031芯片、LED灯、数码管和一些独立式按键构成一个简易四路抢答器。
设计中由于数码管扫描延时比较长,采用单片机的内部定时器进行定时,并采用中断方式。
整个抢答器的工作原理是:在正常的供电状态下,开始抢答时利用单片机倒计时,并由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则执行相应的键功能程序。
1.3 课程设计思路(1)提出方案根据设计要求,系统采用个独立式开关作为按键,通过单片机不停地扫描P1口来控制LED数码管的显示,当按下启动按键后,经单片机处理,输出控制信号,数码管从10开始进入减计时并在数码管上显示剩余时间,在有选手按下按键时,就会有对应于这个按键的编码在数码管上显示,同时蜂鸣器给出声响来提示主持人和选手;如果在10秒内没有选手抢答,则本次抢答无效,系统封锁输入电路,禁止选手超时抢答。
基于单片机实现智能4路抢答器的设计
![基于单片机实现智能4路抢答器的设计](https://img.taocdn.com/s3/m/071af681d1f34693dbef3e1a.png)
智能四路抢答器目录一、前言 (3)二、方案设计 (3)1、方案比较 (3)2、系统总体设计方案与实现框图 (3)三、理论分析 (3)四、电路设计 (4)1、按键部分 (4)2、显示部分 (4)五、软件模块 (5)六、测试方法与数据 (6)七、结论 (6)八、参考文献 (6)一、前言本设计要求能够在主持人按下开始键后,四个参赛者开始抢按自己的按键,谁的按键先按下,谁面前的灯就会亮并且有相应的提示,当参赛者耗时太多时又会有相应的提示。
根据设计的要求,本系统采用独立式按键,通过单片机不停的扫描按键来控制LED灯和蜂鸣器,并用定时器T0来定超时的时间,当超时的时候让蜂鸣器响。
二、方案设计1、方案比较(1)、总体设计方案一:采用可编程I/O口扩展芯片81558155作为单片机的扩展接口能实现很多功能,但是这个系统并不复杂,用8155会浪费很多的资源,而且8155要用P0和P2端口作为地址线对它进行读写,这样不仅浪费端口还使得编程变的复杂。
从节省资源和简化编程的角度考虑,放弃了此方案。
方案二:直接采用AT89C51单片机直接用单片机不仅编程被简化,还有效的利用了各个端口。
8051单片机的资源完全够这个系统的要求。
所以最终选择了此方案。
(2)、模块方案一:采用4*4矩阵键盘此种键盘是常用的按键扫描方法,但是本系统只需要六个按键,这样就会浪费十个,而且矩阵按键扫描要送数读数,对于编程很复杂,最终放弃了此方案。
方案二:采用独立式键盘本系统只要六个按键就可以,用独立式键盘不仅节省端口还使编程变得简单。
程序只要不停的读数检查就行。
所以,最终选择此方案。
2、系统总体设计方案与实现框图采用六个独立式的键盘作为按键输入,当在开始后有按键按下时,就会有对应于这个按键的灯亮并且蜂鸣器响一声,其它按键再按也无效。
十秒之后如不清除,蜂鸣器就会一直响,提示已经到时间。
框图如图1。
- 1 -6图1三、理论分析51单片机的端口上电是高电平,而且当外部没有输入时能自动的弹跳到高电平,所以通过按键所接端口的高低电平变化可以判断出哪个按键按下了。
51单片机的四路电子抢答器设计
![51单片机的四路电子抢答器设计](https://img.taocdn.com/s3/m/faaa59b6da38376bae1fae40.png)
目录1设计要求与功能 (4)1.1设计基本要求 (4)2 硬件设计 (4)2.1控制系统及所需元件 (4)2.2抢答器显示模块 (5)2.3 电源方案的选择 (6)2.4 抢答器键盘的选择 (6)2.5蜂鸣器模块 (7)2.6外部振荡电路 (7)3 程序设计 (7)3.1程序流程图 (7)3.2系统的调试............................................... (9)3.3 焊接的问题及解决 (10)4总结 (10)附录C程序 (11)Word 资料一设计要求与功能1.1设计基本要求(1)抢答器同时供4名选手或4个代表队比赛使用,分别用4个按钮K1~K4表示。
(2)设置裁判开关k5和清零开关k6,该开关由主持人控制,当主持人按下k6,系统复位,预备抢答,当主持人按下总控制控制开关k5,开始抢答;(3)抢答器具有定时抢答功能,抢答时间为倒计时15秒。
当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的提示声响,声响持续的时间0.5秒左右,当计时小于5秒后,每减少一秒,便报警一次以提示选手。
(4)抢答器具有锁存功能,参赛选手在设定的时间内进行抢答,抢答有效,蜂鸣器发声,计时停止,数码管上显示选手的编号和时间,选手相应的信号灯被点亮,其他选手再抢答时无效。
(5)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答。
等待下一轮抢答。
二硬件设计2.1控制系统及所需元件控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。
其中单片机STC89C52是系统工作的核心,它主要负责控制各个部分协调工作。
所需元件:该系统的核心器件是STC89C52。
各口功能:P0.0-P0.3 是数码管的位选口;P2.0-P2.7是数码管的段选口,为其传送段选信号;P1.0-P1.3是4组抢答信号的输入口;P1.4、P1.5由裁判控制,分别是抢答开始\复位功能键;P1.6为蜂鸣器的控制口;P3.4-P3.7为选手信号灯输出口;在其外围接上电复位电路、数码管电路、LED发光二极管、按键电路及扬声器电路。
基于c51单片机四路抢答器课程设计
![基于c51单片机四路抢答器课程设计](https://img.taocdn.com/s3/m/5c9dfa2e10661ed9ad51f3c9.png)
3
上图为指示灯电路,采用共阳极的方式,为低电平是发光二极管量,基发光二极管的正极接上500兆的保护电阻再接到高电平,另外一端街道单片机的P0口的P0.0-P0.4,当其对应的按键按下时,相应的二极管就会被点亮。
基于c51单片机四路抢答器
一.
单片机作为一种工具,现在已经广泛的应用于竞赛场合。本次试验是基于单片机51系列的理论知识综合运用AT89c52单片机设计的简易四路抢答器。运用AT89c52单片机的外围借口来实现抢答系统,利用单片机的定时器/计数器计数和定时的原理,将软、硬件有机的结合起来,使得系统能正确的记时,发光二极管能正常的闪烁。同时系统能够实现:在抢答过程中只有主持人按下开始抢答按键后抢答才有效,如果在开始抢答之前抢答视为无效。在抢答成功之后发光二极管会变成闪烁状态并提示选手开始回答问题。同时还有主持人控制的系统复位键,以实现系统的复位。还有按键锁定,在一个选手抢答成功或者违规状态下其他按键无效。
RST:复位输入。
EA\VPP:当\EA保持低电平时,则在此期间外部程序存储器不变,不管是否有内部程序存储器。当EA端保持高电平时,此期间内部程序存储器不变。
XTAL1:反向振荡放大器的输入及内部时钟电路的输入。
XTAL2:来自反向振荡器的输出。
3
如右图(图3)4个独立式按键K1-K4分别接在P3口的P3.0-P3.3另外一端接地。当有一键按下时相应的口线的电平发生变化,单片机进行扫描确定哪个键按下。
六.
单片机 四人抢答器 课程设计4
![单片机 四人抢答器 课程设计4](https://img.taocdn.com/s3/m/76798be59b89680203d825e6.png)
四人抢答器模拟实验报告一、目的与要求1.目的:(1)培养学生综合利用MCS-51单片机的软硬件知识进行程序设计的能力,解决一些实际问题。
(2)进一步加深对MCS-51单片机内部结构和程序设计方法的理解。
(3)提高学生建立程序文档、归纳总结的能力。
2.基本要求:(1)要求用MCS-51单片机知识完成程序的设计;(2)源代码程序要求必要的注释。
3.创新要求在基本要求达到后,可以进行创新设计,如更加完善程序功能。
二、系统总体设计基于MCS-51单片机的智能抢答器的设计,主要要实现以下几种功能:(1)当主持人按下他的按键时,抢答开始,LED显示器开始从0到20的定时记数。
(2)在20秒定时的时间内,如果有竞赛者要回答问题,那么按下自己的按键,此时,与该竞赛者对应的显示灯亮,并且LED显示器的计时停止。
先按键的竞赛者可屏蔽其他人的抢答信号。
(3)如果在20秒定时结束后,即LED显示器显示20时,仍然没竞赛者按下按键回答问题,那么报警信号灯亮(4)在20秒内,可以进行累加计时三、硬件系统设计该抢答器的设计是基于MCS-51单片机的,使用到的硬件主要有8051的P1口和P3口,LED显示器,8155芯片及单片机内部的定时器/计数器T/C。
如图示(图1):图11.使用4个开关分别代表4个选手控制号,用P1口中的P1.0,P1.1,P1.2,P1.3表示四个选手2.用P1.7(X6)表示红灯,P3口中的P3.2与外来脉冲连接,控制继续计时。
3.资源分配:在设计过程中,用到了8051的P1口和P3口,主要是/INT0和/INT1,用竞赛者的按键X0、X2、X3、X4控制/INT1。
当程序运行时,启动T/C计数,用8155芯片使LED显示计;当/INT1产生有效信号时,停止T/C计数,LED计时停止。
四、程序流程图(如图2):图2五:系统软件设计1. 主程序主程序功能:完成单片机MCS-51的初始化操作;定时器初始化;等待定时器中断的发生;发生中断,则转入相应的中断服务程序,执行相应功能的子程序。
创新性实验报告-基于51单片机的四路抢答器设计
![创新性实验报告-基于51单片机的四路抢答器设计](https://img.taocdn.com/s3/m/b2259ad7d15abe23482f4db1.png)
山东科技大学电工电子实验教学中心
创新性实验结题报告
实验项目名称_基于51单片机的四路抢答器设计
__________
组长姓名学号_
手机 Email_
成员姓名_学号__
成员姓名__学号__
专业___班级__
指导教师及职称________
开课学期至_学年_学期
提交时间年月日
一、实验摘要
二、实验目的
三、实验场地及仪器、设备和材料:
四、实验内容
图1 四路抢答器实验原理图
开始按键接到单片机的P1.1口,复位按键接到单片机的P1.0口,四个抢答按键分别接
五、实验结果与分析
选手3抢答键按下发光二极管D4点亮,蜂鸣器报警,同时数码管显示3。
2、对实验现象、数据及观察结果的分析与讨论:
六、指导老师评语及得分:
七、中心意见:。
基于51单片机的四路抢答器设计
![基于51单片机的四路抢答器设计](https://img.taocdn.com/s3/m/8a38edc480eb6294dd886c47.png)
摘要 (I)Abstract (II)引言 (1)1系统概述 (2)1.1抢答器需求分析 (2)1.2 抢答器工作过程 (2)2 单片机功能简介 (3)2.1 STC89C51的功能 (3)2.1.1 STC89C51特殊功能寄存器 (3)2.2 STC89c51单片机的内部结构 (5)3 系统硬件电路的设计 (6)3.1 系统总电路如图 (6)3.2 最小系统的设计 (7)3.2.1 电源的设计 (7)3.2.2 时钟频率电路的设计 (7)3.2.3 复位电路的设计 (9)3.3 显示电路的设计 (11)3.3.1 数码管简介 (12)3.3.2 CD4511七段译码器简介 (12)3.4 按键电路的设计 (14)3.5 蜂鸣器设计 (15)3.6元器件焊接及调试 (17)4 系统软件的设计 (17)4.1 延时子程序 (19)4.2 显示子程序 (19)4.3 倒计时加按键扫描子程序 (19)4.4主程序及分析 (20)5 结论 (23)参考文献 (24)致谢 (25)附录 1 (26)附录2 (27)Contents Abstract....................................................... I I Introduction. (1)1 System overview (2)1.1 The analysis of responder needs (2)1.2 Responder work process (2)2 MCU features (3)2.1 STC89C51 (3)2.1.1 Special function register (3)2.2 The internal structure of STC89c51 (5)3 The design of circuit system (6)3.1 The circuit system (6)3.2 The design of minimum system (7)3.2.1 The design of power supply (7)3.2.2 The design of clock circuit (7)3.2.3 The design of reset circuit (9)3.3 The design of display circuit (11)3.3.1 Digital tube profile (12)3.3.2 The introduction of CD4511 (13)3.4 The design of key circuit (15)3.5 The design of buzzer (15)3.6 Components and welding debuggin g (17)4 The design of software (19)4.1 Delay subroutine (19)4.2 Display program (19)4.3 The countdown and keyboard scanning subroutine (19)4.4 Main program and analysis (20)5 Conclusions (23)References (24)Acknowledgement (25)Appendix 1 (26)Appendix 2 (27)基于51单片机的四路抢答器设计作者:吴新春,指导教师:刘平(山东农业大学讲师)【摘要】本文设计以STC89C51单片机为核心的四路抢答器。
基于51单片机智能抢答器的设计
![基于51单片机智能抢答器的设计](https://img.taocdn.com/s3/m/54603ffb370cba1aa8114431b90d6c85ec3a8811.png)
基于51单片机智能抢答器的设计智能抢答器是一种集电子技术、语音技术、计算机技术于一体的智能化设备。
它具备自动抢答、语音提示、计时等功能,并可以实现多人同时抢答、成绩统计等多种功能。
其中,基于51单片机的智能抢答器是一种经济实用并且易于操作的设备。
本文就以此为例,对基于51单片机的智能抢答器进行设计。
一、设计方案51单片机智能抢答器的设计方案主要包括硬件和软件两部分内容。
硬件方面,需要设计信号输入部分、信号处理部分、语音提示部分、显示部分以及计时部分。
信号输入部分是指抢答信号的输入,需要考虑抢答按键与51单片机的连接方式以及按键防抖处理。
信号处理部分是指对抢答信号进行处理,需要实现自动抢答、多人抢答、成绩统计等功能。
语音提示部分是指用于提示答题情况的语音播报设备,需要考虑语音芯片的选择、接口连接等问题。
显示部分是指用于显示抢答结果的设备,需要考虑LED数码管的选择、连接方式等。
计时部分是指用于计时的设备,需要考虑时钟模块的选择、接口连接等问题。
软件方面,需要设计对抢答信号的处理程序和对语音提示、显示、计时等操作的控制程序。
对抢答信号的处理主要包括抢答的触发、抢答的判断和存储等功能。
语音提示、显示和计时等程序需要根据硬件方案设计相应的操作接口并编写控制程序。
二、电路设计(1)信号输入部分信号输入部分采用4个抢答按键,分别对应4个LED指示灯,用于表示抢答结果。
在抢答按键与51单片机之间加入一个电阻,可以起到按键的防抖作用。
例如,当按下按键时,由于机械原因,按键可能会反弹几次,这样就可能引起不必要的误操作。
加入电阻可以使按键的电平稳定,避免误操作。
信号处理部分通过对抢答信号的处理,实现自动抢答、多人抢答和成绩统计等功能。
采用中断方式来读取抢答信号。
当一个按键被按下后,51单片机通过中断程序自动判断抢答是否正确,并在LED指示灯上显示抢答正确与否。
如果抢答正确,则该按键所对应的LED点亮,如果抢答错误,则LED不亮。
基于MCS51单片机的四路抢答器课件
![基于MCS51单片机的四路抢答器课件](https://img.taocdn.com/s3/m/7a7d14211611cc7931b765ce0508763231127492.png)
程序流程图如下
电路原理图及PCB制版图
四路智力抢答器电路原理图
四路智力抢答器PCB模块
程序设计
▪ 抢答器工作过程如下
▪ · 首先主持人选定倒计时时间,单片机扫描U3以 获取此信息。如果没有人为设置,默认为10s。
▪ · 在按下抢答按键之前,3个数码管全部显示“0”。
▪ · 按下抢答按键之后,蜂鸣器响一声,单片机开 始倒计时,数码管U6和U7显示倒计时时间,数 码管U8显示“0”。
▪ void send_data(uchar);
▪ uchar set_time(void); 时时间
▪ bit control_key(void); 是否按键
▪ uchar get_key_num(void); 个参赛者按键
▪ void display_time(void); 时剩余时间
//初始化MAX7219 //向控制寄存器写数
▪ 完成上述功能的电路包括时间设定开关、声光显 示、按键控制以及按键锁存等部分
各模块功能
▪ 单片机部分 ▪ 时间设定模块 ▪ 按键模块 ▪ 数码管显示模块 ▪ 蜂鸣器模块
单片机部分
▪ 通过读取P3.7~P3.3 的状态决定倒计时时 间;通过读取P1.3~ P1.0的状态读取按键 情况;通过P2.4~ P2.2控制显示模块以 显示按键者的号码和 倒计时所剩时间;通 过P0.1控制蜂鸣器
key_flg=1;
//设置有人按键答题标志
TR0=0;
//停止T0运行
}
else
//否则循环检测
{
display_time();
//并显示剩余时间
continue;
}
}
if(key_flg==1)
单片机 四人抢答器 课程设计2
![单片机 四人抢答器 课程设计2](https://img.taocdn.com/s3/m/290f84f5ba0d4a7302763ae6.png)
四人抢答器模拟试验♦设计目的:1.培养综合利用MCS-51单片机的软硬件知识进行程序设计的能力,解决一些实际问题。
2.进一步加深对MCS-51单片机内部结构和程序设计方法的理解。
3.提高建立程序文档、归纳总结的能力。
♦总体描述:1.功能描述:(1)记时,按要求记时20S,若需要可进行累加记时。
(2)显示抢答人的号码和当时的时间;若抢答时间小于20S,并且回答不正确,可继续抢答。
(3)警告:若20S到时,红灯亮,并显示无人抢答2.设计方案描述:用三个LED数码管分别显示抢答人号码和时间;有人抢答后,时间及号码均显示,但不再进行加时;给一个脉冲后,说明刚才强答的回答不正确,可继续抢答和累加记时,若到达20S后,显示最后一个抢答人的号码。
无人答对时,显示无人抢答。
♦硬件系统设计:1.所需设备:2.接线方式:(1)P1.0-P1.3分别接到四个开关1、2、3、4上,来分别表示1、2、3、4个选手号。
(2)P1.7接到红灯上,当20S到时加以警告。
(3)P3.2接脉冲按钮,以控制开始记时及继续记时。
♦软件系统设计:否是是是程序清单及注释:org 0000hajmp mainorg 0003hajmp start ;跳转到中断子程序org 000bhajmp time ;跳转到计时程序org 0030hmain: mov tmod,#1mov th0,#0b1hmov tl0,#0e0hmov ie, #83hsetb tr0 ;置位mov r3,#0mov r4,#0mov 30h,#0mov 31h,#0mov 32h,#0 ;初始化所用的寄存器和存储器disp: mov sp,5fh ;显示时间和号码程序mov a,#03h ;mov dptr,#0ff20hmovx @dptr,aloop: mov r5,#1mov r0,#30hmov a,r5loop1: mov dptr,#0ff21hmovx @dptr,amov dptr,#0ff22hmov a,@r0add a,#0ehmovc a,@a+pcmovx @dptr,aacall dlay ;调用子程序inc r0 ;寄存器加1mov a,r5jb acc.2,ld ;判断rl a ;a寄存器左移mov r5,aajmp loop1 ;跳转ld: sjmp looptable: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0c8h ;数据列表dlay: mov r7,#02hdl1: mov r6,#0ffhdl2: djnz r6,dl2djnz r7,dl1rettime: mov th0,#0b1h ;计时程序mov tl0,#0e0hpush psw ;标志入栈push acc ;累加器入栈mov a,#0fhorl p1,amov a,p1anl a,#0fhcjne a,#0,go_oninc r3cjne r3,#25,back ;判断是否相等mov r3,#0inc r4mov a,r4mov b,#10div abmov 31h,amov 30h,bcjne r4,#20,back ;判断是否相等cpl p1.7mov 32h,#10clr tr0 ;清零sjmp backgo_on: clr tr0jnb acc.0,two ;判断mov 32h,#01hsjmp back ;跳转two: jnb acc.1,threemov 32h,#02hsjmp backthree: jnb acc.2,fourmov 32h,#03hsjmp backfour: mov 32h,#04hback: pop accpop pswretistart: setb tr0retiend♦调试:♦自评分和收获体会:通过本次试验,是我更深一步的学习了单片机,加深了对单片机的结构的认识,增强了对单片机软硬件知识及汇编语言的应用能力,收获很大。
四人抢答器设计
![四人抢答器设计](https://img.taocdn.com/s3/m/464e6425ed630b1c59eeb5ab.png)
《单片机技术》课程设计任务书(一)
题目:四人抢答器设计
一、课程设计任务
本课题要求应用以51单片机为核心设计一四人抢答器,由1个主持人按键、4个抢答按键、用于显示号码的数码管、用于渲染气氛的LED和蜂鸣器组成。
二、课程设计目的
通过本次课程设计使学生掌握:1)掌握以单片机为核心的控制系统的分析和设计的基本方法;2)控制程序的设计及实现方法;3)提高学生对单片机实时控制系统的设计和调试能力。
三、课程设计要求
开机后,LED渲染气氛,在主持人按下“开始”键后,渲染气氛LED停止,数码管显示抢答剩余时间(初始10s);甲、乙、丙、丁4人可按下抢答,当有人按下键后,蜂鸣器响(可播放一段音乐),同时显示位号后,渲染气氛LED从停止的位置继续显示,回到初始状态。
四、课程设计内容
1、人机对话“界面”的设计;
2、内存端口及外设的设置;
3、硬件电路原理图、软件清单。
五、课程设计报告要求
报告中提供如下内容:
1、目录
2、正文
(1)课程设计任务书;
(2)总体设计方案
(3)针对人机对话“界面”要有操作使用说明,以便用户能够正确使用本产品;
(4)硬件原理图,以便厂家生成产(可手画也可用protel软件);
(5)程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序的名称及其功能);
(6)调试、运行及其结果;
3、收获、体会
4、参考文献
六、课程设计进度安排
七、课程设计考核办法
本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%。
基于51单片机的抢答器设计
![基于51单片机的抢答器设计](https://img.taocdn.com/s3/m/8f08517f590216fc700abb68a98271fe910eaf9e.png)
基于51单片机的抢答器设计设计一个基于51单片机的抢答器,可以用于教育培训、竞赛等场合。
抢答器由主控制器、抢答器模块和显示器等组成,可以实现多人同时抢答、自动计分和答题结果显示等功能。
1.系统结构设计:系统由主控制器、抢答器模块和显示器组成。
主控制器使用51单片机,通过IO口与抢答器模块和显示器进行通信。
抢答器模块包括按钮、指示灯和计分器等,用于获得用户的抢答信号和显示计分信息。
显示器用于显示抢答排名、答题结果以及题目等信息。
2.功能设计:-多人抢答功能:主控制器通过轮询方式检测抢答器模块的按钮状态,记录首先按下按钮的参与者信息,并显示其抢答排名。
-自动计分功能:主控制器根据参与者的抢答顺序和答题正确与否,自动计算得分。
得分可以通过显示器进行实时显示。
-答题结果显示功能:在抢答结束后,主控制器将抢答排名、得分和题目等信息发送给显示器,显示器将其显示。
3.系统硬件设计:主控制器部分由51单片机、外围电路和通信接口组成。
外围电路包括时钟电路、复位电路和按键矩阵扫描电路。
通信接口与抢答器模块和显示器相连,通过IO口进行通信。
抢答器模块由按钮和指示灯组成,用于用户抢答和显示抢答状态。
计分功能可以通过数字显示器实现。
显示器部分包括LCD显示屏和控制电路,用于显示抢答排名、答题结果和题目等信息。
4.系统软件设计:主控制器的软件设计主要包括抢答状态检测、计分规则实现和与外围设备的通信。
-抢答状态检测:通过轮询方式检测抢答器模块的按钮状态,记录首先按下按钮的参与者信息,并显示其抢答排名。
-计分规则实现:根据参与者的抢答顺序和答题正确与否,自动计算得分并更新显示器上的得分信息。
-与外围设备通信:与抢答器模块和显示器进行通信,发送抢答排名、得分和题目等信息。
5.系统优化:为提高系统的稳定性和可靠性-设计合理的接口电路,提高抗干扰能力。
-采用合适的检测算法,提高抢答状态检测的准确性。
-优化算法,提高计分规则的实时性和正确性。
基于单片机的四路抢答器设计
![基于单片机的四路抢答器设计](https://img.taocdn.com/s3/m/9d417ddd84254b35eefd345e.png)
简易四路抢答器设计目录摘要 (1)一、设计任务与要求 (2)二、方案设计与论证 (2)三、硬件电路设计 (2)1、抢答器的设计总电路 (2)四、软件设计 (3)1、系统主程序流程图 (3)五、器件选型方案 (4)六、调试 (5)1、上电 (5)2、开始 (5)3、仿真 (5)七、体会与心得 (6)八、参考文献 (7)附录主程序清单 (8)单片机四路抢答器设计摘要:本设计是以四路抢答为基本理念。
考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器中断和外部中断,将软、硬件有机地结合起来,使得系统能够正确地进行工作,同时使数码管能够正确显示组别。
用开关做键盘输入,扬声器发生提示。
同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;可以显示是哪位选手有效抢答,正确按键后有音乐提示;当有一组抢答成功后其他组抢答无效。
关键字:AT89C51单片机;四路抢答器;定时/计数器中断一、设计任务与要求1、抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0 ~ S3表示。
2、设置一个复位按钮和抢答控制开关S,该开关由主持人控制。
3、抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统复位为止。
二、方案设计与论证方案:该系统采用单片机AT89C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。
由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。
整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。
MCS-51单片机特点如下:1、可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。
单片机四路抢答器的设计
![单片机四路抢答器的设计](https://img.taocdn.com/s3/m/f9415c49a31614791711cc7931b765ce05087a8b.png)
单片机四路抢答器的设计一、设计需求分析在设计四路抢答器之前,我们首先需要明确其功能需求。
1、能够同时支持四路选手进行抢答。
2、当有选手按下抢答按钮时,能够迅速锁定并显示抢答者的编号。
3、具备倒计时功能,在规定时间内无人抢答则显示超时。
4、要有声音提示,如抢答成功、违规抢答、倒计时结束等。
二、硬件设计1、单片机选择我们选用常见的 51 系列单片机,如 STC89C52 单片机。
它具有性能稳定、价格低廉、编程方便等优点。
2、输入模块使用四个独立按键作为四路选手的抢答按钮,分别连接到单片机的四个 I/O 口。
3、显示模块采用数码管显示抢答者的编号和倒计时时间。
可以选择共阴极或共阳极数码管,通过单片机的 I/O 口进行驱动。
4、声音模块使用蜂鸣器来实现声音提示功能。
通过单片机控制蜂鸣器的通断,产生不同频率的声音。
5、电源模块为整个系统提供稳定的电源,可以使用 5V 直流电源适配器。
三、软件设计1、编程语言选择 C 语言进行编程,C 语言具有语法简洁、可读性强、可移植性好等优点。
2、主程序流程系统初始化后,进入等待抢答状态。
当有选手按下抢答按钮时,判断是否违规抢答(即在倒计时未结束前抢答)。
如果是合法抢答,锁定抢答者编号并显示,同时发出抢答成功的声音提示;如果是违规抢答,则发出违规提示音并显示违规者编号。
在抢答成功后,开始倒计时,倒计时结束时发出超时提示音。
3、中断处理利用单片机的外部中断功能,实现对抢答按钮按下事件的快速响应。
4、计时与显示程序通过定时器实现倒计时功能,并将剩余时间实时显示在数码管上。
四、系统调试1、硬件调试首先检查电路连接是否正确,有无短路、断路等情况。
然后测量各个电源点的电压是否正常,确保硬件工作在稳定的状态。
2、软件调试将编写好的程序下载到单片机中,通过单步调试、断点调试等方式,检查程序的执行流程和逻辑是否正确。
同时观察数码管显示和蜂鸣器发声是否符合预期。
五、设计优化与拓展1、增加更多的抢答通道,以满足更多选手参与的需求。
课程设计、四人抢答器的中断控制设计目的通过本设
![课程设计、四人抢答器的中断控制设计目的通过本设](https://img.taocdn.com/s3/m/18e2c65aa26925c52cc5bf81.png)
பைடு நூலகம்
1.1 设计目的 通过本设计,主要学习下面内容: 单片机中断原理及编程方法。 外部中断的使用方法及应用。
1.2 设计要求
利用MCS-51单片机中断系统设计一个四人抢答器。要求任 何一个人第一时间抢答成功,相应指示灯点亮,并发出铃声, 其它人的抢答则被屏蔽。 1.3设计思想 可使P1.0~P1.3脚分别接选手的按钮,并通过与门与外部中 断0引脚(P3.2)相连, P3.3接扬声器,P1.4~P1.7接指示灯。
寄存器的控制位进行操作?分别用位操作指令和字节操
作指令写出实现上述要求的指令序列。
0006
0009 000B 000D 000F
75817 0
D288 D2B2 D2AF D2A8
START: MOV SP,#70H
SETB IT0 SETB P3.2 SETB EA SETB EX0 中断 中断
0011
80FE
SJMP $
0013
0015
7FFF
7FFF
DELAY: MOV R7,#0FFH
当S1~S4中有一个按钮按下时,都能产生中断,而 其它人按下属于同级中断,CPU不再响应。CPU响应中 断时,从P3.3发出铃声信号,并点亮相应指示灯。 1.4 硬件电路原理图 硬件设计电路如图1-6所示。
1.5 设计步骤 (1)仔细阅读并理解程序,补齐空缺的注释。 (2)按硬件电路原理图5-6连接电路。 (3)将实验程序送入单片机开发系统,并检查程序是否正确。
0024
B2B3
CPL P3.3
0026
2000 2002 2004
DEF8
E590 540F C4
ORG 2000H
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};//数码管编码
sbit dula=P1^6;//定义段选端口
sbit wela=P1^7;//定义位选端口
sbit sp=P3^0;//定义蜂鸣器端口
sbit clear=P1^0;//定义清零键
flag4=1;
beep();
while(!key1);
}
}
if(key2==0&&flag4==0)
{
delay(10);
if(key2==0&&flag4==0)
{
display(2);
TR0=0;
flag1=flag2=0;
flag4=1;
beep();
while(!key2);
}
}
if(key3==0&&flag4==0)
基于51单片机的4人抢答器设计
设计要求:
以单片机为核心,设计一个4位竞赛抢答器:同时供4名选手或4个代表队比赛,分别用4个按钮S0~S3表示。
设置一个系统清除和抢答控制开关S,开关由主持人控制。
抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。
TR0=0;
flag1=flag2=0;
flag4=1;
beep();
while(!key4);
}
}
}
void keyscan()//检测按键
{
if(clear==0&&flag2!=1)//判断清零键,判断语句的作用是按下开始键清零键失效
{
delay(10);
if(clear==0&&flag2!=1)
抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。
当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。
参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。
如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
sbit start=P1^1;//开始键
sbit key1=P1^2;
sbit key2=P1^3;
sbit key3=P1^4;
sbit key4=P1^5;//key1到key4为选手按键
void delay(uint z)//延时函数
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
shi=num1/30;
ge=num1%30;
wela=1;
P2=0xff;
wela=0;
dula=1;
P2=table[shi];
dula=0;
P2=0xff;
wela=1;
P2=0xfe;
wela=0;
delay(5);
wela=1;
P2=0xff;
wela=0;
dula=1;
P2=table[ge];
}
void beep()//定义蜂鸣器函数
{
sp=0;
delay(500);
sp=1;
}
void display(uint a) //选手编号显示函数
{
wela=1;
P2=0xff;//防止锁存干扰
wela=0;
dula=1;
P2=table[a];
dula=0;
P2=0xff;
wela=1;
P2=0xfd;
{
delay(10);
if(start==0&&flag3==0)
{
flag2=1;
flag3=1;
while(!start);
}
}
}
if(flag2==1)//按下开始键
{
TR0=1;//启动定时器0
dis30s();
player();
}
}
void main()
{
TMOD=0x01;//设置定时器0工作方式1
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;//开总中断
ET0=1;//开定时器0中断
{
delay(10);
if(key3==0&&flag4==0)
{
display(3);
TR0=0;
flag1=flag2=0;
flag4=1;
beep();
while(!key3);
}
}
if(key4==0&&flag4==0)
{
delay(10);
if(key4==0&&flag4==0)
{
display(4);
工作原理:
通过键盘改变抢答的时间,原理与闹钟时间的设定相同,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1(超过30时置0)。同时单片机不断进行按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停止计数,同时将选手编号(按键号)和抢答时间分别显示在LED上。
#include<reg52.h>
dula=0;
P2=0xff;
wela=1;
P2=0xfd;
wela=0;
delay(5);
}
void player()//选手按键检测函数
{
if(key1==0&&flag4==0)
{
delay(10);
if(key1==0&&flag4==0)
{
display(1);
TR0=0;
flag1=flag2=0;
#define uchar unsigned char
#define uint unsigned int
uchar num;//定义中断变量,num计满20表示1秒时间到
uchar num1;//十秒倒计时显示初始值
uchar flag1,flag2;//清零键及开始键按下标志位
uchar flag3,flag4=0;//定义键盘按下标志位
{
while(!clear);//等待按键释放
flag1=0;
flag2=0;
flag3=0;
flag4=0;
num=0;
num1=10;
clr();//清零
flag1=1;//按下清零键标志位
}
}
if(flag1==1)//如果按下清零键
{
if(start==0&&flag3==0)//判断开始键,判断语句的作用是按下开始键后开始键失效
wela=0;
delay(5);
}
void clr()//清零函数(主持人按下清零键后数码管显示0)
{
dula=1;
P2=table[0];
dula=0;
P2=0xff;
wela=1;
P2=0xfc;wela=0;de Nhomakorabeaay(5);
}
void dis30s()//十秒倒计时显示函数
{
uchar shi,ge;