基于单片机控制的智力竞赛抢答器设计_第1页
基于单片机控制的智力竞赛抢答器设计_第2页
基于单片机控制的智力竞赛抢答器设计_第3页
基于单片机控制的智力竞赛抢答器设计_第4页
基于单片机控制的智力竞赛抢答器设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆科技学院

学生实习(实训)总结报告

学院:电气与信息工程学院专业班级:学生姓名:学号:实习(实训)地点:逸夫科技大楼I512报告题目:智力抢答器报告日期:20年月日

指导教师评语:成绩(五级记分制):

指导教师(签字):目录一、实习目的和任务 一、实习目的和任务1.1实习目的意义单片机课程设计是在《单片机原理及应用》课程后进行的一次综合练习。其目的在于加深对MSC-51单片机的理解,掌握单片机应用系统的设计方法:掌握常用接口芯片的正确使用方法;加强单片机应用电路的设计与分析能力;提高在单片机应用方面的时间技能和科学作风;培养综合运用理论知识解决问题的能力,力求实现理论结合实际,学以致用的原则。1.2任务重庆科技学院任务书设计题目:基于单片机控制的智力竞赛抢答器学生姓名第8组课程名称单片机系统综合训练电气2011地点实验楼I512、506起止时间18-19周设计内容及要求要求完成以下功能:1.基本功能能容许2—6组抢答;能显示抢答组号;各组计分,并能计分显示;比赛结束时,能发出报警声。2.扩展功能显示实时温度设计参数显示位数:4位进度要求时间内容地点指导教师12.30布置设计任务及要求,查资料,程序设计练习I512、506钟、辜李、吴12.31程序设计练习(时钟程序设计)硬件电路画图练习(课后)I512、506钟、翟李、王1.1元旦1.2程序设计练习(时钟程序设计)硬件电路画图练习(课后)I512、506辜、钟吴、王1.3总体方案设计,硬件设计、画硬件电路原理图I512、506翟、辜李、吴1.6软件方案设计,画软件流程图I512、506钟、翟李、王1.7程序设计、调试I512、506钟、辜吴、王1.8程序设计、调试,讲解设计报告要求I512、506钟、翟李、吴1.9程序设计、调试,撰写设计报告I512、506辜、翟李、王1.10设计答辩验收I512、506全部参加参考资料1.王景景.单片机原理及应用.机械工业出版社2.自编.单片机应用设计指导书其它说明1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。2.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任:指导教师:钟秉翔/李作进/吴英/王雪/辜小花/翟渊二、实习任务的方案本次课程设计采用STC89C52作为主控芯片,利用主控芯片的定时/计数器进行智力抢答器的基本功能。三、系统硬件设计3.1单片机最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对52系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。图3.1单片机的最小系统原理图3.2数码管电路的设计本课程设计采用四位共阳数码管。数码管段选端与P0口连接,由于P0口有上拉电阻且驱动共阳数码管需要在P0口输出低电平,因此在P0口外接数码管段选口时需要加上限流电阻。数码管的位选由单片机P2口第四位控制,低电平有效。数码管接口电路图如下:图3.2数码管显示电路的设计原理图3.3按键电路的设计本次设计共有四个手动开关。一个控制计时开始开始,三个控制抢答。在实际编程中,利用延时函数来消去抖动时间。避免按一次多处理的状况发生,影响程序正常执行。图3.5手动控制开关设计原理图四、系统软件设计4.1主程序设计开始开始中断、定时/计数器初始化键盘扫描LED灯闪烁数码管显示秒数结束voidmain(){ P14=0;TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; while(1){ P0=0x00; display(Number,Time); key(); }}4.2定时器/计数器初始化子程序设计开始开始定时器0工作方式1定时器赋初值允许定时器0中断启动定时器允许外部中断0外部中断0跳变触发CPU开放中断结束初始化关键程序段TMOD=0x01;/*采用计数器用模式1,为16位计数器*/TH0=(65536-50000)/256; /*0x3C*/TL0=(65536-50000)%256; /*0xB0*//*计50000个数,用时50ms*/ET0=1;/*允许T0中断*/TR0=1;/*启动计数器*/EA=1;/*CPU开放总中断*/EX1=1;/*允许外部中断1中断,即允许响应端口P3^3(K2)中断*/初始化程序之后使单片机达到初始工作状态,然后按照程序的流程执行程序命令达到单片机的工作要求。4.3按键控制抢答子程序设计开始开始K4按下,启动外部中断0数码管显示0015K1.K2.K3按下CPU禁止响应中断,计数器停止计数N启动定时/计数器退出Yvoidkey(){ if((key4==0)&&(key5==0)) { delay(5); if(key4==0) { key5=1; if(mode<2) mode++; else { mode=0; } if(mode==0) { flag=1; flag1=1; flag2=1; flag3=1; Number=0; TR0=1; Time=15; } if(mode==1) { TR0=0; Number=0; Time=15; LED5=1; } } } if((key1==0)&&(key5==0)) { delay(5); if(key1==0) { key5=1; if(flag1==1&&flag==1) { Number=1; Time=20; flag2=0; flag3=0; } TR0=1; } } if((key2==0)&&(key5==0)) { delay(5); if(key2==0) { key5=1; if(flag2==1&&flag==1) { Number=2; Time=20; flag1=0; flag3=0; } TR0=1; } } if((key3==0)&&(key5==0)) { delay(5); if(key3==0) { key5=1; if(flag3==1&&flag==1) { Number=3; Time=20; flag1=0; flag2=0; } TR0=1; } } if((key1==1)&&(key2==1)&&(key3==1)&&(key4==1)&&(key5!=0)) { key5=0; } }4.4按键计时子程序设计开始开始数码管计时20数码管计到0结束voidtimer0(void)interrupt1using3{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; count++; if(count==20) { if(flag==1) { Time--; if(Time==0) { Time=15; LED5=0; flag=0; } } count=0; }}五、调试及性能分析5.1程序调试1、在Keil软件上写好程序然后编译连接成功没有错误警告。2、将Keil软件编译的程序通过程序Stc-Isp烧录进单片机中,单片机的数码管和LED灯正常工作,按键正常工作程序没有错误。3、调试结束。5.2性能分析此次设计实现了智力抢答器的简单功能。心得体会通过一周的实训,我们很好的完成了单片机的实训,期间我学到了很多宝贵的知识和经验。在这次的单片机实训中,我们了解了单片机的用途,掌握了单片机的编译程序和装载并进行运行,在这段时间我学会了硬件和软件的基本操作,熟悉实验箱、电脑,了解运行结果及检查并进行实践操作。这次设计过程中,遇到了很多棘手的问题,很多东西,动起手来束手无策,大多都只得先通过查阅资料或者参考别人做类似课题,才能自己动手设计画图,编程调试。过程中还错误不少,就这个程序吧,我写了改,改了写,花了很长时间。通过这次课程设计,关于单片机的知识深入了解了更多,但更多是让我知道了知识的欠缺,很多环节,都慢慢翻书或者查找资料才能完成。让我明白,在以后的学习中,应更注重知识的应用,更注重实质的掌握。

