四路抢答器单片机课程设计.docx
《四路抢答器单片机课程设计.docx》由会员分享,可在线阅读,更多相关《四路抢答器单片机课程设计.docx(14页珍藏版)》请在冰点文库上搜索。
四路抢答器单片机课程设计
四路抢答器单片机课程设计
渝州科技职业学院
单片机四路抢答器课程设计
院系:
电子信息工程
专业班级:
11级电管本2班
学生姓名:
刘学飞
学号:
1102120205
指导教师姓名:
何健
指导教师职称:
讲师
一、方案设计
1.1、设计要求
(1)、总共6个按键,两个供主持人用于“开始抢答”和“复位”操作,四个供四个选手用作“抢答”操作。
(2)、用1个发光二极管用作开始抢答的指示灯,用4个发光二极管分别显示4个选手的抢答状态。
(3)、开始抢答后,哪个选手抢答键最先按下,该选手的抢答指示灯点亮,表示抢答成功,此时其他选手再按键为无效,抢答成功后开始3秒计时,到时指示灯变为闪烁,以提示选手选手抢答后必须3秒内回答问题,否则视为犯规。
(4)、开始抢答前,若有选手按下抢答键,则其对应的指示灯变为闪烁,表示该选手犯规,此时有选手按键都将无效。
(5)、出现犯规后,主持人可以利用“复位键”重新开始。
1.2、总体法案设计
方案:
依据课题要求,基于AT89C51单片机制作的抢答器,其最大的好处就是处理快,准确性高、可靠性好、控制功能强。
采用51系列的单片机AT89C51作为控制中心,系统可以完成运算控制、信号的控制以及显示的功能。
选手通过按键开光作为输入信号完成输入信号的触发,主持人根据选手的输入信号准确的判断最先按下的选手且屏蔽其他的抢答信号,让选手作答。
使用外部中断方式来实现开始抢答,运用按键复位来实现系统的复位,其系统原理框图如下:
图一系统原理框图
二、
硬件电路设计
2.1、元器件简介
AT89C51单片机,其内部带有4KB的掩膜ROM。
无需扩展外部程序存储器。
其中:
CVV:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
P3口也可作为AT89C51的一些特殊功能口:
P3.0RXD(串行输入口);P3.1TXD(串行输出口);P3.2/INT0(外部中断0);P3.3/INT1(外部中断1);P3.4T0(记时器0外部输入);P3.5T1(记时器1外部输入);P3.6/WR(外部数据存储器写选通);P3.7/RD(外部数据存储器读选通)。
RST:
复位输入。
EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器,不管是否有内部程序存储器。
当/EA端保持高电平时,此间内部程序存储器。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.2、系统总电路图
图二、总电路图
2.3、单元电路设计
2.3.1、独立式按键电路
如右图5个独立式按键K1—K4分别接在P2口的P2.0—P2.3另外一端接地。
当有一键按下时相应的口线的电平发生变化,单片机进行扫描确定哪个键按下。
K5接P3.3接外部中断1,作为主持人开始抢答键的按键。
当5个键中的其中一个键按下时,其对应的指示灯也相对的被点亮。
2.3.2时钟电路设计
如右图示,为时钟电路,单片机必须在时钟驱动下才能正常的工作,在单片机内部有一时钟振荡电路,只需外接一个振荡源就可以一定的时钟信号送到各个单元,采用12MHz的晶振,其时钟周期为1/12us,电路中两个电容C1和C2的作用:
一是帮组振荡器起振;二是对振荡器的频率进行微调,它们的值都为30PF。
2.3.3复位电路设计
单片机的第9引脚RST是复位端,只要在复位端保持两个周期以上的高电平,就可以实现复位。
右图采用按键手动复位中的按键电平复位,由复位按键和10PF的电容,以及一个200Ω的电阻和一个1KΩ的电阻构成复位电路,当复位键按下就对单片机进行复位。
单片机复位完成之后,系统程序将从0000H开始执行。
2.3.4指示灯电路设计
右图为指示灯电路,采用共阳极的方式,为低电平是发光二级管亮,即发光二级管的正极接上500Ω的保护电阻在接到高电平,另外一端接到单片机的P1口的P1.0—P1.4,当其对应的按键按下时,相应的二极管就会被点亮。
三、软件实际
3.1系统程序设计
在抢答过程中,有多个信号输入主电路中,单片机内部的寄存器工作,并识别、记录第一个抢答的人,同时内部的定时器开始工作,记录有关的时间信号,在整个抢答过程中,显示电路还要根据现场的实际情况来相应的显示输入信号。
采用外部中断一,且为下降源触发,在设计中包括:
主程序、查询程序、非法抢答处理程序、正常抢答处理程序、显示程序。
3.2主程序流程图
主程序流程图如下:
3.3程序清单
ORG0000H
AJMPKAISHI;转主程序
ORG0013H;外部中断1矢量地址
AJMPINT_1;转外部中断程序1
======主程序========
ORG0100H
KAISHI:
MOVSP,#60H
SETBEA;开外部中断
SETBEX1;开外部中断1
SETBIT1
SETBP3.3
NEXT:
MOVP1,#0FFH
MOVP2,#0FH;选手指示灯初始状态全灭
MOVR4,#15
MOVA,#5
JNBP2.0,FEIFA1;判断主持人开关未按下时开关1是否抢答
JNBP2.1,FEIFA2;判断主持人开关未按下时开关2是否抢答
JNBP2.2,FEIFA3;判断主持人开关未按下时开关3是否抢答
JNBP2.3,FEIFA4;判断主持人开关未按下时开关4是否抢答
SJMPNEXT;跳转到程序NEXT
FEIFA1:
CLRP1.0;选手一的非法抢答处理程序
ACALLDINGSHI;调用子程序DINGSHI
SETBP1.0
ACALLDINGSHI
SJMPFEIFA1
FEIFA2:
CLRP1.1;选手二的非法抢答处理程序
ACALLDINGSHI
SETBP1.1
ACALLDINGSHI
SJMPFEIFA2
FEIFA3:
CLRP1.2;选手三的非法抢答处理程序
ACALLDINGSHI
SETBP1.2
ACALLDINGSHI
SJMPFEIFA3
FEIFA4:
CLRP1.3;选手四的非法抢答处理程序
ACALLDINGSHI
SETBP1.3
ACALLDINGSHI
SJMPFEIFA4
;======外部中断程序=========
ORG0300H
INT_1:
CLRP1.4
MOVA,#5
JNBP2.0,XS1;判断主持人开关按下时选手1是否抢答
JNBP2.1,XS2;判断主持人开关按下时选手2是否抢答
JNBP2.2,XS3;判断主持人开关按下时选手3是否抢答
JNBP2.3,XS4;判断主持人开关按下时选手4是否抢答
SJMPINT_1
RETI;中断返回
XS1:
CLRP1.0;选手1正确抢答处理程序
ACALLDINGSHI
DJNZR4,XS1
ST1:
SETBP1.0
MOVA,#5
ACALLDINGSHI
CLRP1.0
ACALLDINGSHI
SJMPST1
XS2:
CLRP1.1;选手2正确抢答处理程序
ACALLDINGSHI
DJNZR4,XS2
ST2:
SETBP1.1
MOVA,#5
ACALLDINGSHI
CLRP1.1
ACALLDINGSHI
SJMPST2
XS3:
CLRP1.2;选手3正确抢答处理程序
ACALLDINGSHI
DJNZR4,XS3
ST3:
SETBP1.2
MOVA,#5
ACALLDINGSHI
CLRP1.2
ACALLDINGSHI
SJMPST3
XS4:
CLRP1.3;选手4正确抢答处理程序
ACALLDINGSHI
DJNZR4,XS4
ST4:
SETBP1.3
MOVA,#5
ACALLDINGSHI
CLRP1.3
ACALLDINGSHI
SJMPST4
;=======定时子程序=======
ORG0400H
DINGSHI:
MOVTMOD,#01H;设置定时器为定时器0,方式1
MOVTL0,#0C0H
MOVTH0,#63H
MOVR3,A
SETBTR0
LOOP:
JNBTF0,$
MOVTL0,#0C0H
MOVTH0,#63H
CLRTF0
DJNZR3,LOOP
CLRTR0
RET
END
四、制作以调试
在焊接过程中,因为在以前也有过多次焊接的训练,因此在焊接过程中没有太多的问题,焊接结束是,电路板没有问题。
程序在keilluVision2编译成功后,接之在proteus7中画出系统总电路图,把程序烧写进芯片中,进行仿真,仿真结果正确。
作品正面
作品背面
五、抢答器的使用方法
抢答器接上电源之后,(以作品真面为例),左上为主持人使用的复位键,左下为主持人使用的开始抢答键,右下的键为供选手使用的抢答键,从右下往上分别为选手一至选手四的按键,在主持人还没有按下开始抢答键是若有选手按下抢答键,则其选手相应的指示灯会闪烁以提示其犯规,此时主持人应按下复位键,重新开始。
如选手抢答成功之后,其相应的指示灯会亮3秒,之后会变成闪烁以提示选手作答。
六、心得与体会
通过这次的设计,让我对单片机的知识又有了近一步的了解,让我在多方面都有了一定的提高。
通过这次设计,综合运用本专业所学习的课程的理论,设计工作的实际训练从而提高我们的独立的工作能力,巩固我们所学的知识,提高了我们我们的独立思考能力。
在设计的过程中,我遇上了许多的问题,但是我没有放弃,在不明白的地方,及时的查阅材料,问老师,问同学,顺利地编写程序,仿真,焊接,调试。