




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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扩展器。按键的摆放很规范,适合实物连线,而且它的排放格式刚好符合实物键盘的格式。个人觉得还是比较符合设计要求的。收获和体会 单片机课程设计是一门很实用,很难的设计。这个设计用到了单片机、电路等方面的知识,通过这次课程设计,使我对单片机及其附属电路有了一定的了解,对课本上的知识有了进一步的掌握,也深深明白了自己的不足。 完成本次课程设计的过程,是一个漫长的过程。经历了失落,失落,再失落,慢慢建立自信,奋发,完成等几个过程。刚接到设计题目时,一看就觉得好难,知识书上面都有,可却不知道怎么去运用,发现其中的算法和设计是多么的复杂。经过几天的努力,却一点成就也没有。于是埋头查东西,虚心向同学请教。终于最后,还是有了那么一点成果,那感觉是甜蜜的,虽然过程是痛苦的。没有努力,哪来的收获,就在这种痛苦与甜蜜的交换中,我学到了很多的知识,也学会很
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三农村住房建设标准手册
- 三农村信息化应用推广手册
- 综合物流服务方案
- 镇江2025年江苏大学附属医院招聘编外工作人员40人(一)笔试历年参考题库附带答案详解
- 济南山东济南泉商调解中心招聘高级调解员30人笔试历年参考题库附带答案详解
- 替米沙坦联合氢氯噻嗪在高血压患者治疗中的应用效果分析
- 高压线路 安全事故免责协议书(2篇)
- 惠水县旅游介绍
- 新能源项目述职报告
- 腹泻的治疗方法
- 名著《骆驼祥子》中考真题及典型模拟题训练(原卷版)
- (2025春新教材)人教版七年级英语下册全册教案
- 山东黄河河务局公开招考2025高校毕业生易考易错模拟试题(共500题)试卷后附参考答案
- 2025年北京电子科技职业学院高职单招数学历年(2016-2024)频考点试题含答案解析
- 《信用工具与外汇》课件
- 煤矿隐蔽致灾因素普查
- 2024年国家公务员考试行测真题附解析答案
- 中学生保护眼睛预防近视
- 古往今来数学家的奇闻轶事
- 探访榴莲老家-走进东南亚 课件 高二下学期 地理
- 部队保密安全课件
评论
0/150
提交评论