您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页单片机课程设计(完整版六路抢答器)

单片机课程设计(完整版六路抢答器)

来源:华佗小知识
学号 2010

《单片机中级教程原理与应用》

课 程 设 计

(2010届本科)

题 目: 六路抢答器设计 学 院: 物理与机电工程学院 专 业: 电气程及其自动化 作者姓名: 指导教师: 职称: 完成日期: 201

副教授 12

15 日

单片机原理及应用课程设计

摘要

本设计是六路智力抢答器。使用51系列单片机,编写应用程序来实现智力抢答功能。硬件设计使用的是51系列单片机中的C51。硬件设计利用其中断控制程序进行抢答部分的处理,通过非门的控制去申请单片机内部的中断,以达到显示抢答的目的。软件设计利用中断系统的基本构成原理编写中断服务程序,其信号由按键电路提供,由CPU响应中断,并输出响应。用到了查询按键模块、定时器模块、显示时间模块、显示组号模块、报警模块等。 关键词:C51 中断 定时器 报警电路等

1

单片机原理及应用课程设计

目录

第1章 绪论 ..................................................................................................................................... 3

1.1 智能抢答器的发展现状 .................................................................................................... 3 1.2 抢答器的背景和特点 ........................................................................................................ 3 第2章 抢答器的系统概述 ............................................................................................................. 3

2.1 六路抢答器设计功能要求 ................................................................................................ 3 2.2 抢答器设计方案 ................................................................................................................ 4 第3章 系统硬件电路设计 ............................................................................................................. 4

3.1 系统电路图 ........................................................................................................................ 4 3.2 时钟频率电路的设计 ........................................................................................................ 5 3.3 键盘扫描电路的设计 ........................................................................................................ 5 3.4 显示电路的设计 ................................................................................................................ 6 第4章 系统软件设计 ..................................................................................................................... 7

4.1 程序流程图 ........................................................................................................................ 7 4.2 系统程序 ............................................................................................................................ 7 第5章 仿真调试及性能分析 ......................................................................................................... 8

5.1 仿真调试 ............................................................................................................................ 8

一、上电显示 ................................................................................................................... 8 二、开始抢答倒计时显示 ............................................................................................... 8 三、正确抢答显示 ........................................................................................................... 9 四、违规抢答显示 ........................................................................................................... 9 5.2 性能分析 .......................................................................................................................... 10 第6章 设计出现的问题及总结 ................................................................................................... 10

6.1 设计出现的问题 .............................................................................................................. 10 6.2 总结 .................................................................................................................................. 10 附录................................................................................................................................................. 13

2

单片机原理及应用课程设计

第1章 绪论

1.1 智能抢答器的发展现状

随着电子技术的发展,现在的抢答器功能越来越强,可靠性和准确性也越来越高。能够实现抢答器功能的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式,但这种方式制作过程复杂,而且准确性与可靠性不高,成品面积大。

对于目前抢答器的功能描述,如涵盖抢答器、抢答限时、选手答题计时及犯规组号抢答器具有抢答自锁,灯光指示、暂停复位、电子音乐报声、自动定时等功能,还有工作模式的切换和时间设定,对于这些,随着科学技术的发展,肯定还要得到进一步的改进。一般都要趋向于智能化。

1.2 抢答器的背景和特点

在各类竞赛中,特别是做抢答题时,在抢答过程中,为了知道哪一组或哪一名选手先答题,必须要有一个系统来完成这个任务。如果在抢答过程中,只靠人的视觉是很难判断出哪组先答题。利用单片机来设计抢答器,使以上问题得以解决,即使有两组的抢答时间相差几微秒,也可分辨出哪组优先答题。

抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期的抢大漆只由几个三极管、可控硅、发光管等组成, 能通过发光管的指示辨认出选手号码。现在大多数抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢按前或抢按后的计时、选手得分显示功能。像这类抢答器,制作过程简单,准确性与可靠性高,而且安装维护简单。

对于抢答器的应用,如早期的数字电路,随着科技的逐步发展,进而到了单片机的控制来实现其功能,而且功能齐全,电路简单,成本低,性能高,真正朝着有利的方向发展。

第2章 抢答器的系统概述

2.1 六路抢答器设计功能要求

1、基本要求

