用单片机做抢答器不难,自己随便就可以做的,我没有毕业论文,
/*******************************单片机抢答器*****************************//******必要的变量定义******/#include
电子信息工程毕业论文题目参考
论文写作,简单的说,就是大专院校毕业论文的写作,包含着本科生的学士论文,研究生的硕士论文,博士生的博士论文,延伸到了职称论文的写作以及科技论文的写作。论文的题目是论文的关键,有画龙点睛之效。下面是我为大家整理的电子信息工程毕业论文题目,大家不妨多加参考。
1.基于单片机的火灾报警器设计
2.基于NE555的触摸式报警器
3.数字密码锁设计
4.基于单片机智能电子时钟设计及应用
5.流水灯控制电路设计
6.简易单片机控制电路实验开发板
7.全自动洗衣机自动控制电路部分设计
8.基于单片机的八路抢答器的设计及PCB板的设计
9.基于单片机的数字温度计的设计
10.仓库温湿度的监测系统
11.直流稳压电源的制作
12.步进电机的单片机控制系统
13.单片机交通灯管理系统
14.AT89S51单片机交通灯控制系统制作
15.基于单片机的步进电机系统设计
16.基于WML的学生网站开发
17.基于单片机的电子密码锁
18.单片机驱动步进电机控制系统的设计
19.基于单片机的流水灯设计
20.LED显示屏动态显示及其远程控制
21.基于DSP的高速多通道同步数据采集系统
22.篮球竞赛30S计时器
23.8位数字抢答器
24.一种实用型心率计的设计
25.温度测控系统的设计
26.药品生产线上的药丸控制电路设计
27.基于选修课程的网站设计
28.基于单片机的交通灯设计
29.单片机控制的数字触发器
30.温度测控系统
31.基于单片机的数字时钟设计
32.篮球30秒定时器
33.电子万年历
34.基于单片机的智能节水控制器设计
35.嵌入式通用I/O键盘应用设计
36.数码显示的八路抢答器设计
37.基于PLC的四路抢答器设计
38.基于单片机的数字电子钟的`设计
39.超外差中波调幅收音机的组装及调试
40.基于单片机的无线电数字发射系统设计
41.基于80C51的智能汽车自控系统的设计
42.PLC实现十字路交通灯自动控制
43.智能型充电器的电源和显示设计
44.基于单片机的电子时钟设计及应用
45.基于单片机的智能电子时钟的设计及应用
46.超外差中波调幅收音机组装及调试
47.基于USB接口的步进电机控制的研究与实现
48.基于单片机的电子琴设计
49.基于FPGA的直序扩频通信研究与设计
50.基于单片机的发射机控制系统
51.声光报警器的设计与研究
52.单片机电源
53.基于P87LPC768的电机控制系统
54.基于单片机的LCD电子钟设计
55.音响放大器的设计
56.超外差收音机制作及分析研究
57.2DPSK频带传输系统的设计与实现
58.基于单片机智能电子钟的设计
59.USB与串行接口转换器的设计
60.基于FPGA的数字频率计的设计
1.卷积编码和维特比译码的FPGA实现
2.CVSD音频编译码算法研究与FPGA实现
3.DQPSK调制解调技术研究及FPGA仿真实现
4.基于FPGA的高斯白噪声发生器设计与实现
5.无线通信系统选择分集技术研究
6.MIMO系统空时分组编码的性能研究
7.基于量子烟花算法的认知无线电频谱分配技术研究
8.基于量子混沌神经网络的鲁棒多用户检测器
9.无线紫外光多址通信关键技术研究
10.认知无线电网络的频谱分配算法
11.基于软件无线电的多制式通信信号产生器设计与实现
12.开关电源EMI滤波器的设计
13.反激式电源传导噪声模态分离技术的研究
14.核电磁脉冲源辐射的数值仿真
15.基于MATLAB的扩频通信系统及同步性能仿真
16.一种多频带缝隙天线的设计
17.MSK调制解调器及同步性能的仿真分析
18.跳频频率合成器的设计
19.OFDM系统子载波间干扰性能分析
20.复合序列扩频通信系统同步方法的研究
21.基于DDS+PLL的频率源设计
22.基于训练序列的OFDM系统同步技术的研究
23.正交频分复用通信系统设计及性能研究
24.MIMO_OFDM技术研究及其性能比较
25.基于蓝牙的单片机无线通信研究
26.物联网智能温室控制系统中远程信息无线传输的研究
27.船载AIS通信系统调制器的设计与实现
28.基于FPGA的16QAM调制器设计与实现
29.基于多载波通信的信道化技术研究
30.简易无线通信信号分析与测量装置
标准论文网:价格公道,信誉保证!绝对原创!
有一个绝对适合你论文的部分:2.实验原理 智力竞赛抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成, 采用单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。该智力竞赛抢答器的准确度很高,其误差主要由晶振自身的误差所造成。AT89C51单片机由微处理器,存储器,I/O口以及特殊功能寄存器SFR等部分构成。其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为4KB,片内数据存储器为128个字节。89C51单片机有4个8位的并行I/O口:P0口,P1口,P2口和P3口。各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。P1口是唯一的单功能口,仅能用作通用的数据输入/输出口。P3口是双功能口除了具有数据输入/输出功能外,每条接口还具有不同的第二功能,如P3.0是串行输入口线,P3.1口是串行输出口线。在需要外部程序存储器和数据存储器扩展时,P0可作为分时复用的低8位地址/数据总线,P2口可作为高8位的地址总线。P3口也可作为AT89C51的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。
呵呵,我们当时的抢答器是用游戏手柄改装的,插在电脑上用VB编程序,太爽了!注明下:我当时高二。
用单片机做抢答器不难,自己随便就可以做的,我没有毕业论文,
哥们咋这么偷懒啊?如果真想偷懒的话你得把悬赏分弄高点,像你这种问题根本就不在“帮助”之例。
这是我邮箱hxp1989325@163。com
你的描述不详:下面我给出方法,自已参考:1:主持人端有一个单片机设备 且设备有一个或多个按键,单个按键,那么就做成按键复用,如果是多个按键,那就可以按要求设置按键功能和数量。参赛队每队一个设备,如果不方便能过连线来通讯,就采用无线通讯,抢答端只需一个按键按键,同时在按键里或边上用指示灯来指示状诚。2:逻辑,当主持人按下抢答键时,主持人端设备向8个参赛队发送抢答开始信号数据,参赛队8个设备向主持端应答,判断收到应答后,开始计时10秒,某一队按下按键时,这队会向主持端发送本队的编号即可,说到这里,后面的基本上都是一样的原理,就是收发数据,应答,判断数据类型和功能。即可达到你的要求。
8路抢答器,这种题目,在百度上真是泛滥成灾了,随便一搜就能搜到一大堆,有仿真图和程序全部资料的。或者百度文库里也同样可以搜索到,还是毕业论文,更是详细。
下图是一个8路抢答器的仿真图。
基于MCS-51系列单片机AT89S51的八路抢答器
基于MCS-51系列单片机AT89S51的八路抢答器
前言
随着现代电子电路的快速发展,以及电子行业对现有电子工程技术的不断需求,特别是对实际操作实践的电子人才的需求越来越多,所以加强学生动手能力、重视实践应该是电子发展需求的必然趋向。实践动手能力的培养是一种综合能力,这种能力当然是在一定难度的前提下完成的,通过一定数量的实践才能逐步形成的。因此在培养实践能力的同时,要通过实践来不断的发现问题和解决问题的途径和方法,从而提高实践能力。
近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色。单片机应用技术已成为一项新的工程应用技术。本次实习设计的题目为基于单片机的抢答器。
在本次的课程设计中我主要负责了该系统的印制电路板PCB的制作
一、方案论证
方案一:系统各部分采用中小规模集成数字电路,用机械开关按钮作为控制开关,完成抢答输入信号的触发。该方案的特点是中小规模集成电路应用技术成熟,性能可靠,能方便地完成选手抢答的基本功能,但是由于系统功能要求较高,所以电路连接集成电路相对较多,而且过于复杂,并且制作过程工序比较烦琐,使用不太方便。
方案二:该系统采用MCS-51系列单片机AT89S51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改性。 CS-51单片机特点如下:
1> 可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU ,程序指令和数据都可以烧写在ROM许多信号通道都在同一芯片,因此可靠性高。
2> 易扩充:单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统
3> 控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。原理框图如1-1所示;
图1-1
方案比较及其选用依据,显然方案二比方案一简单的多,不但从性能上优于方案一,而且在使用上及其功能的实现上都较方案一简洁,并且由于单片机具有优越的高集成电路性,使其工作速度更快、效率更高。另外AT89S51单片机采用12MHz的晶振,提高了信号的测量精度,并且使该系统可以通过软件改进来扩张功能。而方案一采用了中小规模集成电路,有其复杂的电路性能,从而可能会使信号的输入输出产生延时及不必要的误差。依此依据选择方案二比较适合。
二、原理分析
1. 本电路采用单片机AT89C51作为控制芯片,单片机的P0口外接八个发光二极管,每个发光二极管分别作为八位选手的信号指示灯。并在各个外接电路上并接开关按键,按键另一端接地。发光二极管采用共阳极接法,由于P0口为高电平呈输入状态,当有按键按下时,P0口呈低电平与按键对应的发光二极管满足点亮条件点亮。在程序编程上采用查询,查询P0口P0。0到P0。7的八个端口呈低电平,即查询是哪个选手先按键,然后将选手号码的字节数据送至串行口输出并在数码管上显现出来。
2. 蜂鸣器是利用三极管处于开关状态是的导通与截止工作,在三极管导通时蜂鸣器工作,三极管截止时蜂鸣器不工作。三极管采用8550 PNP型基极接于P1。2口置其低电平时三极管导通,置其高电平时三极管截止。
3. 数码管采用共阳极七段显示,其内部发光二极管为共阳极接高电平,当对应发光二极管一端为低电平时发光二极管点亮,显示的数字或字符由送入的字节数据控制,字节数据的输出采用串形口工作模式0,8位串行字节数据的输出通过RXD端口送出,TXD端用于送出同步移位脉冲,作为外接器件的同步移位信号。数据的发送是在TI=0的情况下,由一写发送缓冲器的指令开始CPU执行完该指令,串行口即将8位数据从RXD端送出,同时TXD端发出同步移位脉冲。8位数据发送完毕后由硬件置位TI=1,通过查询TI位来确定是否发送完一组数据,TI=1表示发送缓冲器已空,当要发送下一组数据时用软件使TI清零,然后即可发送下一组数据。
4. 软件设计分析首先在程序的开始为选手设置了一段违规程序,该程序的作用是为了防止选手在主持人没有按下抢答键时,有的选手已经提前抢答了,本次抢答为无效抢答,并有报警和记录下该位选手的选号,做违规处理,如果选手超出了在规定的提前抢答次数,则该选手将被取消以后的抢答资格。如果在主持按下抢答键时再抢答,该次抢答被视为有效抢答,在主持按下回答问题的键时选手就可以在规定的时间内回答问题了
图1-2
<1> 选手查询程序:
ORG 0000H
START:CLR A
MOV A,#0FFH
MOV P0,A
LOP:JNB P2。4,LP
JNB P0。0,SA1
JNB P0。1,SA2
JNB P0。2,SA3
JNB P0。3,SA4
JNB P0。4,SA5
JNB P0。5,SA6
JNB P0。6,SA7
JNB P0。7,SA8
SJMP LOP
SA1:AJMP SB1
SA2:AJMP SB2
SA3:AJMP SB3
SA4:AJMP SB4
SA5:AJMP SB5
SA6:AJMP SB6
SA7:AJMP SB7
SA8:AJMP SB8
LP:MOV R0,#9
LOP1:LCALL LED
LCALL DEL
JNB P0。0,SIP1
JNB P0。1,SIP2
JNB P0。2,SIP3
JNB P0。3,SIP4
JNB P0。4,SIP5
JNB P0。5,SIP6
JNB P0。6,SIP7
JNB P0。7,SIP8
DEC R0
CJNE R0,#0,LOP1
MOV R0,#0
LCALL LED
LCALL DEL
SJMP LOP
SIP1:AJMP DIP1
SIP2:AJMP DIP2
SIP3:AJMP DIP3
SIP4:AJMP DIP4
SIP5:AJMP DIP5
SIP6:AJMP DIP6
SIP7:AJMP DIP7
SIP8:AJMP DIP8
SB1:MOV R2,#1
LCALL LED1
LCALL DE
SJMP LP1
SB2:MOV R2,#2
LCALL LED1
LCALL DE
SJMP LP1
SB3:MOV R2,#3
LCALL LED1
LCALL DE
SJMP LP1
SB4:MOV R2,#4
LCALL LED1
LCALL DE
SJMP LP1
SB5:MOV R2,#5
LCALL LED1
LCALL DE
SJMP LP1
SB6:MOV R2,#6
LCALL LED1
LCALL DE
SJMP LP1
SB7:MOV R2,#7
LCALL LED1
LCALL DE
SJMP LP1
SB8:MOV R2,#8
LCALL LED1
LCALL DE
SJMP LP1
LP1:JNB P2。4,LOP2
SJMP LP1
DIP1:MOV R2,#1
LCALL LED1
LCALL DE
SJMP LH1
DIP2:MOV R2,#2
LCALL LED1
LCALL DE
SJMP LH1
DIP3:MOV R2,#3
LCALL LED1
LCALL DE
SJMP LH1
DIP4:MOV R2,#4
LCALL LED1
LCALL DE
SJMP LH1
DIP5:MOV R2,#5
LCALL LED1
LCALL DE
SJMP LH1
DIP6:MOV R2,#6
LCALL LED1
LCALL DE
SJMP LH1
DIP7:MOV R2,#7
LCALL LED1
LCALL DE
SJMP LH1
DIP8:MOV R2,#8
LCALL LED1
LCALL DE
SJMP LH1
LH1:JNB P2。4,LOOP
SJMP LH1
LOP2:MOV A,#11H
MOV SBUF,A
JNB TI,$
CLR TI
LCALL DEL
AJMP LOP
<2> 串行输出程序:
该部分程序的设计利用了单片机的串行模式0输出,该输出方式占用IO口少。可以省去许多IO口作为功能的扩展使用。在该模式下,我们采用了输出查询的方式,就是要借助发送标志TI,当程序执行到发送标志位时,查询其标志位TI的值,只要TI的值是0程序就继续查询,知道查询到TI为1时才结束,然后在进入下一组数据的发送。由于串行输出时送进去的数都是十进制数,以致计算机不能识别,所以还要把送进去的十进制数转化成而进制数,这样才能输出。因此在输出程序前必须有拆字程序,把原来送进去的十进制数转化成二进制数,然后在输出并通过数码管显示出来。但是如果在显示选手选号与显示选手回答问题所用的到计同用一段串行输出程序时就会造成程序的混乱,所以在此处设计了两段初始值不同的显示程序,从而可能增加了程序的烦琐化。
LED1:MOV A,R2
MOV B,#10
DIV AB
MOV R1,A
MOV R3,B
MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
MOV A,R3
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
RET。
LED:MOV A,R0
MOV B,#10
DIV AB
MOV R1,A
MOV R3,B
MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
MOV A,R3
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
RET
DE:CLR P1。2
LCALL DEL01
SETB P1。2
LCALL DEL01
RET
TAB:DB 11H,0D7H,32H,92H,0D4H,98H,18H,0D3H,10H,90H
RET
END
<3>倒计时程序
该程序为选手回答问题时的30秒倒计时程序,其中前25秒为正常的倒计时,在后5秒倒计时时伴随有报警声,用于提示选手回答问题的剩余时间。如果该选手在正常的倒计时内没有完成问题的回答,那么倒计时将被清零。
LOOP:MOV R0,#30
LPP:LCALL LED
LCALL DEL
JNB P2。4,LOP2
DEC R0
CJNE R0,#5,LPP
MOV R0,#5
LPP1:JNB P2。4,LOP2
LCALL LED
LCALL DE
DEC R0
CJNE R0,#0,LPP1
MOV R0,#0
LCALL LED
LCALL DEL
LJMP START
<4>延时程序
该系统设计了两段延时程序,一段1秒延时,是为了30秒倒计时调用和程序中一秒延时所用;另一段为0。5秒延时,用于报警。程序的设计中报警时间为一秒,但是由于在硬件的设计时只设计了一个按键,这样就会造成连续按键时会使所设定的报警声不断的响,这是设计中不允许的,所以在软件编程时设计了一个0。5秒的延时,被报警时所调用,这样就使报警声能很清楚地区分出来了
DEL:MOV R6,#20 DEL01:MOV R6,#10
DEL1:MOV R5,#100 DEL11:MOV R5,#100
DEL2:MOV R4,#250 DEL21:MOV R4,#250
DJNZ R4,$ DJNZ R4,$
DJNZ R5,DEL2 DJNZ R5,DEL21
DJNZ R6,DEL1 DJNZ R6,DEL11
RET RET
<5>报警程序
该段程序主要是用于本系统中的所有报警使用,报警时间延时为1秒钟。
DE:CLR P1。2
LCALL DEL01
SETB P1。2
LCALL DEL01
RET
三、制作过程
五、参考文献
曾峰,巩海洪,曾波,电子工业出版社,印刷电路板(PCB)设计与制作 2005.8
梅海凤,王艳秋,张军,汪毓铎,清华大学出版社 单片机原理与接口技术 2004.2
北京交通大学出版社
第二个文献:基于51单片机八路抢答器设计程序及电路图
基于51单片机八路抢答器设计程序及电路图
说明:本人的这个设计改进后解决了前一个版本中1号抢答优先的问题,并增加了锦囊的设置,当参赛选手在回答问题时要求使用锦囊,则主持人按下抢答开始键,计时重新开始。
;八路抢答器电路请看下图是用ps仿真的,已经测试成功
<单片机八路抢答器电路图>
;============================================================
;================单片机八路抢答器程序 =====================
;================ 51hei =======================
;================ 2008 年 5月 =======================
;============================================================
OK EQU 20H;抢答开始标志位
RING EQU 22H;响铃标志位
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP INT0SUB
ORG 000BH
AJMP T0INT
ORG 0013H
AJMP INT1SUB
ORG 001BH
AJMP T1INT
ORG 0040H
MAIN: MOV R1,#30;初设抢答时间为30s
MOV R2,#60;初设答题时间为60s
MOV TMOD,#11H;设置未定时器/模式1
MOV TH0,#0F0H
MOV TL0,#0FFH;越高发声频率越高,越尖
MOV TH1,#3CH
MOV TL1,#0B0H;50ms为一次溢出中断
SETB EA
SETB ET0
SETB ET1
SETB EX0
SETB EX1;允许四个中断,T0/T1/INT0/INT1
CLR OK
CLR RING
SETB TR1
SETB TR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了
;=====查询程序=====
START: MOV R5,#0BH
MOV R4,#0BH
MOV R3,#0BH
ACALL DISPLAY;未开始抢答时候显示FFF
JB P3.0,NEXT;ddddddd
ACALL DELAY
JB P3.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询
ACALL BARK;按键发声
MOV A,R1
MOV R6,A;送R1->R6,因为R1中保存了抢答时间
SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答
MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号
MOV R3,#0AH;抢答只显示计时,灭号数
AJMP COUNT;进入倒计时程序,"查询有效抢答的程序"在COUNT里面
NEXT: JNB P1.0,FALSE1
JNB P1.1,FALSE2
JNB P1.2,FALSE3
JNB P1.3,FALSE4
JNB P1.4,FALSE5
JNB P1.5,FALSE6
JNB P1.6,FALSE7
JNB P1.7,FALSE8
AJMP START
;=====非法抢答处理程序=====
FALSE1: MOV R3,#01H
AJMP ERROR
FALSE2: MOV R3,#02H
AJMP ERROR
FALSE3: MOV R3,#03H
AJMP ERROR
FALSE4: MOV R3,#04H
AJMP ERROR
FALSE5: MOV R3,#05H
AJMP ERROR
FALSE6: MOV R3,#06H
AJMP ERROR
FALSE7: MOV R3,#07H
AJMP ERROR
FALSE8: MOV R3,#08H
AJMP ERROR
;=====INT0(抢答时间R1调整程序)=====
INT0SUB:MOV A,R1
MOV B,#0AH
DIV AB
MOV R5,A
MOV R4,B
MOV R3,#0AH
ACALL DISPLAY;先在两个时间LED上显示R1
JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCO
JNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECO
JNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKO
AJMP INT0SUB
INC0: MOV A,R1
CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。
MOV R1,#00H
ACALL DELAY1
AJMP INT0SUB
ADD0: INC R1
ACALL DELAY1
AJMP INT0SUB
DEC0: MOV A,R1
JZ SETR1;如果R1为0, R1就置99,
DEC R1
ACALL DELAY1
AJMP INT0SUB
SETR1: MOV R1,#63H
ACALL DELAY1
AJMP INT0SUB
BACK0: RETI
;=====INT1(回答时间R2调整程序)=====
INT1SUB:MOV A,R2
MOV B,#0AH
DIV AB
MOV R5,A
MOV R4,B
MOV R3,#0AH
ACALL DISPLAY
JNB P3.4,INC1
JNB P3.5,DEC1
JNB P3.1,BACK1
AJMP INT1SUB
INC1: MOV A,R2
CJNE A,#63H,ADD1
MOV R2,#00H
ACALL DELAY1
AJMP INT1SUB
ADD1: INC R2
ACALL DELAY1
AJMP INT1SUB
DEC1: MOV A,R2
JZ SETR2
DEC R2
ACALL DELAY1
AJMP INT1SUB
SETR2: MOV R2,#63H
ACALL DELAY1
AJMP INT1SUB
BACK1: RETI
;=====倒计时程序(抢答倒计时和回答倒计时都跳到改程序)=====
REPEAT:MOV A,R2 ;使用锦囊时重新计时
MOV R6,A
CLR RING
COUNT: MOV R0,#00H;重置定时器中断次数
MOV TH1,#3CH
MOV TL1,#0B0H;重置定时器
RECOUNT:MOV A,R6;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6
MOV B,#0AH
DIV AB;除十分出个位/十位
MOV 30H,A;十位存于(30H)
MOV 31H,B;个位存于(31H)
MOV R5,30H;取十位
MOV R4,31H;取个位
MOV A,R6
SUBB A,#07H
JNC LARGER;大于5s跳到LARGER,小于等于5s会提醒
MOV A,R0
CJNE A,#0AH,FULL;1s中0.5s向下运行
CLR RING
AJMP CHECK
FULL: CJNE A,#14H,CHECK;下面是1s的情况,响并显示号数并清R0,重新计
SETB RING
MOV A,R6
JZ QUIT;计时完毕
MOV R0,#00H
DEC R6;一秒标志减1
AJMP CHECK
LARGER: MOV A,R0
CJNE A,#14H,CHECK;如果1s向下运行,否者跳到查"停/显示"
DEC R6;计时一秒R6自动减1
MOV R0,#00H
CHECK: JNB P3.1,QUIT;如按下停止键退出
JNB OK,CHECKK ;只在回答倒计时才有效
AJMP NEXTT
CHECKK:JNB P3.0,REPEAT ;判断是否使用锦囊
NEXTT: ACALL DISPLAY
JB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用)
AJMP RECOUNT
ACCOUT:
MOV A,36H
JNB ACC.0,TRUE1
JNB ACC.1,TRUE2
JNB ACC.2,TRUE3
JNB ACC.3,TRUE4
JNB ACC.4,TRUE5
JNB ACC.5,TRUE6
JNB ACC.6,TZ1
JNB ACC.7,TZ2
AJMP RECOUNT
TZ1:JMP TRUE7
TZ2:JMP TRUE8
QUIT: CLR OK;如果按下了"停止键"执行的程序
CLR RING
AJMP START
;=====正常抢答处理程序=====
TRUE1: ACALL BARK
MOV A,R2
MOV R6,A;抢答时间R2送R6
MOV R3,#01H
CLR OK;因为答题的计时不再查询抢答,所以就锁了抢答
AJMP COUNT
TRUE2:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#02H
CLR OK
AJMP COUNT
TRUE3:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#03H
CLR OK
AJMP COUNT
TRUE4:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#04H
CLR OK
AJMP COUNT
TRUE5:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#05H
CLR OK
AJMP COUNT
TRUE6: ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#06H
CLR OK
AJMP COUNT
TRUE7:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#07H
CLR OK
AJMP COUNT
TRUE8:ACALL BARK
MOV A,R2
MOV R6,A
MOV R3,#08H
CLR OK
AJMP COUNT
;=====犯规抢答程序=====
ERROR: MOV R0,#00H
MOV TH1,#3CH
MOV TL1,#0B0H
MOV 34H,R3;犯规号数暂存与(34H)
HERE: MOV A,R0
CJNE A,#06H,FLASH;0.3s向下运行->灭并停响
CLR RING
MOV R3,#0AH
MOV R4,#0AH
MOV R5,#0AH;三灯全灭
AJMP CHECK1
FLASH: CJNE A,#0CH,CHECK1;下面是0.8s的情况,响并显示号数并清R0,重新计
SETB RING
MOV R0,#00H
MOV R3,34H;取回号数
MOV R5,#0BH
MOV R4,#0BH;显示FF和号数
AJMP CHECK1
CHECK1: JNB P3.1,QUIT1
ACALL DISPLAY
AJMP HERE
QUIT1: CLR RING
CLR OK
AJMP START
;=====显示程序=====
DISPLAY:MOV DPTR,#DAT1;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出,
MOV A,R3
MOVC A,@A+DPTR
MOV P2,#0feH
MOV P0,A
ACALL DELAY2
MOV DPTR,#DAT2
MOV A,R5
MOVC A,@A+DPTR
MOV P2,#0fdH
MOV P0,A
ACALL DELAY2
MOV A,R4
MOVC A,@A+DPTR
MOV P2,#0fbH
MOV P0,A
ACALL DELAY2
RET
DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H
;"灭","1","2","3","4","5","6","7","8","9","灭","F"
DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H
;第一个为零,其他与上相同,因为十位如果为零显示熄灭
;====加减时间延时(起到不会按下就加N个数)======
DELAY1: MOV 35H,#08H
LOOP0: ACALL DISPLAY
DJNZ 35H,LOOP0
RET
;=====延时4236个机器周期(去抖动用到)=====
DELAY: MOV 32H,#12H
LOOP: MOV 33H,#0AFH
LOOP1: DJNZ 33H,LOOP1
DJNZ 32H,LOOP
RET
;=====延时4236个机器周期(显示用到)=====
DELAY2: MOV 32H,#43H
LOOP3: MOV 33H,#1EH
MOV A,R7 ;每隔60~70个机器周期读一次P1口,全为1时为无效数据,继续读,有一个不为1时,转到正常抢答处理
JNZ AAAA1 ;没读到有效数据时继续转到AAAA1
LOOP2: DJNZ 33H,LOOP2
DJNZ 32H,LOOP3
RET
;=====读抢答按键数据口程序=====
;由于在读抢答数据口的时候,单片机首先进入倒计时程序,再调用显示程序,最后才检测按键口
;然而在检测按键口时动态扫描要调用三次(4ms)延时程序.这样就会导致读数据口出现滞后,造成1号优先最高.8号最低.
;故采用在延时子程序中加了读数据口程序.保证了灵敏度和可靠性
AAAA1: MOV A,P1
CJNE A,#0FFH,AA1 ;当不全为1时的数据为有效数据
AA0: MOV 36H,A ;将有效数据送到36H暂存
AJMP LOOP2
AA1: DEC R7
AJMP AA0
;=====发声程序=====
BARK: SETB RING
ACALL DELAY1
ACALL DELAY1
CLR RING;按键发声
RET
;=====TO溢出中断(响铃程序)=====
T0INT: MOV TH0,#0ECH
MOV TL0,#0FFH
JNB RING,OUT;
CPL P3.6;RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音
OUT: RETI
;=====T1溢出中断(计时程序)=====
T1INT: MOV TH1,#3CH
MOV TL1,#0B0H
INC R0
RETI
END
仅供参考。
8路抢答器,这种题目,在百度上真是泛滥成灾了,随便一搜就能搜到一大堆,有仿真图和程序全部资料的。或者百度文库里也同样可以搜索到,还是毕业论文,更是详细。
下图是一个8路抢答器的仿真图。
这有一系列的毕业论文qq310852504
八路抢答器的设计摘要本文介绍了一种采用数字电路制作的多功能数显抢答器,它主要采用了74系列的常用集成电路,它除了具有基本的抢答功能之外,还具有定时报警的功能,和数显的功能,当抢答开始后,系统会自动倒计时,并且时间是可以预设的,期间有人抢答的话系统会停止计时,如果期间没人抢答,系统会有短暂的报警,提示抢答结束。关键字单片机、PLC、抢答、报警、数显一、 设计目的在电视和学校中我们会经常看到一些智力抢答的节目,如果要是让抢答者用举手等方法,主持人很容易误判,会造成抢答的不公平,比赛中为了准确、公正、直观地判断出第一抢答者,所设计的抢答器通常由数码显示、灯光、音响等多种手段指示出第一抢答者。为了使这种不公平不发生,只有靠电子产品的高准确性来保障抢答的公平性。二、 方案制作抢答器可以用好多的方法,可以用单片机来完成,它的功能强大制作简单,并且外围的元件也很少;也可以用PLC来实现,他的制作也是比较简单;还可以用我们学过的EDA技术来制作;最后也可以用数字电路来实现,它的原理比较简单,集成块的价格也比较便宜且很容易购买,与我们学完的〈〈数字电路〉〉联系紧密,能将我们所学知识用于实际,对巩固所学知识有重要意义,用了一些成型电路,如NE555标准秒脉冲电路等,使总体方案易于实现。方案一〈采用数字电路〉1、原理方框图定时抢答器的总体框图如图1所示,它由主体电路和扩展电路两部分组成。主体电路完成基本的抢答功能,即开始抢答后,当选手按动抢答键时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。扩展电路完成定时抢答的功能。图1图1所示的定时抢答器的工作过程是:接通电源时,节目主持人将开关置于“清除”位置,抢答器处于禁止工作状态,编号显示器灭灯,定时显示器显示设定的时间,当节目主持人宣布“抢答开始”,同时将控制开关拨到“开始”位置,扬声器给出声响提示,抢答器处于工作状态,定时器倒计时。当定时时间到,却没有选手抢答时,系统报警,并封锁输入电路,禁止选手超时后抢答。当选手在定时时间内按动抢答键时,抢答器要完成以下四项工作:①优先编码电路立即分辨出抢答者的编号,并由锁存器进行锁存,然后由译码显示电路显示编号;②扬声器发出短暂声响,提醒节目主持人注意;③控制电路要对输入编码电路进行封锁,避免其他选手再次进行抢答;④控制电路要使定时器停止工作,时间显示器上显示剩余的抢答时间,并保持到主持人将系统清零为止。当选手将问题回答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答。方案二〈采用单片机〉1、原理方框图此电路完成的功能如图2所示,当主持人宣布抢答开始的时候,按下开始按钮,此时电路进入抢答状态,选手的输入采用了扫描式的输入,之后把相应的信息送往单片机,再由单片机输出到显示输出电路中。此时有人第一按下相应的抢答按钮,经过单片机的控制选择,在八段显示器上显示相应的号码,并锁存,同时禁止其他按钮的输入。(图2)方案三〈采用PLC〉1、原理方框图此电路的功能如图3所示,当主持人打开启动开关后,在设定时间TO 内,如果某组抢先按下抢答按钮,则驱动音效电路①发出声响,指示灯LI亮,并且在8段数码管显示器上显示出抢答成功的组号,此时电路实现互锁,其他组再按下抢答按钮为无效;如果在时间TO内,无人应答,则驱动音效电路②发出声响,指示灯L2亮,表示抢答者均放弃该题;在抢答成功后,主持人打开限时开关SW2,启动计时器,在设定的时间TI 内回答有效,当到达设定时间TI时,驱动音效电路③,指示灯L3亮,表示答题时间到。(图3)三、 方案选择方案比较 数字电路 单片机 PLC 制作难度 低 一般 一般 实现难度 一般 低 低 价格 低 一般 高 电路原理 简单 一般 一般 设计难度 简单 高 一般通过上面的方案比较,数字电路的制作方案比较容易实现,并且在原理方面也是比较简单,所以我选择采用第一种方案来完成抢答器电路。四、 设计系统功能1.基本功能:(1) 同时供8名选手比赛,分别用8个按钮S0 ~ S7表示。(2)设置一个系统清除和抢答控制开关S,该开关由主持人控制。(3)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。2.扩展功能:(1)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动"开始"键后,定时器进行减计时。(2)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。在这段(3)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。五、 各部分单元电路的设计(1)抢答器的主体电路设计抢答电路的功能有两个:一是能分辨出选手按键的先后,并锁存优先抢答者的编号,供译码显示电路用;二是要使其他选手的按键操作无效。选用优先编码器74148和DFF锁存器可以完成上述功能,其电路组成如图4所示。其工作原理是:当主持人控制开关处于“清除”位置时,RS触发器的端为低电平,输出端(4Q~1Q)全部为低电平。于是74LS48的 =0,显示器灭灯;74148的选通输入端 =0,74LS148处于工作状态,此时锁存电路不工作。当主持人开关拨到“开始”位置时,优先编码电路和锁存电路同时处于工作状态,即抢答器处于等待工作状态,等待输入端 7... 0输入信号,当有选手将键按下时(如按下S5),74LSl48的输出=010, =0,经RS锁存器后,CTR=l, =1,74LS279处于工作状态,4Q3Q2Q=101,经74LS48译码后,显示器显示出“5”。此外,CTR=1,使74l48的端为高电平,74LSl48处于禁止工作状态,封锁了其它按键的输入。当按下的键松开后,74LSl48的为高电平,但由于CTR维持高电平不变,所以74LSl48仍处于禁止工作状态,其它按键的输入信号不会被接收。这就保证了抢答者的优先性以及抢答电路的准确性。当优先抢答者回答完问题后,由主持人操作控制开关S,使抢答电路复位,以便进行下一轮抢答。(图4)74LS148为8线-3线优先编码器,表1为其功能表。表1 74LS148的功能真值表(2)定时电路设计原理及设计:该部分主要由555定时器秒脉冲产生电路、十进制同步加减计数器74LS192减法计数电路、74LS48译码电路和2个7段数码管即相关电路组成。具体电路如图5所示。两块74LS192实现减法计数,通过译码电路74LS48显示到数码管上,其时钟信号由时钟产生电路提供。74192的预置数控制端实现预置数,由节目主持人根据抢答题的难易程度,设定一次抢答的时间,通过预置时间电路对计数器进行预置,如果要设置为30S,就可以在计数器的预置数控制端输入00110000。时钟脉冲由秒脉冲电路提供。按键弹起后,计数器开始减法计数工作,并将时间显示在共阴极七段数码显示管上,当有人抢答时,停止计数并显示此时的倒计时时间;如果没有人抢答,且倒计时时间到时,输出低电平到时序控制电路,控制报警电路报警,同时以后选手抢答无效。具体电路如图5所示。(图5)秒脉冲产生电路:秒脉冲由NE555提供,它的的3端输出的脉冲的频率为,结合我们的实际经验及考虑到元器件的成本,我们选择的电阻值为R1=15K,R2=68K,C=10uF,代入到上式中即得,即秒脉冲。(3)报警电路的设计采用555定时器和三极管构成的报警电路如图6所示。其中555构成多谐振荡器,振荡频率其输出信号经三极管推动扬声器。PR为控制信号,当PR为高电平时,多谐振荡器工作,当PR为低电平的时候,电路停振。(图6)(4)时序控制电路设计与门G1 的作用是控制时钟信号CP的放行与禁止,门G2的作用是控制74LS148的输入使能端(即图二中的5端)。图7的工作原理是:主持人控制开关从"清除"位置拨到"开始"位置时,来自于图2中的74LS279的输出 1Q,即CTR=0,经G3反相,输出为1,则NE555产生的时钟信号CP能够加到74LS192的CPD时钟输入端,定时电路进行递减计时。同时,在定时时间未到时,则"定时到信号"为 1,门G2的输出 =0,使 74LS148处于正常工作状态。当选手在定时时间内按动抢答按键时,CTR=1,经G3反相,输出为0,封锁 CP信号,定时器处于保持工作状态;同时,门G2的输出 =1,74LS148处于禁止工作状态。当定时时间到时,则"定时到信号"为0,/ST=1,74LS148处于禁止工作状态,禁止选手进行抢答。同时,门G1处于关门状态,封锁时钟CP信号,使定时电路保持00状态不变,此次抢答结束。(图7)集成单稳态触发器74LS121用于控制报警电路及发声的时间(其功能表见表2),具体原理如下:主要由555时钟电路(用于控制报警声音频率)、蜂鸣器即相关的延时电路和控制电路组成。单稳态触发器74121通过信号/Ys、BO2、S控制报警与否和报警时间,555时钟电路产生脉冲时钟。在规定的时间有人抢答时,/Ys由1跳变到0,74121有状态2,即Q输出暂态高电平,蜂鸣器连续发声报警,持续时间为 =2.15秒;如果在规定时间内无人抢答,BO2由1跳变到0,74121有状态1,Q输出暂态高电平,蜂鸣器连续发声报警持续时间为结合图6所示报警电路,分析 计算如下: 。取C=100uF, R=25K,。有=2.15秒。(原理图见图8)(图8)表2 74121功能表(6) 电源电路电源电路采用三端集成线性稳压集成块,L7805CV,因为它的外围电路比较简单,并且工作比较稳定,很适合74系列的集成块。它的稳压精度为2%,工作电流1.5A,封装为TO-220(A),工作温度也很不错,并且具有过温保护和短路保护,最大输入电压为35V,能对电路的长时间工作有很大的保障。(具体电路见图9)(图9)六、 总结毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。下面我对整个毕业设计的过程做一下简单的总结。第一,接到任务以后进行选题。选题是毕业设计的开端,选择恰当的、感兴趣的题目,这对于整个毕业设计是否能够顺利进行关系极大。好比走路,这开始的第一步是具有决定意义的,第一步迈向何方,需要慎重考虑。否则,就可能走许多弯路、费许多周折,甚至南辕北辙,难以到达目的地。因此,选;题时一定要考虑好了。第二,题目确定后就是找资料了。查资料是做毕业设计的前期准备工作,好的开端就相当于成功了一半,到图书馆、书店、资料室去虽说是比较原始的方式,但也有可取之处的。总之,不管通过哪种方式查的资料都是有利用价值的,要一一记录下来以备后用。第三,通过上面的过程,已经积累了不少资料,对所选的题目也大概有了一些了解,这一步就是在这样一个基础上,综合已有的资料来更透彻的分析题目。第四,有了研究方向,就应该动手实现了。其实以前的三步都是为这一步作的铺垫。通过这次设计,我对数字电路设计中的逻辑关系等有了一定的认识,对以前学的数字电路又有了一定的新认识,温习了以前学的知识,就像人们常说的温故而知新嘛,但在设计的过程中,遇到了很多的问题,有一些知识都已经不太清楚了,但是通过一些资料又重新的温习了一下数字电路部分的内容。在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此要感谢我的指导老师,感谢老师给我这样的机会锻炼。在整个毕业设计过程中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中的探索的艰难和成功的喜悦。虽然这个项目还不是很完善,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。
唉 单片机的各个功能就像砖头似的拿来用呗这个东西太简单了 没毕业的学生玩这个还差不多建议去看看那些现成的大赛资料这里实在敲不下那么多字
1、选用什么单片机2、选用什么传感器3、显示用什么4、需要远程报警吗
随着各类建筑的不断发展,建筑规模越来越大,层次越来越高,建筑的标准也越来越高。新建的各类大楼都具备人员密集、设备先进、功能多、装饰豪华等特点,因此,火灾自动报警和自动灭火系统已成为高层建筑不可缺少的重要组成部分。本设计是以AT89C51单片机为主控芯片,用TLC1543模数转换芯片模拟烟雾浓度检测传感器,用18B20对环境温度进行实时检测,并模拟了视频监控触发开关对环境进行跟踪和报警,并配上单片机的复位电路,时钟电路,液晶显示电路等共同完成了基于单片机的大楼防火报警系统设计。在本设计中,用protues仿真硬件电路,以keil C51作为软件仿真平台,联合调试共同完成了本系统的设计,仿真效果良好。 目 录摘 要 1目 录 2第1章 绪论 31.1 课题研究的背景 31.2 课题研究的目的和意义 31.3 课题研究的国内外发展现状 4第2章 大楼防火报警系统方案论证与芯片的准备 62.1 设计思路 62.2 方案论证与对比 72.3 芯片的准备工作 72.3.1 AT89C51简介 72.3.2 DS18B20测温芯片 112.3.3 AD转换芯片TLC1543 132.3.4 GPRS短信报警芯片TC35i 142.3.5 液晶显示模块LCD1602 16第3章 大楼防火报警系统硬件电路设计 193.1 单片机复位电路 193.2 时钟电路 193.3 稳压电源 193.4 烟雾浓度检测电路 203.5 测温模块设计 213.6 显示模块设计 21第4章 系统软件实现和整体调试 234.1 软件环境介绍 234.2 软件设计方案及流程图 234.3 软硬件结合调试 24第5章 总结与展望 33参考文献 34