单片机课程设计-竞赛智能抢答控制器.doc

上传人:李主任 文档编号:3262643 上传时间:2019-08-06 格式:DOC 页数:13 大小:212.52KB
返回 下载 相关 举报
单片机课程设计-竞赛智能抢答控制器.doc_第1页
第1页 / 共13页
单片机课程设计-竞赛智能抢答控制器.doc_第2页
第2页 / 共13页
单片机课程设计-竞赛智能抢答控制器.doc_第3页
第3页 / 共13页
单片机课程设计-竞赛智能抢答控制器.doc_第4页
第4页 / 共13页
单片机课程设计-竞赛智能抢答控制器.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《单片机课程设计-竞赛智能抢答控制器.doc》由会员分享,可在线阅读,更多相关《单片机课程设计-竞赛智能抢答控制器.doc(13页珍藏版)》请在三一文库上搜索。

1、单片机课程设计竞 赛智能抢答控制器 2006552118零六建筑设施智能技术二班摘要 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅掌握单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。智能抢答器是一种新型的抢答工具,它不仅能大量增加抢答人数,更使抢答的公平性得以大大提高。本系统采用单片机AT89C51为中心器件来设计智能抢答器,系统实用性强、操作简单、扩展性强。设计内容及要求1、利用MCS51单片机作为主控制器设计组成一个16路

2、智能抢答控制器;2、通过小键盘,可以按照2 - 4人一组设定分组抢答;3、抢答器具有数据锁存功能,抢答开始后,若有选手抢答,编号立即锁存,LED数码管显示选手抢答组号。同时LED指示灯给出提示,此外,要封锁输入电路;4、主持人宣布开始后,方可抢答,主持人可以清除原来的状态。系统方案设计(1)控制系统主要由单片机应用电路、存储器接口电路、显示接口电路,驱动接口电路组成。其中单片机AT89C51是系统工作的核心,它主要负责各个部分协调工作。(2)硬件组成及所需元件:该系统的核心器件是AT89C51,在其外围上接上复位电路、上拉电阻、控制电路、驱动电路、数码管、按钮。元件为:晶振、电容、电阻、按钮、

3、三极管等。P0.0P0.7和P2.0P2.4分别是32路抢答器的列与行的输入口,P2.6、P2.7为数码管的段选口,位选口用的是P1.0P1.7口输出,P2.4口用于对组号的设置,P2.5口用于设置抢答的开始,P3.0口用于按键的显示。 抢答器通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示的型码。七段数码管显示在本设计中根据实际情况采用的是动态显示方法。当抢答完毕时,会在数码管上显示抢答的组号以表示抢答成功,同时按键显示灯亮。画出系统框图51系列单片机4*4键盘七段数码管8155扩展器复位电路晶振电路发光二极管等系统原理框图完整的电路图 完整电路图工作原理32路抢答器用单

4、片机来设计制作完成,其功能实现主要通过软件编程来实现,采用单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。允许在系统内改写或用编程器编程。AT89C51单片机由微处理器,存储器,I/O口以及特殊功能寄存器等部分构成。其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为4KB,片内数据存储器为128个字节。89C51单片机有4个8位的并行的I/O口:P0口,P1口,P2口和P3口。各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。P1口是唯一的单功能口,仅能用作通用的数据输入/输出口。P3口是双功能口除了具有数据输入/输出功能外,每条接口还具有不

5、同的第二功能。在需要外部程序存储器和数据存储器扩展时,P0口作为分时复用的低8位地址/数据总线,P2口可作为高8位的地址总线。P3口也可作为AT89C51的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。AT89C51的管脚图外部振荡电路单片机必须在AT89C51的驱动下才能工作,在单片机内部有一个时钟振荡电路,只需外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元。外部振荡电路见下图:单片机的外部中断和内部中端并存,单片机有硬件复位端,只要持续输入4个周期的高电平即可实现复位。硬件复位后的各状态如寄存器和存储器的值都恢复到了初始值,所以不能对单片机进行硬件复位,只能软件复

6、位,即当程序执行完毕后,将程序指针通过一条跳转指令跳转到指定程序。复位电路如下图:复位后通过设置按钮设置分组后,再通过开始按钮进行抢答。电路图如下图:整个系统中还设计了个按键显示灯,用来确定是否有人抢答。其电路图如下图:单片机的输出通过驱动器联接到数码管,并在数码管上显示出来。它是共阴极的由高电平点亮。数码管图如下图:软件仿真控制系统仿真用到了Keil软件。Keil软件是目前最流行开发MCS-51系列单片机的软件。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。Keil C51是美国K

7、eil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。系统仿真还用到了PROTEUS软件,可通过仿真完全显示出所设计系统的功能,对于程序的调试等有很大的帮助。根据系统硬件图编写系统调试程序#include#define uchar unsigned charsbit p00=P00;sbit p01=P01;sbit p02=P02;sbit p03=P03;sbit p04=P04;sbit p05=P05;sbit p06=P06;sbit p07

