微机原理课程设计-6路抢答器(1).doc_第1页
微机原理课程设计-6路抢答器(1).doc_第2页
微机原理课程设计-6路抢答器(1).doc_第3页
微机原理课程设计-6路抢答器(1).doc_第4页
微机原理课程设计-6路抢答器(1).doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与接口技术微机原理与接口技术 课课程程 设设计计 论论文文 专业专业 班级班级 学号学号 姓名姓名 目目 录录 一 课程设计题 目 二 课程设计方 案 三 课程设计内容和工作原 理 3 1 总体设 计 3 2 系统工作原 理 3 3 8086 最小系统的原 理 四 单元电路设计方案和原理说 明 4 1 声光报警电路单元 图 4 2 键盘电路单元 图 4 3 LED 电路单元 图 五 软件设 计 7 1 流程 图 7 2 程 序 六 个人心 得 七 参考文 献 八 程序清 单 一一 设计题目 六路抢答器设计题目 六路抢答器 摘要摘要 本次设计要求进行基于微机原理的智能抢答器的设计与实现 系统经键盘扫描模块将选手 抢答信号经 8255 扩展口送至 CPU 中央处理器 将处理信号送至 LED 直接显示选手号 然后 进入答题计时模块 若超时则启用声光报警系统 若在计时时间内回答完毕则由裁判决定对错 并由键盘扫描模块同时发出两路信号 通过 CPU一路送 LED 一路送声光报警模块进行计 分操作 在设计中主要利用 8255A 8253 及实验箱中的键盘显示区共同完成设计 实现功能 用 LED 数码管显示 1 6 号选手先按下键者的号码和相应的分数 且能够动态显示 60 秒倒记时 完成键盘中的十二个功能键的设计 其中包括 1 6 号键 答题结束键 正确键 错误键 要 在程序执行中完成使用这十二个功能键的使用 因此 本次设计要求对微机原理的理论知识 8255A 8253 键盘显示区的工作方式 工作原理熟练掌握 关键词 关键词 LED 动态显示 功能键 抢答器 定时倒记时 声光报警 二二 方案方案 2 1 硬件选择及说明硬件选择及说明 选用 8255A 8253 实验箱键盘显示区 1 8253 作为定时器使用 2 8255A 作为并行输入输出 A 口接显示区 C 口接键盘模块 B 口输出位码 3 键盘显示区由四个 LED 数码管和 9 个按键组成 2 1 原理框图及原理原理框图及原理 利用 8255A 8253 键盘显示区共同实现 其中 8255A 作为 并行输出输入 8253 作为定时 其中键盘显示区中 KL1 KL3 作为行 KH1 KH3 作为列 当 KL1 KL3 为高电平时四个数码管选通 当给数据线送数据时将显示所要显示的数据 当 KL1 KL3 与 KH1 KH3 共同配合使用时可作为键盘扫描读入使用并在 LED 数码管上显示按下的键对应的数值 如图 2 1 所示 图 2 1 硬件原理框图 三三 总体设计总体设计 3 1 总体设计框图总体设计框图 总体设计框图如图 2 1 所示 3 2 系统工作原理系统工作原理 本设计主要是以 8086 为核心 通过加上必要的支持芯片 比如时钟电路 地址锁存器 收发器 8255 8253 等 构成一台完整微机系统 通过 8255A 与外部键盘相连 工作方式为定 时扫描 利用定时器产生中断 CPU 响应中断后对键盘进行扫描 或软件定时扫描 并在有键 按下时转入键功能处理程序 将 8255A 端口 C 的上 输入方式 下 输出方式 半部分分别 用作键盘的行线和列线 程序使某行为低电平 然后读入并查询列值 如果列值中有某位为低 电平 则说明行列交叉点处的键被按下 否则扫描下一行 直到扫描全部行线 8255A 的端口 A 用来输出显示字符 设置 TAB 为 LED 段选码表的首地址 要显示的数字的地址正好为起始地 址加数字值 其地址存放着对应于该数字值的显示代码 8255A 的端口 B 用来控制 LED 的显示 位 即位控端口 在软件的设计上通过逐个接通 8 位 LED 把 A 口输出的代码送到相应的位上 显示 以减少硬件开支 利用 8253 产生定时 通道 0 用于 60S 倒计时定 定时时间到蜂明器 发出声响 黄灯闪烁 由裁判控制答案正确与否 这两个通道分别用来定时 3S 答案正确绿灯 亮 3 秒 LED 显示的数据加 10 分 否则红灯亮 3 秒 数据减 10 分 3 3 8086 最小应用系统整体设计最小应用系统整体设计 3 3 1 8086 最小应用系统整体模块功能最小应用系统整体模块功能 该模块是整个系统的硬件控制指挥中心 由它控制整个系统运行 3 3 2 8086 最小应用系统整体组成最小应用系统整体组成 该模块有微处理器 8086 74LS30 8284 时钟发生器 8282 8286 等构成 微处理器 CPU 外部设备 及互联设备在各部件之间提供通信 图 8086 最小应用系统电路图 四四 单元电路设计方案和原理说明单元电路设计方案和原理说明 4 1声光报警模块设计声光报警模块设计 当 1 6 号选手抢答键按下后并在 LED 上显示 进入 60 秒计时答题阶段 答题完成后 由裁判 按下完成键 进入下一评分模块 若在 60S 内没有完成答题 则会出现报警 黄灯闪 蜂鸣 器响 然后由裁判控制评分 答对加十分绿灯亮三秒 答错减十分红灯亮三秒 在 LED 上显 示抢答选手号 60S 倒计时开始 答题键按下后由裁判控制评分 答对加十分绿灯亮三秒 答 错减十分红灯亮三秒 若在 60S 内没有完成答题 则会出现报警 黄灯闪 蜂鸣器响 然后 进入下一轮抢答 电路图见 4 2 图 4 2 声光报警电路图 4 2 1 键盘输入模块键盘输入模块 键盘扫描模块的功能是通过 8255 扩展口实现对选手抢答信号的确定 1 1 8 号选手中先按下按键者 LED 数码管显示其选手号码 后按下无效 2 选手按下答题结束键 停止倒记时 3 若该选手回答正确 裁判按加分键 错误按减分键 4 1 2 键盘扫描模块的工作原理键盘扫描模块的工作原理 为减少引线 键盘采用矩阵式 键盘的识别采用行扫描法 程序使某行为低电平 则说明 行列交叉点处的键被按下 然后 再具体确定按下的是哪个键 为此先使所在行输出为 0 再 检查列线是否有 0 如果有零的话 此时由于不能确定闭合键所在的行 于是再用行扫描法来 具体定位 如果读得数据全部为 1 则说明无键闭合 硬件上将 8255 端口 C 的上 下半部分分 别用作键盘的行线和列线 用电平逻辑开关输出高低电平来代替键盘按键 其键盘的程序如下 ST MOV AL 88H OUT PORT8255 C AL WAIT MOV AL 0 OUT PORT C AL IN AL PORT C CMP AL 0FFH JZ WAIT1 PUSH AX PUSH AX CALL DELAY MOV AL 81H OUT PORT8255 C AL POP AX OUT PORT8255 C AL IN AL PORT8255 C MOV AH AL POB BX MOV AL BL MOV SI TABLE 3FH MOV CX 40H LOOP CMP AX SI 0 JZ KEYPRO DEC SI DEC SI DEC CX JNZ LOOP1 JMP ST KEYPOR TABLE DW 1EH 1 号键 DW 2DH 2 号键 DW 66H 3 号键 4 3LED 电路显示模块电路显示模块 数码管的段位顺序如右图所示 一般来说在一个字节中按照 abcdefg dp 的顺序放置字型码 比如在一个 共阴极 数码管上 要显示 1 则 b c 段需被点亮 因此在段选线中写入 60H 对应规则 a D7 b D6 c D5 d D4 e D3 f D2 g D1 图 数码管显示 dp D0 图 4 位 8 段 LED 动态显示器电原理图 LED 显示器的显示方法有两种 静态显示法和动态扫描显示法 静态显示就是每一个显示器 各笔画段都要独占具有所存功能的输出口线 CPU 把要显示的字符代码送到输出口上 就可以 是显示器显示所需的数字后符号 但由于它站用的 I O 口线较多 硬件成本高 所以我们选用 了动态扫描显示法 其显示接口电路如图所示 五 总体电路图及工作原理五 总体电路图及工作原理 5 1 软件设计思想软件设计思想 利用 8255A 的 A 口 C 口作为并行输入输出 其中 C 口定义为高四位输出 低四位输入 A 口 定义为输出 B 口定义为输出 利用 8254 的通道 0 和 1 作为红灯亮 3 秒定时器 绿灯亮定时器 而 8254 的通道 2 用来接黄灯和蜂鸣器具体的功能实现 通过 8255 端口 C 来扫描键盘输入 并有 一定的削抖功能 信号传输至 CPU 进行处理 通过软件进行倒记时 进行加减分 送 LED 显示 信号灯 蜂鸣器作相应的反应 至此整体思路已如上所描述 整个编程思想如下所述 首先 为了使主程序易读 本次设计采用了将多个功能的模块编成为子程序的方法 所用 程序为 键盘显示子程序 键盘扫描子程序 60 秒倒记时子程序 声光报警子程序 第一 初始化 8255A 8253 给 8253 送初值 这一部分主要完成 8255A 8253 的初始化 第二 查询是否有键盘按键按下 若没有按下则继续查询 8253 仍未开始定时 直到检测 出有按键按下为止才可以开始定时 第三 当开始键按下 给 8253 送初值开始定时 然后用 TEST 指令来进行查询 第四 当定时 60S 开始时每进行一次循环要判断是否有答题结束键按下 如果有 结束 60S 倒记时 若没有 倒记时至 0 并打开声光报警系统 第五 通过 8255 检测键盘是否有 正确 键按下 如果有 则调用加法指令 并绿灯闪 烁 否则调用减法指令 红灯闪烁 因此 在设计该软件时考虑到程序设计的基本要求中要求 程序应简单 易读 便于读者 理解 更重要的是设计者自身的设计思想应清晰 编制的程序应易于理解 所以本次设计采用 的软件思想如上所述 5 2 程序流程图程序流程图 该设计的程序流程图可以分为五个 主程序流程图 键盘显示子程序流程图 键盘扫描 子程序流程图 60 秒倒记时声光报警模块程序流程图 计分模块程序流程图 图 5 1 6060 秒倒记时声光报警秒倒记时声光报警 模块程序流程图 模块程序流程图 Y N N Y 图 5 2 取数码表首地址 选择 LED 位码 调倒记时显示子程序 查表并通过 8255 送 LED 显示 判 60S 未到 8254 初始化 CX 减一 8253 通道 2 给初值 调声光报警子程序 CX 0 下一步 SGBAOJING PROC FAR CALL DELAY60S MOV AL 00000000B 关 8253 的 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 键盘扫描子程序流程图 返回 扫描完毕 键号存储器 BL BL 1 继续 修改行扫描值 有列线是否 为低电平 把行数送到 CX 扫描一行 BL 0FFH Y N Y N Y N N Y 是否有列线 处于低电平 状态 有键按下 往所有行线 PC0 PC2 上输出 0 读所有列线 PC4 PC7 电平标 志 开始 将 8255A 的控制字送端口 C 地址 调键盘扫描 BL 0FFH 送键号初值 0 及扫描初值 返回键号 BL 图 5 3 计分部分程序流程图 计分部分程序流程图 N Y Y Y N N 开始 将键码送入 AL 是否加分 调显示加分子程序 调显示减分子程序 定时绿灯亮 3 秒定时红灯亮 3 秒 定时时间到 下一步 图 5 4 定时时间到 灯灭 WARNING MOV AX FENS DIV AX 100 MOV BAI AL MOV AL AH MOV AH 0 DIV 10 MOV TENS AL MOV SECOND AH CALLDISPLAY1 CALLKEY 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 CALLDISPLAY1 键盘显示子程序流程图 键盘显示子程序流程图 N 开始 BX 指向数据缓冲区 使最右边的 LED 灯位选有效 取右边第一个 LED 待显示数据到 AL 段码表首送 BX 取出段码 段码送段口 PA 位码扫描 延时 1ms 扫描完一遍了吗 取下一个待显示数 取下一个位码 Y 扫描结束 子程序返回 图 5 5 六六 个人心得个人心得 这次微机原理课程设计历时两个星期 在整整两星期的日子里 可以说得是苦多于甜 但 是可以学到很多很多的的东西 同时不仅可以巩固了以前所学过的知识 而且学到了很多在书 本上所没有学到过的知识 以前在上课的时候 老师经常强调在写一个程序的时候 一定要事 先把程序原理方框图化出来 但是我开始总觉得这样

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论