当然这次课程设计,提高了知识的应用能力和和实践能力,同时提高了独立思考独立完成任务的能力,当然同组之间,遇到了实在没办法解决的问题,也相互的咨询和讨论,加强了大家的合作精神和团结能力。这对以后的学习和工作都有重要意义。

参考文献[1]张义辉,李家庆,单片机系统综合训练指导书.重庆科技学院[2]张毅刚.单片机原理及应用.北京:高等教育出版社,2005附录一程序清单#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharTime=15,Number=0;ucharcount;ucharflag=0;ucharkey5=0;ucharflag1=1,flag2=1,flag3=1;ucharmode=2;ucharcode1[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};ucharscore1,score2,score3;sbitkey1=P2^0; sbitkey2=P2^1; sbitkey3=P2^2;sbitkey4=P3^2;sbitLED1=P2^4;sbitLED2=P2^5;sbitLED3=P2^6;sbitLED4=P2^7;sbitLED5=P3^4;sbitP14=P1^4;voiddelay(uintz){ uinti,j; for(i=z;i>0;i--) for(j=110;j>0;j--);}voiddisplay(ucharbiaohao,uchartime) { ucharh,l,m,n; h=time/10; l=time%10; m=biaohao/10; n=biaohao%10; LED1=0; P0=code1[m]; delay(2); LED1=1; LED2=0; P0=code1[n]; delay(2); LED2=1; LED3=0; P0=code1[h]; delay(2); LED3=3; LED4=0; P0=code1[l]; delay(2); LED4=1;}voidkey(){ if((key4==0)&&(key5==0)) { delay(5); if(key4==0) { key5=1; if(mode<2) mode++; else { mode=0; } if(mode==0) { flag=1; flag1=1; flag2=1; flag3=1; Number=0; TR0=1; Time=15; } if(mode==1) { TR0=0; Number=0; Time=15; LED5=1; } } } if((key1==0)&&(key5==0)) { delay(5); if(key1==0) { key5=1; if(flag1==1&&flag==1) { Number=1; Time=20; flag2=0; flag3=0; } TR0=1; } } if((key2==0)&&(key5==0)) { delay(5); if(key2==0) { key5=1; if(flag2==1&&flag==1) { Number=2; Time=20; flag1=0; flag3=0; } TR0=1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论