基于单片机八路抢答器研究设计Word文档下载推荐.docx
《基于单片机八路抢答器研究设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机八路抢答器研究设计Word文档下载推荐.docx(24页珍藏版)》请在冰点文库上搜索。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
主要性能:
与MCS-51单片机产品兼容
8K字节在系统可编程Flash存储器
1000次擦写周期
全静态操作:
0Hz~33Hz
三级加密程序存储器
32个可编程I/O口线
三个16位定时器/计数器
八个中断源
全双工UART串行通道
低功耗空闲和掉电模式
掉电后中断可唤醒
看门狗定时器
双数据指针
掉电标识符
2.1.2引脚结构
图2-189C51引脚图
2.1.3管脚说明
VCC:
电源
GND:
地
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体如表2-1所示。
在flash编程和校验时,P1口接收低8位地址字节。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR,A)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@Ri,A)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
表2-1P1口引脚及功能表
引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MIOS(在系统编程用)
P1.7
SCK(在系统编程用)
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口亦作为AT89C51特殊功能(第二功能)使用,如表2-2所示。
在flash编程和校验时,P3口也接收一些控制信号。
表2-2P3口引脚及功能表
P3.0
RXD(串行输入)
P3.1
TXD(串行输出)
P3.2
/INT0(外部中断0)
P3.3
/INT0(外部中断1)
P3.4
T0(定时器0外部输入)
P3.5
T1(外部1外部输入)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD(外部数据存储器读选通)
RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
/PSEN:
外部程序存储器选通信号(/PSEN)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,/PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,/PSEN将不被激活。
/EA/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,/EA必须接GND。
为了执行内部程序指令,/EA应该接VCC。
在flash编程期间,/EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
[3]
2.2无线传输模块
无线传输模块由发射模块和接收模块组成。
FST-3和CZS-3是由专业生产厂家设计生产的无线传输发射模块和接收模块。
用FST-3和CZS-3组成的无线传输系统具有很高的性价比。
其传输距离远,在无障碍物的情况下可以传输300M;
信号传输可靠,能够传输0—10MHZ的调制信号;
价格低廉,发射模块和接收模块的价格加起来不超过20元;
此外,还具有不要调整即可使用的特点。
(A)(B)
图2-2无线发射模块FST-3和接收模块CZS-3的管脚功能图
FST-3发射模块如上图2-2(A)所示,在VCC和GND间加上3—12V的直流电压即可使用,从天线发射出315MHZ的无线电波。
而所需发射出去的信号可以加在DATA端,去调制315MHZ的无线电波,使其成为已调波从天线发出。
在加5V电压时,实测FST-3发射模块的工作电流不超过15mA。
CZS-3接收模块如上图2-2(B)所示,须在VCC和GND间加上5V的直流电压。
从天线接收到的已调制无线电信号经过其内部解调,从其DATA端输出已解调控制信号,在无信号时DATA端输出高电平。
CZS-3接收模块的静态电流为5mA,接收灵敏度为-103dBm。
[12]
2.3用555定时器组成的多谐振荡器
多谐振荡器是能产生矩形波的一种自激振荡器电路,由于矩形波中除基波外还含有丰富的高次谐波,故称为多谐振荡器。
多谐振荡器没有稳态,只有两个暂稳态,在自身因素的作用下,电路就在两个暂稳态之间来回转换,故又称它为无稳态电路。
由555定时器组成的多谐振荡器电路图如图4所示。
图2-3由555定时器组成的多谐振荡器电路图
如上图2-3所示,接通电源后,电容C被充电,当
上升到
时,使
为低电平,同时放电三极管T导通,此时电容C通过R2和T放电,Vc下降。
当Vc下降到
/3时,V0翻转为高电平。
电容器C放电所需的时间为
当放电结束时,T截止,
将通过R1、R2向电容器C充电,Vc由
/3上升到2
/2所需的时间为
当Vc上升到
时,电路又翻转为低电平。
如此周而复始,于是,在电路的输出端就得到一个周期性的矩形波。
电路的工作波形如下图5,其振荡频率为
由于555定时器内部的比较器灵敏度较高,而且采用差分电路形式,用555定时器组成的多谐振荡器的振荡频率受电源电压和温度变化的影响很小。
[1]
图2-4由555定时器组成的多些振荡器的工作波形
2.4选手电路
如下图6所示的电路是FST-3发射模块的一种具体应用。
[10]电路中555和其外围元件构成一个多谐振荡器,从555的3脚输出的方波加到FST-3的DATA端。
由图6电路中的元件参数可以计算出从FST-3的天线发射出被60MHZ信号调制过的315MHZ无线电波。
D1为发光二极管,用来指示发射电路的电流是否接通。
图2-5FST-3发射模块的应用电路
选手电路是由图2-5所示的电路进行实用化改进而得,电路由图7所示。
考虑到实际使用的方便,把图6的电路的R2用一个8位地址开关和一个9P1K的排阻来代替。
这样,随着8位地址开关中开关闭合个数的不同,等效R2将有8种不同的阻值,555的3脚输出方波将有8种不同的频率。
8个选手电路就可以选择相同的电路参数,使用时只要拨动8个地址开关,使每个选手电路中的地址开关闭合个数不同,即可利用555电路振荡频率来区分不同选手发出的信号,依据如图6电路中的参数,实测的振荡频率如表2-3所示。
表2-3频率表
S1开关闭合个数
R2等效阻值
实测555的振荡频率
1
1000Ω
60HZ
2
500Ω
122HZ
3
333Ω
153HZ
4
250Ω
180HZ
5
200Ω
200HZ
6
167Ω
220HZ
7
143Ω
231HZ
8
125Ω
245HZ
图2-6选手电路电路图
2.5主持人电路
主持人电路如附图所示。
以89S51单片机为核心,整个电路分为控制输入、信号采集和输出指示几个部分。
控制核心时89S51的最小应用系统,有时钟和复位电路和在线编程接口。
电路中S1是复位按钮,J1是89S51系列单片机的标准在线编程接口。
控制输入电路实际上是一个主持人复位按钮S2;
S3是进入等待倒计时状态的按钮,S4、S5是预置倒计时十位和个位加1按钮。
信号采集电路由CZS接收模块和R1、C2滤波电路组成。
由于从CZS-3的DATA端输出的信号有残存的高频成分,所以在信号进入单片机之前,这里用了R1、C2滤波电路,滤波后的从P3.4(T0)进入单片机。
输出指示电路由数码显示电路和蜂鸣器电路组成。
数码显示电路是2位数码管及其动态显示驱动电路组成。
在实际使用中,当主持人按下开关按钮S2时,数码管显示的是等待倒计时的读秒数;
当由选手按下抢答按钮时,数码管显示的是抢答选手的序号。
蜂鸣器由三极管驱动,在实际使用时蜂鸣器在等待倒计时归零和有选手抢答成功时鸣叫。
第三章电路功能及控制流程
此电路为实用抢答器。
当主持人电路通电时,2位数码管不断地加1,以示电路可以正常工作。
当主持人按一下S3后,电路即进入等待倒计时起始数预设状态,2位数码管显示为不断闪亮的“00”。
按一下S4,起始数增加10s;
按一下S5,起始数增加1s,最大预设数为99s。
设置好后再按下S3,则完成预设,数码管显示预设数。
当主持人按一下开始按钮S2后,选手可以抢答,同时数码管显示开始倒计时读秒。
如有选手按下抢答键,数码管显示该选手的序号,同时封锁其他的抢答信号,蜂鸣器鸣叫10s,以示有人抢答成功。
当抢答的选手回答完毕或读秒归零后,主持人按一下S2,电路即可恢复到开始抢答,倒计时读秒状态,控制流程如下图3-1所示。
图3-1控制程序流程图
结论
现在常用的无限遥控主要有红外线和无线电两种方法。
无线电遥控在传输距离、方向性和可靠性方面和红外线遥控相比有很大的优势。
而且无线传输技术现在已日益成熟,现在无线传输收发电路已广泛应用于智能化控制、短距离无线遥控等产品中,由于工作稳定可靠,彻底摆脱了有线传输的种种不便,所以在遥控领域得到广泛应用。
本设计在大量的电子电路实践的基础上,用无线传输技术应用于抢答器的设计和制作,制作成功了无线抢答器。
该无线抢答器可满足不同赛事活动的不同需求,适用于学校、教育部门、企事业工会组织、俱乐部等单位组织举办各种知识、技术竞赛及文娱活动时作抢答之用。
能提高活动档次,简化工作流程,减轻工作量、减少人工失误、节约竞赛成本。
参考文献
[1]康华光,邹寿彬.电子技术基础(数字部分)(第五版).高等教育出版社,2005
[2]康华光,邹寿彬.电子技术基础(模拟部分)(第五版).高等教育出版社,2005
[3]李朝青.单片机原理及接口技术[M].北京:
北京航空航天大学出版社,2005
[4]朱勇.单片机原理与应用技术.清华大学出版社,2006
[5]张毅刚,彭喜元等.新编MCS-51单片机应用设计(第二版).哈尔滨工业大学出版社,2006
[6]潭博学,苗江静.集成电路原理及应用.北京:
电子工业出版社,2003
[7]王庆有.光电传感应用技术.机械工业出版社,2007
[8]高峰.单片微机应用系统设计及实用技术[M].北京:
机械工业出版社,2004
[9]楼然苗,李光飞.51系列单片机设计实例.北京航空航天大学出版社,2006
[10]何书森,何华斌.实用电子线路设计速成[M].福州:
福建科学技术出版社,2006
[11]李国厚,王春阳.自动化专业英语[M].北京:
北京大学出版社,2006
[12]陈欢庆.电子制作理论与实践[M].浙江大学出版社,2005
[13]马淑华、王凤文、张美金.单片机原理及接口技术.北京邮电大学出版社,2005
[14]杨金岩,郑应强,张振仁.8051单片机数据传输接口扩展技术与应用实例.人民邮电出版社,2005
致谢
经过近几个月的艰苦奋战,我的毕业设计已接近尾声。
在这几个月的时间里,我衷心感谢我的指导老师杨老师,在课题选定、理论指导和方案的论证上,对我精心的指导和耐心的鼓励,使我能够坚持到底,毕业设计有了圆满的结果。
他们渊博的知识,深邃的思想,严谨的治学风格、平易近人的处事态度和幽默风趣的话语,让我在学习知识和解决问题时感到无比的轻松和愉快。
至此论文定稿之际,对老师表示衷心的感谢!
感谢老师能在繁忙之中抽出时间为我提供耐心的指导,帮我们解决在设计过程中遇到的种种问题。
在做毕业设计期间,我还有幸得到其它老师的热心指导和同学们的大力帮助,正因为有了他们,我才能克服各种困难,顺利完成毕业设计和论文。
在这里一并向他们表示感谢!
最后,再次向各位领导、各位老师致以崇高的敬意和最衷心的感谢!
学生签名:
日期:
附录一
附图无线抢答器主控电路原理图
附录二
源程序清单:
ORG0000H
AJMPMAIN
ORG000BH
AJMPMAIN
ORG3000H
MAIN:
MOVSP,#2FH
MOVB,#5AH。
中断90次
MOVTOMD,#01H
MOVTL0,#0B0H
MOVTH0,#3CH
SETBTR0
SETBET0
SETBEA
SJMP$
RE:
DJNAB,LOOP
CLRTR0
LOOP:
SETBRESET
LJMPMAIN
ORG2000H
SETBTOMD
MOVTMOD,#01H
CPLP0
MOVDPTR,#7F04H。
把地址送到DPTR
MOVA,#0BH。
送10次循环
MOV@DPTR,A
INCDPTR
MOVA,#40H
MOVXDPTR,#7F00H
RESET
ORG4000H
MOVA,#00H。
向数据输出输入口送0
MOVSUBF,A
KL0:
JNBTI,KL0
CLRTI
KL1:
JNBP1.0,PK₂。
P1.0键是否按下
JBP1.1,KL1
PK1:
ACALLD10MS。
延时10秒
JNBP1.1,KL2
KL2:
ACALLD10MS
JNBP1.2,KL3
KL3:
KL4:
JNBP1.0,KL4
JNBP1.1,KL4
JNBP1.2,KL4
MOVA,R4。
取键号
ADDA,R3
SUBBA,#0AH。
是命令键码
JNCKL6。
转向命令键处理
MOVDPTR,#TABL。
字型码表初值送DPTR
ADDA,#0AH。
恢复键号
MOVCA,@A+DPTR。
取字型数据
MOVR0,60H。
取显示缓冲区指针
MOV@R0,A。
将字型码入显示缓冲区
INCR0。
显示缓冲区地址加1
CJNER0,#60H,KD。
判断是否到最高位
MOV60H,#58H。
保存显示缓冲区地址
KD:
MOV60H,R0
KD1:
ACALLLED。
调用显示子程序
RET
KL6:
MOVB,#03。
修正命令键地址转移
。
表指针
MULAB
MOVDPTR,LTB。
地址表转移指令送
DPTR
LJMP@A+DPTR
TABL:
DBCCH,86H,92H,CFH
DB80H,8FH,E0H,A4H
LED:
SETBP0。
开放显示器
MOVR7,#03。
显示位数送R7
LED1:
MOVA,@R0。
送显示数据
LED2:
JNBTI,LED2
INCR0
DJNZR7,LED1
CLRP0
ORG5000H
MOVX@DPTR,#100H
MOVA,@DPTR
MOVP0,DPTR
SUBBP0,#10H
AJMPKF
ORG6000H
KE:
MOVA,#0B6H。
输入控制字
MOVX@DPTR,A。
方式控制字输入
MOVDPTR,#7FFEH。
指向计数器
MOVA,#0D0H。
1MS周期计数值
MOVA,#02H
MOV@DPTR,A。
315MHZ方波输出
KF:
MOVA,#0B6H
MOVX@DPTR,A
MOVDPTR,#7FFFH
MOVA,#0E0H
ORG7000H
SETBP0.7
MOVR7,#1EH
DL:
MOVR6,DL1
DJNZR7,DL
CLRP0.7
RESETP0.7
ORG8000H
START:
LJMPPGINT0
NOP
LJMPERR
LJMPPGT0
END