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

收藏 分享

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

单片机课程设计 竞 赛 智 能 抢 答 控 制 器 2006552118 零六建筑设施智能技术二班 摘要 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅 掌握 单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。智能抢答器是一种新型的抢答工具,它不仅能大量增加抢答人数,更使抢答 的公平性得以大大提高。 本系统采用单片机 AT89C51 为中心器件来设计 智能抢答器 , 系统 实用性强 、 操作简单 、扩展性强。 设计内容及要求 1、利用 MCS51 单片机作为主控制器设计组成一个 16 路智能抢答控制器; 2、通过小键盘,可以按照 2 -- 4 人一组设定分组抢答; 3、 抢答器具有数据锁存功能,抢答开始后,若有选手抢答,编号立即锁存,LED 数码管 显示选手 抢答组号 。同时 LED 指示灯 给出 提示,此外,要封锁输入电路 ; 4、主持人宣布开始后,方可抢答,主持人可以清除原来的状态。 系统方案设计 ( 1) 控制系统主要由单片 机应用电路、存储器接口电路、显示接口电路, 驱动接口电路组成。其中单片机 AT89C51 是系统工作的核心,它主要负责各个部分协调工作。 ( 2) 硬件组成及所需元件该系统的核心器件是 AT89C51,在其外围上接上复位电路、上拉电阻、控制电路、驱动电路、数码管、按钮。元件为晶振、电容、电阻、 按钮、三极管等。 P0.0 P0.7 和 P2.0 P2.4 分别是 32 路抢答器的列与行的输入口, P2.6、 P2.7 为数码管的段选口,位选口用的是 P1.0 P1.7 口输出, P2.4 口用于对组号的设置, P2.5 口用于设置抢答的开始, P3.0 口用于按键的显示。 抢答器通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示的型码。七段数码管显示在本设计中根据实际情况采用的是动态显示方法。当抢答完毕时,会在数码管上显示抢答的组号以表示抢答成功,同时按键显示灯亮。 画出系统框图 完整的电路图 A D 0A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1234567891R P 1RE S P A C K -8R14 .7 kR24 .7 kS T A RTSET0 1 2 3A02A14A26A38OE1Y018Y116Y214Y312U 2 A7 4 L S 2 4 4A011A113A215A317OE19Y09Y17Y25Y33U 2 B7 4 L S 2 4 4R35 0 0Q1P N29 0 7R41 0 0D2L E D- G RE E NX1CR Y S T A LC11nFC21nFR51 0 kR61 0 kC31nF完整电路图 51 系列单片机 4*4 键盘 七段数码管 8155 扩展器 复位电路 晶振电路 发光二极管等 系统原理框图 工作原理 32路抢答器用单片机来设计制作完成,其功能实现主要通过软件编程来实现,采用单片机 AT89C51,它是低 功耗、高性能的 CMOS 型 8 位单片机。允许在系统内改写或用编程器编程。 AT89C51 单片机由微处理器,存储器, I/O 口以及特殊功能寄存器等部分构成。其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为 4KB,片内数据存储器为 128 个字节。 89C51 单片机有 4 个 8 位的并行的I/O 口 P0口, P1口, P2 口和 P3口。各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。 P1 口是唯一的 单 功能口,仅能用作 通用的数据输入 /输出口。 P3口是双功能口除了具有数据输入 /输出功能外,每条接口还具 有不同的第二功能。在需要外部程序存储器和数据存储器扩展时, P0 口作为分时复用的低 8 位 地址 /数据总线, P2 口可作为高 8 位的地址总线。 P3口也可作为 AT89C51 的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。 AT89C51 的管脚图 外部振荡电路单片机必须在 AT89C51 的驱动下才能工作,在单片机内部有一个时钟振荡电路,只需外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元。 外部振荡电路见下图 A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7X TA L218X TA L119A LE30EA31P SEN29RS T9P 0.0 /A D 039P 0.1 /A D 138P 0.2 /A D 237P 0.3 /A D 336P 0.4 /A D 435P 0.5 /A D 534P 0.6 /A D 633P 0.7 /A D 732P 1.01P 1.12P 1.23P 1.34P 1.45P 1.56P 1.67P 1.78P 3.0 /R XD10P 3.1 /T XD11P 3.2 /INT 012P 3.3 /INT 113P 3.4 /T 014P 3.7 /R D17P 3.6/W R16P 3.5 /T 115P 2.7 /A 1528P 2.0 /A821P 2.1 /A922P 2.2 /A 1023P 2.3 /A 1124P 2.4 /A 1225P 2.5 /A 1326P 2.6 /A 1427U1A T89C5 1X1CR Y S TA LC11nFC21nF 单片机的外部中断和内部中端并存,单片机有硬件复位端,只要 持续输入 4个周期的高电平即可实现复位。硬件复位后的各状态如寄存器和存储器的值都恢复到了初始值,所以不能对单片机进行硬件复位,只能软件复位,即当程序执行完毕后,将程序指针通过一条跳转指令跳转到指定程序。 复位电路如下图 复位后通过设置按钮设置分组后,再通过开始按钮进行抢答。 电路图如下图 整个系统中还设计了个按键显示 灯 ,用来确定是否有人抢答。 其电路图如下图 单片机的输出通过驱动器联接到数码管,并在数码管上显示出来。 它是共阴极的由高电平点亮。数码管图如下图 R510 kR610 kC31nFR14 .7 kR24 .7 kS T A RTSETR35 0 0Q1P N29 0 7R41 0 0D2L E D- G RE E N 软件仿真 控制系统仿真用到了 Keil 软件。 Keil 软件是目前最流行开发 MCS-51 系列单片机的软件。 Keil 提供了包括 C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境( uVision)将这些部份组合在一起。 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比, C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用 C 来开发,体会更加深刻。 系统仿真还用到 了 PROTEUS 软件,可通过仿真完全显示出所设计系统的功能,对于程序的调试等有很大的帮助。 根据系统硬件图编写系统调试程序 include define uchar unsigned char sbit p00P00; sbit p01P01; sbit p02P02; sbit p03P03; sbit p04P04; sbit p05P05; sbit p06P06; sbit p07P07; sbit setP24; //p2.4 口做每组人数的设定 sbit startP25; //p2.5 口做主持人复位按键 sbit disp1P26; //p2.6 口做第一位数码管显示控制位 sbit disp2P27; //p2.7 口做第二位数码管显示控制位 sbit p30P30; //p3.0 口做有人抢答显示标志 uchar code display[10]{0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};//共阴极 数码管段码表 void delay_1msuchar time //延时 1 MS 子程序 { uchar i,j; whiletime-- { fori0x02;i0;i-- forj0xfa;j0;j--; } } uchar keyscan //键盘扫描子函数,返回按键值 { uchar idata i,j,keyvalue0xff; while1 { P00xff; P20xf0; ifP00xff { delay_1ms10; //键盘消抖 ifP00xff { ifp000 i0; ifp010 i1; ifp020 i2; ifp030 i3; ifp040 i4; ifp050 i5; ifp060 i6; ifp070 i7; P00xff; P20xfe; ifP00xff j0; P20xfd; ifP00xff j1; P20xfb; ifP00xff j2; P20xf7; ifP00xff j3; keyvaluei*4j; } } ifkeyvalue0xff break; } return keyvalue; } void display_2uchar dat //两位数码管动态显示 { uchar idata shi,ge; shidat/10; ge dat10; P1display[shi]; disp10; delay_1ms10; disp11; P1display[ge]; disp20; delay_1ms10; disp21; } void main //主函数 { uchar idata number4,keyvalue,squen; while1 { p301; //当设置每组人数键按下时,进入键盘扫描, 得到每组人数 ifset0 { delay_1ms10; ifset0 { numberkeyscan; display_2number; delay_1ms1000; } } ifstart0 //当主持人复位键按下时,进入键盘扫描,得到按键值 { delay_1ms10; ifstart0 { keyvaluekeyscan; p300; //当有人抢答时, LED 发光提示 squenkeyvalue/number1; //根据每组人数,将按键值转为组号 do { display_2squen; //调用显示子函数,显示组号 }whilestart1; //直到主持人复位,进行新的一轮抢答 do { ; }whilestart1; } } } } 设置三人一组,按行 2 列 3按钮和行 7列 2按钮示 意图如下。 设置四人一组,按行 3 列 3按钮和行 8列 2按钮示意图如下。 设置二人一组,按行 3 列 2按钮和行 8列 3按钮示意图如下。 A D 0A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1234567891R P 1RE S P A C K -8R14 .7 kR24 .7 kS T A RTSET0 1 2 3A02A14A26A38OE1Y018Y116Y214Y312U 2 A7 4 L S 2 4 4A011A113A215A317OE19Y09Y17Y25Y33U 2 B7 4 L S 2 4 4R35 0 0Q1P N29 0 7R41 0 0D2L E D- G RE E NX1CR Y S T A LC11nFC21nFR51 0 kR61 0 kC31nFA D 0A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1234567891R P 1RE S P A C K -8R14 .7 kR24 .7 kS T A RTSET0 1 2 3A02A14A26A38OE1Y018Y116Y214Y312U 2 A7 4 L S 2 4 4A011A113A215A317OE19Y09Y17Y25Y33U 2 B7 4 L S 2 4 4R35 0 0Q1P N29 0 7R41 0 0D2L E D- G RE E NX1CR Y S T A LC11nFC21nFR51 0 kR61 0 kC31nFA D 0A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1234567891R P 1RE S P A C K -8R14 .7 kR24 .7 kS T A RTSET0 1 2 3A02A14A26A38OE1Y018Y116Y214Y312U 2 A7 4 L S 2 4 4A011A113A215A317OE19Y09Y17Y25Y33U 2 B7 4 L S 2 4 4R35 0 0Q1P N29 0 7R41 0 0D2L E D- G RE E NX1CR Y S T A LC11nFC21nFR51 0 kR61 0 kC31nFA D 0A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7X T A L 218X T A L 119A L E30EA31S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 123P 2 .3 /A 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1234567891R P 1RE S P A C K -8R14 .7 kR24 .7 kS T A RTSET0 1 2 32468118161412AA011A113A215A317OE19Y09Y17Y25Y33U 2 B7 4 L S 2 4 4R35 0 0Q1P N29 0 7R41 0 0D2L E D- G RE E NX1CR Y S T A LC11nFC21nFR51 0 kR61 0 kC31nFA D 0A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7X T A L 218X T A L 119A L E30EA31S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 123P 2 .3 /A 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1234567891R P 1RE S P A C K -8R14 .7 kR24 .7 kS T A RTSET0 1 2 32468118161412AA011A113A215A317OE19Y09Y17Y25Y33U 2 B7 4 L S 2 4 4R35 0 0Q1P N29 0 7R41 0 0D2L E D- G RE E NX1CR Y S T A LC11nFC21nFR51 0 kR61 0 kC31nFA D 0A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 1A D 2A D 3A D 4A D 5A D 6A D 7A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 /R D17P 3 .6 /W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 /A 821P 2 .1 /A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1234567891R P 1RE S P A C K -8R14 .7 kR24 .7 kS T A RTSET0 1 2 3A02A14A26A38OE1Y018Y116Y214Y312U 2 A7 4 L S 2 4 4A011A113A215A317OE19Y09Y17Y25Y33U 2 B7 4 L S 2 4 4R35 0 0Q1P N29 0 7R41 0 0D2L E D- G RE E NX1CR Y S T A LC11nFC21nFR51 0 kR61 0 kC31nF 系统联调完成仿真程序在实际硬件系统上的调试,说明调试的方法和技巧,调试中出现的故障、原因及排除方法 通过 KEIL 软件编程,再生成单片机可以识别的 hex 文件,在仿真过程中,在单片机中加载已生成的 hex 文件,便可以开始仿真。在调试中要先进行复位,再开始设置分组,然后按动开始按钮,便可以通过抢答按钮进行抢答了。有时需要修改程序,可 修改正确后,重新在单片机中加载, 仿真 结果却一样。经过询问才知道是修改的程序还没生成新的 hex 文件。当生成新的 hex 文件后,重新加载 后运行 就成功了。 总结设计电路的特点 电路使用的器件比较简单, 连线比较简洁。 由于程序所占的容量比较小,所以没有用到 8155 扩展器。按键的摆放很规范,适合 实物 连线,而且它的 排放格式刚好符合实物键盘的格式。 个人觉得还是比较符合设计要求的。 收获和体会 单片机 课程设计是一门很实用,很难的设计。这个设计用到了单片机、电路等方面的知识,通过这次课程设计,使我对单片机及其附属电路有了 一定的了解,对课本上的知识有了进一步的掌握,也深深明白了自己的不足。 完成本次课程设计的过程,是一个漫长的过程。 经历了失落,失落, 再 失落,慢慢建立自信,奋发,完成等几个过程。刚接到设计题目时,一看 就 觉得好难,知识书上面都有,可却不知道怎么去运用,发现其中的算法和设计是多么的复杂。经过几天的努力,却一点成就也没有。于是埋头查东西,虚心向同学请教。终于最后,还是有了那么一点成果,那感觉是甜蜜的,虽然过程是痛苦的 。 没有努力,哪来的收获,就在这种痛苦与甜蜜的交换中,我学到了很多的知识,也学会很多做人的道理。 通过这短短几天的 实践,我感觉到自己从课本上学到的理论知识和实践仍然有很大的差距。很多元器件根本不知道有什么功效,有的知识,感觉自己以前都已记熟了的,可实际运用起来就全部好像没作用了。我遇到了不少问题,花费了很多时间去解决,可却发现都是些基本问题。我重新反思自己的学习,深刻领悟到单片机 这门课程 动手实践的重要性。 深刻懂得 理论不经过实践考验是没法实施的。 这次课程设计, 增加了 我 对知识的渴求欲,让我重新 更加 明白了知识就是力量的道理。
编号:20150608070720214    类型:共享资源    大小:209.00KB    格式:DOC    上传时间:2015-06-08
  
6
关 键 词:
单片机 课程设计 竞赛 智能 抢答 控制器 doc
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:单片机课程设计-竞赛智能抢答控制器
链接地址:http://www.renrendoc.com/p-440037.html

当前资源信息

4.0
 
(2人评价)
浏览:21次
红苹果上传于2015-06-08

官方联系方式

客服手机:17625900360   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

精品推荐

相关阅读

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2846424093    人人文库上传用户QQ群:460291265   

[email protected] 2016-2018  renrendoc.com 网站版权所有   南天在线技术支持

经营许可证编号:苏ICP备12009002号-5