4路智力竞赛抢答器.docx

上传人:b****5 文档编号:6990986 上传时间:2023-01-15 格式:DOCX 页数:10 大小:260.45KB
下载 相关 举报
4路智力竞赛抢答器.docx_第1页
第1页 / 共10页
4路智力竞赛抢答器.docx_第2页
第2页 / 共10页
4路智力竞赛抢答器.docx_第3页
第3页 / 共10页
4路智力竞赛抢答器.docx_第4页
第4页 / 共10页
4路智力竞赛抢答器.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

4路智力竞赛抢答器.docx

《4路智力竞赛抢答器.docx》由会员分享,可在线阅读,更多相关《4路智力竞赛抢答器.docx(10页珍藏版)》请在冰豆网上搜索。

4路智力竞赛抢答器.docx

4路智力竞赛抢答器

信息与电气工程学院

课程设计说明书

(2011/2012学年第二学期)

 

课程名称:

单片机应用

题目:

4路智力竞赛抢答器

专业班级:

学生姓名:

学号:

指导教师:

岑毅南、王静爽、杨怡君等

设计周数:

两周

设计成绩:

2012年7月6日

 

目录

一、课程设计目的--------------------------------------------------------------------------------------3

二、课程设计任务及要求----------------------------------------------------------------------------3

2.1原始数据及主要任务---------------------------------------------------------------------3

2.2技术要求------------------------------------------------------------------------------------3

三、设计思路及原理----------------------------------------------------------------------------------3

3.1设计思路-------------------------------------------------------------------------------------3

3.2设计原理图----------------------------------------------------------------------------------4

3.3PCB--------------------------------------------------------------------------------------------5

3.4源程序代码---------------------------------------------------------------------------------5

 

四、所用器件-------------------------------------------------------------------------------------------10

五、课程设计心得体会------------------------------------------------------------------------------11

六、参考文献------------------------------------------------------------------------------------------11

七、课程设计评语及成绩----------------------------------------------------------------------------12

 

一、课程设计目的

通过长达两周的课程设计,加深对《单片机》课程所学理论知识的理解,运用所学理论知识解决实际问题。

结合课程设计的内容,学会利用Protel软件绘制电路原理图和PCB图,掌握电路的设计与组装方法,进行软硬件联机调试。

学会查阅相关专业技术资料及设计手册,提高进行独立设计的能力并完成课程设计相关任务。

二、课程设计任务及要求

2.1原始数据及主要任务

采用AT90C52作为控制单元,实现4路智力竞赛抢答器的设计。

1.设计键盘输入电路;

2.设计显示电路;

3.合理分配地址,编写系统程序;

4.利用Protel设计硬件电路原理图和PCB图;

5.软硬件联机调试;

2.2技术要求

设计一台以MCS-51为核心的可供4名选手参加比赛的智力竞赛抢答器。

4名选手各一个按键抢答,主持人一个按键用来系统清零和开始;1个数码管显示抢答倒计时间,由“9”倒计到“0”时,无人抢答,蜂鸣器响;选手抢答成功时,一个数码管显示选手号,同时蜂鸣器发3声间隔1秒笛响,倒计时停止。

初始状态,2个数码管均为0,当抢答成功时,时间数码管显示暂停时间,选手号数码管显示选手号,直到系统清零。

三、设计思路及原理

3.1设计思路

设置4个按键,其编号分别是1到4,按钮的编号与选手的编号相对应。

初始时,4个按钮常开,只有当主持人按下开始按键时才可以进行倒计时抢答。

当主持人按下开始按键后,开始倒计时10秒,当4个按钮只要有一个按下即只要有人抢答时,单片机收到信号,抢答成功数码管亮,选手前面的指示灯也一同点亮。

通过74LS245进行段选使数码管置显示选手的序号,同时倒计时,在另一个数码管上显示,实现10秒倒计时。

并且当有按键按下后其他选手按键无效。

当选手答完后,由主持人按键将数码管清零,继续下次抢答。

若10秒内无人抢答,则声鸣器发出超时报警声,此题作废,主持人可按下“开始”键系统清零,在按下“开始”键进行下一轮的答题。

3.2设计原理图

3.3PCB图

3.4源程序代码

#include

#defineunintunsignedint

#defineuncharunsignedchar

sbitwei1=P1^0;//选手1选通

sbitwei2=P1^1;//倒计时1选通

sbitBeen=P1^2;//蜂鸣器0选通

sbitAN1=P3^4;//选手1

sbitAN2=P3^5;//选手2

sbitAN3=P3^6;//选手3

sbitAN4=P3^7;//选手4

sbitAN5=P3^3;//主持人按键

sbitD1=P1^3;

sbitD2=P1^4;

sbitD3=P1^5;

sbitD4=P1^6;//四个选手的灯

sbitD5=P1^7;//主持人的灯

unchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

inti,j,num,person,flag,flag1,flag2,flag3;

voidinit(void)//初始化程序

{

flag=0;flag1=0;flag2=0;;flag3=0;

P1=0xFF;

P2=0x3F;//数码管初始状态为00

TMOD=0x11;//定时器0,1工作在方式1

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;//T0定时50ms

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;//T1定时50ms

TR1=0;//关定时器1

TR0=0;//关定时器0

IE=0x8A;//允许定时器0,1中断,开中断

}

 

voiddelay(unintz)//延时zms

{

unintx,y;

for(x=z;x>0;x--)

for(y=1000;y>0;y--);

}

 

voiddisplay()//数码管显示

{

wei1=1;

P2=table[person];//显示选手

delay

(2);

wei1=0;

wei2=1;

P2=table[num];//显示倒计时

delay

(2);

wei2=0;

}

 

voidtimer0(void)interrupt1//T0中断服务程序

{

i--;

if(i%20==0)

{num--;}

if(i==0)

{flag1=1;D5=1;TR0=0;}

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;//T0定时50ms

}

 

voidtimer1(void)interrupt3//T1中断服务程序

{

intn=0;

j--;

if(j>19)

{if(j%20==0)

if(n<3)

{n++;Been=0;delay(5);Been=1;}

}

else

{TR1=0;flag2=0;}

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;//T1定时50ms

}

voidanjian(void)//按键检测

/***********主持人按键检测**********/

{

if(AN5==0)

{

delay(10);

if(flag3==1||flag1==1)

{num=0;person=0;Been=1;flag1=0;flag3=0;D1=1;D2=1;D3=1;D4=1;D5=1;}

else

{D5=0;person=0;num=9;i=180;j=61;TR0=1;flag=1;}

}

 

/**********选手按键检测************/

if(flag==1)

{if(AN1==0){delay(10);D1=0;person=1;TR0=0;flag=0;flag3=1;flag2=1;}

if(AN2==0){delay(10);D2=0;person=2;TR0=0;flag=0;flag3=1;flag2=1;}

if(AN3==0){delay(10);D3=0;person=3;TR0=0;flag=0;flag3=1;flag2=1;}

if(AN4==0){delay(10);D4=0;person=4;TR0=0;flag=0;flag3=1;flag2=1;}

}

}

 

voidBeenRing(void)

{

if(flag1==1)

{Been=0;}

if(flag2==1)

{TR1=1;}

}

 

voidmain()

{

init();

while

(1)

{

anjian();

display();

BeenRing();

}

}

 

四、所用器件

STC90C52AD1个

Max2321个

晶振12Mz1个

发光二极管6个

瓷片电容22p2个

接线端子1个

按键6个

DB9针形插座1个

插座DIP161个

插座DIP401个

74LS245总线驱动器1个

数码管2个

蜂鸣器1个

PNP三极管1个

NPN三极管2个

导线若干

电阻2001个

10k5个

3305个

4708个

6.8K1个

1k3个

 

5、课程设计心得体会

近两周的单片机课程设计快结束了,我认为这次设计具有重要意义。

我们平时学的都是理论知识,并没应用到实际中,而这次设计为我们提供了平台。

在这两周里,通过查资料,不仅巩固了以前所学过的知识,而且学到了很多以前在书本上所没有学到过的知识。

在这次设计中,我们小组明确分工,分工合作不仅能使每个人的工作量减少,还能提高工作效率。

我感受了团队力量,对于即将毕业的大学生来说,团队合作精神很重要。

现在很多公司在招聘时就明确要求应聘者要能吃苦耐劳,要有团队合作精神,可见团队合作是多么的重要。

这次课设中,在焊接中体会最深的就是要从整体布局,大处着眼的能力不足,使焊接中遇到很多问题。

首先,整体布局不好,使得有几处地方可以少连或不联跳线,但布局的问题导致多出了好几条跳线,使得版子看起来乱且容易出现焊接的问题。

其次,在重叠线中,焊接线的先后顺序安排不太理想,有的时候远线先焊在了版子上,在焊近线的时候,由于线比较密集,烙铁不好放在版子上,容易导致了焊点的不理想。

通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。

总而言之,此次课设锻炼的大家的理论知识与实际动手能力,补充了和检测了平时的不足和知识的漏洞,对课本知识有了整体认识,把模糊的理论知识实际化,具体化,使之与生活联系起来,与实际联系起来,使同学们的能力都有了很大的提高。

六、参考文献

【1】张毅刚.单片机原理及应用.高等教育出版社,2004.1

【2】求是科技.单片机.人民邮电出版社,2004.1

【3】冯育长.单片机系统设计与实例分析.西安电子科技大学出版社,2007.5

【4】楼苗然,李光飞.单片机课程设计指导.北京航空航天大学出版社,2007.7

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1