(1)抢答器同时供6名选手或6个代表队比赛,分别用6个按钮S0 ~ S5

3

单片机原理及应用课程设计

表示。

(2)设置一个系统清除和抢答控制开关S,该开关由主持人控制。 (3) 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。

(4)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动\"开始\"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。

(5)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。

(6)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示FF。

2.2 抢答器设计方案

在设计中采用的单片机是ATC51,它主要负责控制各个部分协调工作。P1.0和P1.7由裁判控制,分别是抢答开始和停止键。P1.1—P1.6是6组抢答的输入口,按下对应按钮即为抢答。P0口为数码管的段选口,位选口用的是P2口的低4位。P3.6为蜂鸣器的控制口。外部还接有蜂鸣器用来发出报警音。采用7SEG-MPX4-CA-BLUE显示,它是共阴极的由高电平点亮。系统仿真用到了Proteus7.10软件,通过仿真可以显示所设计系统的功能,对于程序的调试等有很大的帮助。

第3章 系统硬件电路设计

3.1 系统电路图

如图3-1,P1.0为开始抢答,P1.7为停止,P1.1-P1.6为六路抢答输入,数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。

4

单片机原理及应用课程设计

图3-1 系统电路原理图

3.2 时钟频率电路的设计

单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。

图3-2晶振电路的设计

3.3 键盘扫描电路的设计

P1.0和P1.7由裁判控制,分别是抢答开始和停止键。P1.1-P1.6是6组抢

5

单片机原理及应用课程设计

答的输入口,按下按钮抢答。

图3-3 点键盘扫描电路

3.4 显示电路的设计

采用7个电阻做为上拉电阻,数码管7SEG-MPX4-CA-BLUE,它是共阴极的数码管。采用74LS04单输入非门。

图3-4 显示电路的设计

6

单片机原理及应用课程设计

第4章 系统软件设计

软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。

4.1 程序流程图

图4-1 程序流程图

4.2 系统程序

在本设计中包括了以下六个主要的程序:主程序、非法抢答程序、倒计时程序、正常抢答处理程序、犯规处理程序、显示及发声程序。

P1.0为开始抢答,P1.7为停止,p1.1-p1.6为六路抢答输入数码管段选P0口,位选P2口,蜂鸣器输出为P3.6口。

注:源程序代码见附页

7

单片机原理及应用课程设计

第5章 仿真调试及性能分析

5.1 仿真调试 一、上电显示

图5-1 上电显示图

当上电时,数码显示管显示“FFF”,其中,左边两个数码管显示时间,最后一个显示抢答选手的编号。

二、开始抢答倒计时显示

图5-3 开始抢答倒计时显示

8

单片机原理及应用课程设计

当主持人按下“开始”按钮后,定时器开始48s倒计时,各选手要在48s中完成抢答,当倒计时剩余5s时,若还无人抢答,蜂鸣器就会发出声响进行提示。若无人抢答,此轮抢答结束,显示器显示“FFF”。

三、正确抢答显示

图5-3 正确抢答显示

如图,当主持人按下“开始”按钮后,五号选手抢答成功,并开始答题倒计时,要求选手在限定时间内作答。当倒计时剩余5s时,蜂鸣器开始发出声响,当倒计时完成时,显示器显示“FFF”。

四、违规抢答显示

图5-4 违规抢答显示

9

单片机原理及应用课程设计

当主持人还未按下“开始”按钮,选手就按下了抢答键,就会出现如上图所示情况,并且蜂鸣器会一直发出警报,直到按下结束“按钮”。

5.2 性能分析

(1)具有清零装置和抢答控制,可由主持人操纵避免有人在主持人说“开始”前提前抢答违反规则。

(2)具有定时功能,在48秒内无人抢答表示所有参赛选手获参赛队对本题弃权。 (5)主持人按\"抢答开始\"键,会有提示音,并立刻进入抢答倒计时(预设48s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设69s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。(6)如倒计时期间,主持人想停止倒计时可以随时按\"停止\"按键,系统会自动(7)如果主持人未按\"抢答开始\"键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FF和犯规号数并响个不停,直到按下\"停止\" 键为止。

(3)48秒时仍无人抢答其报警电路工作表示抢答时间耗尽并禁止抢答。

