基于单片机的抢答器设计-抢答器设计【两路】DDB电路图
收藏
资源目录
压缩包内文档预览:(预览前20页/共30页)
编号:1553771
类型:共享资源
大小:490.18KB
格式:RAR
上传时间:2017-08-10
上传人:机****料
认证信息
个人认证
高**(实名认证)
河南
IP属地:河南
12
积分
- 关 键 词:
-
基于
单片机
抢答
设计
ddb
电路图
- 资源描述:
-
基于单片机的抢答器设计-抢答器设计【两路】DDB电路图,基于,单片机,抢答,设计,ddb,电路图
- 内容简介:
-
摘 要 本次设计要求进行基于微机原理的智能抢答器的设计与实现。 系统经键盘扫描模块将选手抢答信号经 8255 扩展口送至 央处理器,将处理信号送至 接显示选手号。然后进入答题计时模块,若超时则启用声光报警系统,若在计时时间内回答完毕则由裁判决定对错,并由键盘扫描模块同时发出两路信号,通过 路送 路送声光报警模块进行计分操作。 在设计中主要利用 8255A, 8253 及实验箱中的键盘显示区共同完成设计。实现功能:用 码管显示 1选手先按下键者的号码和相应的分数,且能够动态显示 60 秒倒 记时,完成键盘中的十二个功能键的设计,其中包括: 1键、答题结束键、正确键、错误键、复位键。要在程序执行中完成使用这十二个功能键的使用。因此,本次设计要求对微机原理的理论知识, 8255A, 8253,键盘显示区的工作方式、工作原理熟练掌握。 关键词: 态显示,功能键,智能抢答器,定时倒记时,声光报警 目 录 1 绪论 . 3 2 方案论证 . 4 案一 . 4 件选择及说明 . 4 理框图及原 理 . 4 经济及应用论证 . 5 案二 . 5 件选择及说明 . 5 理框图及原理 . 6 济及应用论证 . 7 3 总体设计 . 8 体设计框图 . 8 3 2 系统工作原理 . 8 体设计工作原理图(见附录) . 8 4 硬件设计 . 9 盘显示模块电路图 . 9 盘扫描模块功能 . 9 盘扫描模块的工作原理 1 . 9 码管显示原理 2 . 10 8088 最小应用系统整体模块设计 . 11 8088 最小应用系统整体模块功能 . 11 8088 最小应用系统整体模块组成 4 . 11 题计时、判分显示与声光报警模块设计 . 13 题计时、判分显示与声光报警模块功能: . 13 题计时、判分显示与声光报警模块组成: . 14 题计时、判分显示与声光报警模块工作原理: . 14 5 软件设计 . 16 件设计思想 . 16 序流程图 . 17 6 调试分析 . 26 件调试 . 26 件调试 . 26 . 28 参考资料 . 30 1 绪论 微型机由于具有体积小、重量轻、耗电少、价格低廉、可靠性高、结构灵活等特点,近年来取得飞速的发展。他的应用已经深入到科学计算、信息处理、事务管理、过程控制、仪器仪表设计、民用产品和家用电器等各个方面。 智能抢答器的设计与功能实现要求在已学习的基础上,通过对硬件的连接设计和软件的程序编辑设计实现智能抢答的功能,这项涉及对检验我们的学习成绩、提高自己的动手能力、锻炼独立思考等方面有重要意义。 尤其对刚学习过这门课的同学来说,用来巩固自己的学习内容再好不过了,并且对日后 的工作有重要指导意义,积累了大量的实践经验,有利于对今后其他专业科目的学习指导。更能加强创新意识 ;树立团队精神 ,培养较高的现代信息的素养 . 计算机技术的飞速发展,使的计算机知识和应用技能已成为人类知识经济的重要组成部分。微型计算机原理及应用正是掌握计算机结构和工作原理的入门课程,它偏重于实际应用的课程 , 要求学生在学好理论知识的基础上,培养一定的实践动手操作能力,使学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。微机接口课程设计是对微 型计算机原理及应用课程理论教学和实验教学的综合和总结。通过该课程设计,可使学生应对微型计算机系统的基本结构和硬 /软件的工作原理有一个整体的认识。 将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力,锻 炼和提高同学们的实践动手能力。 2 方案论证 本设计以微机原理及接口技术为基础,以实验箱为工具,完成 键盘控制的智能抢答器设计。该 智能抢答器包括 8088 最小应用系统整体设计模块、键盘处理模块( 用)、答题计时与声光报警模块、 码管显示模块 。选用 8086作为微处理器、扩展可编程并行 I/O 接口 8255A 芯片、可编程定时计数芯片 8254、可编程中断控制器 8259A(或不用)、 码管及键盘和发光二极管等元件,制定方案如下: 案一 件选择及说明 选用 8255A, 8254, 8259,实验箱键盘显示区 ( 1) 8254 作为定时器使用。 ( 2) 8259 利用 作为定时到的中断引入端, 作为开始键按下的中断引入端 作为清零键按下的中断引入端 作为暂停键按下的中断引入端 作为退出键按下的中断引入端。 ( 3) 8255A 作为并行 输入输出, A 口接键盘显示区, C 口接灯光报警系统, ( 4) 键盘显示区由四个 码管和 12 个按键组成。 理框图及原理 利用 8255A, 8259, 8254,键盘显示区共同实现,其中 8255A 作为 并行输出输入, 8259 作为定时到的中断采集, 8254 作为定时。其中键盘显示区中为行, 为列,当 高电平时四个数码管选通,当给数据线送数据时将显示所要显示的数据。当 同配合使用时可作为键盘扫描读入使用并在 码管上显示按下的 键对应的数值。 如 图 2示: 图 2件原理框图 经济及应用论证 对于这种方案, 8259 中断的引入使程序更易读,更简单一些,操作相对简单一些,但硬件相应增多,费用也相应增多。 案二 件选择及说明 选用 8255A, 8254, 8259,实验箱键盘显示区 理框图及原理 利用 8255A 的 A 口, C 口作为并行输入输出,其中 C 口定义为高四位输出,低四位输入, A 口定义为输出, B 口定义为输出。利用 8254 的通道 0 和 1 作为红灯亮 3 秒定时器,绿灯亮定时器,而 8254 的通道 2 用来接黄灯和蜂鸣器具体的功能实现:通过 8255 端口 C 来扫描键盘输入,并有一定的削抖功能。信号传输至 过软件进行倒记时,进行加减分,送 示。信号灯,蜂鸣器作相应的反应。 硬件原理框图如下图所示: 图 2理框图 济及应用论证 对于这种方案可以看出,硬件设备较少设计,避免了 8259 的使用,节约了设计成本,软件编程也并不是很复杂,相对于方案一有一定优势。但在调试中由于软件相 对复杂会使运行过程稍微复杂,但可以采用整块运行调试,但须对程序非常熟悉。 方案比较: 方案二采用扫描,没有用到 8259,程序编制简单,但是 费了更多的时间在扫描,效率相对来说较低。方案一采用中断,程序结构化更为清晰,且 了循环扫描的时间,效率较高。但是多用了一个8259 中断控制芯片,程序编制上涉及到中断服务子程序的编写,稍显复杂。可见两种方案各有优劣。 方案选择: 经过小组讨论,先采用 更实用、经济的 方案二,完成基本和扩展功能。若有时间,再采用方案一完成实验。 3 总体设计 体设计框图 总体设计框图如图 2示。 3 2 系统工作原理 本设计主要是以 8088 为核心,通过加上必要的支持芯片,比如时钟电路、地址锁存器、译码器、总线驱动器以及存储器和 I/O 接口电路及基本外围设备,构成一台完整微机系统。通过 8255A 与外部键盘相连,工作方式为定时扫描,利用定时器产生中断、 应中断后对键盘进行扫描,或软件定时扫描,并在有键按下时转入键功能处理程序。将 8255A 端口 C 的上(输入方式)、下(输出方式)半部分分别用作键盘的行线和列线,程序使某行 为低电平,然后读入并查询列值;如果列值中有某位为低电平,则说明行列交叉点处的键被按下;否则扫描下一行,直到扫描全部行线。 8255A 的端口 A 用来输出显示字符;设置 选码表的首地址,要显示的数字的地址正好为起始地址加数字值,其地址存放着对应于该数字值的显示代码。 8255A 的端口 B 用来控制 显示位,即位控端口,在软件的设计上通过逐个接通 8 位 A 口输出的代码送到相应的位上显示,以减少硬件开支。利用 8254 产生定时,通道 0 用于 60S 倒计时定,定时时间到蜂明器发出声响,黄灯闪烁,由裁判控制答 案正确与否,这两个通道分别用来定时 3S,答案正确绿灯亮 3 秒, 示的数据加 10 分,否则红灯亮 3 秒,数据减 10 分。 体设计工作 电路 图(见附录) 4 硬件设计 盘显示模块电路图 图 4盘显示电路图 盘扫描模块功能 键盘扫描模块的功能是通过 8255 扩展口实现对选手抢答信号的确定。 1) 1- 8 号选手中先按下按键者, 码管显示其选手号码(后按下无效)。 2)选手按下答题结束键,停止倒记时。 3)若该选手回答正 确,裁判按加分键;错误按减分键。 盘扫描模块的工作原理 1 为减少引线,键盘采用矩阵式。键盘的识别采用行扫描法,程序使某行为低电平,则说明行列交叉点处的键被按下,然后,再具体确定按下的是哪个键。为此 先使所在行输出为 0,再检查列线是否有 0。如果有零的话,此时由于不能确定闭合键所在的行,于是再用行扫描法来具体定位。如果读得数据全部为 1,则说明无键闭合。硬件上将 8255 端口 C 的上、下半部分分别用作键盘的行线和列线。 用电平逻辑开关输出高低电平来代替键盘按键。 码管显示原理 2 数码 管的段位顺序如右图所示: 一般来说在一个字节中按照 顺序放置字型码,比如在一个“共阴极”数码管上要显示“ 1”,则 b、 c 段需被点亮,因此在段选线中写入 60H。 对应规则: 图 4码管显示 图 44 位 8 段 态显示器电原理图 示器的显示方法有两种 静态显示法和动态扫描显示法。静态显示就是每一个显示器各笔画段都要独占具有所存功能的输出口线, 要显示的字符代码送到输出口上,就可以是显示器显示所需的数字后符号。但由于它站用的 I/件成本高。所以我们选用了动态扫描显示法。其显示接口电路如 图2示 8088 最小应用系统整体模块设计 8088 最小应用系统整体模块功能 该模块是整个系统的硬件控制指挥中心。由 它控制整个系统运行 。 8088 最小应用系统整体模块组成 4 该模块有微处理器 8088, 74 8284 时钟发生器, 74码电路等构成。 微处理器 ( 外部设备 及互联设备在各部件之间提供通信。 088 按功能可分为两大部分:执行部分 总线接口部分 其指令队列只有 4 个字节,外部数据总线是 8 位,内部为 16 位数据线, 8 条数据、地址总线可以复用,内存容量是18 种基本寻址方式,强大的指令系统功能, 16 位 I/O 端口地址可寻址 64K 个端口地址。 74 3码器,通过给 入不同的值来控制 7 的线选。 8284 时钟发生器是专门为 8088 系统设计配套的单片机时钟发生器。它为 备就绪( 复位( 号,还可以向外提供晶体振荡信号( 外围芯片所需时钟 其它信号。 由于 可以作为 8 位地址线,又作为 8 位数据线,为提供 8 位地址信息,一般必须加三态锁存器,并由 生的地址锁存允许信 号 下跳边将 地址信息锁存入 74存器中图 8088 最小应用系统电路图 题计时、判分显示与声光报警模块设计 题计时、判分显示与声光报警模块功能: 当 1选手抢答键按下后并在 显示,进入 60 秒计时答题阶段。答题 完成后,由裁判按下完成键,进入下一评分模块。若在 60S 内没有完成答题,则会出现报警(黄灯闪,蜂鸣器响)。然后由裁判控制评分,答对加十分绿灯亮三秒,答错减十 分红灯亮三秒。 题计时、判分显示与声光报警模块组成: 键盘、可编程定时 /计数器 8254、发光二极管、蜂鸣器、 8255 和 74码器组成。 键盘主要扫描行列式键盘的完成键。 8254 作为一个可编程计数器 /定时器,可以设定,不论工作在哪种模式,都会遵守下面几条基本规则 4: 1) 控制字写入寄存器时,所有控制逻辑电路立即复位,输出端 入初始状态。 2) 初值写入后,要经过一个时钟上升沿和一个下降沿,计数执行部件才开始进行计数。 3) 通常在时钟脉冲 上升沿时,门控信号 采样。 4) 在时钟脉冲的下降沿,计数器作减 1 计数。 0 是计数器所能容纳的最大初始值。 在本模块中将用到 8254 0、 1 通道来控制红绿灯的亮灭, 2 通道的方式 3 产生 10波,来驱动 蜂鸣器,以实现声光报警功能。 74码电路用于选通 8254 和 8255A。 题计时、判分显示与声光报警模块工作原理: 在 显示抢答选手号, 60S 倒计时开始,答题键按下后由裁判控制评 分,答对加十分绿灯亮三秒,答错减十分红灯亮三秒。若在 60S 内没有完成答题,则会出现报警(黄灯闪,蜂鸣器 响)。然后进入下一轮抢答。电路图见 4 图 4答题计时、判分显示与声光报警电路图 5 软件设计 件设计思想 本次实验的软件设计思想如下: 利用 8255A 的 A 口, C 口作为并行输入输出,其中 C 口定义为高四位输出,低四位输入, A 口定义为输出, B 口定义为输出。利用 8254 的通道 0 和 1 作为红灯亮 3 秒定时器,绿灯亮定时器,而 8254 的通道 2 用来接黄灯和蜂鸣器具体的功能实现:通过 8255 端口 C 来扫描键盘输入,并有一 定的削抖功能。信号传输至 行处理。通过软件进行倒记时,进行加减分,送 示。信号灯,蜂鸣器作相应的反应。至此整体思路已如上所描述。 整个编程思想如下所述: 首先,为了使主程序易读,本次设计采用了将多个功能的模块编成为子程序的方法,所用程序为:键盘显示子程序,键盘扫描子程序, 60 秒倒记时子程序,声光报警子程序。 第一,初始化 8255A, 8254,给 8254 送初值。这一部分主要完成 8255A、 8254的初始化。 第二,查询是否有键盘按键按下,若没有按下则继续查询, 8254 仍未开始定时,直到检测出有按键 按下为止才可以开始定时。 第三,当开始键按下,给 8254 送初值开始定时,然后用 令来进行查询。 第四,当定时 60S 开始时每进行一次循环要判断是否有答题结束键按下。如果有,结束 60S 倒记时,若没有,倒记时至 0 并打开声光报警系统; 第五,通过 8255 检测键盘是否有正确键按下。如果有,则调用加法指令,并绿灯闪烁。否则调用减法指令,红灯闪烁。 因此,在设计该软件时考虑到程序设计的基本要求中要求:程序应简单、易读、便于读者理解,更重要的是设计者自身的设计思想应清晰,编制的程序应易于理解。所以本次设计采用的 软件思想如上所述。 序流程图 该设计的程序流程图可以分为五个:主程序流程图、键盘显示子程序流程图、键盘扫描子程序流程图、 60 秒倒记时声光报警模块程序流程图、 计分模块程序流程图 。 注:程序流程图如下所示。 主程序流程图: 图 60 秒倒记时声光报警 模块程序流程图: Y N N Y 图 数码表首地址 选择 码 调倒记时显示子程序 查表并通过 8255 送 示 判 60S 未到? 8254 初始化 一 8254 通道 2 覆初值 调声光报警子程序产生方波驱动蜂鸣器及黄灯 ? 下一步 . . 0000000B ;关 8254 的 60 秒定时 8254_L,97H;通道 2 控制字 ,计数 ,方式 3 L 8254L,60 L ;产生 10波驱动蜂明器 ,及黄 L,00000000B X,X, . . 键盘扫描子程序流程图: 返回 扫描完毕? 键号存储器 L+1 继续 修改行扫描值 有列线是否为低电平? 把行数送到 描一行 N Y N Y N N Y 是否有列线处于低电平状态 有键按下? 往所有行线( 输出 0 读所有列线( 平标志 开始 将 8255A 的控制字送端口 C 地址 调键盘扫描 键号初值 0 及扫描初值 返回键号 计分部分程序流程图: N Y Y Y N N 开始 将键码送入 否加分? 调显示加分子程序 调显示减分子程序 定时绿灯亮 3 秒 定 时红灯亮 3 秒 定时时间到? 下一步 图 时时间到 灯灭 X,X,100 L L,H,0 0 L H L ,;加减分阶段 0 1 0 0 X X,100 L L,H,0 0 L H . 键盘显示子程序流程图: N 开始 向数据缓冲区,使最右边的位选有效 取右边第一个 显示数据到码表首送 出段码 段码送段口 码扫描 延时 1描完一遍了吗? 取下一个待显示数,取下一个位码 Y 扫描结束,子程序返回 图 6 调试分析 件调试 为了使每次实验都能准确进行,实验前先进行硬件调试。 首先,检测 码管是否显示良好。 其次,检测数码管为良好显示后。再检查 8255A 的三个输送端口 A 口 B 口 为并行端口使用。 再次,查 8254 的良好性,只能通过简单小程序单步进行检测,或用示波器来进行检测。 最后确定实验时排线连接正确,及电源开关正确。尽量避免长时间将实验箱处于开电源状态以使实验箱温度过高。 件 调试 在进行软件调试时遇到了许多问题,下面叙述如下: ( 1)在刚开始编程时,各种功能大部分是由主程序来完成的。由于主程序过于复杂,可读性不高。使得在以后的程序的调试中遇到了很大的麻烦。后来把主程序的部分功能转化成子程序来实现,并在一些重要的地方增加了注释,使的程序的可读性大大加强。调试也变的比较简单了。到此基本解决了第一个问题。 ( 2)在编程时,子程序的调试也是相当重要,由于子程序不可避免的使用XX 通用寄存器一个或几个。使得原主程序中的通用寄存器的内容很容易被覆盖 ,对子程序中所有的通用寄 存器出入栈即可以避免上诉的问题,不用考虑使用的是哪几个寄存器,使用起来又比较简单方便。所以至此这个问题也已基 本解决。 ( 3)软件的调试是一个复杂烦琐而漫长的过程。在调试的过程中一定要耐下心来去做,否则一旦出现烦躁的心里,就会事倍功半,适得其反。 在本次设计中出现的主要问题即如上所述,解决方法也如上所述,在今后的软件调试过程中更应注意如上问题。 我们进行了为期两周的课程设计。在这两周的微机原理
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

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