四路抢答器设计.docx
- 文档编号:3000629
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:30
- 大小:261.38KB
四路抢答器设计.docx
《四路抢答器设计.docx》由会员分享,可在线阅读,更多相关《四路抢答器设计.docx(30页珍藏版)》请在冰点文库上搜索。
四路抢答器设计
EDA课程设计报告
题目:
四路抢答器
学院:
机械与电气工程学院
专业:
电气工程及其自动化
班级:
姓名:
学号:
指导教师:
教师职称:
2018
年
1
月
5
日
机械与电气工程学院EDA课程设计任务书
专业:
电气工程及其自动化年级:
B电气工程15-2姓名:
路志文学号:
1504215127
EDA课程设计题目
四路抢答器
EDA课程设计的任务、要求
一、设计任务
1.设计一个可容纳四组参赛的数字式抢答器,每组设一个按钮供抢答使用。
2.设置犯规电路,对提前抢答和超时答题(例如3分钟)的组别鸣笛示警。
3.设置一个计分电路,进行加分和减分;
二、设计要求
1.查找资料,根据要求的格式,以设计报告书的形式写出设计方案的全过程;
2.学习使用Protel软件,利用Protel完成原理图绘制;
3.学习使用Multisim软件,利用Multisim进行仿真验证(或实物验证)。
参考文献
[1]童诗白,华成英.模拟电子技术基础(第四版)[M].北京:
高等教育出版社,2006.
[2]阎石.数字电子技术基础(第五版)[M].北京:
高等教育出版社,2006.
[3]古良玲.电路仿真与电路板设计项目化教程(基于Multisim与Protel)[M].北京:
机械工业出版社,2014.
[4]瞿德福.实用数字电路手册-(TTLCMOS)[M].北京:
中国标准出版社,2013.
EDA课程设计工作进度计划
起讫日期
主要工作内容
2017.12.25-2018.12.25
选题、调研、收集资料
2017.12.26-2018.01.03
绘制原理图、调试运行
2018.01.04-2018.01.04
撰写设计报告书
2018.01.05-2018.01.05
EDA课程设计答辩
指导教师签名
指导教师:
年月日
教研室意见
负责人:
年月日
四路抢答器
路志文
摘要
随着我国经济和文化事业的发展有很多竞争场合需要有快速公正的抢答器.
该课题设计的是一款多功能四路数字抢答器,它具有优先抢答、限时抢答、铃音提示、数字显示、系统报警等功能。
主要由抢答电路、定时电路、报警电路、时序电路组成。
其中抢答电路主要是分辨出选手的按键顺序,锁存优先抢答者的编号,供译码显示电路使用,并封锁输入电路,禁止其他选手抢答;定时电路主要是限定抢答时间,禁止选手超时抢答,抢答有效时间可以由问题的难易来设定。
确保了比赛的公平性,更便于选手操作,实现快速无误的抢答。
关键词:
四路抢答器计时报警
four-waybuzzer
luzhiwen
Abstract
Hastheverymanycompetitionsituationalongwithourcountryeconomyandtheculturalestablishmentdevelopmenttoneedtohavefastfairviestoanswerfirst.
Soldierelectronviestoanswerfirst,ithasfirstviestoanswerfirst,reprimandstheby-pass,thetimelimitviestoanswerfirst,thebellsoundprompt,thenumeraldemonstrated,thesystemreportstothepoliceandsoonthefunctions.Mainlybyviestoanswerfirsttheelectriccircuit,thetimingcircuit,thealarmcircuit,thesequencecircuitcomposes.Inwhichviestoanswerfirsttheelectriccircuitmainlyisdistinguishescontestant'spressedkeyorder,thelocksavesfirsttheviingtoanswerfirstserialnumber,forthedecodingdisplaycircuituse,andblockstheinputcircuit,forbidsothercontestantstovietoanswerfirst;Thetimingcircuitmainlyisthedefinitionviestoanswerfirstthetime,forbidsthecontestantovertimetovietoanswerfirst,viestoanswerfirsttheworkinglifetobepossibletoestablishbythequestiondifficulty.Hasguaranteedthecompetitionfairness,isadvantageousforthecontestanttooperate,realizationfastunmistakableviingtoanswerfirst.
Thisdesignelectriccircuitmainlyusedfirsttheencoder,thelatch,electronicprimarydevicesandsoon555timers.
Keywords:
four-waybuzzertimingcallthepolice
1设计目的
熟悉几种常用集成数字芯片,并掌握其工作原理,进一步学会使用其进行电路设计。
了解数字系统设计的基本原理思想和方法,学会科学分析和解决问题,有效的提高动手能力,独立分析问题、解决问题的能力,协调能力和创造性思维能力。
培养认真严谨的工作作风和实事求是的工作态度,培养综合运行理论知识解决实际问题的能力。
2设计要求
设计一个可容纳四组参赛的数字式抢答器,每组设一个按钮供抢答使用。
设置犯规电路,对提前抢答和超时答题(例如3分钟)的组别鸣笛示警。
设置一个计分电路,进行加分和减分。
3设计任务
分析设计任务,电路应包括抢答,计分和报警三大主要部分。
当单片机定时器的中断循环二十次后开始报警,报警LED灯亮。
抢答电路要求在裁判按下抢答按钮后,选手开始抢答,并在一个选手抢答成功后现实哪个选手抢答成功且此时其他选手不能抢答,因此在单片机程序中设置while(!
k);和while(k6&k7&k8);作为逻辑语句,实现一个选手抢到后其他选手抢答无效。
调用voidkey()实现抢答和计分电路的功能,并通过voidSMG_Display是每个选手的分数在数码管上显示出来。
在设计控制电路时,应正确处理各个信号之间的时序关系。
4设计方案
4.1硬件设计
4.1.1四路抢答器按键控制电路
图4.1四路抢答器按键控制电路
键盘是单片机不可或缺的输入设备,是实现人机对话的纽带,键盘按结构形式可以分为非编码键盘和编码键盘,前者用软件方式产生编码,而后者用硬件方式产生编码,在单片机中使用的都是非编码键盘,因为非编码键盘结构简单,成本低廉,非编码键盘类型也多,如此次使用的独立式键盘,此键盘的特点是使用了多少根I/O线就有多少个按键,由于此次我们使用了8根I/O线所以有8个按键.这种键盘各个按键比较少且各个按键相互独立,因此可以根据实际需要对键盘中的按键灵活编码。
CPU可以直接通过I/O线状态来获得按键的状态编码,虽然操作简便但是会占用大量的I/O口线,因此只有当单片机各接口资源比较充裕时才可以选择这种键盘。
4.1.2数码管显示电路
图4.2数码管显示电路
电路可以清通过数码管显示晰直观的显现出个选手的得分情况,且结构简单易使用软件对其编程,数码管功率小消耗低,抗干扰能力强。
由p0.0-p0.7对其显示数码进行编程控制,由三极管控制各选手的记分板的工作与锁存状态,简单易操作。
4.1.3外部时钟脉冲电源电路
图4.3外部时钟脉冲电源电路
由晶振和电容,vcc构成简单的外部脉冲电源电路,此电路结构简单便于控制,且输出脉冲稳定,并将rst引脚与电路相连防止单片机突然断电时rom地址中的内容的丢失也可增加了复位的功能。
4.1.4四位电路抢答器
图4.4四位电路抢答器
当主持人按下抢答按键时,选手开始抢答,并有LED灯显示选手是否抢答成功,在强大成功回答抢答则有开始进入加减法计分电路,显示选手分数,若抢答后未在规定时间内回答则报警灯亮,提示强大时间超时。
图4.5系统结构图
4.1.5PCB设计
图4.6PCB电路设计
在连接原理图的同时把元器件的封装做好,最后转化成PCB,再通过自动布线或者手动连线,确保各线之间无交接的地方。
4.2.软件设计
4.2.1软件仿真
如上图,此电路主要实现选手的抢答。
接通电源后,当主持人将开关拨到“清零”状态,抢答器处于禁止状态,定时器设定时间,主持人将抢答按钮按下允许抢答,选手开始抢答,在规定时间内完成抢答,优先判断,使用LED灯显示选手抢答。
图4.7抢电答路
4.2.1.1单片机外部脉冲电路
图4.8外部脉冲电路
单片机外部脉冲电路由两个30pf的电容和一个晶振组成,通过晶振的周期信号作为时钟脉冲,在rst处接电源,保障单片机突然断电时不会丢失在ROM中存储的数据信息。
4.2.1.2选手抢答开关电路
图4.9选手抢答开关电路
由裁判按下开关k1允许选手开始抢答,并在选手抢答成功后,各选手相对应的LED灯亮,显示某一选手抢答成功,然后定时器开始计时,若未在规定时间抢答完毕,报警灯亮。
4.2.1.3数码管电路
图4.10数码管电路
数码管的左下班引脚与p0.0-p0.7相连,并通过软件译码功能,最终显示各选手得分。
右下引脚与三极管相连,通过控制三极管的导通电压显示相应对手的分数
4.2.1.4加法记分电路
图4.11加法记分电路
在选手抢答成功后,三极管接通,抢答成功选手的相应记分数码管亮,在回答正确后,通过按键k6实现给p2.5一个低电平,有软件控制实现加法运算。
4.2.1.5减法记分电路
图4.12减法记分电路
在选手抢答成功后,三极管接通,抢答成功选手的相应记分数码管亮,在回答错误后,通过按键k7实现给p2.6一个低电平,有软件控制实现减法运算。
4.2.1.6延时报警电路
图4.13延时报警电路
若选手在抢答成功后没有在规定时间内对抢答的问题作出回答,在定时器的循环次数达到二十次时,由软件控制报警灯亮,提示选手回答超时。
4.2.2软件程序设计
本设计抢答器的程序采用的是C程序设计,C语言的显著特点是用二进制来编写程序,程序各个部分除了必要的信息交流之外相互独立,这种结构方式可使程序层析清晰,便于使用,维护以及调试。
C语言以函数的形式提供给用户的,这些函数可方便的调用,并具有多种循环,条件语句控制程序流向,从而使程序完全结构化,虽然C语言是强类型语言,但它的语法比较灵活,允许程序编写有较大的灵活度。
本次课程设计的主程序包括时钟设计程序,定时器中断子程序,数码管显示程序,按键控制程序。
4.2.2.1选手抢答按键程序设计
voidkey()
{
if(K1==0)//裁判按下抢答按钮
{
delay(5);//延时防止按键抖动
if(K1==0)//判断裁判是否真的按下抢答按钮
{
while(!
K1);//确保在k1按下时其他按键无法按下,防止误操作
cp++;//循坏结束后级k1松开后,cp增加一次
}
}
if(cp!
=0)
{
if(K2==0)//k2选手抢到了
{
delay(5);
if(K2==0)
{
while(!
K2);//在k2按下时不能进行其他按键操作
anjian1=1;//anjian1为抢答成功选手代码
L1=0;//k2选手的LED灯亮
LL=1;
TRO=1;//打开定时器0
while(K6&K7&K8);//允许适应加减法和清零操作按钮
}
}
4.2.2.2按键加减法记分器程序设计
if(anjian1==1)//选手1回答完毕
{
if(K6==0)//如果正确按下加分按钮
{
delay(5);//延时防止按键误操作
if(K6==0)//检测减法按键是否被按下
{
while(!
K6);//按下后禁止其他按钮按下
aa++;//分数每次加一
if(aa==10)//如果加法加了10次
{aa=0;}//数值重置为0
}
}
if(K7==0)//如果按下了减法按键
{
delay(5);//延迟
if(K7==0)//检测减法是否真的按下
{
while(!
K7);//减法按下后禁止按下其他按键
aa--;//分数每次减一
if(aa==-1)//如果分数减到-1
aa=9;//分数重置为9
}
}
}
4.2.2.3延时程序设计
voiddelay(uintz)
{
uintx,y;//定义变量x,y
for(x=z;x>0;x--)//如果x>0,x递减
for(y=110;y>0;y--);//如果y>0,y递减
}
4.2.2.4清零程序设计
else
anjian1=0;//如果没有人按下则anjian1为0
if(K8==0)//如果按下清零建k8
{
delay(5);//延时
if(K8==0)//检测k8是否按下
{
cp=0;
anjian1=0;//令anjian1为
L1=L2=L3=L4=1;//一二三四号选手的等全灭
TR0=0;//关闭定时器0
LL=0;//设定LL为0
LED=1;//报警LED灯亮
}
4.2.2.5数码管程序设计
voidSMG_Display()
{
P0=0xff;//自动检测数码管
W1=1;//1号选手记分板亮
W2=0;//2号选手记分板不亮
W3=0;
W4=0;
delay
(1);//延迟
P0=temp[aa];//调用temp函数组,指示数码管的数码显示
delay
(2);//延时
4.2.2.6定时器程序设计
voidInit_interrupt()
{
TMOD=0x11;//定义定时器1和定时器0的功能和工作方式
TH0=(65536-50000)/256;//定义定时器0的时间范围
TL0=(65536-50000)%256;//定义定时器0的时间范围
TH1=(65536-50000)/256;//定义定时器1的时间范围
TL1=(65536-50000)%256;//定义定时器1的时间范围
EA=1;//允许CPU中断
ET0=1;//允许定时器0中断
TR0=1;//打开定时器0
ET1=1;//允许定时器1中断
TR1=1;//打开定时器1
}
总结
通过这次的课程设计作品的制作让我对单片机的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。
通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际,避免称为只会纸上谈兵的赵括。
课程设计贡献排序:
这次课程设计从最初的规划到后来的理论设计到最后的具体制作都是我们两共同完成的,实在无法区分贡献排序。
各取50%吧。
课程改革建议:
我们强烈建议将这门课程的理论学习和实验部分合并成一门,以避免想我们这种情况的再次发生。
此次的设计其实也是我们所学知识的一次综合应用,让我深深的认识到了学习单片机的作用,它我们专业中有着极大的作用,成品的电路也方便简单易于更改,但它的使用要求我们与之前的C语言的学习相结合起来,综合运用,学号对知识的灵活运用。
参考文献
[1]童诗白、华成英,模拟电子技术基础(第四版)[M].北京:
高等教育出版社,2006.
[2]阎石,数字电子技术基础(第五版)[M].北京:
高等教育出版社,2006.
[3]古良玲,电路仿真与电路板设计项目化教程(基于Multisim与Protel)[M].北京:
机械工业出版社,2014.
[4]霍德福,实用数字电路手册-(TTLCMOS)[M],北京:
中国标准出版社,2013.
附录
附录一、原理电路图
附录二、PCB电路图
附录三、C语言程序清单
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitW1=P1^0;
sbitW2=P1^1;
sbitW3=P1^2;
sbitW4=P1^3;
sbitK1=P2^0;
sbitK2=P2^1;
sbitK3=P2^2;
sbitK4=P2^3;
sbitK5=P2^4;
sbitK6=P2^5;
sbitK7=P2^6;
sbitK8=P2^7;
sbitL1=P1^4;
sbitL2=P1^5;
sbitL3=P1^6;
sbitL4=P1^7;
sbitLED=P3^0;
uchartemp[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uchartable[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
ucharzdnum=0,zdnum1=0,zdnum2=0,zdnum3=0;
ucharaa=0;bb=0;cc=0;dd=0,cp=0;
ucharanjian1=0;
ucharLL=0;
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidkey()
{
if(K1==0)
{
delay(5);
if(K1==0)
{
while(!
K1);
cp++;
}
}
if(cp!
=0)
{
if(K2==0)
{
delay(5);
if(K2==0)
{
while(!
K2);
anjian1=1;
L1=0;
LL=1;
TR0=1;
while(K6&K7&K8);
}
}
if(K3==0)
{
delay(5);
if(K3==0)
{
while(!
K3);
anjian1=2;
L2=0;
TR0=1;
LL=1;
while(K6&K7&K8);
}
}
if(K4==0)
{
delay(5);
if(K4==0)
{
while(!
K4);
anjian1=3;
L3=0;
TR0=1;
LL=1;
while(K6&K7&K8);
}
}
if(K5==0)
{
delay(5);
if(K5==0)
{
while(!
K5);
anjian1=4;
L4=0;
TR0=1;
LL=1;
while(K6&K7&K8);
}
}
}
if(anjian1==1)
{
if(K6==0)
{
delay(5);
if(K6==0)
{
while(!
K6);
aa++;
if(aa==10)
{aa=0;}
}
}
if(K7==0)
{
delay(5);
if(K7==0)
{
while(!
K7);
aa--;
if(aa==-1)
aa=9;
}
}
}
elseif(anjian1==2)
{
if(K6==0)
{
delay(5);
if(K6==0)
{
while(!
K6);
bb++;
if(bb==10)
{bb=0;}
}
}
if(K7==0)
{
delay(5);
if(K7==0)
{
while(!
K7);
bb--;
if(bb==-1)
bb=9;
}
}
}
elseif(anjian1==3)
{
if(K6==0)
{
delay(5);
if(K6==0)
{
while(!
K6);
cc++;
if(cc==10)
{cc=0;}
}
}
if(K7==0)
{
delay(5);
if(K7==0)
{
while(!
K7);
cc--;
if(cc==-1)
cc=9;
}
}
}
elseif(anjian1==4)
{
if(K6==0)
{
delay(5);
if(K6==0)
{
while(!
K6);
dd++;
if(dd==10)
{dd=0;}
}
}
if(K7==0)
{
delay(5);
if(K7==0)
{
while(!
K7);
dd--;
if(dd==-1)
dd=9;
}
}
}
else
anjian1=0;
if(K8==0)
{
delay(5);
if(K8==0)
{
cp=0;
anjian1=0;
L1=L2=L3=L4=1;
TR0=0;
LL=0;
LED=1;
}
}
}
voidSMG_Display()
{
P0=0xff;
W1=1;
W2=0;
W3=0;
W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四路 抢答 设计