倒数时间到小于5s会每秒响一下提示音。

进入准备状态,等待主持人按\"抢答开始\"进入下次抢答计时。

第6章 设计出现的问题及总结

6.1 设计出现的问题

在本次课程设计过程中,出现了许许多多的问题,主要包括在程序的编写及调试、仿真及调试和设计本身的不足,如查询模块、延时模块的程序编写。此次所设计的抢答器可实现基本的操作功能,可是还存在许多不足之处,如当抢答时,如果前一位选手抢答错误而继续抢答时,前一个选手的号码不能自动被清除;还有就是不能调整抢答计时时间等等。

6.2 总结

通过此次单片机设计实习,把自己在学校学到的知识转化为实验成果,积累了一定的经验,提高了分析问题和解决问题的实际能力。我体会到课程设计的各个环节,不是孤立的,每个环节都是必不可少的。在该课程设计的过程中,我深刻体会到了计算机研究工作的艰辛。自己觉得理论上可行的方法,在实验的过程中却不一定行得通。经过了一次又一次地修改程序和检查电路,终于完成了自己的课程设计。虽然它有许多的不完善,可我却有一种无法言表的喜悦与成就感。

10

单片机原理及应用课程设计

我明白了课程设计的过程,就是不断地改进与完善的过程。 在开发设计过程中,由于知识有限,经验不足,课程设计时间短,难免有很多的不足,敬请老师指教,以待日后加以改进。

11

单片机原理及应用课程设计

参考文献

[1]单片机中级教程原理及应用(第2版),张俊谟,北京航空航天大学出版社,2006 [2]Proteus在MCS-51系统中的应用百例,周润景、袁伟亭、景晓松,电子工业出版社,2006 [3]单片机系统设计与实例指导,冯育长,西安电子科技大学出版社,2007

12

单片机原理及应用课程设计

附录:

源程序代码

OK EQU 20H; 抢答开始标志位

RING EQU 22H; 响铃标志位 ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 001BH AJMP T1INT ORG 0040H

MAIN: MOV R1,#30H; 初设抢答时间 MOV R2,#45H; 初设答题时间

MOV TMOD,#11H; 设置未定时器/模式1 MOV TH0,#0F0H

MOV TL0,#0FFH; 越高发声频率越高,越尖 MOV TH1,#3CH

MOV TL1,#0B0H; 50ms为一次溢出中断 SETB EA SETB ET0 SETB ET1 CLR OK CLR RING SETB TR1

SETB TR0; 一开始就运行定时器,以开始显示FFF. START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH

ACALL DISPLAY; 未开始抢答时候显示FFF JB P1.0,NEXT ACALL DELAY

JB P1.0,NEXT; 去抖动,如果\"开始键\"按下就向下执行,否者跳到非法抢答查询 ACALL BARK; 按键发声 MOV A,R1

MOV R6,A; 送R1-R6,因为R1中保存了抢答时间

SETB OK; 抢答标志位,用于COUNT只程序中判断是否查询抢答 MOV R3,0AH; 抢答只显示计时,灭号数

AJMP COUNT; 进入倒计时程序,\"查询有效抢答的程序\"在COUNT里面 NEXT: JNB P1.1,FALSE1 JNB P1.2,FALSE2 JNB P1.3,FALSE3 JNB P1.4,FALSE4 JNB P1.5,FALSE5

13

单片机原理及应用课程设计

JNB P1.6,FALSE6 AJMP START

FALSE1: ACALL BARK; 按键发声 MOV R3,#01H AJMP ERROR FALSE2: ACALL BARK MOV R3,#02H AJMP ERROR FALSE3: ACALL BARK MOV R3,#03H AJMP ERROR FALSE4: ACALL BARK MOV R3,#04H AJMP ERROR FALSE5: ACALL BARK MOV R3,#05H AJMP ERROR FALSE6: ACALL BARK MOV R3,#06H AJMP ERROR

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) MOV 31H,B; 个位存于(31H) MOV R5,30H; 取十位 MOV R4,31H; 取个位 MOV A,R6 SUBB A,#07H JNC LARGER MOV A,R0

CJNE A,#0AH,FULL; 1s中0.5s向下运行 CLR RING AJMP CHECK

