




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 用 纸教师批阅目录第1章 课程设计任务书 2一、概述 22、 课程设计任务书 2第2章 硬件电路设计及描述 41、 单片机芯片型号的选择 52、 电源方案的选择 53、 抢答器键盘的选择 54、 时钟电路的设计 6五、复位电路 76、 显示电路 77、 主持人控制电路和蜂鸣器电路 8第3章 软件设计流程及描述 9一、软件设计流程 9二、程序设计描述 10第4章 源程序代码 11第5章 电路原理图 20第六章 课程设计心得体会 21第1章 课程设计任务书一、 概述:1974年,美国仙童公司研制出世界上第一台单片微型计算机f8,该机由两块集成电路芯片组成,结构呢奇特,具有与众不同的指令系统,深受民用电器和仪器仪表领域的欢迎和重视。从此,单片机开始迅速发展,应用范围也在不断扩大,现在成为微型计算机的重要分支。随着电子科技的发展,单片机的作用和地位越来越高,功能也越来越完善,在电子电路中起到控制管理的核心作用。单片机原理及应用技术也是理工生的一门必修课,是一门技术性、应用性、实践性较强的科目。其核心在于编程,通过相应的程序来达到控制管理的作用。相应的程序可以由高级语言来编写,当然也能由汇编语言来编写。本次的单片机原理与应用课程设计主要是利用mcs-51系列单片机为核心,设计一个可容纳八组参赛队的数字式抢答器,要求由主机、按键盒和显示、报警器等组成完整系统。通过汇编语言编写程序来控制电路的过程。这次课程设计的目的和意义就是希望通过小组在一起分析研究,来达到自主学习、分析和解决问题的一个思维和能力,提高理工生的实践能力。二、课程设计任务书1 内容与要求利用mcs-51系列单片机为核心,设计一个可容纳八组参赛队的数字式抢答器,要求由主机、按键盒和显示、报警器等组成完整系统。2 基本工作原理及组成简介系统主机由mcs-51单片机作为控制核心,按键盒设置一个按键和一个指示灯通过导线连接到主机接口,显示器包括抢答组别号显示和计时显示。抢答开始:先由主持人将系统复位并发出抢答指令后,参赛者才按抢答按键,首先抢答组指示灯亮并通过组别显示电路显示出抢答者的组别,同时扬声器发出“嘀-嘟”的双音音响持续2s3s钟。同时电路自锁,使别组的抢答按键不起作用。若抢答犯规,对提前抢答和超时抢答的组别鸣喇叭示警,显示器上显示出犯规组别。3 技术指标与性能特点参赛组数:8组。4 基本步骤(1) 分析题意,确定设计方案(2) 选择单片机型号(3) 设计单元电路、选择元器件、计算参数、并进行实验验证(4) 用protel画出完整电路原理图(5) 编写程序(6) 软、硬件调试5 关键技术提示(1) led显示器电路设计,考虑重点是驱动能力核算。(2) 抢答按键消抖与互锁时间配合及编程。(3) 裁判规则算法。6 设计报告要求(1) 封面(2) 内容提要(3) 目录(4) 正文 概述所设计题目的意义、本人所做的工作及系统的主要功能; 硬件电路设计及描述 软件设计流程及描述 软、硬件调试过程及方法描述 源程序代码(要详细注解) 电路原理图。(5) 课程设计体会(6) 主要参考文献、资料第2章 硬件电路设计及描述硬件设计主要包括一些电子器件的选择。当然,这些电子器件的选择与我们的软件设计密不可分。因此,我们应该先把握好整个设计的思路,根据设计思路来确定自己需要哪些硬件来完成我们的目的。本次课程设计是一个可容纳8组参赛队的数字抢答器。具体思路是:系统主机由mcs-51单片机作为控制核心,按键盒设置一个按键和一个指示灯通过导线连接到主机接口,显示器包括抢答组别号显示和计时显示。抢答开始:先由主持人将系统复位并发出抢答指令后,参赛者才按抢答按键,首先抢答组指示灯亮并通过组别显示电路显示出抢答者的组别,同时扬声器发出“嘀-嘟”的双音音响持续2s3s钟。同时电路自锁,使别组的抢答按键不起作用。若抢答犯规,对提前抢答和超时抢答的组别鸣喇叭示警,显示器上显示出犯规组别。 具体构思如下图所示:1、 单片机芯片型号的选择:在之前的单片机课程和实验中,我们学习和使用过at89c51的单片机,用at89c51单片机来控制电路,简单、方便。最重要的就是写程序,如何通过程序来达到抢答器的作用,利用51单片机来说补充了集成电路中所缺的遗漏,更是在集成电路上更加精准,对选手更加的公平,让选手都站在同一的战线上。at89c51的引脚图: 二、电源方案的选择:系统需要多个电源,at89c51使用5v稳压电源。采用三端稳压集成78l05得到5v的稳定电压。利用该方法方便简单,工作稳定可靠。三、抢答器键盘的选择: 键盘接口中使用多少根i/o口,键盘中就有几个按键,键盘接口使用了8根i/o口线,该键盘就有8个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。 4、 时钟电路的设计:本设计所采用的时钟信号为c51中的内部形式,内部方式实现单片机的时钟电路,利用单片机芯片上提供的反相放大器电路,在xtal1和xtal2引脚之间外接振荡器构成一个自激振荡器,自激振荡器与单片机内部的始终发生器构成单片机的时钟电路。如图中,由osc和电容c1和c2构成了并联谐振回路作为定时元件,振荡源osc可选用晶体振荡器或陶瓷振荡器,频率为1.212mhz,电容c1、c2为530pf,起频率微调作用。5、 复位电路:在单片机工作过程中,由于某种原因使单片机陷入“死机”状态,或根据需要采用强制手段使程序重新开始执行等等,需要采用按钮开关复位方式。当按钮开关s按下时,+5v电源通过s接入电阻构成的电路网络,设计时使电阻上的分压达到高电平的阀值,就可以使单片机复位。因为我们按动按钮开关使其闭合的时间远远大于单片机复位所用的时间。通常把上电自动复位电路和按钮开关复位电路综合在一起,这样既可以在每一次电源接通时系统复位,也可以满足强制复位的要求。6、 显示电路:本设计采用led数码管显示,利用软件设计其倒计时功能,当主持人未按键开始抢答时,时间显示数码管显示为00,当开始抢答后,显示为30并开始倒计时,如果在此期间有人按键抢答,则在第三个数码管上显示响应的号数,当然如果出现违规的选手则不能参与本次回答,因为违规的时候会出来二极管led显示红灯,同时扬声器发出声响,时间大约为0.5秒,如果有人正常按键抢答,则出现绿灯,扬声器也发出声响时间也为0.5秒左右。7、 主持人控制电路和蜂鸣器电路:当有信号源从p2.7口输入时,扬声器发出声响,可根据定时器设计发声时间的长短,此信号源可以为抢答开始、抢答时间到、选手正常抢答、选手非法抢答、答题时间到都会同过此扬声器发出一定时间的声响,并且设计了一个led显示来提示是否为报警信号,当正常信号源来的时候,此灯为绿灯,发出声响,但是如果为报警信号来时,此灯为红灯,并发出声响。同时主持人通过s按键输入信号,提示答题时间开始、清除,扬声器同时发出声响,发出声响的时候优先判断是哪位抢答到答题的机会,并在led上显示出来,同时显示开始后的时间,此电路设计答题时间为30秒,扬声器响的时间为0.5秒。当主持人清除系统信号的时候,显示器上显示时间为00,选手号数也为0。 第3章 软件设计流程及描述1、 软件设计流程:智力竞赛抢答器要求有计时记忆功能,一次时间设置完, 复位后不需重新进行时间设定,通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示字型码.当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功.同时显示其分数,分数的加减可由裁判手动进行. 采用独立式键盘,可实现8路抢答. 在显示时使用的是七段数码管显示在本设计中根据实际情况采用的是动态显示方法. 并通过查表法 将其在数码管上显示出来,其中p1口为字型码输入端,p2口低6位为字选段输入端.通过查表将字型码送给7段数码管显示的数字。软件去抖动,如果开始键按下就向下执行,否者跳到开始。采用倒计时程序,使其具有倒计时功能。回答倒计时30秒。抢答时间5秒。采用发声警报(由于发生器不响,所以,用绿灯换了),起到报警作用。1、如果想调节抢答时间或答题时间,按抢答时间调节键或答题时间调节键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下加1s键,如果想减一秒按一下-1s键,时间led上会显示改变后的时间,调整范围为0s99s, 0s时再减1s会跳到99,99s时再加1s会变到0s。2、 主持人按抢答开始键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5s会每秒响一下提示音。3、 如倒计时期间,主持人想停止倒计时可以随时按停止按键,系统会自动进入准备状态,等待主持人按抢答开始进入下次抢答计时。 4、如果主持人未按抢答开始键,而有人按了抢答按键,犯规抢答,led上不断闪烁ff和犯规号数并响个不停,直到按下停止 键为止。 5、p3.0为开始抢答,p3.1为停止,p1.0-p1.7为八路抢答输入 数码管段选p0口,位选p2口低3位,蜂鸣器输出为p3.6口。p3.2抢答时间调整结,p3.3回答时间调整,p3.4为时间加1调整,p3.5为时间减1调整。ynynnyyy开始读取倒计时时间设置开始抢答主持人按键开始?有键按下?按键处理结束本轮回答?倒计时时间到?超时处理等待二、程序设计描述本文以at89c51单片机为核心设计的八路抢答器方案是:l 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮s0 s7表示。l 设置一个系统清除和抢答控制开关s,该开关由主持人控制。l 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。l 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动开始键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。l 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定 时显示器上显示00。第4章 源程序代码主程序:ok equ 20h; 抢答开始标志位ring equ 22h; 响铃标志位org 0000hajmp mainorg 0003hajmp int0suborg 000bhajmp tointorg 0013hajmp int1suborg 001bhajmp t1intorg 0040hmain: mov r1, #0fh; 初始抢答时间为15smov r2, #0ah; 初始答题时间为10smov tmod,#11h; 设置为定时器/模式1mov th0,#0f0hmov tl0, #0ffh; 越高发声频率越高,越尖mov th1,#3chmov tl1,#0b0h; 50ms为一次溢出中断setb easetb et0setb et1setb ex0setb ex1; 允许四个中断,t0/t1/int0/int1clr okclr ringsetb tr1setb tr0; 一开始就运行定时器,一开始显示fff查询程序start: mov r5,#0bhmov r4,#0bhmov r3, #0bhacall display; 未开始抢答时候显示fffjb p3.1, nextacall delayjb p3.1, next; acall bark; 按键发声mov a, r1mov r6,a; 送r1到r6,因为r1中保存了抢答时间setb ok; 抢答标志位,mov r3,0ah; 抢答只显示时,灭号数almp count; 进入倒计时程序,next: jnb p1.0,false1jnb p1.1,false2jnb p1.2,false3jnb p1.3,false4jnb p1.4,false5jnb p1.5,false6jnb p1.6,false7jnb p1.7,false8非法抢答处理程序:false1:acall bark; 按键发声 mov r3,#01h almp errorfalse2:acall bark mov r3,#02h almp errorfalse3:acall bark mov r3,#03h almp errorfalse4:acall bark mov r3,#04h almp errorfalse5:acall bark mov r3,#05h almp errorfalse6:acall bark mov r3,#06h almp errorfalse7:acall bark mov r3,#07h almp errorfalse8:acall bark mov r3,#08h almp errorint0(抢答时间r1调整程序):int0sub: mov a,r1mov b, #0ahdiv abmov r5,amov r4,bmov r3,#0ahacall display; 先在两个时间led上显示r1jnb p3.2,inc0; p3.2为+1s键,如按下跳到inc0jnb p3.3,dec0; p3.3为-1s键,如按下跳到dec0jnb p3.0,back0; p3.0为+1s键,如按下跳到back0ajmp int0subinc0: mov a,r1cjne a,#63h,add0; 如果不是99,r2加1, mov r1,#00h acall delay1 ajmp int0sybadd0: inc r1 acall delay1 ajmp int0subdec0: mov a,r1 jz setr1; 如果r1 为0,r1就置99 dec r1 acall delay1 ajmp int0subsetr1: mov r1,#63h acall delay1 ajmp int0subback0: retiint1(回答时间r2调整程序):int0sub:mov a,r2 mov b,#0ah div ab mov r5,a mov r4,b mov r3,#0ah acall display; 先在两个时间led上显示r1 jnb p3.2,inc1; p3.2为+1s键,如按下跳到inc0 jnb p3.3,dec1; p3.3为-1s键,如按下跳到dec0 jnb p3.0,back1; p3.0为+1s键,如按下跳到back0 ajmp int1subinc1: mov a,r2 cjne a,#63h,add1; mov r2,#00h acall delay1 ajmp int1sybadd1: inc r2 acall delay1 ajmp int1subdec1: mov a,r2 jz setr2; 如果r2 为0,r2就置99 dec r2 acall delay1 ajmp int1subsetr2: mov r2,#63h acall delay1 ajmp int1subback1: reti倒计时程序(抢答倒计时和回答倒计时都跳到该程序):count: mov r0, #00h; 重置定时器中断次数 mov th1,#3ch mov tl1,#0b0h; 重置定时器recount:mov a,r6; r6保存了倒计时的时间, mov, b,#0ah div ab; 除十分出个位/十位 mov 30h,a; 十位存于(30h) mov 31h,b; 个位存于(31h) mov r5,30h; 取十位 mov r4,31h; 取个位 mov a,r6 subb a,#07h jnc larger; 大于5s跳到larger,小于等于5s会提醒 mov a,r0 cjne a,#0ah,full; 1s中0.5s向下运行 clr ring ajmp checkfull: cjne a,#14h,check; 下面系1s的情况,响并显示号数清r0, 重新计时setb ringmov a,r6jz quit; 计时完毕mov r0, #00hdec r6; 一秒标志减1ajmp checklarger:mov a,r0cjne a,#14h,check;dec r6; 计时一秒r6自动减1mov r0,#00hcheck: jnb p3.0,quit; 如按下停止键退出acall displayjb ok,accout; ajmp recountaccout:jnb p1.0, true1jnb p1.1, true2jnb p1.2, true3jnb p1.3, true4jnb p1.4, true5jnb p1.5, true6jnb p1.6, true7jnb p1.7, true8ajmp recountquit: clr ok; 如果按下了“停止键”执行的程序clr ringajmp start正常抢答处理程序:true1:acall bark; 按键发声mov a,r2mov r6,a; 抢答时间r2送r6mov r3,#01hclr ok; 因为答题的计时不再查询抢答,所以就锁了抢答ajmp countture2:acall bark; 按键发声mov a,r2mov r6,a; 抢答时间r2送r6mov r3,#02hclr ok; 因为答题的计时不再查询抢答,所以就锁了抢答ajmp countture3:acall bark; 按键发声mov a,r2mov r6,a; 抢答时间r2送r6mov r3,#03hclr ok; 因为答题的计时不再查询抢答,所以就锁了抢答ajmp countture4:acall bark; 按键发声mov a,r2mov r6,a; 抢答时间r2送r6mov r3,#04hclr ok; 因为答题的计时不再查询抢答,所以就锁了抢答ajmp countture5:acall bark; 按键发声mov a,r2mov r6,a; 抢答时间r2送r6mov r3,#05hclr ok; 因为答题的计时不再查询抢答,所以就锁了抢答ajmp countture6:acall bark; 按键发声mov a,r2mov r6,a; 抢答时间r2送r6mov r3,#06hclr ok; 因为答题的计时不再查询抢答,所以就锁了抢答ajmp countture7:acall bark; 按键发声mov a,r2mov r7,a; 抢答时间r2送r6mov r3,#02hclr ok; 因为答题的计时不再查询抢答,所以就锁了抢答ajmp countture8:acall bark; 按键发声mov a,r2mov r6,a; 抢答时间r2送r6mov r3,#08hclr ok; 因为答题的计时不再查询抢答,所以就锁了抢答ajmp countmov a,r2mov r6,amov r3,#03#clr okajmp counttrue4:acall bark;mov a,r2 mov r6,amov r3,#04hclr okajmp counttrue5:acall bank;mov a,r2mov r6,amov r3,#05hclr okajmp counttrue6:acall bank;mov a,r2mov r6,amov r3,#06hclr okajmp counttrue7:acall bank;mov a,r2mov r6,amov r3,#07hclr okajmp counttrue8:acall bank;mov a,r2mov r6,amov r3,#08hclr okajmp count;犯规抢答程序;error:mov r0,#00hmov th1,#3chmov tl1,#0b0hmov 34h,r3; 犯规号数暂存与(34h)here: mov a,r0cjne a,#0ah,flash; 0.5s向下运行-灭并停响clr ringmov r3,#0ahmov r4,#0ahmov r5,#0ah; 三灯全灭ajmp check1flash: cjne a,#14h,check1; 下面系1s的情况,响并显示号数并清r0,重新计setb ringmov r0,#00hmov r3,34 h; 取回号数mov r5,#0bhmov r4,#0bh; 显示ff和号数ajmp check1check1:jnb p3.0.quit1acall displayajmp herequit1:clr ringclr okajmp start显示程序:display:mov dptr,#dat1; 查表显示程序,利用p0口做段选码口输出/p2低三位做位选码输出mov a,r5movc a,a+dptrmov p2,#01hmov p0,aacall delaymov dptr,#dat2mov a,r4movc a,a+dptrmov p2,#02hmov p0,aacall delaymov a,r3movc a,a+dptrmov p2,#04hmov p0,aacall delayretdat1:db 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h,71h; “灭”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“灭”,“f”dat2:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h,71hdelay1:mov 35h,#08hloopo: acall displaydjnz 35h,looporet;延时(显示和去抖动用到);delay: mov 32h,#12hloop: mov 33h,#0afhloop1:djnz 33h,loop1djnz 32h,loopret发声程序:bark: setb ringacall delay1acall delay1clr ring; 按键发声ret;t0溢出中断(响铃程序);toint: mov th0,#0echmov th0,#0ffhjnb ring,outcpl p3.6; ring标志位为1时候p3.6口不短取反使喇叭发出一定频率的声音 out: reti;t1溢出中断(计时程序);t1int: mov th1,#3chmov tl1,#0b0hinc roret1end第五章 电路原理图第六章 课程设计心得体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时间知觉实验课件
- 时间四项法课件
- 河南省二零二五年度企业员工劳动保护与安全协议
- 2025版护校护理专业学生实习就业合作协议
- 2025版都市咖啡馆全权委托经营管理合作协议
- 2025版房地产租赁项目结算合同范本
- 二零二五版母婴护理服务+婴儿摄影服务合同
- 二零二五年度家用中央空调内外机清洗保养协议书
- 2025版电力工程劳务安全分包服务合同范本
- 二零二五年度智能房屋租赁安全保障及违约责任协议范本
- 2025安徽农业大学辅导员考试试题及答案
- 签订主仆协议书
- 2025年道路交通工程与安全管理考试试题及答案
- 入股买船合同协议书
- 2025-2030摩托车保险行业市场运行态势分析及前景趋势与投资研究报告
- 电子医保协议书
- 零碳绿建三星智慧园区解决方案
- 反洗钱知识竞赛题库反洗钱法知识测试题题库(题目+答案+解析)
- 服装生产工艺全流程图解
- 厂区高空作业施工方案
- 建筑行业财务试题及答案
评论
0/150
提交评论