单片机课程设计报告-单片机6路抢答器.doc_第1页
单片机课程设计报告-单片机6路抢答器.doc_第2页
单片机课程设计报告-单片机6路抢答器.doc_第3页
单片机课程设计报告-单片机6路抢答器.doc_第4页
单片机课程设计报告-单片机6路抢答器.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

钦 州 学 院单片机课程设计报告单片机6路抢答器 院 系 电子与信息工程 专 业 电子与信息工程 学 生 班 级 电信本132班 姓 名 学 号 指导教师单位 钦 州 学 院 指导教师姓名 摘要:本次课程设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。通过六路智力竞赛抢答器的设计实验,我们回顾了所学数字电子技术和单片机原理及其应用的基础理论和基础实验,掌握了组合电路、时序电路、编程器件和集成电路的综合使用及设计方法,达到了电子系统设计教程课程大纲所要求掌握的基本内容。1、 设计任务和功能本次课程设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。通过六路智力竞赛抢答器的设计实验,我们回顾了所学数字电子技术和单片机原理及其应用的基础理论和基础实验,掌握了组合电路、时序电路、编程器件和集成电路的综合使用及设计方法,达到了电子系统设计教程课程大纲所要求掌握的基本内容。1、主持人设置五个功能键:开始键、复位键、结束键、加分键、减分键。玩家每人一个抢答键。2、抢答超时:主持人按下开始键后,进入抢答倒计时,倒计时结束后,不能进行抢答,并发出报警声。按下复位键开始新的一轮抢答。3、非法抢答:在主持人按下开始键之前,玩家提前按下抢答键,这种情况当作非法抢答处理(避免玩家按住按键不放),红灯亮!并发出报警声!主持人按下开始键显示非法抢答的选手,数码管显示选手号+FF,再按一次开始键显示选手的分数并进行减分(此时只有减分键使能)。减完分之后按下复位键重新开始新的一轮抢答。4、正常抢答:倒计时内有玩家抢答,黄灯亮,数码管显示此玩家号数和分数,此时其他玩家的抢答键无效化。主持人可以进行加分和减分。按下复位键重新开始新的一轮抢答。5、所有玩家初始分数为50分,最高值为99分,最低值为0分。加减值为5分。按下复位键分数不会被重置。抢答倒计时为15秒。按下结束键结束游戏。四 各部分电路设计4.1.1 复位电路的设计单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的低电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图一所示:图一 复位电路及晶振电路在设计当中使用到了硬件复位和软件复位两种功能,由上面的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,而前面的功能介绍中提到了玩家分数的记忆功能,该功能的实现的前提条件就是不能对单片机进行硬件复位,所以设定了软复位功能。软复位实际上就是当程序执行完毕之后,将程序通过一条子函数让它跳转到程序执行的起始地址。4.1.2 显示电路的设计显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决,最后两位显示计时或分数,第一位为选手号数,第二位无。图二 数码管电路4.1.3 键盘扫描电路的设计图三 独立键盘1-6组分别代表六个抢答队伍,复位键,开始键,加分键和减分键。这种独立键盘相对简单,P1.0P.7因为其功能,并不需要消除抖动。因此只在P2.4P2.5的加分减分键使用重复扫描法消除抖动。 4.1.4 发声及LED灯亮利用程序来控制单片机某个口线的高电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制高低电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。LED灯只需控制端口的高低电平。4.2软件部分电路设计软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。图四 软件系统结构图4.2.2 程序流程图在本设计中包括了以下六个主要的程序:主程序;非法抢答序;倒计时程序;正常抢答处理程序;犯规处理程序;显示及发声程序。主流程图五所示:图五 程序流程图五 整体电路图5.1 总体原理图P1.0为开始抢答,P1.7为停止,P1.1-P1.6为六路抢答输入,数码管段选P0口,位选P2口低4位,蜂鸣器输出为P3.7口,LED灯指示为P3.0P3.1,P2.4P2.5为加减分。图六 整体电路图图七 正常抢答图图八 非法抢答图5.2仿真电路keil软件:图九keil软件仿真六 设计总结通过这次的课程设计,我能运用已学的知识解决我在设计中遇到的问题,使自己的动手能力和思考问题的能力得到了不小的提高。在做设计的过程中我查阅了很多的资料,并认真的阅读了与我的设计相关的资料,使我的专业涵养得到了提高,知识的储备量也有增加了。在做设计时,我复习了很多专业课的知识,这使得我的专业知识得到了加强和巩固。虽然课程设计很快就结束了,单片机的课程也已经结束,但我觉得我对单片机的学习才刚刚开始。通过这次设计我更加深刻的认识到,我们所学的知识对于实际的应用来说是远远不够的,书上只是教给我们一些最基本的知识甚至可以说是常识,更多的是教会我们一种思想,一种解决问题的方法。我们的学习应该是运用这种思想和方法通过网络资源解决遇到的相关的问题。对我而言,知识上的收获重要。设计期间由于基础知识不扎实遇到了不少困难,我参考了许多资料并在网上查询了相关内容,给自己不少启发,从中也学到不少知识。七、参考文献1 单片微型计算机原理及应用,张毅坤 陈善久裘雪红,西安电子科技大学出版社,20092 单片机课程设计实例指导,李光飞,北京航天航空大学出版社,20043 单片机原理及接口技术(第3版),李朝青,北京航空航天大学出版社,20024 单片机C程序设计及应用实例,胡伟,人民邮电出版社,2003八、系统程序#include sbit key0=P10;/复位键sbit key1=P11;sbit key2=P12;sbit key3=P13;sbit key4=P14;sbit key5=P15;sbit key6=P16;sbit key7=P17;/开始键sbit key_add=P24;/加分键 sbit key_minus=P25; /减分键sbit SPK=P37;/蜂鸣端sbit led_red=P30;/红灯sbit led_yellow=P31;/黄灯unsigned char segment10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /段选unsigned char weiout4=0xfe,0xfd,0xfb,0xf7; /位选unsigned char score6=50,50,50,50,50,50; /玩家初始分数unsigned char time;/倒计时变量unsigned char j;/倒计时变量unsigned char mistaker;/非法抢答者unsigned char ismis;/处于非法抢答状态void DelayUs2x(unsigned char t);/蜂鸣频率void DelayMs(unsigned char t);/声音1void DelayMs2(unsigned char t);/声音2void SPKopen(void);/蜂鸣函数void key_0(void);/复位void key_1(void);/按键1void key_2(void);/按键2void key_3(void);/按键3void key_4(void);/按键4void key_5(void);/按键5void key_6(void);/按键6void key_7(void);/开始void delay(unsigned char t);/数码管延时void timedown(void);/倒计时void segshow(unsigned char t);/数码管静止void add_minus(unsigned char t);/加减分void Led_red(unsigned char t);/非法抢答红灯亮void mistake(unsigned char t);/非法抢答void minus(unsigned char t);/非法抢答触发减分 void minus(unsigned char t)if(!key_minus) if(scoret-1=5)scoret-1-=5;elsescoret-1=0; while(!key_minus);switch(t)case 0:break;case 1:key_1();break;case 2:key_2();break;case 3:key_3();break;case 4:key_4();break;case 5:key_5();break;case 6:key_6();break;void mistake(unsigned char t)delay(100);P2=weiout2;P0=0x71;delay(100);P2=weiout3;P0=0x71;delay(100);led_red=1;P2=weiout0; P0=segmentt;delay(100);if(!key7)while(!key7);while(1) segshow(t);minus(t);void add_minus(unsigned char t)/加减函数 if(ismis)led_red=1;led_yellow=0;if(!ismis)led_red=0;led_yellow=1; if(!key_add) if(scoret-1=95)scoret-1=99; elsescoret-1+=5;while(!key_add);switch(t)case 1:key_1();break;case 2:key_2();break;case 3:key_3();break;case 4:key_4();break;case 5:key_5();break;case 6:key_6();break;if(!key_minus) if(scoret-1=5)scoret-1-=5;elsescoret-1=0; while(!key_minus);switch(t)case 0:break;case 1:key_1();break;case 2:key_2();break;case 3:key_3();break;case 4:key_4();break;case 5:key_5();break;case 6:key_6();break; void segshow(unsigned char t)/数码管显示(抢答后)delay(100);P2=weiout2;P0=segmentscoret-1/10;delay(100);P2=weiout3;P0=segmentscoret-1%10;delay(100);P2=weiout0; P0=segmentt;delay(100);if(!key0)key_0();void SPKopen()/蜂鸣函数while(1) DelayMs(2000); /发出大约500Hz的方波 频率越大声音越尖 DelayMs2(2000); void DelayUs2x(unsigned char t)/蜂鸣延时 while(-t);if(!key7) while(!key7); switch(mistaker) case 0:break;case 1:while(1)mistake(1);break;case 2:while(1)mistake(2);break;case 3:while(1)mistake(3);break;case 4:while(1)mistake(4);break;case 5:while(1)mistake(5);break;case 6:while(1)mistake(6);break;void DelayMs(unsigned char t)/第一种声音while(t-)/大致延时1mSDelayUs2x(245);DelayUs2x(245);DelayUs2x(245);SPK=!SPK;void DelayMs2(unsigned char t)/第二种声音while(t-)DelayUs2x(245);DelayUs2x(245);DelayUs2x(245);DelayUs2x(245);SPK=!SPK;void delay(unsigned char t)/延时 int i;for(i=0;it;i+);void Led_red(unsigned char t) ismis=1; led_red=1;/执行非法抢答 SPKopen();void key_0()/复位 P0=0x00;P1=0xff;P2=0x00;led_red=0;led_yellow=0;mistaker=0;ismis=0;while(1)if(!key7)key_7();if(!key1)mistaker=1;Led_red(1);if(!key2)mistaker=2;Led_red(2);if(!key3)mistaker=3;Led_red(3);if(!key4)mistaker=4;Led_red(4);if(!key5)mistaker=5;Led_red(5);if(!key6)mistaker=6;Led_red(6); void key_1() while(1) segshow(1); a

温馨提示

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

评论

0/150

提交评论