资源目录
压缩包内文档预览:(预览前20页/共31页)
编号:545899
类型:共享资源
大小:287.61KB
格式:ZIP
上传时间:2015-12-01
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
电气电子毕业设计论文
- 资源描述:
-
毕业设计133抢答器,电气电子毕业设计论文
- 内容简介:
-
课 程 设 计 说 明 书 设计题目: 基于 PC 机的智能抢答器 专业: 电气工程及其自动化 班级: 2004-3 班 设计人: 田鑫 山 东 科 技 大 学 2007 年 7 月 20 日 nts山东科技大学课程设计报告书 - 1 - 课程设计任务书 学院 信息与电气工程学院 专业 电气工程及其自动化 班级 2004 级 3 班 姓名 田鑫 一、 课程设计 题目: 基于 PC 机的智能抢答器设计 与 实现 二、 课程设计主要参考资料 : 1. 微机原理及接口技术课程设计指导书 2. 80x86/Pentium 微型计算机原理及应用教材 3. 80X86 微机原理及其接口技术实验指导书 三、 课程设计应解决主要问题: 1. 1-8 号选手中先按下按键者, LED 数码管显示其选手号码 (后按下无效 ), 且 60S 倒计时开始,计时结束进行声光报警提示。 2. 由裁判掌握,若回答正确,该选手对应绿灯亮,否则红灯亮。 3. 回答正确时,计分牌加 10 分,不正确减 10 分 (满分 100 分 )。 4. 选手号码及选手分数用 LED 数码管显示。 四、 课程 设计 相关 附件 (如:图纸、软件等) : 1. 总体原理图 2. 3. 五、 任务发出日期 : 2007.7.9 课程 设计完成日期: 2007.7.20 nts山东科技大学课程设计报告书 - 2 - 指导教师 签字 : 系主任签字 : nts山东科技大学课程设计报告书 指导教师对课程设计的评语 指导教师签字: 年 月 日 nts山东科技大学课程设计报告书 摘要 本次设计要求进行基于微机原理的智能抢答器的设计与实现。 系统经键盘扫描模块将选手抢答信号经 8255 扩展口送至 CPU 中央处理器,将处理信号送至 LED 直接显示选手号。然后进入答 题计时模块,若超时则启用声光报警系统,若在计时时间内回答完毕则由裁判决定对错,并由键盘扫描模块同时发出两路信号,通过 CPU 一路送 LED,一路送声光报警模块进行计分操作。 在设计中主要利用 8255A, 8253 及实验箱中的键盘显示区共同完成设计。实现功能:用 LED 数码管显示 1-8 号选手先按下键者的号码和相应的分数,且能够动态显示 60 秒倒记时,完成键盘中的十二个功能键的设计,其中包括: 1-8 号键、答题结束键、正确键、错误键、复位键。要在程序执行中完成使用这十二个功能键的使用。因此,本次设计要求对微机原理的理论知识 , 8255A, 8253,键盘显示区的工作方式、工作原理熟练掌握。 关键词: LED 动态显示,功能键,智能抢答器,定时倒记时,声光报警 nts山东科技大学课程设计报告书 目 录 1 绪论 . 4 2 方案论证 . 5 2.1 方案一 . 5 2.1.1 硬件选择及说明 . 5 2.1.2 原理框图及原理 . 5 2.1.3 经济及应用论 证 . 6 2.2 方案二 . 6 2.2.1 硬件选择及说明 . 6 2.2.2 原理框图及原理 . 7 2.2.3 经济及应用论证 . 8 3 总体设计 . 8 3.1 总体设计框图 . 8 3 2 系统工作原理 . 8 3.3 总体设计工作原理图(见附录) . 10 4 硬件设计 . 10 4.1 键盘显示模块电路图 . 10 4.1.1 键盘扫描模块功能 . 10 4.1.2 键盘扫描模块的工作原理 1 . 10 4.1.3 数码管显示原理 2 . 11 4. 8088 最小应用系统整体模块设计 . 12 4.2.1 8088 最小应用系统整体模块功能 . 12 4.2.2 8088 最小应用系统整体模块组成 4 . 12 4.3 答题计时、判分显示与声光报警模块设计 . 14 4.3.1 答题计时、判分显示与声光报警模块功能: . 14 4.3.2 答题计时、判分显示与声光报警模块组成: . 15 4.3.3 答题计时、判分显示与声光报警模块工作原理: . 15 5 软件设计 . 16 5.1 软件设计思想 . 16 5.2 程序流程图 . 17 6 调试分析 . 26 6.1 硬件调试 . 26 6.2 软件调试 . 26 7.总结 . 27 参考资料 . 28 nts山东科技大学课程设计报告书 1 绪论 微型机由于具有体积小、重量轻、耗电少、价格低廉、可靠性高、结构灵活等特点,近年来取得飞速的发展。他的应用已经深入 到科学计算、信息处理、事务管理、过程控制、仪器仪表设计、民用产品和家用电器等各个方面。 智能抢答器的设计与功能实现要求在已学习的基础上,通过对硬件的连接设计和软件的程序编辑设计实现智能抢答的功能,这项涉及对检验我们的学习成绩、提高自己的动手能力、锻炼独立思考等方面有重要意义。 尤其对刚学习过这门课的同学来说,用来巩固自己的学习内容再好不过了,并且对日后的工作有重要指导意义,积累了大量的实践经验,有利于对今后其他专业科目的学习指导。更能加强创新意识 ;树立团队精神 ,培养较高的现代信息的素养 . 计算机技术的飞速发 展,使的计算机知识和应用技能已成为人类知识经济的重要组成部分。微型计算机原理及应用正是掌握计算机结构和工作原理的入门课程,它偏重于实际应用的课程 , 要求学生在学好理论知识的基础上,培养一定的实践动手操作能力,使学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。微机接口课程设计是对微型计算机原理及应用课程理论教学和实验教学的综合和总结。通过该课程设计,可使学生应对微型计算机系统的基本结构和硬 /软件的工作原理有一个整体的认识。 将所学的理论 知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力,锻nts山东科技大学课程设计报告书 炼和提高同学们的实践动手能力。 2 方案论证 本设计以微机原理及接口技术为基础,以实验箱为工具,完成 PC 机键盘控制的智能抢答器设计。该 智能抢答器包括 8088 最小应用系统整体设计模块、键盘处理模块( DOS 调用)、答题计时与声光报警模块、 LED 数码管显示模块。选用 8086作为微处理器、扩展可编程并行 I/O 接口 8255A 芯片、可编程定时计数芯片 8254、可编程中断控制器 8259A(或不用)、 LED 数码管及键盘和发光 二极管等元件,制定方案如下: 2.1 方案一 2.1.1 硬件选择及说明 选用 8255A, 8254, 8259,实验箱键盘显示区 ( 1) 8254 作为定时器使用。 ( 2) 8259 利用 IR0 端作为定时到的中断引入端, IR2 端作为开始键按下的中断引入端 IR3 端作为清零键按下的中断引入端 IR4 端作为暂停键按下的中断引入端 IR5 端作为退出键按下的中断引入端。 ( 3) 8255A 作为并行输入输出, A 口接键盘显示区, C 口接灯光报警系统, B口输出位码 ( 4) 键盘显示区由四个 LED 数码管和 12 个按键组成。 2.1.2 原理框图及原理 nts山东科技大学课程设计报告书 利用 8255A, 8259, 8254,键盘显示区共同实现,其中 8255A 作为 并行输出输入, 8259 作为定时到的中断采集, 8254 作为定时。其中键盘显示区中KL1-KL4 作为行, KH1-KH4 作为列,当 KL1-KL4 为高电平时四个数码管选通,当给数据线送数据时将显示所要显示的数据。当 KL1-KL4 与 KH1-KH4 共同配合使用时可作为键盘扫描读入使用并在 LED 数码管上显示按下的键对应的数值。 如 图 2-1 所示: 图 2-1 硬件原理框图 2.1.3 经济及应用论证 对于这种方案, 8259 中断的引入使程序更易读,更简单一些,操作相对简单一些,但硬件相应增多,费用也相应增多。 2.2 方案二 2.2.1 硬件选择及说明 选用 8255A, 8254, 8259,实验箱键盘显示区 nts山东科技大学课程设计报告书 2.2.2 原理框图及原理 利用 8255A 的 A 口, C 口作为并行输入输出,其中 C 口定义为高四位输出,低四位输入, A 口定义为输出, B 口定义为输出。利用 8254 的通道 0 和 1 作为红灯亮 3 秒定时器,绿灯亮定时器,而 8254 的通道 2 用来接黄灯和蜂鸣器具体的功能实现:通过 8255 端口 C 来扫描键盘输入 ,并有一定的削抖功能。信号传输至 CPU进行处理。通过软件进行倒记时,进行加减分,送 LED 显示。信号灯,蜂鸣器作相应的反应。 硬件原理框图如下图所示: nts山东科技大学课程设计报告书 图 2-2 原理框图 2.2.3 经济及应用论证 对于这种方案可以看出,硬件设备较少设计,避免了 8259 的使用,节约了设计成本,软件编程也并不是很复杂,相对于方案一有一定优势。但在调试中由于软件相对复杂会使运行过程稍微复杂,但可以采用整块运行调试,但须对程序非常熟悉。 方案比较: 方案二采用扫描,没有用到 8259,程序编制简单,但是 cpu 耗费了更多的时 间在扫描,效率相对来说较低。方案一采用中断,程序结构化更为清晰,且 cpu 少了循环扫描的时间,效率较高。但是多用了一个8259 中断控制芯片,程序编制上涉及到中断服务子程序的编写,稍显复杂。可见两种方案各有优劣。 方案选择: 经过小组讨论,先采用 更实用、经济的 方案二,完成基本和扩展功能。若有时间,再采用方案一完成实验。 3 总体设计 3.1 总体设计框图 总体设计框图如图 2-2 所示。 3 2 系统工作原理 本设计主要是以 8088 为核心,通过加上必要的支持芯片, 比如时钟电路、地址锁存器、译码器、总线驱动器以及存储器和 I/O 接口电路及基本外围设备,构nts山东科技大学课程设计报告书 成一台完整微机系统。通过 8255A 与外部键盘相连,工作方式为定时扫描,利用定时器产生中断、 CPU 响应中断后对键盘进行扫描,或软件定时扫描,并在有键按下时转入键功能处理程序。将 8255A 端口 C 的上(输入方式)、下(输出方式)半部分分别用作键盘的行线和列线,程序使某行为低电平,然后读入并查询列值;如果列值中有某位为低电平,则说明行列交叉点处的键被按下;否则扫描下一行,直到扫描全部行线。 8255A 的端口 A 用来输出显示字符;设置 TAB 为 LED 段选码表的首地址,要显示的数字的地址正好为起始地址加数字值,其地址存放着对应于该数字值的显示代码。 8255A 的端口 B 用来控制 LED 的显示位,即位控端口,在软件的设计上通过逐个接通 8 位 LED,把 A 口输出的代码送到相应的位上显示,以减少硬件开支。利用 8254 产生定时,通道 0 用于 60S 倒计时定,定时时间到蜂明器发出声响,黄灯闪烁,由裁判控制答案正确与否,这两个通道分别用来定时 3S,答案正确绿灯亮 3 秒, LED 显示的数据加 10 分,否则红灯亮 3 秒,数据减 10 分。 nts山东科技大学课程设计报告书 3.3 总体设计工作 电路 图(见附录) 4 硬件 设计 4.1 键盘显示模块电路图 图 4-1 键盘显示电路图 4.1.1 键盘扫描模块功能 键盘扫描模块的功能是通过 8255 扩展口实现对选手抢答信号的确定。 1) 1- 8 号选手中先按下按键者, LED 数码管显示其选手号码(后按下无效)。 2)选手按下答题结束键,停止倒记时。 3)若该选手回答正确,裁判按加分键;错误按减分键。 4.1.2 键盘扫描模块的工作原理 1 为减少引线,键盘采用矩阵式。键盘的识别采用行扫描法,程序使某行为低电nts山东科技大学课程设计报告书 平,则说明行列 交叉点处的键被按下,然后,再具体确定按下的是哪个键。为此先使所在行输出为 0,再检查列线是否有 0。如果有零的话,此时由于不能确定闭合键所在的行,于是再用行扫描法来具体定位。如果读得数据全部为 1,则说明无键闭合。硬件上将 8255 端口 C 的上、下半部分分别用作键盘的行线和列线。 用电平逻辑开关输出高低电平来代替键盘按键。 4.1.3 数码管显示原理 2 数码管的段位顺序如右图所示: 一般来说在一个字节中按照 abcdefg dp 的顺序放置字型码,比如在一个“共阴极”数码管上要显示“ 1”,则 b、 c 段需被点亮,因此在段选线 中写入 60H。 对应规则: a-D7 b-D6 c-D5 d-D4 e-D3 f-D2 g-D1 图 4-2 数码管显示 dp-D0 nts山东科技大学课程设计报告书 图 4-3 4 位 8 段 LED 动态显示器电原理图 LED 显示器的显示方法有两种 静态显示法和动态扫描显示法。静态显示就是每一个显示 器各笔画段都要独占具有所存功能的输出口线, CPU 把要显示的字符代码送到输出口上,就可以是显示器显示所需的数字后符号。但由于它站用的 I/O口线较多,硬件成本高。所以我们选用了动态扫描显示法。其显示接口电路如 图2-3 所示 4. 8088 最小应用系统整体模块设计 4.2.1 8088 最小应用系统整体模块功能 该模块是整个系统的硬件控制指挥中心。由它控制整个系统运行 。 4.2.2 8088 最小应用系统整体模块组成 4 该模块有微处理器 8088, 74LS373, 8284 时钟发生器, 74LS138 译码 电路等构成。 微处理器 (CPU)、 外部设备 及互联设备在各部件之间提供通信。 Intel 8088 按功能可分为两大部分:执行部分 EU(Execution Unit)和总线接口部分 BIU(Bus Interface Unit)。 其指令队列只有 4 个字节,外部数据总线是 8nts山东科技大学课程设计报告书 位,内部为 16 位数据线, AD0AD7 这 8 条数据、地址总线可以复用,内存容量是1MB, 8 种基本寻址方式,强大的指令系统功能, 16 位 I/O 端口地址可寻址 64K 个端口地址。 74LS138 是 3-8 译码器,通过给 ABC 送入不同的值来控制 Y0Y7 的线选。 8284 时钟发生器是专门为 8088 系统设计配套的单片机时钟发生器。它为 CPU提供时钟、准备就绪( READY)、复位( RESET)信号,还可以向外提供晶体振荡信号( OSC)、外围芯片所需时钟 PCLK 等其它信号。 由于 AD0AD7 即可以作为 8 位地址线,又作为 8 位数据线,为提供 8 位地址信息,一般必须加三态锁存器,并由 CPU 产生的地址锁存允许信号 ALE 的下跳边将nts山东科技大学课程设计报告书 地址信息锁存入 74LS373 锁存器中图 4.1 8088 最小应用系统电路图 4.3 答题计时、判分显示与声光报警模块设计 4.3.1 答题计时、判分显示与声光报警模块功能: 当 1-8 号选手抢答键按下后并在 LED 上显示,进入 60 秒计时答题阶段。答题nts山东科技大学课程设计报告书 完成后,由裁判按下完成键,进入下一评分模块。若在 60S 内没有完成答题,则会出现报警(黄灯闪,蜂鸣器响)。然后由裁判控制评分,答对加十分绿灯亮三秒,答错减十分红灯亮三秒。 4.3.2 答题计时、判分显示与声光报警模块组成: 键盘、可编程定时 /计数器 8254、发光二极管、蜂鸣器、 8255 和 74LS138 译码器组成。 键盘主要扫描行列式键盘的完成键。 8254 作为一个可编程计数器 /定时器,可以设定,不论工作在哪种模式,都会遵守下面几条基本规则 4: 1) 控制字写入寄存器时,所有控制逻辑电路立即复位,输出端 OUT 进入初始状态。 2) 初值写入后,要经过一个时钟上升沿和一个下降沿,计数执行部件才开始进行计数。 3) 通常在时钟脉冲 CLK 的上升沿时,门控信号 GATE 被采样。 4) 在时钟脉冲的下降沿,计数器作减 1 计数。 0 是计数器所能容纳的最大初始值。 在本模块中将用到 8254 0、 1 通道来控制红绿灯的亮灭, 2 通道的方式 3 产生 10HZ 方波,来驱动 LED 和蜂鸣器,以实现声光报警功能。 74LS138 译码电路用于选通 8254 和 8255A。 4.3.3 答题计时、判分显示与声光报警模块工作原理: 在 LED 上显示抢答选手号, 60S 倒计时开始,答题键按下后由裁判控制评nts山东科技大学课程设计报告书 分,答对加十分绿灯亮三秒,答错减十分红灯亮三秒。若在 60S 内没有完成答题,则会出现报警(黄灯闪,蜂鸣器响)。然后进入下一轮抢答。电路图见 4-2。 图 4-2 答题计时、判分显示与 声光报警电路图 5 软件设计 5.1 软件设计思想 本次实验的软件设计思想如下: 利用 8255A 的 A 口, C 口作为并行输入输出,其中 C 口定义为高四位输出,低四位输入, A 口定义为输出, B 口定义为输出。利用 8254 的通道 0 和 1 作为红灯亮 3 秒定时器,绿灯亮定时器,而 8254 的通道 2 用来接黄灯和蜂鸣器具体的功能实现:通过 8255 端口 C 来扫描键盘输入,并有一定的削抖功能。信号传输至 CPU 进行处理。通过软件进行倒记时,进行加减分,送 LED 显示。信号灯,蜂鸣器作相应的反应。nts山东科技大学课程设计报告书 至此整体思路已如上所描述。 整个编程思想如下所述: 首先,为了使主程序易读,本次设计采用了将多个功能的模块编成为子程序的方法,所用程序为:键盘显示子程序,键盘扫描子程序, 60 秒倒记时子程序,声光报警子程序。 第一,初始化 8255A, 8254,给 8254 送初值。这一部分主要完成 8255A、 8254的初始化。 第二,查询是否有键盘按键按下,若没有按下则继续查询, 8254 仍未开始定时,直到检测出有按键按下为止才可以开始定时。 第三,当开始键按下,给 8254 送初值开始定时,然后用 TEST 指令来进行查询。 第四,当定时 60S 开始时每进行一次循环要判断是否有答题结束键 按下。如果有,结束 60S 倒记时,若没有,倒记时至 0 并打开声光报警系统; 第五,通过 8255 检测键盘是否有正确键按下。如果有,则调用加法指令,并绿灯闪烁。否则调用减法指令,红灯闪烁。 因此,在设计该软件时考虑到程序设计的基本要求中要求:程序应简单、易读、便于读者理解,更重要的是设计者自身的设计思想应清晰,编制的程序应易于理解。所以本次设计采用的软件思想如上所述。 5.2 程序流程图 该设计的程序流程图可以分为五个:主程序流程图、键盘显示子程序流程图、键盘扫描子程序流程图、 60 秒倒记时声光报警模块程序流程图、 计分模块程序流程图 。 注:程序流程图如下所示。 nts山东科技大学课程设计报告书 主程序流程图: nts山东科技大学课程设计报告书 图 5.1 nts山东科技大学课程设计报告书 60 秒倒记时声光报警 模块程序流程图: Y N N Y 图 5.2 取数码表首地址 选择 LED 位码 调倒记时显示子程序 查表并通过 8255 送 LED 显示 判 60S 未到? 8254 初始化 CX 减一 8254 通道 2 覆初值 调声光报警子程序产生方波驱动蜂鸣器及黄灯 CX=0? 下一步 nts山东科技大学课程设计报告书 SGBAOJING PROC FAR . . CALL DELAY60S MOV AL,00000000B ;关 8254 的 60 秒定时 MOV DX,P8254_CTR MOV AL,97H;通道 2 控制字 ,BCD 码计数 ,方式 3 OUT DX,AL MOV DX,P8254-2 MOV AL,60 OUT DX,AL ;产生 10HZ 方波驱动蜂明器 ,及黄 LED JNZ DELAY2 DEC DX JNZ DELAY1 MOV AL,00000000B MOV DX,P8254-2 OUT DX,AL . . nts山东科技大学课程设计报告书 键盘扫描子程序流程图: 返回 扫描完毕? 键号存储器 BL=BL+1 继续 修改行扫描值 有列线是否为低电平? 把行数送到 CX 扫描一行 BL=0FFH Y N Y N Y N N Y 是否有列线处于低电平状态 有键按下? 往所有行线( PC0PC2)上输出 0 读所有列线( PC4PC7)电平标志 开始 将 8255A 的控制字送端口 C 地址 调键盘扫描 BL=0FFH 送键号初值 0 及扫描初值 返回键号 BL 图 5.3 nts山东科技大学课程设计报告书 计分部分程序流程图: N Y Y Y N N 开始 将键码送入 AL 是否加分? 调显示加分子程序 调显示减分子程序 定时绿灯亮 3 秒 定时红灯亮 3 秒 定时时间到? 下一步 图 5.4 定时时间到 灯灭 nts山东科技大学课程设计报告书 WARNING: MOV AX,FENS DIV AX,100 MOV BAI,AL MOV AL,AH MOV AH,0 DIV 10 MOV TENS,AL MOV SECOND,AH CALL DISPLAY1 CALL KEY MOV AL ,BL ;加减分阶段 CMP AL,10 JL WARNING CMP AL,11 JG WARNING CMP AL,10 JE JIA CLC MOV AX,FENS SUB AX,10 MOV FENS,AX DIV AX,100 MOV BAI,AL MOV AL,AH MOV AH,0 DIV 10 MOV TENS,AL MOV SECOND,AH CALL DISPLAY1 . nts山东科技大学课程设计报告书 键盘显示子程序流程图: N 开始 BX 指向数据缓冲区,使最右边的LED 灯位选有效 取右边第一个 LED 待显示数据到AL,段码表首送 BX,取出段码 段码送段口 PA,位码扫描 延时 1ms 扫描完一遍了吗? 取下一个待显示数,取下一个位码 Y 扫描结 束,子程序返回 图 5.5 nts山东科技大学课程设计报告书 6 调试分析 6.1 硬件调试 为了使每次实验都能准确进行,实验前先进行硬件调试。 首先,检测 LED 数码管是否显示良好。 其次,检测数码管为良好显示后。再检查 8255A 的三个输送端口 A 口 B 口 C口是否可以 正常输出输入,作为并行端口使用。 再次,查 8254 的良好性,只能通过简单小程序单步进行检测,或用示波器来进行检测。 最后确定实验时排线连接正确,及电源开关正确。尽量避免长时间将实验箱处于开电源状态以使实验箱温度过高。 6.2 软件调试 在进行软件调试时遇到了许多问题,下面叙述如下: ( 1)在刚开始编程时,各种功能大部分是由主程序来完成的。由于主程序过于复杂,可读性不高。使得在以后的程序的调试中遇到了很大的麻烦。后来把主程序的部分功能转化成子程序来实现,并在一些重要的地方增加了注释,使的程序的可读性大大加强。 调试也变的比较简单了。到此基本解决了第一个问题。 ( 2)在编程时,子程序的调试也是相当重要,由于子程序不可避免的使用AXBXCXDX 通用寄存器一个或几个。使得原主程序中的通用寄存器的内容很容易被覆盖 ,对子程序中所有的通用寄存器出入栈即可以避免上诉的问题,不用考虑使
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

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