《基于AT89C51单片机六路抢答器的设计.doc》由会员分享,可在线阅读,更多相关《基于AT89C51单片机六路抢答器的设计.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学号:xxxxxxxxxx 课程设计报告基于AT89C51单片机抢答器的设计 院 系 电子信息工程学院 专 业 电子信息工程 班 级 1 姓 名 xxx 仅供学习参考合肥师范学院课程设计报告摘 要单片机由于其微小的体积和极低的本钱,广泛的应用于家用电器、工业控制等领域中。在工业生产中,单片微型计算机是微型计算机的一个重要分支,也是颇具生产力的机种。单片微型计算机简称单片机,特别适用于控制领域,故又称微控器。学校和电视台等单位场举办各种比赛,抢答器是必要设备。在我校举行的各种竞赛中我们经常看到有抢答的环节,举办方多数采用让选手通过举答题板的方法判断选手的答题权,这在某种程度上会因为主持人的主观判
2、断造成比赛的不公平性。抢答器是一名公正的裁判员,他由主体电路与扩展电路组成。单片机由于其微小的体积和极低的本钱,广泛的应用于家用电器、工业控制等领域中。在工业生产中,单片微型计算机是微型计算机的一个重要分支,也是颇具生产力的机种。单片微型计算机简称单片机,特别适用于控制领域,故又称微控器。学校和电视台等单位场举办各种比赛,抢答器是必要设备。在我校举行的各种竞赛中我们经常看到有抢答的环节,举办方多数采用让选手通过举答题板的方法判断选手的答题权,这在某种程度上会因为主持人的主观判断造成比赛的不公平性。抢答器是一名公正的裁判员,他由主体电路与扩展电路组成。 AT89C51是一种带4K字节FLASH存
3、储器FPEROMFlash Programmable and Erasable Read Only Memory的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚
4、排列如下图。本设计是六路智力抢答器。使用51系列单片机,编写应用程序来实现智力抢答功能。硬件设计使用的是51系列单片机中的89C51。硬件设计利用其中断控制程序进行抢答局部的处理,通过非门的控制去申请单片机内部的中断,以到达显示抢答的目的。软件设计利用中断系统的根本构成原理编写中断效劳程序,其信号由按键电路提供,由CPU响应中断,并输出响应。用到了查询按键模块、定时器模块、显示时间模块、显示组号模块、报警模块等。关键词:89C51 中断 定时器 报警电路等 II目 录摘 要I目 录II1 引言11.1 智能抢答器的开展现状11.2 抢答器的背景和特点11.3 抢答器的分类及应用12 硬件设计2
5、2.1 AT89C51的管脚说明22.2 六路抢答器设计功能要求32.3 抢答器设计方案32.4 系统电路图32.5拨动开关42.6显示电路的设计43 软件设计63.1 程序流程图63.2 系统程序64 系统调试与实验104.1 仿真调试104.2 性能分析115 总结125.1 设计出现的问题125.2 总结12参考文献131 引言1.1 智能抢答器的开展现状 随着电子技术的开展,现在的抢答器功能越来越强,可靠性和准确性也越来越高。能够实现抢答器功能的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式,但这种方式制作过程复杂,而且准确性与可靠性不高,成品面积大。对于目前
6、的抢答器的功能描述,如涵盖抢答器、抢答限时、选手答题计时及犯规组号抢答器具有抢答自锁,灯光指示、暂停复位、电子音乐报声、自动定时等功能,还有工作模式的切换和时间设定,对于这些,随着科学技术的开展,肯定还要得到进一步的改良。一般都要趋向于智能化。1.2 抢答器的背景和特点在各类竞赛中,特别是做抢答题时,在抢答过程中,为了知道哪一组或哪一名选手先答题,必须要有一个系统来完成这个任务。如果在抢答过程中,只靠人的视觉是很难判断出哪组先答题。利用单片机来设计抢答器,使以上问题得以解决,即使有两组的抢答时间相差几微秒,也可分辨出哪组优先答题。抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速
7、、客观地分辨出最先获得发言权的选手。早期的抢大漆只由几个三极管、可控硅、发光管等组成, 能通过发光管的指示识别出选手号码。现在大多数抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢按前或抢按后的计时、选手得分显示功能。像这类抢答器,制作过程简单,准确性与可靠性高,而且安装维护简单。对于抢答器的应用,如早期的数字电路,随着科技的逐步开展,进而到了单片机的控制来实现其功能,而且功能齐全,电路简单,本钱低,性能高,真正朝着有利的方向开展。1.3 抢答器的分类及应用电子抢答器的中心构造一般由抢答器由单片机以及外围电路组成,其搭配的配件不同又分为,非语音飞计分
8、抢答器和语音计分抢答器。多适用于学校和企业举办的简单的抢答活动。非语音记分抢答器构造很简单,就是一个抢答器的主机和一个抢答器按钮组成,在抢答过程中选手没有记分的显示屏。语音记分抢答器是有一个抢答器的主机和主机的显示屏和选手的记分显示屏。 电脑抢答器又分为无线电脑抢答器和有线电脑抢答器。无线电脑抢答器的构成是由:主机和抢答器专用的软件和无线按钮。无线电脑抢答器利用电脑和投影仪,可以把抢答气氛活泼起来,一般多使用于电台等大型的活动。有线电脑抢答器也是由主机和电脑配合起来,电脑在和投影仪配合起来,利用专门研发的配套的抢答器软件,可以十分完美地表现抢答的气氛。 随着我国经济和文化事业的开展,在很多公开
9、竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此出现了抢答器。2 硬件设计2.1 AT89C51的管脚说明AT89C51管脚说明: VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部
10、上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收
11、高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INT0外部中断0P3.3 /INT1外部中断1P3.4 T0计时器0外部输入P3.5 T1计时器1外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通P3口同时为闪烁编程和编程校验接收一些控制
12、信号。2.2 六路抢答器设计功能要求1、根本要求1抢答器同时供6名选手或6个代表队比赛,分别用6个按钮K0 K5表示。 2 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统去除为止。3抢答器具有定时抢答功能,且一次抢答的时间由主持人设定如30秒。当主持人启动开始键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。4参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统去除为止。5如果定时
13、时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示FF。2.3 抢答器设计方案在设计中采用的单片机是AT89C51,它主要负责控制各个局部协调工作。P1.0P1.5是6组抢答的输入口,按下对应按钮即为抢答。P2.0P2.5为位选通。P0口为数码管的段选口,位选口用的是P2口的低4位。它是共阴极的由高电平点亮。以拔动开关K0K5中的某个开关为0N作为抢答按键,无人抢答时,6个数码管循环轮流显示16跑马,谁先抢答,数码管停止跑马,6个数码管同时亮谁的编号,其后再有键按下,系统不予响应,直到此位拔为OFF,恢复l6跑了马,开始下一轮抢答。系统仿真用到了Proteus7.7软件,通
14、过仿真可以显示所设计系统的功能,对于程序的调试等有很大的帮助。2.4 系统电路图如图2-1,系统通电开始抢答, P1.0-P1.5为六路抢答输入,数码管段选P0口,位选P2口。图2-1 系统电路原理图2.5拨动开关拨动开关是通过拨动开关柄使电路接通或断开,从而到达切换电路的目的。拨动开关的设计如下列图2-2,P1.0-P1.5是6组抢答的输入口,按下按钮抢答。谁先按下后其他人再按那么无效。当该选手抢答完成后该开关拨为OFF,系统开始重新跑马。 图2-2 点键盘扫描电路2.6显示电路的设计led数码管LED Segment Displays是由多个发光二极管封装在一起组成“8”字型的器件,引线已
15、在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。本实验的显示电路的设计如下列图2-3。采用数码管7SEG-MPX6-CA-BLUE。此为六个数码管合一的,123456表示选择的数码管供电的管脚,ABCDEFG DP就是数码管的断码输入。系统通电后六个数码管循环轮流显示16跑马,谁先抢答数码管停止跑马,
16、六个数码管同时亮谁的编号。其后再有键按下系统不予响应,直到此为拨到OFF。图2-3 显示电路的设计3 软件设计软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计根本定型后,也就根本上决定下来了。3.1 程序流程图 图3-1 程序流程图图3-1为本实验的程序流程图。3.2 系统程序在本设计中包括了以下程序:主程序、p1.0-p1.5为六路抢答输入数码管段选P0口,位选P2口。系统程序:#includesbit k1=P10;sbit k2=P11;sbit k3=P12;sbit k4=P13;sbit k5=P14;sbit k6=P15;unsigne
17、d char DSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82;void delayms(unsigned int ms) unsigned int i,j; for(i=0;ims;i+) for(j=0;j1141;j+);void main() unsigned char key,i; TMOD=0x01; TH0=0xff; TL0=0xff; while(1) key=P1; if(key=0xff) for(i=1;i7;i+) switch(i) case 1:P2=0x01;break; case 2:P2=0x02;break; case
18、 3:P2=0x04;break; case 4:P2=0x08;break; case 5:P2=0x10;break; case 6:P2=0x20;break; default : P2=0x01;break; P0=DSY_CODEi; delayms(10); if(key!=0xff) EA=1; ET0=1; TR0=1; void Tim_T0() interrupt 1 using 0 if(k1=0&k2!=0&k3!=0&k4!=0&k5!=0&k6!=0) P2=0xff; P0=DSY_CODE1; if(k2=0&k1!=0&k3!=0&k4!=0&k5!=0&k6
19、!=0) P2=0xff; P0=DSY_CODE2; if(k3=0&k1!=0&k2!=0&k4!=0&k5!=0&k6!=0) P2=0xff; P0=DSY_CODE3; if(k4=0&k1!=0&k2!=0&k3!=0&k5!=0&k6!=0) P2=0xff; P0=DSY_CODE4; if(k1!=0&k6!=0&k2!=0&k3!=0&k4!=0&k5=0) P2=0xff; P0=DSY_CODE5; if (k6=0&k1!=0&k2!=0&k3!=0&k4!=0&k5!=0) P2=0xff; P0=DSY_CODE6; 4 系统调试与实验4.1 仿真调试一、上电显示
20、图4-1 上电显示图如图4-1 当上电时,数码显示管显示“1-6循环跑马。二、正确抢答显示图4-2 正确抢答显示如图4-2,三号选手抢答成功,此时其他选手再抢答那么无效,当三号选手把K2拨为OFF时,数码管重新回复1-6循环跑马。4.2 性能分析以拨动开关K0-K5中的某个开关为ON作为抢答按键。无人抢答时6个数码管循环轮流显示1-6跑马。谁先抢答,数码管停止跑马,6个数码管同时亮谁的编号,其后再有键按下,系统不予响应,知道此为拨为OFF,恢复1-6跑马。并开始下一轮抢答。 5 总结5.1 设计出现的问题在本次课程设计过程中,出现了许许多多的问题,主要包括在程序的编写及调试、仿真及调试和设计本
21、身的缺乏。此次所设计的抢答器可实现根本的操作功能,可是还存在许多缺乏之处,如当抢答时,如果前一位选手抢答错误而继续抢答时,前一个选手的号码不能自动被去除;还有就是不能调整抢答计时时间等等。5.2 总结 经过一个学期的学习,我觉得单片机这门课是很有趣的一门课程,在设计中掌握课程,具有很强的实用性,真正做出一个实际的作品比我们做很多道题更具有生动性。第一次从白纸一样开始自己设计单片机,起初我还害怕做不出东西来,可是在这两星期的日子里,虽然中途感到在设计上迷茫,但是最后还是学到很多很多的的东西。同时不仅可以稳固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。这次课程设计使我懂得了理论与
22、实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的缺乏之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比方说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好。通过这次课程设计之后,一定把以前所学过的知识重新温固。通过此次单片机设计实习,把自己在学校学到的知识转化为实验成果,积累了一定的经验,提高了分析问题和解决问题的实际能力。我体会到课程设计的各个环节,不是孤立的,每
23、个环节都是必不可少的。在该课程设计的过程中,我深刻体会到了计算机研究工作的艰辛。自己觉得理论上可行的方法,在实验的过程中却不一定行得通。经过了一次又一次地修改程序和检查电路,终于完成了自己的课程设计。虽然它有许多的不完善,可我却有一种无法言表的喜悦与成就感。我明白了课程设计的过程,就是不断地改良与完善的过程。 在开发设计过程中,由于知识有限,经验缺乏,课程设计时间短,难免有很多的缺乏,敬请老师指教,以待日后加以改良。最后,希望毕业以后能更加深入地接触到单片机,并不断前进。我非常荣幸和感谢在老师那里学到很多实用的知识。我希望更多同学能够在使用中发现单片机的无穷魅力!12参考文献1单片机中级教程原理及应用第2版,张俊谟,北京航空航天大学出版社,20062Proteus在MCS-51系统中的应用百例,周润景、袁伟亭、景晓松,电子工业出版社,2006 3单片机系统设计与实例指导,冯育长,西安电子科技大学出版社,200713