8、=P07;sbit set=P24; /p2.4口做每组人数的设定 sbit start=P25; /p2.5口做主持人复位按键 sbit disp1=P26; /p2.6口做第一位数码管显示控制位 sbit disp2=P27; /p2.7口做第二位数码管显示控制位sbit p30=P30; /p3.0口做有人抢答显示标志 uchar code display10=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F;/共阴极数码管段码表 void delay_1ms(uchar time)/延时1 MS 子程序 uchar i,j;while(

9、time-) for(i=0x02;i0;i-) for(j=0xfa;j0;j-);uchar keyscan()/键盘扫描子函数,返回按键值 uchar idata i,j,keyvalue=0xff; while(1) P0=0xff;P2=0xf0;if(P0!=0xff) delay_1ms(10); /键盘消抖 if(P0!=0xff) if(p00=0) i=0; if(p01=0) i=1; if(p02=0) i=2; if(p03=0) i=3; if(p04=0) i=4; if(p05=0) i=5; if(p06=0) i=6; if(p07=0) i=7; P0=0

10、xff; P2=0xfe; if(P0!=0xff) j=0; P2=0xfd; if(P0!=0xff) j=1; P2=0xfb; if(P0!=0xff) j=2; P2=0xf7; if(P0!=0xff) j=3; keyvalue=i*4+j; if(keyvalue!=0xff) break;return keyvalue;void display_2(uchar dat)/两位数码管动态显示 uchar idata shi,ge;shi=dat/10;ge =dat%10; P1=displayshi;disp1=0;delay_1ms(10);disp1=1;P1=displ

11、ayge; disp2=0;delay_1ms(10);disp2=1; void main()/主函数 uchar idata number=4,keyvalue,squen;while(1)p30=1;/当设置每组人数键按下时,进入键盘扫描, 得到每组人数 if(set=0) delay_1ms(10); if(set=0) number=keyscan(); display_2(number);delay_1ms(1000); if(start=0)/当主持人复位键按下时,进入键盘扫描,得到按键值 delay_1ms(10); if(start=0) keyvalue=keyscan()

12、; p30=0; /当有人抢答时,LED发光提示 squen=keyvalue/number+1; /根据每组人数,将按键值转为组号 do display_2(squen); /调用显示子函数,显示组号 while(start=1);/直到主持人复位,进行新的一轮抢答 do ; while(start!=1); 设置三人一组,按行2列3按钮和行7列2按钮示意图如下。设置四人一组,按行3列3按钮和行8列2按钮示意图如下。设置二人一组,按行3列2按钮和行8列3按钮示意图如下。系统联调:完成仿真程序在实际硬件系统上的调试,说明调试的方法和技巧,调试中出现的故障、原因及排除方法 通过KEIL软件编程,

13、再生成单片机可以识别的hex文件,在仿真过程中,在单片机中加载已生成的hex文件,便可以开始仿真。在调试中要先进行复位,再开始设置分组,然后按动开始按钮,便可以通过抢答按钮进行抢答了。有时需要修改程序,可修改正确后,重新在单片机中加载,仿真结果却一样。经过询问才知道是修改的程序还没生成新的hex文件。当生成新的hex文件后,重新加载后运行就成功了。总结设计电路的特点电路使用的器件比较简单,连线比较简洁。由于程序所占的容量比较小,所以没有用到8155扩展器。按键的摆放很规范,适合实物连线,而且它的排放格式刚好符合实物键盘的格式。个人觉得还是比较符合设计要求的。收获和体会 单片机课程设计是一门很实

14、用,很难的设计。这个设计用到了单片机、电路等方面的知识,通过这次课程设计,使我对单片机及其附属电路有了一定的了解,对课本上的知识有了进一步的掌握,也深深明白了自己的不足。 完成本次课程设计的过程,是一个漫长的过程。经历了失落,失落,再失落,慢慢建立自信,奋发,完成等几个过程。刚接到设计题目时,一看就觉得好难,知识书上面都有,可却不知道怎么去运用,发现其中的算法和设计是多么的复杂。经过几天的努力,却一点成就也没有。于是埋头查东西,虚心向同学请教。终于最后,还是有了那么一点成果,那感觉是甜蜜的,虽然过程是痛苦的。没有努力,哪来的收获,就在这种痛苦与甜蜜的交换中,我学到了很多的知识,也学会很多做人的道理。通过这短短几天的实践,我感觉到自己从课本上学到的理论知识和实践仍然有很大的差距。很多元器件根本不知道有什么功效,有的知识,感觉自己以前都已记熟了的,可实际运用起来就全部好像没作用了。我遇到了不少问题,花费了很多时间去解决,可却发现都是些基本问题。我重新反思自己的学习,深刻领悟到单片机这门课程动手实践的重要性。深刻懂得理论不经过实践考验是没法实施的。这次课程设计,增加了我对知识的渴求欲,让我重新更加明白了知识就是力量的道理。

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1