单片机的八路抢答器论文报告Word文档下载推荐.docx
- 文档编号:17818105
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:13
- 大小:905.50KB
单片机的八路抢答器论文报告Word文档下载推荐.docx
《单片机的八路抢答器论文报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机的八路抢答器论文报告Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
单片机(单片微型计算机)的应用已经渗透到国民经济的各个部门和领域,它起到了越来越重要的作用。
单片微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。
因此一块芯片就构成了一台计算机。
它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。
课程设计目录:
第一部分:
系统设计的要点
第二部分:
设计的要求及目的
第三部分:
系统流程图
第四部分:
电路组成及各部分选定方案
(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.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 八路 抢答 论文 报告