版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、太原理工大学 单片机原理与接口技术 课程设计 设计名称 智能竞赛抢答器 专业班级 测控13-1班 学 号 2013101561 姓 名 王文俊 指导教师 武娟萍 同 组 人 王文俊,马宇飞 太原理工大学现代科技学院专业班级测控13-1班学生姓名王文俊课程名称“单片机原理与接口技术”课程设计设计名称智力竞赛抢答器设计周数1.5指导教师武娟萍设计任务主要设计参数设计一个以单片机为核心的智力竞赛抢答器。主要设计参数:1、 设置两个功能键:开始键,复位键。2、 按下开始键后可以进行抢答,按下复位键恢复初始状态。3、 能允许26组抢答能显示抢答组别,并给出状态指示灯信号。4、 各组计分,并能计数显示。5
2、、 比赛结束时,能发出报警声。设计内容设计要求1 硬件电路设计:(1) mcu主电路设计;(2) io接口电路设计;(3) led显示接口电路设计。2 软件设计:(1) 初始化程序设计;(2) 各功能模块设计;3软件硬件调试。主要参考资 料1 单片机原理与接口技术,李晓林等,电子工业出版社,2015。2 微型计算机控制技术,潘新民等,人民邮电出版社,1999。3 单片机应用系统设计技术,张齐等,电子林业出版社,2010。学生提交归档文件课程设计说明书1份课程设计任务书注:课程设计完成后,学生提交的归档文件应按,封面任务书说明书图纸的顺序进行装订上交(大张图纸不必装订)指导教师签名: 武娟萍 日
3、期2016.6 单片机课程设计-智力竞赛抢答器摘要 抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。工厂、学校和电视台等单位常举办各种智力竞赛,抢答记分器是必要设备。在我校举行的各种竞赛中我们经常看到有抢答的环节,举办方多数采用让选手通过举答题板的方法判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,为解决这个问题,我们小组准备就本次大赛的机会制作
4、一个低成本但又能满足学校需要的八路数显抢答器。本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用at89c51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下
5、,按键无效非法。目录1 概述.3 2 系统总体方案及硬件计.42.1控制系统及所需元件组成.42.2实验原理.43 软件设计.8.4 proteus软件仿真.124.1伟福软件.124.2在proteus软件.125心得体会.19参考文献.20附1:源程序代码.21附2:计算器模拟系统电图.301 概述单片机原理及应用技术是一门技术性,应用性、实践性很强的学科。课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技
6、能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。在实际生活中有好多地方都用到了单片机,因此学习好这门课程有着十分重要的意义。要求的模拟的抢答器:1) 能容许2-8组进行抢答。2) 能显示抢答组号。3) 各组记分,并能记分显示。4) 比赛结束时,能发出报警声。硬件系统设计1)控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。其中单片机at89c51是系统工作的核心,它主要负责控制各个部分协调工作.2)硬件组成及所需元件:该系统的核心器件是at89c51。在其外围接上复位电路、上拉电阻、数码管、按钮及扬声器。元件为:晶振x1、电容c1、c2、c
7、3、 电阻rp1。p3.0和p3.1由裁判控制,分别是抢答停止和开始键。p1.0-p1.7是8组抢答的输入口,p2.0-p2.3口为数码管的段选口,位选口用的是p0.0-p0.6口输出,外部中断0、1和p3.3,p3.4为抢答记时调整口,实现的对个队进行计时,并且加减调整,外部中断0,1实现了答题时间调整.p3.4 p3.5分别实现了时间的加一和减一.p3.6为蜂鸣器的控制口。控制系统防真用到了伟福软件, 集成调试环境,集成了编缉器、编译器、调试器,支持软件模拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。树状结构显示,一目了然,支持asm(汇编)、c语言,多语言多模块源程序混合调试,
8、在线直接修改、编译、调试源程序,错误指令定位。功能很强大。系统仿真还用到了protuce软件,可通过仿真可以完全显示出所设计系统的功能,对于程序的调试等有很大的帮助. 2实现原理和电路1:控制系统及所需元件 控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。其中单片机at89c51是系统工作的核心,它主要负责控制各个部分协调工作.所需元件:该系统的核心器件是at89c51。在其外围接上复位电路、上拉电数码管、按钮及扬声器。元件为:晶振x1、电容c1、c2、c3、 电阻rp1、p3.0和p3.1由裁判控制,分别是抢答停止和开始键。p1.0-p1.7是8组抢答的输入口,p2.0-p2
9、.3口为数码管的段选口,位选口用的是p0.0-p0.6口输出,外部中断0、1和p3.3,p3.4为抢答记时调整口,实现的对个队进行计时,并且加减调整,外部中断0,1实现了答题时间调整.p3.4 p3.5分别实现了时间的加一和减一.p3.6为蜂鸣器的控制口。2:实验原理 智力竞赛抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成, 采用单片机at89c51,它是低功耗、高性能的cmos型8位单片机。片内带有4kb的flash存储器,且允许在系统内改写或用编程器编程。该智力竞赛抢答器的准确度很高,其误差主要由晶振自身的误差所造成。 at89c51单片机由微处理器,存储器,i/o口
10、以及特殊功能寄存器sfr等部分构成。其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为4kb,片内数据存储器为128个字节。89c51单片机有4个8位的并行i/o口:p0口,p1口,p2口和p3口。各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。p1口是唯一的单功能口,仅能用作通用的数据输入/输出口。p3口是双功能口除了具有数据输入/输出功能外,每条接口还具有不同的第二功能,如p3.0是串行输入口线,p3.1口是串行输出口线。在需要外部程序存储器和数据存储器扩展时,p0可作为分时复用的低8位地址/数据总线,p2口可作为高8位的地址总线。p3口也可作为at8
11、9c51的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。at89c51的管脚图:外部振荡电路单片机必须在at89c51的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元。外部振荡电路见图一(图一)外部中断和内部中断并存,单片机有硬件复位端,只要输入持续4个机器周期的高电平即可实现复位。硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,应为本设计功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位。只能用软复位。软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程。复位电路采用图二所
12、示:外部还接有蜂鸣器(由于缺少驱动器,发生器不响,所以,用绿灯换了)用来发出报警音,其图形如下:采用七段码7seg-mpx4-cc 显示,它是共阴极的由高电平点亮。图形如下:采用八个button按钮作为抢答的选择按键如图所示:3软件系统设计智力竞赛抢答器要求有计时记忆功能,一次时间设置完, 复位后不需重新进行时间设定,通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示字型码.当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功.同时显示其分数,分数的加减可由裁判手动进行. 采用独立式键盘,可实现8路抢答. 在显示时使用的是七段数码管显示在本设计中根据实际情况采用的是
13、动态显示方法. 并通过查表法 将其在数码管上显示出来,其中p1口为字型码输入端,p2口低6位为字选段输入端.通过查表将字型码送给7段数码管显示的数字。软件去抖动,如果开始键按下就向下执行,否者跳到开始。采用倒计时程序,使其具有倒计时功能。回答倒计时30秒。抢答时间5秒。采用发声警报(由于发生器不响,所以,用绿灯换了),起到报警作用。 1、如果想调节抢答时间或答题时间,按抢答时间调节键或答题时间调节键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下加1s键,如果想减一秒按一下-1s键,时间led上会显示改变后的时间,调整范围为0s99s, 0s时再减1s会跳到99,99s
14、时再加1s会变到0s。主持人按抢答开始键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数时间到小于5s会每秒响一下提示音。如倒计时期间,主持人想停止倒计时可以随时按停止按键,系统会自动进入准备状态,等待主持人按抢答开始进入下次抢答计时。 4、如果主持人未按抢答开始键,而有人按了抢答按键,犯规抢答,led上不断闪烁ff和犯规号数并响个不停,直到按下停止 键为止。 5、p3.0为开始抢答,p3.1为停止,p1.0-p1.7为八路抢答输入 数码管段选p0口
15、,位选p2口低3位,蜂鸣器输出为p3.6口。p3.2抢答时间调整结,p3.3回答时间调整,p3.4为时间加1调整,p3.5为时间减1调整。4 系统仿真1:伟福软件用到了伟福软件, 集成调试环境,集成了编缉器、编译器、调试器,支持软件模拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。树状结构显示,一目了然,支持asm(汇编)、c语言,多语言多模块源程序混合调试,在线直接修改、编译、调试源程序,错误指令定位。功能很强大。用于对程序的调试和编辑。其界面如下:2:protuce软件系统仿真还用到了protuce软件,可通过仿真可以完全显示出所设计系统的功能,对于程序的调试等有很大的帮助.系统仿
16、真时首先要在使用伟福编译器,把所写的程序进行编译,同时在仿真器里设置生成hex文件,编译无错误时进行protuce仿真。首先要新建一个文档是 default型的找出需要的器件,可以使用搜索功能。接着把各个器件放到合适的位置都要放到蓝色框内。然后根据自己的设计要求连线。等所有的元件都连接完成后可以把,伟福编译生成的无错误文件加载到at89c51中,方法是,右键点中器件然后在用左键点击,出来一个对话框在program file后选择要添加文件,文件要求必须是hex文件。然后可以点击运行观察现象,看与自己设置的符合否,如果不相符在查找错误进行修改,一般的错误都是程序中的,所以要认真的读取程序的每一个
17、部分 作好的protuce图:倒计时30秒开始抢答:倒计时还有5秒时的报警显示图:提示灯会呈闪亮状:有选手抢答,显示号码并进入回答倒倒计时60s计未按抢答开始键,3号选手按了抢答键即倒计时,犯规,绿灯不断闪烁:抢答时间调整30s使用加法调整时的图:减法调整图:回答时间调整60s回答时间加2回答时间减25心得体会 这次的课程设计选的课题是八路抢答器。这个设计用到了wave6000和proteus,由于第一次使用这些软件,建立仿真图时候很多元器件根本不知道有什么功效,在仿真仪器中是什么代码。通过上网查资料找出放置搭建出来了。通过这次课程设计,使我对单片机及其附属电路有了一定的了解,对课本上的知识有
18、了近一步的掌握,也深刻明白了自己的不足。6参考文献中国矿业大学出版社单片机原理及应用技术 主编 余发山国防工业出版社单片微型计算机接口技术及其应用 主编 张淑清等北京航空航天大学出版社单片机课程设计实例指导 李光飞 楼然苗 胡佳文 谢象佐 编附1:源程序 ok equ 20h;抢答开始标志位 ring equ 22h;响铃标志位 org 0000h ajmp main org 0003h ajmp int0sub org 000bh ajmp t0int org 0013h ajmp int1sub org 001bh ajmp t1int org 0040hmain: mov r1,#30;
19、初设抢答时间为30s mov r2,#60;初设答题时间为60s mov tmod,#11h;设置未定时器/模式1 mov th0,#0f0h mov tl0,#0ffh;越高发声频率越高,越尖 mov th1,#3ch mov tl1,#0b0h;50ms为一次溢出中断 setb ea setb et0 setb et1 setb ex0 setb ex1;允许四个中断,t0/t1/int0/int1 clr ok clr ring setb tr1 setb tr0;一开始就运行定时器,以开始显示fff.如果想重新计数,重置th1/tl1就可以了;=查询程序=start: mov r5,#
20、0bh mov r4,#0bh mov r3,#0bh acall display;未开始抢答时候显示fff jb p3.0,next;ddddddd acall delay jb p3.0,next;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询 acall bark;按键发声 mov a,r1 mov r6,a;送r1-r6,因为r1中保存了抢答时间 setb ok;抢答标志位,用于count只程序中判断是否查询抢答 mov r7,#01h ;读抢答键数据信号标志,这里表示只读一次有用信号 mov r3,#0ah;抢答只显示计时,灭号数 ajmp count;进入倒计时程序,查询有
21、效抢答的程序在count里面next: jnb p1.0,false1 jnb p1.1,false2 jnb p1.2,false3 jnb p1.3,false4 jnb p1.4,false5 jnb p1.5,false6 jnb p1.6,false7 jnb p1.7,false8 ajmp start;=非法抢答处理程序=false1: mov r3,#01h ajmp errorfalse2: mov r3,#02h ajmp errorfalse3: mov r3,#03h ajmp errorfalse4: mov r3,#04h ajmp errorfalse5: mov
22、 r3,#05h ajmp errorfalse6: mov r3,#06h ajmp errorfalse7: mov r3,#07h ajmp errorfalse8: mov r3,#08h ajmp error;=int0(抢答时间r1调整程序)=int0sub:mov a,r1 mov b,#0ah div ab mov r5,a mov r4,b mov r3,#0ah acall display;先在两个时间led上显示r1 jnb p3.4,inc0;p3.4为+1s键,如按下跳到inco jnb p3.5,dec0;p3.5为-1s键,如按下跳到deco jnb p3.1,b
23、ack0;p3.1为确定键,如按下跳到backo ajmp int0subinc0: mov a,r1cjne a,#63h,add0;如果不是99,r2加1,如果加到99,r1就置0,重新加起。 mov r1,#00h acall delay1ajmp int0subadd0: 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: reti
24、 ;=int1(回答时间r2调整程序)=int1sub:mov a,r2 mov b,#0ah div abmov r5,a mov r4,b mov r3,#0ah acall display jnb p3.4,inc1 jnb p3.5,dec1 jnb p3.1,back1 ajmp int1subinc1: mov a,r2 cjne a,#63h,add1 mov r2,#00h acall delay1ajmp int1subadd1: inc r2 acall delay1 ajmp int1subdec1: mov a,r2 jz setr2 dec r2 acall dela
25、y1 ajmp int1subsetr2: mov r2,#63h acall delay1 ajmp int1subback1: reti ;=倒计时程序(抢答倒计时和回答倒计时都跳到改程序)=repeat:mov a,r2 ;使用锦囊时重新计时 mov r6,a clr ring count: mov r0,#00h;重置定时器中断次数 mov th1,#3ch mov tl1,#0b0h;重置定时器recount:mov a,r6;r6保存了倒计时的时间,之前先将抢答时间或回答时间给r6 mov b,#0ah div ab;除十分出个位/十位 mov 30h,a;十位存于(30h) mo
26、v 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 ring mov a,r6 jz quit;计时完毕 mov r0,#00h dec r6;一秒标志减1 ajmp checklarger: mov a,r0 cjne a,
27、#14h,check;如果1s向下运行,否者跳到查停/显示 dec r6;计时一秒r6自动减1 mov r0,#00hcheck: jnb p3.1,quit;如按下停止键退出 jnb ok,checkk ;只在回答倒计时才有效 ajmp nexttcheckk:jnb p3.0,repeat ;判断是否使用锦囊nextt: acall display jb ok,accout;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用) ajmp recountaccout: mov a,36h jnb acc.0,true1 jnb acc.1,true2 jnb acc.
28、2,true3 jnb acc.3,true4 jnb acc.4,true5 jnb acc.5,true6 jnb acc.6,tz1 jnb acc.7,tz2 ajmp recount tz1:jmp true7 tz2:jmp true8 quit: clr ok;如果按下了停止键执行的程序 clr ring ajmp start;=正常抢答处理程序=true1: acall bark mov a,r2 mov r6,a;抢答时间r2送r6 mov r3,#01h clr ok;因为答题的计时不再查询抢答,所以就锁了抢答 ajmp counttrue2:acall bark mov
29、a,r2 mov r6,a mov r3,#02h clr ok ajmp counttrue3:acall bark mov a,r2 mov r6,a mov r3,#03h clr ok ajmp counttrue4:acall bark mov a,r2 mov r6,a mov r3,#04h clr ok ajmp counttrue5:acall bark mov a,r2 mov r6,a mov r3,#05h clr ok ajmp counttrue6: acall bark mov a,r2 mov r6,a mov r3,#06h clr ok ajmp count
30、true7:acall bark mov a,r2 mov r6,a mov r3,#07h clr ok ajmp counttrue8:acall bark mov a,r2 mov r6,a mov r3,#08h clr ok ajmp count;=犯规抢答程序=error: mov r0,#00h mov th1,#3ch mov tl1,#0b0h mov 34h,r3;犯规号数暂存与(34h)here: mov a,r0 cjne a,#06h,flash;0.3s向下运行-灭并停响 clr ring mov r3,#0ah mov r4,#0ah mov r5,#0ah;三灯
31、全灭 ajmp check1flash: cjne a,#0ch,check1;下面是0.8s的情况,响并显示号数并清r0,重新计 setb ring mov r0,#00h mov r3,34h;取回号数 mov r5,#0bh mov r4,#0bh;显示ff和号数 ajmp check1check1: jnb p3.1,quit1 acall display ajmp herequit1: clr ring clr ok ajmp start;=显示程序=display:mov dptr,#dat1;查表显示程序,利用p0口做段选码口输出/p2低三位做位选码输出, mov a,r3 movc a,a+dptr mov p2,#0feh mov p0,a acall delay2 mov dptr,#dat2 mov a,r5 movc a,a+dptr mov p2,#0fdh mov p0,a acall delay2 mov a,r4 movc a,a+dptr mov p2,#0fbh mov
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古呼和浩特春华水务开发集团有限责任公司招聘工作人员84人备考题库附答案详解(轻巧夺冠)
- 2025年中国邮政集团有限公司河北省分公司社会招聘备考题库及完整答案详解一套
- 电影影视版权协议书
- 租集体地合同协议书
- 租房搬迁补偿协议书
- 绿化中介费合同范本
- 租房转买卖合同范本
- 2025年河北顺德城市运营管理有限公司邢台高新区商管分公司公开招聘劳务派遣人员2名备考题库参考答案详解
- 2026中国供销集团有限公司应届高校毕业生招聘备考题库含答案详解(满分必刷)
- 2025江苏淮安市清江浦力合产业投资发展有限公司招聘2人备考题库及答案详解(真题汇编)
- 八省八校2024届高三第一次学业质量评价(T8联考)英语试题
- GB/T 9799-2024金属及其他无机覆盖层钢铁上经过处理的锌电镀层
- DL-T5190.1-2022电力建设施工技术规范第1部分:土建结构工程
- 电大财务大数据分析编程作业3
- MOOC 大数据技术原理与应用-厦门大学 中国大学慕课答案
- 人教版七年级地理上册期中考试大题提分训练(附含参考答案)
- 烤肠工艺流程图
- 《宠物疫病与公共卫生》期终考试试卷及参考答案
- 新版氨水安全技术说明书
- 青海省基本医疗保险门诊特殊病慢性病病种待遇认定表
- 幼儿园数字练习帖10
评论
0/150
提交评论