




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 设计任务和方案1.1设计任务(一)设计题目:抢答器(二)设计目的与任务:学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在单片机技术中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。1.2功能要求说明该抢答器上电或按键复位后能自动显示系统提示符“p.” 。设定s2键、s3键、s4键、s5键、s9键分别为一号选手键、二号选手键、三号选手键、四号选手键、开始键。若在主持人按下开始键之前有人按下抢答键,则抢答违规,数码管显示器显示违规台号,违规指示灯亮(接在p3.0上的灯),其他按键不起作用,只有主持人按复位键后才能重新开始抢答。主持人按下开始键后,抢答开始并限定时间30s;10s内无人抢答,蜂鸣器发出音响;若30s后依然无人抢答,蜂鸣器发出音响,违规指示灯亮。正常抢答下,从抢答键按下开始30s内,答完后键没按下,则数码管显示器显示违规台号,违规指示灯亮,蜂鸣器发出音响。各台数字显示的消除、蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位键实现。1.3设计总体方案及工作原理说明设计中采用at89s52芯片、led显示器、蜂鸣器、led灯和一些独立式按键构成一个简易四路抢答器。设计中是采用单片机的内部定时器进行定时,原理框图如图1.1所示 整个抢答器的工作原理是:在正常的供电状态下,开始抢答时利用单片机倒计时,并由单片机将所需要显示的数据送到led显示器的输入口,当有键按下时则执行相应的键功能程序。图1.1 原理框图2 抢答器的硬件系统的设计2.1 硬件系统各模块功能简要介绍 该抢答器主要由单片机最小系统、独立式键盘模块、led显示电路模块、蜂鸣电路模块和led指示灯电路模块组成。各模块的功能如下:(1)单片机最小系统由at89s52单片机、时钟电路和复位电路构成。at89s52是一种低功耗、高性能cmos8位微控制器,具有8k在系统可编程flash存储器。时钟电路由一个12mhz的石英晶体振荡器和两个33pf的的电容组成振荡电路和分频电路。复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过rst引脚送入单片机。单片机最小系统为整个电路的核心。(2)独立式键盘模块 采用独立式键盘接法,共有六个按键来对电路进行控制。分别通过上拉电阻接在单片机的p1口线上。其中有四个按键为抢答键(接在p1.0-p1.3口线上),开始键接在p1.7口线上,复位键接在reset口线上。(3)led显示电路模块采用两个四位一体共阳型数码管显示器进行显示。由于位控线的驱动电流较大,因此在p2口线上接了8个pnp型三极管提高驱动能力;在单片机的p1口线和p2口线上接了16个470的电阻,这些电阻起限流的作用。将段控口a-dp接在p0.0-p0.7上,位控口接在p2.0p2.7口线上,实现对显示的控制。led显示电路模块主要用来指示第一抢答者,显示倒计时和违规的台号。(4)蜂鸣电路模块单片机p3.1口线上接上一个1k电阻然后再通过一个pnp型三极管与蜂鸣器相连接组成蜂鸣器电路,接入pnp型三极管是为了增强蜂鸣器的驱动电流。蜂鸣电路主要完成提示和违规报警功能。(5)led指示灯电路模块单片机p3.0口线上经过一个470的电阻与led灯的阴极相连接,led灯的阳极接正五伏电压。470的电阻起限流的作用。led指示灯电路模块主要用来指示用违规操作发生。2.2 电路原理图proteus原理图见附录a2.3 pcb图和元器件布局pcb图以及元器件布局图见附录b2.4 元器件清单 元器件清单见附录c3 抢答器软件系统的设计3.1 使用的单片机资源的情况该抢答器用到了单片机的定时器的功能,定时器0和定时器1都采用工作方式1并以中断方式工作;在数据的显示时采用的是查表的方法,因此需要将表格、数据存到单片机的程序存储器中去。本设计采用独立式键盘,键盘直接接在p1口上且按键的结果存贮在单片机的内部数据存储器里面。用到的led显示器接到了单片机的p0口线上和p2口线上。led指示灯和蜂鸣器接在p3口线上。 3.2 各模块功能简要介绍 该抢答器所用的软件模块有定时器模块、按键模块、led显示模块。(1)定时器模块选择定时器0和定时器1,设置定时器定时方式为方式1工作,设置定时时间为50ms。(2)按键模块采用独立式键盘,共用六个按键对电路进行控制和操作,分别为s2、s3、s4、s5、s9和复位键来控制抢答器。s2、s3、s4、s5代表选手;s9为开始键。(3)led显示模块 抢答器上电或复位显示p.,按开始键开始抢答,显示器显示倒计时和选手台号,若为无效抢答则显示器显示违规台号。3.3 程序的流程框图(1)主程序流程框图 如图3-1所示程序开始运行后显示p.,然后进行抢答器30s初始化,程序执行等待主持人按下开始键,如果在按下开始键前选手按下按键,则选手违规,再等待主持人按下复位按键,如果在主持人按下开始按键后的10s无人抢答则,蜂鸣器报警,同时等待主持人复位,如果10s内有人抢答,则正常抢答,等待30s内是否按下答完键,若没有按下,则违规超时,等待复位键按下。若30s内正常答完,作业等待主持人复位键的按下,则结束。图3.1 主程序流程框图(2)正常抢答程序流程框图 如图3-2中如果选手抢答成功后,则蜂鸣器响,显示台号和封锁其他键的内容,并等待30内按下答完键,最后主持人按下复位键,抢答结束。图3.2 正常抢答程序流程框图(3)违规抢答程序流程框图 如图3-3所示,如果选手在主持人还没有按下开始键时按下抢答键,则执行违规,同时指示灯亮,显示其台号。图3.3 违规抢答程序流程框图(4)键扫程序流程框图如图3-4所示,先调键处理,再判断是否有键按下,如果没有键按下,则返回,如果有键按下,去抖延时,再调键处理,如果没键按下就返回,如果有键按下,计算并保持键值,再看键是否松开,如果没松开,就再延时判断键是否松开,如果键松开,就保存键值并返回。图3.4 键扫程序流程框图 图3.5 显示程序流程框图(5)显示程序流程框图如图3-5首先送段控来控制数码管的显示字形,接着再送位控来控制不同位的数码管显示。(6)定时1s程序流程框图如图3-6所示通过选用定时器,采用工作方式1定时50ms,再循环20次便历经1s,在打开定时器后开始等待定时时间的带来,定时时间到后重装初值,然后再返回。图3.6 定时1s程序流程框图3.4 程序清单程序清单见附录d4 抢答器的设计结论、误差分析和教学建议4.1 设计结论和使用说明(1)设计结论 通过对单片机进行外接键盘和led数码管的操作以及加上硬件电路和软件的结合,实现了抢答器p.显示以及抢答倒计时的显示,正常抢答时显示台号,抢答违规时显示违规台号、违规指示灯亮、蜂鸣器报警。通过测试和仿真以及修改,该抢答器完成了设计任务,符合设计要求。(2)使用说明该抢答器采用两个四位一体八段数码管显示。当抢答器一上电即可显示“p.”,进入准备工作状态。按下开始键后,抢答开始并计时30s;若10s内无人抢答,蜂鸣器发出警示音,若计时到仍无人抢答则违规指示灯亮,蜂鸣器报警。若在开始键按下之前有人抢答,则显示器显示违规台号,违规指示灯亮,只有按复位键才能重新开始抢答。正常抢答下,显示器显示台号,蜂鸣器发出音响,其它抢答键无效;正常抢答下,从抢答键按下开始30s内没按下抢答键,则数码管显示器显示违规台号,违规指示灯亮,蜂鸣器发出音响。各台数字显示的消除、蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位键实现。4.2 误差分析由于程序指令等执行会差生一定误差,实验结果和实验要求相比较,相差0.1s左右,误差极小,符合设计的要求。4.3 设计体会本次我设计的抢答器已经能够完成任务,达到了设计要求。这次设计的巧妙之处是在中断服务程序中完成了一些标志位的处理,使得编程更加容易。虽然最后我设计的抢答器能完成任务,但仍存在很多的不足。例如,我所设计的抢答器统计选手的得分情况,因此还需多加改进。我所用的实物板子的电路虽然不是自己设计的,但是通过老师的讲解我知道了各个模块电路设计的原理。由于以前已经做过几块板子了,因此在用ptrtel软件绘制电路原理图、画pcb图以及制版的过程中并没有遇到太大的困难。在进行程序编写时,虽然遇到了一些问题,但通过keil软件调试,最终将编写有误的程序修正过来。通过编写程序,我进一步熟悉了指令的运用。通过这次的锻炼,我们不仅动手能力得到了加强,更重要的是学到了很多新的专业技能知识,经验也更加丰富了。我觉得我还有很多不足的地方,如:基本知识掌握不牢固、动手能力不强、知识面不够宽。我争取在以后的学习当中弥补它,不断的完善自己。实践过程中必须具有良好的耐性,不能急躁,否则会事倍功半。遇到问题是应当迎难而上,不能逃避,必须对自己有足够的信心!本设计还有很多做的不够好的地方,还望老师批评指正。4.4教学建议吴老师不仅传授了知识给我们还教会了我们不少做人的道理,这些做人的道理对于我们经后进入社会将会有很大的帮助。在教学方面,我尤其觉得吴老师做的特别的好,上课重点、难点突出,讲解非常详细,而且还补充了一些很实用的知识。吴老师将理论教学与实际操作相结合,让我们更深刻的掌握了知识,同时也让我们认识到书本上的东西不一定都全对,必须通过实践来检验它。我认为吴老师的课讲得已经很好了,在此我只想提一个自己的拙见,希望在以后吴老师能多启发我们的创新精神。参考文献1马忠梅,籍顺心,张凯,马岩.单片机的c语言应用程序设计m.北京:北京航空航天大学出版社,2006ma zhongmei,j, zhang kai, mayan. mcu c language program design m .beijing: beijing aerospace university press, 20062李广弟,朱月秀,冷祖祁.单片机基础m.北京:北京航空航天大学出版社,2007 li guangdi, zhuyuexiu, leng zuqi. microcontroller m .beijing: beijing university of aeronautics and press, 2007 3李光飞.单片机课程设计实例指导m.北京:北京航空航天大学出版社,2004.9 li guangfei. this course design example guide m .beijing: beijing university of aeronautics and press, 2004.9 4邢增平.protel 99 se设计专家指导m.北京:中国铁道出版社,2004 xing zengping. protel 99 se design expert guidance m .beijing: china railway publishing house, 2004 致 谢在这里我要感谢吴老师这段时间对我的悉心教诲和严格要求,这段时间我确实学到了很多实用的知识,同时经过不断的实践操作,我也加深了对理论的理解。在学习和实践过程中我要感谢吴老师和同学对我提出的问题耐心的讲解,也很感谢他们对我的帮助!附录a 原理图附录b pcb图和元件布局图附录c 元件清单元器件名称规格数量at89s521底座40脚3晶振12mhz1发光二极管9单排插40脚1三极管90129蜂鸣器1小按键9下载口座子十芯118b20温度传感器1六脚开关1usb电源线加接口1电阻2001电阻4.7k1电阻1k3电阻47024电解电容220f1瓷片电容33pf2排阻10k2短路帽3杜邦线8p1pcb板子1电源白色插座1 附录d 程序清单org 0000hljmp mainorg 000bhljmp ttc0org 001bhljmp ttc1org 0030hmain:mov sp, #60h;设置栈底为80hsetb ea;定时器和中断初始化setb et0setb et1mov tmod, #11hmov th0, #3chmov tl0, #0b0h;赋初值mov th1, #3chmov tl1, #0b0h mov dptr, #disbh ;系统初始化后提示符p.字符代码表首地址 mov r5, #08h mov r0, #78hdisptsf:clr a ;上电显示p. movc a, a+dptr mov r0, a inc r0 inc dptr djnz r5, disptsfdkey:lcall disp lcall key ;调键扫jb 20h.7, key7 ;判断键值jb 20h.0, key1jb 20h.1, key2jb 20h.2, key3jb 20h.3, key4ljmp dkey;键功能程序区*key7: mov a, #30 ;按下开始键 mov r2, aloop: lcall js ;计算当前秒,并送给显示缓冲区mov s1, #0ffhlcall disp lcall z1;显示当前秒dec r2mov a, r2jz tz;判断30秒是否到cjne r2, #20, pdcy ;判断是否过了10秒fm: clr p3.1 ;过了10秒,开蜂鸣器ljmp looppdcy: jc fmljmp loop tz: lcall js;停止在00处tz1:lcall disp ljmp tz1 key1: clr p3.0 ;1号违规,显示1号台和违规灯 mov 7fh, #01hlcall displjmp key1 key2: clr p3.0 ;2号违规,显示2号台和违规灯 mov 7fh, #10h mov 7eh, #02hlcall displjmp key2key3: clr p3.0 ;3号违规,显示3号台和违规灯 mov 7fh, #10h mov 7dh, #03hlcall displjmp key3 key4: clr p3.0 ;4号违规,显示4号台和违规灯 mov 7fh, #10h mov 7ch, #04hlcall displjmp key4;抢答区*key11: mov r1, #1 ;1号抢答,倒计时30秒 mov a, #30 mov r2, aloop10:lcall jsmov s1, #01hclr p3.1lcall displcall z2djnz r2, loop10 lcall jsloop11:lcall disp clr p3.0clr p3.1ljmp loop11key22: mov r1, #2 ;2号抢答,倒计时30秒 mov a, #30 mov r2, aloop20:lcall jsmov s2, #02hclr p3.1lcall displcall z2djnz r2, loop20 lcall jsloop21:lcall disp clr p3.0clr p3.1ljmp loop21key33: mov r1, #3 ;3号抢答,倒计时30秒 mov a, #30 mov r2, aloop30:lcall jsmov s3, #03hclr p3.1lcall displcall z2djnz r2, loop30 lcall jsloop31:lcall disp clr p3.0clr p3.1ljmp loop31key44: mov r1, #4 ;4号抢答,倒计时30秒 mov a, #30 mov r2, aloop40:lcall jsmov s4, #04hclr p3.1lcall displcall z2djnz r2, loop40 lcall jsloop41:lcall disp clr p3.0clr p3.1ljmp loop41;答完区*key111:cjne r1, #1, tt1;1号答完,显示台号和当前剩余时间 setb p3.1 lcall disp ljmp key111tt1:ljmp ffkey222:cjne r1, #2, tt2 ;2号答完,显示台号和当前剩余时间 setb p3.1 lcall disp ljmp key222tt2: ljmp ffkey333:cjne r1, #3, tt3 ;3号答完,显示台号和当前剩余时间 setb p3.1 lcall disp ljmp key333tt3: ljmp ffkey444:cjne r1, #4, tt4 ;4号答完,显示台号和当前剩余时间 setb p3.1 lcall disp ljmp key444tt4: ljmp ff;*;定时器延时子程序区z1: push psw ;延时子程序,延时1秒,用于抢答时的倒计时延时 clr rs0setb rs1setb tr0mov r5, #20ee: lcall disp lcall keyjb 20h.0, k1jb 20h.1, k2jb 20h.2, k3jb 20h.3, k4 cjne r5, #0, ccclr tr0pop pswljmp bbcc:ljmp eebb:ret;跳转区*;由于跳转范围有限,在此设一跳转区k1: ljmp key11k2: ljmp key22k3: ljmp key33k4: ljmp key44k11: ljmp key111k22: ljmp key222k33: ljmp key333k44: ljmp key444 ;伪指令定义*g equ 78hkai equ 79hs1 equ 7fhs2 equ 7ehs3 equ 7dhs4 equ 7ch;定时延时子程序2*z2: push psw ;延时子程序,延时1秒,用于回答问题倒计时时的延时 clr rs0 setb rs1;寄存器第2组 setb tr1 mov r6, #20ff: lcall disp lcall key jb 20h.0, k11 jb 20h.1, k22 jb 20h.2, k33 jb 20h.3, k44 cjne r6, #0, ff clr tr1 pop psw ret;计算字符序号子程序 ;把当前秒分成十位和个位送往显示缓冲数组js:mov a, r2 movb, #10 divab movkai, a movg, b;键盘扫瞄子程序key: lcall keychu ; 调p1口数据处理子程序 jz exit ; 没有键按下,转返回 lcall disp ; 调显示子程序去抖动 lcall disp lcall keychu ; 调p1口数据处理子程序 jz exit ; 没有键按下,转返回 mov b, 20h ; 保存取反后的键值keysf: lcall keychu ; 调p1口数据处理子程序 jz keya ; 键释放,转恢复键值 lcall disp ; 调显示子程序延时 ljmp keysf ; 等待键释放keya: mov 20h, b ; 键值送20h保存 exit: ret keychu: push psw ; 保护现场 mov p1, #0ffh ; 先向p1口写1 mov a, p1 ; 读p1口数据 cpl a ; p1口数据取反 anl a, #0ffhmov 20h , a; pop psw ; 恢复现场
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童美术油条课件
- 班组岗前安全培训
- 文明出行课件大班
- OA系统行政培训
- 圣诞蛋糕绘画课件
- 立体动画考试题及答案
- 广东公共关系学自考试题及答案
- 课件显示受保护视图
- 矿山车辆考试题及答案
- 口腔医考试题及答案
- 2025中国农业科学院棉花研究所第二批招聘7人备考考试题库附答案解析
- 重庆西南大学附中2025-2026学年九年级上学期开学考试语文试题
- 2025-2026学年人教版PEP英语二年级上册教学计划(三篇)
- 2025年秋季学期教科版二年级上册科学教学计划(三篇)
- 买家赎楼签协议签合同
- (2025年标准)整容医师聘用协议书
- 煤矿机电考试试题及答案
- 借名购车协议贷款协议书
- 2025至2030年中国虹膜识别市场深度调查分析及投资前景研究预测报告
- 《3-6岁幼儿学习与发展指南》试题及答案
- 2025年新职工院感防控及传染病防治知识培训试题及答案
评论
0/150
提交评论