资源目录
压缩包内文档预览:(预览前20页/共25页)
编号:544855
类型:共享资源
大小:182.17KB
格式:ZIP
上传时间:2015-12-01
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
电气电子毕业设计论文
- 资源描述:
-
毕业设计220四路智力抢答器 ,电气电子毕业设计论文
- 内容简介:
-
河河 南南 理理 工工 大大 学学 单片机课程设计 报告 四路智力抢答器 姓 名: 孟庆利 学 号: 0401030724 专业班级: 电信 04-7 班 指导老师: 谭兴国 所在学院: 电气工程与自动化学院 2007 年 12 月 22 日 nts河南理工大学本科课程设计报告 - 1 - 摘要 本设计 是四路智力抢答器。 使用 51 系列单片机,编写应用程序来实现智力抢答功能。 设计思路是先等待主持人按键,当有主持人按键时,开始计时一分钟,并显示时间。 有人抢答时,报警电路启动,并显示组 号 ,同时计时显示停止 。若在计时时间内无人抢答,一分钟到时,无报警, 且计时停止, 重新开始等待主持人按键 , 进行下一轮抢答。 软件设计 利用中断系统的基本构成原理编写中断服务程序,使用 80C51 单片机串行接口 P1 口、 P2 口、 P3 口的输入 /输出功能向 CPU 输入信号,其信号由按键电路提供,由 CPU 响应中断,并输出响应。 用到了 查询按键模块、定时器模块、显示时间模块、显示组号模块、报警模块等。 软件涉及 51 系列单片机的中断系统、定时器 /计数器、串行接口及外围电路的功能。 硬件 设计使用的是 51 系列单片机中的 80C51,其他部 件有 74LS48、八段数码显示管、蜂鸣器、 LED 闪光灯,按键等。硬件设计采 通过外部 12M 的 X1 提供时钟的脉冲,利用其中断控制程序进行抢答部分的处理,通过多输入与门的控制去申请单片机内部的中断,以达到显示抢答的目的。 用分模块设计思想,以 CPU为中心逐一设计 了时钟电路和复位电路;然后设计了按钮电路为 CPU 提供输入信号;再次,为数码管选择输入信号电路;还有就是提供了报警电路;最终就是修饰和完善总原理图。 显示结果是 主持人按键时,数码管显示 60,即定时器定从一分钟开始计时,若一分钟内有人抢答,则此时定时器停止计时, 数码管显示此时的时间,如计时56 秒时有人抢答,数码管就显示 56,同时蜂鸣器发出“嘀”声,且警报灯闪烁一下 ,与此同时显示抢答组的组数。 如一分钟内无人按键抢答 ,计时时间一分钟到时数码管显示 00,并停止计时。此时等待主持人按键进行下一轮抢答,若主持人不按键,数码管就一直显示 00。 nts河南理工大学本科课程设计报告 - 2 - 目录 1 概述 - 3 - 2 系统总体方案及硬件设计 - 4 - 2.1 系统总体方案 - 4 - 2.2 控制部分 80C51 的设计 - 4 - 2.3 数码显示部分 LED 的介绍 - 6 - 2.4 时钟电路的介绍 - 6 - 2.5 复位电路的介绍 - 7 - 2.6 按钮电路 - 8 - 2.7 显示管的输入信号电路 - 8 - 2.8 报警电路 - 9 - 3.软 件设计 - 10 - 4 Proteus 软件仿真 - 11 - 5 心得体会 - 19 - 参考文献 - 19 - 附 1: 源程序代码 - 20 - 附 2: 系统原理图 - 23 - nts河南理工大学本科课程设计报告 - 3 - 1 概述 使用 51 系列单片机,编写应用程序来实现智力抢答功能。 利用中断系统的基本构成原理编写中断服务程序, 使用 80C51 单片机串行接口 P1 口、 P2 口、 P3口的输入 /输出功能向 CPU 输入信号,其信号由按键电路提供,由 CPU 响应中断,并输出响应。 软件设计用到了查询按键模块、定时器模块、显示时间模块、显示组号模块、报警模块等。 硬件设计采通过外部 12M 的 X1 提供时钟的脉冲,利用其中断控制程序进行抢答部分的处理,通 过多输入与门的控制去申请单片机内部的中断,以达到显示抢答的目的。 硬件 设计使用的是 51 系列单片机中的 80C51,其他部件有 74LS48、八段数码显示管、蜂鸣器、 LED 闪光灯,按键等。 利用硬件电路防止外部 在开始及结束的时候出现误操作。 最后在 Protues 下仿真,并测验结果。 该设计的功能是 当有主持人按键时,开始计时一分钟,并显示时间。有人抢答时,报警电路启动,并显示组号,同时计时显示停止。若在计时时间内无人抢答,一分钟到时,无报警,且计时停止,重新开始等待主持人按键,进行下一轮抢答。 nts河南理工大学本科课程设计报告 - 4 - 2 系统总体方案及硬件设计 2.1 系统总体方案 下面 图 1 至图 7 各个功能元件的介绍,体现了本次设计的主线。即把一个完整的设计划分为不同的模块进行分段设计。首先,以 CPU 为中心设计了时钟电路和复位电路 ;然后设计了按钮电路为 CPU 提供输入信号;再次,为数码管选择输入信号电路;还有就是进一步完善设计而提供了报警电路。最终,完善总括电路,得到总设计原理图。 利用单片机内部的时钟中断源,外部中断源,利用 P3 口进行第二功能进行控制。当外部中断输入时,我们利用锁存,稳定输出剩余时间。利用硬件电路防止外部在开始及结束的时候出现误操作。 2.2 控制部分 80C51 的设计 本 设计中用的是 80C51 单片机, 80C51 有 40 条引脚中有 2 条专用于主电路,2 条外接晶振, 4 条控制或与其它电源的复用引脚, 32 条 I/O 引脚。 ( 1) 主电源引脚 Vss:接地。 Vcc:正常操作、对 EPROM 编程和验证时接 +5V 电源。 ( 2)外接晶振引脚 XTAL1:接外部晶振的一个引脚。 XTAL2:接外部晶振的一个引脚。 ( 3)控制或与其它电源复用引脚 RST/Vpd: 当振荡器运行时,在此引脚上出现两个机器周期的高电平将使单机复位。一般在引脚与 Vss 引脚之间连接一个约 8.2K的下拉电阻, 本设计使用的下拉电阻为 1K 。 与 Vss 引脚之间连接一个 20uF 的电容,以保证可靠复位。复位以后, P0、 P3 口输出高电平, SP 指针重新赋值为 07H,其它特殊 功能寄存器和程序计数器 PC 被清 0。只要 REST 保持高电平, 80C51 就会循环复位。 RESET由高电平变为低电平后, 80C51 初始复位不影响内部 RAM 的状态,包括工作寄存器 R0 R7。 ALE( /PROG) :当访问外部数据存储器时, ALE 的输出用于锁存地址低字节, 即使不访问外部存储器, ALE 仍以不变的频率周期性地出现正脉冲信号,为振荡器频率的 1/6,因此可用作对输出的时钟。 nts河南理工大学本科课程设计报告 - 5 - /PSEN:此输出是外部程序存储器的读选通信信号。在由外部程序存储器取指令周期,每个机器周期两次 /PSEN 有效。但当访问外部数据存储 器时,这两次有效的 PSEN 信号不出现。 /PSEN 可以带动 8 个 TTL 负载。 /EA( Vpp) :当 /EA 保持高电平时访问内部程序存储器,但当 PC 值超过 OFFF或 1FFF 时,将自动转向执行外部程序存储器的程序。当 /EA 端保持低电平时,则只访问外部程序存储器,而不管是否有内部程序存储器。 ( 4)输入 /输出引脚 PO:是一个 8 位漏极开路的双向输入 /输出口。 P1:是一个带有内部上拉电阻的 8 位双向 I/O 口。 P2:是一个带有内部上拉电阻的 8 位双向输入 /输出口,访问外部存储器时送高 8 位地址。 P3:是一个带有内部上拉电阻 的 8 位双向 I/O 口。在 MCS-51 中,这 8 个引脚还用于专门的功能。其中, P3.0 为串行输入口, P3.1 为串行输出口, P3.2 为外部中断 0 输入, P3.3 为外部中断 1 输入, P3.4 为定时器 0 的外部输入, P3.5 为定时器 1 的输入, P3.6 为外部数据存储器的写选通信号, P3.7 为外部存储器的读选通信号。 图 1 80C51 引脚图 nts河南理工大学本科课程设计报告 - 6 - 2.3 数码显示部分 LED 的介绍 LED 显示器是目前最常用的一种数显示器件。发光二极管是由半导体材料制成的,能将电信号转换成光信号的结型电致发光器件。如果把发光二极管制成条状 ,再按照一定方式连接,组成数字“ 8”,就构成 LED 数码管。 使用时按规定使某些笔段上的发光二极管发光,即可组成 0-9 的一系列数字,如图 2: 图 2 数码管原理图 本设计使用的是 7SEG-COM-AN-GRN 型数码管。 图 3 本设计使用的 数码管 引脚图 2.4 时钟电路的介绍 51 系列单片机内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出分别是引脚 XTAL1 和 XTAL2,在 XTAL1 和 XTAL2 上外接时钟源即可构成时钟电路。 CPU 的一系列动 作都是在控制电路部件下工作的 。 本设计采用的是内部时钟产生方式,即是在引脚 XTAL1 和 XTAL2 两端跨接晶体或陶瓷振荡器,与内部反相器 构成稳定的自激振荡器。其发出的脉冲直接送给片内定时控制部件。 nts河南理工大学本科课程设计报告 - 7 - 图 4 时钟电路 2.5 复位电路的介绍 复位是使 CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。 51系列单片机通常采用上电自动复位 、按钮电平复位、上电 +按钮电平复位、上电 +按钮电平复位、程序运行监视复位等方式。 本设计采用上电自动复位方式,其实质是一阶充放电电路,系 统上电时该电路提供有效的复位信号 RST(高电平)直至系统电源稳定后撤销复位信号(低电平)。同时应注意保证加在 RST引脚上的高电平持续两个机器周期,才能使单片机可靠复位。 图 5 上电 自动复位 电路 nts河南理工大学本科课程设计报告 - 8 - 2.6 按钮电路 本设计使用的是机械按钮,按钮电路主要用来为 CPU 串行口提供输入信号。在实际应用中机械按钮的抖动应该考虑的,可用软件的设计来消除机械抖动。 本设计使用的按钮和按钮电路图如下: 图 6 机械按钮 图 7 抢答按钮电路 2.7 显示管的输入信号电路 本设 计使用的输入信号电路主要是 74LS48,八段数码显示管的输入信号是八位数,而 CPU 提供的信号是三位的,通过 74LS48 把三位的信号转化为八位的信号。 图 8 显示管的输入信号电路 nts河南理工大学本科课程设计报告 - 9 - 2.8 报警 电路 该报警 电路的作用是 在参赛人员 按键时进行报警。当主持人发出抢答信号,而有人员抢答就有报警 。 此时报警灯 闪烁一次,蜂鸣器发出报警声,提示主持人有人要答题。 图 9 报警 电路 nts河南理工大学本科课程设计报告 - 10 - 3.软件设计 软件的主 程序框图如下 开始 CPU 系统初始化 定时器初始化 开始计时 输出警报信号 开中断 等主持人按键 等选手按键 输出显示信号 显示管显示 终止 输入键值 警报器警报 nts河南理工大学本科课程设计报告 - 11 - 源程序: ORG 0000H LJMP START ;主程序跳转 ORG 0003H ;外部中断 0 入口地址 LJMP INT_0 ;跳转至其服务程序 ORG 0013H ;外部中断 1 入口地址 LJMP INT_1 ;跳转至其服务程序 定时器 T1 服务程序: ORG 001BH ;定 时器 1 中断入口地址 MOV TL1,#0F0H ;定时器 1 赋初值 MOV TH1,#0D8H DJNZ R0,QQ ;( R0) =1 跳转至 QQ MOV R7,34H LCALL DEC1 MOV P0,A MOV 34H,A MOV R0,#100 DJNZ R1,QQ MOV R1,#60 SETB 00H QQ: RETI ORG 0100H 主程序: START: SETB P3.7 ;写入准备 SETB P3.7 MOV 34H,#60H MOV IP,#04H MOV SP,#4FH MOV IE,#8DH MOV P2,#0FFH SETB IT1 SETB IT0 CLR 01H LOOP: MOV A,34H CLR TR1 JNB TR1,$ MOV P0,A LCALL DELAY60S nts河南理工大学本科课程设计报告 - 12 - AJMP LOOP ORG 0200H 延时程序 : DELAY60S:MOV TMOD,#10H MOV TH1,#0D8H MOV TL1,#0F0H MOV IE,#8DH SETB TR1 MOV R0,#100 MOV R1,#60 CLR 00H JNB 00H,$ CLR TR1 SETB P3.7 CLR P3.6 RET ORG 0700H 显示调整 程序 : DEC1: MOV A,#99H ADD A,R7 DA A RET ORG 0800H 中断 1 服务程序, 抢答 计组程序: INT_1: CLR IE1 CLR TR1 MOV A,P2 CPL A JZ LL0 LCALL DL10 MOV A,P2 CPL A JZ LL0 查询按键 : JB ACC.3,K2_30 JB ACC.2,K2_20 JB ACC.1,K2_10 nts河南理工大学本科课程设计报告 - 13 - JB ACC.0,K2_00 K2_40 :AJMP K2_4 K2_30 :AJMP K2_3 K2_20 :AJMP K2_2 K2_10 :AJMP K2_1 K2_00 :AJMP K2_0 LL0 :AJMP LL K2_4: MOV P1,#05H MOV A,P2 CPL A JNZ K2_4 CLR EX1 LJMP INT_1 K2_3: MOV P1,#04H MOV A,P2 CPL A JNZ K2_3 CLR EX1 LJMP INT_1 K2_2: MOV P1,#03H MOV A,P2 CPL A JNZ K2_2 CLR EX1 LJMP INT_1 K2_1: MOV P1,#02H MOV A,P2 CPL A JNZ K2_1 CLR EX1 LJMP INT_1 K2_0: MOV P1,#01H MOV A,P2 CPL A JNZ K2_0 CLR EX1 LJMP INT_1 LL:MOV A,P2 nts河南理工大学本科课程设计报告 - 14 - CPL A JZ EXIT_INT_0 AJMP INT_1 EXIT_INT_0:RETI ORG 0A00H 主持人 按键 即外部中断 0 服务程序: INT_0: JNB P3.2,$ MOV P1,#00H SETB EX1 CLR IE0 CLR 00H CLR P3.7 SETB P3.6 MOV TL1,#0F0H MOV TH1,#0D8H MOV R0,#100 MOV R1,#60 MOV 34H,#60H MOV A,34H MOV P0,A SETB TR1 RETI ORG 0B00H DL10: PUSH PSW PUSH ACC MOV R6,#125 DEL1: MOV R5,#50 DEL2: DJNZ R5,DEL2 DJNZ R6,DEL1 POP ACC POP PSW RET END nts河南理工大学本科课程设计报告 - 15 - 4 Proteus 软件仿真 图 10 系统仿真图 1 当主持人按键 即 与 P3.2 断口相连的按键 ,抢答开始,若有人有人按键就 显示抢答组的组数,同时显示此时时间。且警 报电路动作,蜂鸣器发出“嘀”声, LED灯闪烁一次。图 10 表示在 9 秒时,即计时器从 60 秒计时到 51 秒时,第四组抢答成功。 nts河南理工大学本科课程设计报告 - 16 - 图 11 系统仿真图 2 当主持人按键 即 与 P3.2 断口相连的按键 ,定时器开始计时,若一分钟内无人抢答,一分钟时间到时,显示抢答组数为 0,定时器停止计时,一直显示时间为00,直到主持人再次按键,开始下一轮抢答。图 11 就是在这种情况下的等待状态。 nts河南理工大学本科课程设计报告 - 17 - 图 12 系统仿真图 3 当主持人按键 即与 P3.2 断口相连的按键 ,定时器从 60 秒开始计时,数码管显示 60,如图 12 nts河南理工大学本科课程设计报告 - 18 - 图 13 系统仿真图 4 若有选手在支持人按键之前就按键抢答,则此时警报电路发出警报,即蜂鸣器发声, LED 闪烁,说明本轮抢答无效。如图 13 nts河南理工大学本科课程设计报告 - 19 - 5 心得体会 由于 一直以来做 课程设计 时马马虎虎 , 而听说这次老师的要求很是严格 , 这无疑让我认识到本次设计的严格性和重要性。因为要考研,刚开始对此不理解,认为这 有点浪费时间,毕竟 现在是 复习的 紧张 时期。 在 这段时间 我不敢怠慢,学累了就看看单片机课本和课设,有时自己实在看不懂时,就约好几个同学一起讨论。可是大家时间都很紧, 而 有些人 又 要上辅导班,也不能讨论太长时间,所以整个课设 期间我都很紧张 ,也很努力 。我用了整整 七天,当然 也 强烈地 认识到自己单片机方面 知识 的欠缺。每当有程序看不明白时,心情就不是很好 ,受到影响整个考研进度也与计划有偏差。最后有了感觉,就很好的进入了设计状态。当同学聚在一起,相互求教问题时, 大家也感到了无比的快乐 。 现在回想起来也是很感慨,毕竟这种现象只在 临 近考试时才有的。有时闭着眼睛就能看到一根根总线和 CPU。现在终于做完了,我的心情真是无法形容,整个身心获得了巨大的满足。这次 设计我收获了不少,我想最大的收获就是心情,我现在有信心面对考研 过程中的干扰。我要带着这份珍重起航。 参考文献 1 余发山 .单片机原理及应用技术 .徐州:中国矿业大学出版社, 2003.21-209 2 周航慈 .单片机应用程序设计技术 . 北京:北京航空航天大学出版社 .2004.26-47 3 李华 .MCS-51 系列单片机实用接口技术 .北京:北京航空航天大学出版社 .1993.36-58 4 赫建国,郑燕,薛延侠 .单片机在设计电路中的应用 .北京:清华大学出版社 .2006.35-52 5 全国大学生电子设计竞赛组委会 .全国大学生电子设计竞赛获奖作品汇编 .北京:北京理工大学出版社 .2004.1-23 nts河南理工大学本科课程设计报告 - 20 - 附 1 源程序代码 ORG 0000H LJMP START ;主程序跳转 ORG 0003H ;外部中断 0 入口地址 LJMP INT_0 ;跳转至其服务程序 ORG 0013H ;外部中断 1 入口地址 LJMP INT_1 ;跳转至其服务程序 ORG 001BH ;定时器 1 中断入口地址 MOV TL1,#0F0H ;定时器 1 赋初值 MOV TH1,#0D8H DJNZ R0,QQ ;( R0) =1 跳转至 QQ MOV R7,34H LCALL DEC1 MOV P0,A MOV 34H,A MOV R0,#100 DJNZ R1,QQ MOV R1,#60 SETB 00H QQ: RETI ORG 0100H START: SETB P3.7 ;写入准备 SETB P3.7 MOV 34H,#60H MOV IP,#04H MOV SP,#4FH MOV IE,#8DH MOV P2,#0FFH SETB IT1 SETB IT0 CLR 01H LOOP: MOV A,34H CLR TR1 JNB TR1,$ ; TR1=0 死循环,等待外部中断 0 MOV P0,A LCALL DELAY60S AJMP LOOP nts河南理工大学本科课程设计报告 - 21 - ORG 0200H DELAY60S:MOV TMOD,#10H ;延时程序,赋初值 MOV TH1,#0D8H MOV TL1,#0F0H MOV IE,#8DH SETB TR1 ;启动定时器 T1 MOV R0,#100 MOV R1,#60 CLR 00H JNB 00H,$ CLR TR1 SETB P3.7 CLR P3.6 RET ORG 0700H DEC1: MOV A,#99H ADD A,R7 DA A RET ORG 0800H INT_1: ;中断 1 服务和抢答器计组程序 CLR IE1 CLR TR1 MOV A,P2 CPL A JZ LL0 LCALL DL10 MOV A,P2 CPL A JZ LL0 JB ACC.3,K2_30 JB ACC.2,K2_20 JB ACC.1,K2_10 JB ACC.0,K2_00 K2_40 :AJMP K2_4 K2_30 :AJMP K2_3 K2_20 :AJMP K2_2 K2_10 :AJMP K2_1 nts河南理工大学本科课程设计报告 - 22 - K2_00 :AJMP K2_0 LL0 :AJMP LL K2_4: MOV P1,#05H MOV A,P2 CPL A JNZ K2_4 CLR EX1 LJMP INT_1 K2_3: MOV P1,#04H MOV A,P2 CPL A JNZ K2_3 CLR EX1 LJMP INT_1 K2_2: MOV P1,#03H MOV A,P2 CPL A JNZ K2_2 CLR EX1 LJMP INT_1 K2_1: MOV P1,#02H MOV A,P2 CPL A JNZ K2_1 CLR EX1 LJMP INT_1 K2_0: MOV P1,#01H MOV A,P2 CPL A JNZ K2_0 CLR EX1 LJMP INT_1 LL:MOV A,P2 CPL A JZ EXIT_INT_0 AJMP INT_1 EXIT_INT_0:RETI ORG 0A00H nts河南理工大学本科课程设计报告 - 23 - INT_0: JNB P3.2,$ ;外部中断 0 服务程序 MOV P1,#00H SETB EX1 CLR IE0 CLR 00H CLR P3.7 SETB
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。