FULL: CJNE A,#14H,CHECK; 下面系1s的情况,响并显示号数并清R0,重新计时 SETB RING MOV A,R6

JZ QUIT; 计时完毕 MOV R0,#00H

DEC R6; 一秒标志减1 AJMP CHECK

14

单片机原理及应用课程设计

LARGER: MOV A,R0

CJNE A,#14H,CHECK; 如果1s向下运行,否者跳到查\"停/显示\" DEC R6; 计时一秒R6自动减1 MOV R0,#00H

CHECK: JNB P1.7,QUIT; 如按下停止键退出 ACALL DISPLAY

JB OK,ACCOUT; 如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数 AJMP RECOUNT ACCOUT: JNB P1.1,TRUE1 JNB P1.2,TRUE2 JNB P1.3,TRUE3 JNB P1.4,TRUE4 JNB P1.5,TRUE5 JNB P1.6,TRUE6 AJMP RECOUNT

QUIT: CLR OK; 如果按下了\"停止键\"执行的程序 CLR RING AJMP START

TRUE1: ACALL BARK; 按键发声 MOV A,R2

MOV R6,A; 抢答时间R2送R6 MOV R3,#01H

CLR OK; 因为答题的计时不再查询抢答,所以就锁了抢答 AJMP COUNT TRUE2:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#02H CLR OK

AJMP COUNT TRUE3:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#03H CLR OK

AJMP COUNT TRUE4:ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#04H CLR OK

AJMP COUNT TRUE5: ACALL BARK; MOV A,R2

15

单片机原理及应用课程设计

MOV R6,A MOV R3,#05H CLR OK

AJMP COUNT TRUE6: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#06H CLR OK

AJMP COUNT ERROR: MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H

MOV 34H,R3; 犯规号数暂存与(34H) HERE: MOV A,R0

CJNE A,#0AH,FLASH; 0.5s向下运行->灭并停响 CLR RING MOV R3,#0AH MOV R4,#0AH

MOV R5,#0AH; 三灯全灭 AJMP CHECK1

FLASH: CJNE A,#14H,CHECK1; 下面系1s的情况,响并显示号数并清R0,重新计 SETB RING MOV R0,#00H

MOV R3,34H; 取回号数 MOV R5,#0BH

MOV R4,#0BH; 显示FF和号数 AJMP CHECK1 CHECK1: JNB P1.7,QUIT1 ACALL DISPLAY AJMP HERE QUIT1: CLR RING CLR OK

AJMP START

DISPLAY:MOV DPTR,#DAT1; 查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出

MOV A,R5

MOVC A,@A+DPTR MOV P2,#01H MOV P0,A

ACALL DELAY MOV DPTR,#DAT2 MOV A,R4

MOVC A,@A+DPTR

16

单片机原理及应用课程设计

MOV P2,#02H MOV P0,A

ACALL DELAY MOV A,R3

MOVC A,@A+DPTR MOV P2,#04H MOV P0,A

ACALL DELAY RET

DAT1: DB 00H,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;\"灭\灭\

DAT2: DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;第一个为零,其他与上相同,因为十位如果为零显示熄灭 DELAY1: MOV 35H,#08H LOOP0: ACALL DISPLAY DJNZ 35H,LOOP0 RET

DELAY: MOV 32H,#12H LOOP: MOV 33H,#0AFH LOOP1: DJNZ 33H,LOOP1 DJNZ 32H,LOOP RET

BARK: SETB RING

ACALL DELAY1 ACALL DELAY1

CLR RING; 按键发声 RET

T0INT: MOV TH0,#0ECH MOV TL0,#0FFH JNB RING,OUT

CPL P3.6 ; RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音 OUT: RETI

T1INT: MOV TH1,#3CH MOV TL1,#0B0H INC R0

RETI END

17

单片机原理及应用课程设计

单片机课程设成绩评定表

姓名 题目 摘要: 崔瑞斌 学号 2010210322 班级 电气工程101 基于单片机六路抢答器设计 成绩评定依据 评定项目 1. 设计方案可行性及其优选 2. 设计过程及结果 3. 平时成绩(态度认真、遵守纪律) 4. 设计报告的规范性、参考文献充分 5. 答辩 6. 总分 该同学课程设计最终成绩评定为 (优、良、中、及格、不及格) 备注:

18

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务