单片机的八路抢答器论文报告Word文档下载推荐.docx

上传人:b****3 文档编号:17818105 上传时间:2022-12-11 格式:DOCX 页数:13 大小:905.50KB
下载 相关 举报
单片机的八路抢答器论文报告Word文档下载推荐.docx_第1页
第1页 / 共13页
单片机的八路抢答器论文报告Word文档下载推荐.docx_第2页
第2页 / 共13页
单片机的八路抢答器论文报告Word文档下载推荐.docx_第3页
第3页 / 共13页
单片机的八路抢答器论文报告Word文档下载推荐.docx_第4页
第4页 / 共13页
单片机的八路抢答器论文报告Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

单片机的八路抢答器论文报告Word文档下载推荐.docx

《单片机的八路抢答器论文报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机的八路抢答器论文报告Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

单片机的八路抢答器论文报告Word文档下载推荐.docx

单片机(单片微型计算机)的应用已经渗透到国民经济的各个部门和领域,它起到了越来越重要的作用。

单片微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。

因此一块芯片就构成了一台计算机。

它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。

课程设计目录:

第一部分:

系统设计的要点

第二部分:

设计的要求及目的

第三部分:

系统流程图

第四部分:

电路组成及各部分选定方案

(1)原理图设计

(2)器件清单

(3)程序设计

第五部分:

设计总结

第六部分:

参考文献

1.系统设计的要点:

系统设计主要包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。

硬件设计部分包括电路原理图、合理选择元器件、绘制线路图,然后对硬件进行调试、测试,以达到设计要求。

软件设计部分,首先在总体设计中完成系统总框图和各模块的功能设计,拟定详细的工作计划;

然后进行具体设计,包括各模块的流程图,选择合适的编程语言和工具,进行代码

设计等;

最后是对软件进行调试、测试,达到所需功能要求。

2.设计要求及目的:

(1)设计一个智力竞赛抢答器,晶振12MHz,可同时提供8路选手或8个代表参加比赛,编号为1,2,3,4,5,6,7,8,并各用一个按钮。

(2)节目主持人有5个控制开关,用来控制清零和抢答开始、计时开始,以及抢答时间和限时时间的调节。

(3)抢答器具有数字锁存功能,显示功能和声音提示功能。

抢答开始,若有选手按下抢答器按钮编号立即锁存,并在LED上限时选手的编号,同时灯亮且伴有声音提示。

此外,要封锁输入电路,禁止其他选手抢答。

(4)最先抢答的选手编号一直保持到主持人将系统清零。

(5)显示器和功能键分配。

a.4位LED分功:

第一位,选手编号,

后三位,开始抢答到抢答的时间。

当某选手固定后显示限答时间。

b.主持人功能键

K!

——选手加10分。

K2——选手加5分。

K3——回答时间设置(+50s)限时开始。

K4——回答时间设置(+10s)。

K5——抢答开始。

K6——RST键,清零。

K7——回答开始。

(设计电路时数码管没有使用锁存器,导致单片机端口不够,只能将主持人按键缩减为三个按键,一个RST键;

两个多功能按键,可开始、停止、答题倒计时以及暂停计时。

3.系统流程图:

主流程图:

中断流程图(下页):

选手抢答流程图:

蜂鸣器

4.电路组成及各部分选定方案

1)原理图

原理图

2)仿真以及仿真结果

a.电路加电时电路(系统复位时电路图)

b.主持人开始按下开始按键时系统开始倒计时电路图

c.选手四抢答时,显示编号和剩余计时时间电路

d.选手七抢答时,显示编号和剩余计时时间电路

e.无人抢答时倒计时电路计时到0秒电路,蜂鸣器响。

3)程序设计:

#include<

reg52.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitk1=P1^0;

sbitk2=P1^1;

sbitk3=P1^2;

sbitk4=P1^3;

sbitk5=P1^4;

sbitk6=P1^5;

sbitk7=P1^6;

sbitk8=P1^7;

sbitfmq=P3^5;

//蜂鸣器

sbitstart=P3^6;

//主持人开始键

sbitstop=P3^7;

//主持人停止键

ucharzwnum=0,m;

//座位号

ucharcodeLED[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

ucharge=0,shi=0;

ucharnum=0;

uchartime=60;

//计时60秒

voiddelay1ms(uinti)//1ms的延迟程序

{

ucharj;

while(i--)

for(j=0;

j<

115;

j++);

}

voiddelay500us()//500us的延迟程序

uchark;

for(k=0;

k<

57;

k++);

voidbeep()//蜂鸣器程序

uintm;

for(m=0;

m<

100;

m++)

{fmq=0;

delay500us();

fmq=1;

//fmq=0;

delay1ms(100);

voiddisplay()//显示程序

shi=time/10;

//十位

ge=time%10;

//个位

P3=0xfd;

P0=LED[shi];

delay1ms(4);

P3=0xfe;

P0=LED[ge];

P3=0xef;

P0=LED[zwnum];

main()//主程序程序

TMOD=0x01;

TH0=0x3c;

TL0=0xb0;

IT0=0;

//打开中断控制

EA=1;

//

ET0=1;

ET1=1;

EX0=1;

EX1=1;

{while

(1)

{

display();

if(start==0)

{beep();

TR0=1;

}

if(num==20)

{num=0;

time--;

}

if(time==0||stop==0)

{TR0=0;

beep();

}

}

voidzhongduan()interrupt0

//EA=0;

if(k1==0)

{zwnum=1;

P2=0x7f;

EA=0;

}//选手按键,蜂鸣器响,灯亮,关闭中断

if(k2==0)

{zwnum=2;

P2=0xbf;

if(k3==0)

{zwnum=3;

P2=0xdf;

if(k4==0)

{zwnum=4;

P2=0xef;

if(k5==0)

{zwnum=5;

P2=0xf7;

if(k6==0)

{zwnum=6;

P2=0xfb;

if(k7==0)

{zwnum=7;

P2=0xfd;

if(k8==0)

{zwnum=8;

P2=0xfe;

voiddingshi()interrupt1

num++;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

}

5.设计总结

这次课程设计,虽然最后设计出来了,但是总结一下,还是走了很多弯路。

一开始,设定好自己所选抢答器设计时,没有正确考虑到单片机引脚的使用,从而导致想设计的八路抢答器引脚紊乱,后来查询资料修改了自己的原理图,使整体简洁合理了一些,从中,学到了单片机设计不能想到哪儿设计到哪儿,要有大体完善的方案和合理的布局。

仿真的时候,问题也有一些,例如最小系统一开始就绘制错了,元器件的选择也出了一些问题,一开始找不到正确的元器件,最后下了一个中英文对照表才解决了问题,还有四位共阳数码管,竟然错误的选择了共阴数码管,导致程序输入了多遍还是无法解决。

这方面得多多注意。

最后在编写程序的时候,大体还算顺利,在数码管扫描的部分花了很多时间,不是过快就是过慢,只是单纯的不断修改延迟数,没有正确使用keil软件的调试功能。

选手抢答按键程序的设计也出现了小问题,按后没有就加入中断,导致一人抢答后另外的人还是可以抢答。

编程考虑过程需要完善,针对设计课程细节方面考虑也得注意。

6.参考文献

[1]邹应全.《51系列单片机原理与实验教程》.西安电子科技大学出版社.2007.

[2]郭天祥.《61单片机C语言教程》.电子工业出版社.2009.

[3]潘新民、王艳芳.《微型计算机控制技术使用教程》.电子工业出版社.2006.1.

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

当前位置:首页 > 职业教育 > 中职中专

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

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