基于PC机的智能抢答器设计与实现(图+完整程序)-微机原理课程设计.doc_第1页
基于PC机的智能抢答器设计与实现(图+完整程序)-微机原理课程设计.doc_第2页
基于PC机的智能抢答器设计与实现(图+完整程序)-微机原理课程设计.doc_第3页
基于PC机的智能抢答器设计与实现(图+完整程序)-微机原理课程设计.doc_第4页
基于PC机的智能抢答器设计与实现(图+完整程序)-微机原理课程设计.doc_第5页
免费预览已结束,剩余42页可下载查看

下载本文档

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

文档简介

课课 程程 设设 计计 说说 明明 书书 设计题目 基于 PC 机的智能抢答器 课程设计任务书课程设计任务书 一 课程设计课程设计题目 题目 基于 PC 机的智能抢答器设计与实现 二 二 课程设计主要参考资料课程设计主要参考资料 1 微机原理及接口技术 课程设计指导书 2 80 x86 Pentium 微型计算机原理及应用 教材 3 80X86 微机原理及其接口技术 实验指导书 三 三 课程设计应解决主要问题 课程设计应解决主要问题 1 1 8 号选手中先按下按键者 LED 数码管显示其选手号码 后按下无效 且 60S 倒计时开始 计时结束进行声光报警提示 2 由裁判掌握 若回答正确 该选手对应绿灯亮 否则红灯亮 3 回答正确时 计分牌加 10 分 不正确减 10 分 满分 100 分 4 选手号码及选手分数用 LED 数码管显示 四 四 课程课程设计设计相关相关附件附件 如 图纸 软件等 如 图纸 软件等 1 总体原理图 2 3 五 任务发出日期任务发出日期 指导教师签字 系主任签字 指导教师对课程设计的评语指导教师对课程设计的评语 指导教师签字 年 月 日 摘要摘要 本次设计要求进行基于微机原理的智能抢答器的设计与实现 系统经键盘 扫描模块将选手抢答信号经 8255 扩展口送至 CPU 中央处理器 将处 理信号送至 LED 直接显示选手号 然后进入答题计时模块 若超时 则启用声光报警系统 若在计时时间内回答完毕则由裁判决定对错 并由键盘扫描模块同时发出两路信号 通过 CPU一路送 LED 一 路送声光报警模块进行计分操作 在设计中主要利用 8255A 8253 及实验 箱中的键盘显示区共同完成设计 实现功能 用 LED 数码管显示 1 8 号选手先按 下键者的号码和相应的分数 且能够动态显示 60 秒倒记时 完成键盘中的十二 个功能键的设计 其中包括 1 8 号键 答题结束键 正确键 错误键 复位键 要在程序执行中完成使用这十二个功能键的使用 因此 本次设计要求对微机原 理的理论知识 8255A 8253 键盘显示区的工作方式 工作原理熟练掌握 关键词 关键词 LED 动态显示 功能键 智能抢答器 定时倒记时 声光报警 目目 录录 1 绪论 4 2 方案论证 5 2 1 方案一 5 2 1 1 硬件选择及说明 5 2 1 2 原理框图及原理 6 2 1 3 经济及应用论证 6 2 2 方案二 6 2 2 1 硬件选择及说明 6 2 2 2 原理框图及原理 7 2 2 3 经济及应用论证 8 3 总体设计 9 3 1 总体设计框图 9 3 2 系统工作原理 9 3 3 总体设计工作原理图 见附录 10 4 硬件设计 10 4 1 键盘显示模块电路图 10 4 1 1 键盘扫描模块功能 10 4 1 2 键盘扫描模块的工作原理 1 11 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 1 1 绪论绪论 微型机由于具有体积小 重量轻 耗电少 价格低廉 可靠性高 结构灵活 等特点 近年来取得飞速的发展 他的应用已经深入到科学计算 信息处理 事 务管理 过程控制 仪器仪表设计 民用产品和家用电器等各个方面 智能抢答器的设计与功能实现要求在已学习的基础上 通过对硬件的连接设 计和软件的程序编辑设计实现智能抢答的功能 这项涉及对检验我们的学习成绩 提高自己的动手能力 锻炼独立思考等方面有重要意义 尤其对刚学习过这门课的同学来说 用来巩固自己的学习内容再好不过了 并且对日后的工作有重要指导意义 积累了大量的实践经验 有利于对今后其他 专业科目的学习指导 更能加强创新意识 树立团队精神 培养较高的现代信息的 素养 计算机技术的飞速发展 使的计算机知识和应用技能已成为人类知识经济的 重要组成部分 微型计算机原理及应用 正是掌握计算机结构和工作原理的入 门课程 它偏重于实际应用的课程 要求学生在学好理论知识的基础上 培养一 定的实践动手操作能力 使学生将所学的理论知识和实践有机结合 初步掌握计 算机应用系统设计的步骤和接口设计的方法 提高分析和解决实际问题的能力 微机接口课程设计是对 微型计算机原理及应用 课程理论教学和实验教学的综 合和总结 通过该课程设计 可使学生应对微型计算机系统的基本结构和硬 软 件的工作原理有一个整体的认识 将所学的理论知识和实践有机结合 初步掌握 计算机应用系统设计的步骤和接口设计的方法 提高分析和解决实际问题的能力 锻炼和提高同学们的实践动手能力 2 2 方案论证方案论证 本设计以微机原理及接口技术为基础 以实验箱为工具 完成 PC 机键盘控 制的智能抢答器设计 该智能抢答器包括 8088 最小应用系统整体设计模块 键 盘处理模块 DOS 调用 答题计时与声光报警模块 LED 数码管显示模块 选用 8086 作为微处理器 扩展可编程并行 I O 接口 8255A 芯片 可编程定时计数芯片 8254 可编程中断控制器 8259A 或不用 LED 数码管及键盘和发光二极管等元 件 制定方案如下 2 12 1 方案一方案一 2 1 12 1 1 硬件选择及说明硬件选择及说明 选用 8255A 8254 8259 实验箱键盘显示区 1 8254 作为定时器使用 2 8259 利用 IR0 端作为定时到的中断引入端 IR2 端作为开始键按下的中 断引入端 IR3 端作为清零键按下的中断引入端 IR4 端作为暂停键按下的 中断引入端 IR5 端作为退出键按下的中断引入端 3 8255A 作为并行输入输出 A 口接键盘显示区 C 口接灯光报警系统 B 口输出位码 4 键盘显示区由四个 LED 数码管和 12 个按键组成 2 1 22 1 2 原理框图及原理原理框图及原理 利用 8255A 8259 8254 键盘显示区共同实现 其中 8255A 作为 并行输出输入 8259 作为定时到的中断采集 8254 作为定时 其中键盘显示区 中 KL1 KL4 作为行 KH1 KH4 作为列 当 KL1 KL4 为高电平时四个数码管选通 当给数据线送数据时将显示所要显示的数据 当 KL1 KL4 与 KH1 KH4 共同配合使 用时可作为键盘扫描读入使用并在 LED 数码管上显示按下的键对应的数值 如图 2 1 所示 图 2 1 硬件原理框图 2 1 32 1 3 经济及应用论证经济及应用论证 对于这种方案 8259 中断的引入使程序更易读 更简单一些 操作相对简单 一些 但硬件相应增多 费用也相应增多 2 22 2 方案二方案二 2 2 12 2 1 硬件选择及说明硬件选择及说明 选用 8255A 8254 8259 实验箱键盘显示区 2 2 22 2 2 原理框图及原理原理框图及原理 利用 8255A 的 A 口 C 口作为并行输入输出 其中 C 口定义为高四位输出 低四位输入 A 口定义为输出 B 口定义为输出 利用 8254 的通道 0 和 1 作为红 灯亮 3 秒定时器 绿灯亮定时器 而 8254 的通道 2 用来接黄灯和蜂鸣器具体的 功能实现 通过 8255 端口 C 来扫描键盘输入 并有一定的削抖功能 信号传输 至 CPU 进行处理 通过软件进行倒记时 进行加减分 送 LED 显示 信号灯 蜂 鸣器作相应的反应 硬件原理框图如下图所示 图 2 2 原理框图 2 2 32 2 3 经济及应用论证经济及应用论证 对于这种方案可以看出 硬件设备较少设计 避免了 8259 的使用 节约了 设计成本 软件编程也并不是很复杂 相对于方案一有一定优势 但在调试中由 于软件相对复杂会使运行过程稍微复杂 但可以采用整块运行调试 但须对程序 非常熟悉 方案比较 方案比较 方案二采用扫描 没有用到 8259 程序编制简单 但是 cpu 耗费了更 多的时间在扫描 效率相对来说较低 方案一采用中断 程序结构 化更为清晰 且 cpu 少了循环扫描的时间 效率较高 但是多用了 一个 8259 中断控制芯片 程序编制上涉及到中断服务子程序的编写 稍显复杂 可见两种方案各有优劣 方案选择 方案选择 经过小组讨论 先采用更实用 经济的方案二 完成基本和扩展功能 若有时间 再采用方案一完成实验 3 3 总体设计总体设计 3 13 1 总体设计框图总体设计框图 总体设计框图如图 2 2 所示 3 3 2 2 系统工作原理系统工作原理 本设计主要是以 8088 为核心 通过加上必要的支持芯片 比如时钟电路 地址锁存器 译码器 总线驱动器以及存储器和 I O 接口电路及基本外围设备 构成一台完整微机系统 通过 8255A 与外部键盘相连 工作方式为定时扫描 利 用定时器产生中断 CPU 响应中断后对键盘进行扫描 或软件定时扫描 并在有 键按下时转入键功能处理程序 将 8255A 端口 C 的上 输入方式 下 输出方 式 半部分分别用作键盘的行线和列线 程序使某行为低电平 然后读入并查询 列值 如果列值中有某位为低电平 则说明行列交叉点处的键被按下 否则扫描 下一行 直到扫描全部行线 8255A 的端口 A 用来输出显示字符 设置 TAB 为 LED 段选码表的首地址 要显示的数字的地址正好为起始地址加数字值 其地址 存放着对应于该数字值的显示代码 8255A 的端口 B 用来控制 LED 的显示位 即 位控端口 在软件的设计上通过逐个接通 8 位 LED 把 A 口输出的代码送到相应 的位上显示 以减少硬件开支 利用 8254 产生定时 通道 0 用于 60S 倒计时定 定时时间到蜂明器发出声响 黄灯闪烁 由裁判控制答案正确与否 这两个通道 分别用来定时 3S 答案正确绿灯亮 3 秒 LED 显示的数据加 10 分 否则红灯亮 3 秒 数据减 10 分 3 33 3 总体设计工作总体设计工作电路电路图 见附录 图 见附录 4 4 硬件设计硬件设计 4 14 1 键盘显示模块电路图键盘显示模块电路图 图 4 1键盘显示电路图 4 1 14 1 1 键盘扫描模块功能键盘扫描模块功能 键盘扫描模块的功能是通过 8255 扩展口实现对选手抢答信号的确定 1 1 8 号选手中先按下按键者 LED 数码管显示其选手号码 后按下无效 2 选手按下答题结束键 停止倒记时 3 若该选手回答正确 裁判按加分键 错误按减分键 4 1 24 1 2 键盘扫描模块的工作原理键盘扫描模块的工作原理 1 1 为减少引线 键盘采用矩阵式 键盘的识别采用行扫描法 程序使某行为低 电平 则说明行列交叉点处的键被按下 然后 再具体确定按下的是哪个键 为 此先使所在行输出为 0 再检查列线是否有 0 如果有零的话 此时由于不能确 定闭合键所在的行 于是再用行扫描法来具体定位 如果读得数据全部为 1 则 说明无键闭合 硬件上将 8255 端口 C 的上 下半部分分别用作键盘的行线和列 线 用电平逻辑开关输出高低电平来代替键盘按键 4 1 34 1 3 数码管显示原理数码管显示原理 2 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 图 4 3 4 位 8 段 LED 动态显示器电原理图 LED 显示器的显示方法有两种 静态显示法和动态扫描显示法 静态显示 就是每一个显示器各笔画段都要独占具有所存功能的输出口线 CPU 把要显示的 字符代码送到输出口上 就可以是显示器显示所需的数字后符号 但由于它站用 的 I O 口线较多 硬件成本高 所以我们选用了动态扫描显示法 其显示接口电 路如图 2 3 所示 4 4 80888088 最小应用系统整体模块设计最小应用系统整体模块设计 4 2 14 2 1 80888088 最小应用系统整体模块功能最小应用系统整体模块功能 该模块是整个系统的硬件控制指挥中心 由它控制整个系统运行 4 2 24 2 2 80888088 最小应用系统整体模块组成最小应用系统整体模块组成 4 4 该模块有微处理器 8088 74LS373 8284 时钟发生器 74LS138 译码电路等 构成 微处理器 CPU 外部设备 及互联设备在各部件之间提供通信 Intel 8088 按功能可分为两大部分 执行部分 EU Execution Unit 和总线 接口部分 BIU Bus Interface Unit 其指令队列只有 4 个字节 外部数据总线 是 8 位 内部为 16 位数据线 AD0 AD7 这 8 条数据 地址总线可以复用 内存容 量是 1MB 8 种基本寻址方式 强大的指令系统功能 16 位 I O 端口地址可寻址 64K 个端口地址 74LS138 是 3 8 译码器 通过给 ABC 送入不同的值来控制 Y0 Y7 的线选 8284 时钟发生器是专门为 8088 系统设计配套的单片机时钟发生器 它为 CPU 提供时钟 准备就绪 READY 复位 RESET 信号 还可以向外提供晶体 振荡信号 OSC 外围芯片所需时钟 PCLK 等其它信号 由于 AD0 AD7 即可以作为 8 位地址线 又作为 8 位数据线 为提供 8 位地址 信息 一般必须加三态锁存器 并由 CPU 产生的地址锁存允许信号 ALE 的下跳边 将地址信息锁存入 74LS373 锁存器中 图 4 1 8088 最小应用系统电路图 4 34 3 答题计时 判分显示与声光报警模块设计答题计时 判分显示与声光报警模块设计 4 3 14 3 1 答题计时 判分显示与声光报警模块功能 答题计时 判分显示与声光报警模块功能 当 1 8 号选手抢答键按下后并在 LED 上显示 进入 60 秒计时答题阶段 答题 完成后 由裁判按下完成键 进入下一评分模块 若在 60S 内没有完成答题 则 会出现报警 黄灯闪 蜂鸣器响 然后由裁判控制评分 答对加十分绿灯亮三 秒 答错减十分红灯亮三秒 4 3 24 3 2 答题计时 判分显示与声光报警模块组成 答题计时 判分显示与声光报警模块组成 键盘 可编程定时 计数器 8254 发光二极管 蜂鸣器 8255 和 74LS138 译 码器组成 键盘主要扫描行列式键盘的完成键 8254 作为一个可编程计数器 定时器 可以设定 不论工作在哪种模式 都会遵守下面几条基本规则 4 4 1 控制字写入寄存器时 所有控制逻辑电路立即复位 输出端 OUT 进入初始 状态 2 初值写入后 要经过一个时钟上升沿和一个下降沿 计数执行部件才开始 进行计数 3 通常在时钟脉冲 CLK 的上升沿时 门控信号 GATE 被采样 4 在时钟脉冲的下降沿 计数器作减 1 计数 0 是计数器所能容纳的最大 初始值 在本模块中将用到 8254 0 1 通道来控制红绿灯的亮灭 2 通道的方式 3 产 生 10HZ 方波 来驱动 LED 和蜂鸣器 以实现声光报警功能 74LS138 译码电路用于选通 8254 和 8255A 4 3 34 3 3 答题计时 判分显示与声光报警模块工作原理 答题计时 判分显示与声光报警模块工作原理 在 LED 上显示抢答选手号 60S 倒计时开始 答题键按下后由裁判控制评 分 答对加十分绿灯亮三秒 答错减十分红灯亮三秒 若在 60S 内没有完成答题 则会出现报警 黄灯闪 蜂鸣器响 然后进入下一轮抢答 电路图见 4 2 图 4 2 答题计时 判分显示与声光报警电路图 5 5 软件设计软件设计 5 15 1 软件设计思想软件设计思想 本次实验的软件设计思想如下 利用 8255A 的 A 口 C 口作为并行输入输出 其中 C 口定义为高四位输出 低四位 输入 A 口定义为输出 B 口定义为输出 利用 8254 的通道 0 和 1 作为红灯亮 3 秒 定时器 绿灯亮定时器 而 8254 的通道 2 用来接黄灯和蜂鸣器具体的功能实现 通过 8255 端口 C 来扫描键盘输入 并有一定的削抖功能 信号传输至 CPU 进行处 理 通过软件进行倒记时 进行加减分 送 LED 显示 信号灯 蜂鸣器作相应的反 应 至此整体思路已如上所描述 整个编程思想如下所述 首先 为了使主程序易读 本次设计采用了将多个功能的模块编成为子程序 的方法 所用程序为 键盘显示子程序 键盘扫描子程序 60 秒倒记时子程序 声光报警子程序 第一 初始化 8255A 8254 给 8254 送初值 这一部分主要完成 8255A 8254 的初始化 第二 查询是否有键盘按键按下 若没有按下则继续查询 8254 仍未开始定 时 直到检测出有按键按下为止才可以开始定时 第三 当开始键按下 给 8254 送初值开始定时 然后用 TEST 指令来进行查 询 第四 当定时 60S 开始时每进行一次循环要判断是否有答题结束键按下 如 果有 结束 60S 倒记时 若没有 倒记时至 0 并打开声光报警系统 第五 通过 8255 检测键盘是否有 正确 键按下 如果有 则调用加法指令 并绿灯闪烁 否则调用减法指令 红灯闪烁 因此 在设计该软件时考虑到程序设计的基本要求中要求 程序应简单 易 读 便于读者理解 更重要的是设计者自身的设计思想应清晰 编制的程序应易 于理解 所以本次设计采用的软件思想如上所述 5 25 2 程序流程图程序流程图 该设计的程序流程图可以分为五个 主程序流程图 键盘显示子程序流程图 键盘扫描子程序流程图 60 秒倒记时声光报警模块程序流程图 计分模块程序流 程图 注 程序流程图如下所示 主程序流程图 图 5 1 6060 秒倒记时声光报警秒倒记时声光报警 模块程序流程图 模块程序流程图 Y N N Y 图 5 2 取数码表首地址 选择 LED 位码 调倒记时显示子程序 查表并通过 8255 送 LED 显示 判 60S 未到 8254 初始化 CX 减一 8254 通道 2 覆初值 调声光报警子程序产生方 波驱动蜂鸣器及黄灯 CX 0 下一步 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 键盘扫描子程序流程图 返回 扫描完毕 键号存储器 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 6 6 调试分析调试分析 6 16 1 硬件调试硬件调试 为了使每次实验都能准确进行 实验前先进行硬件调试 首先 检测 LED 数码管是否显示良好 其次 检测数码管为良好显示后 再检查 8255A 的三个输送端口 A 口 B 口 C 口是否可以正常输出输入 作为并行端口使用 再次 查 8254 的良好性 只能通过简单小程序单步进行检测 或用示波器 来进行检测 最后确定实验时排线连接正确 及电源开关正确 尽量避免长时间将实验箱 处于开电源状态以使实验箱温度过高 6 26 2 软件调试软件调试 在进行软件调试时遇到了许多问题 下面叙述如下 1 在刚开始编程时 各种功能大部分是由主程序来完成的 由于主程序 过于复杂 可读性不高 使得在以后的程序的调试中遇到了很大的麻烦 后来把 主程序的部分功能转化成子程序来实现 并在一些重要的地方增加了注释 使的 程序的可读性大大加强 调试也变的比较简单了 到此基本解决了第一个问题 2 在编程时 子程序的调试也是相当重要 由于子程序不可避免的使用 AX BX CX DX 通用寄存器一个或几个 使得原主程序中的通用寄存器的内容很 容易被覆盖 对子程序中所有的通用寄存器出入栈即可以避免上诉的问题 不用 考虑使用的是哪几个寄存器 使用起来又比较简单方便 所以至此这个问题也已 基本解决 3 软件的调试是一个复杂烦琐而漫长的过程 在调试的过程中一定要耐 下心来去做 否则一旦出现烦躁的心里 就会事倍功半 适得其反 在本次设计中出现的主要问题即如上所述 解决方法也如上所述 在今后 的软件调试过程中更应注意如上问题 7 7 总结总结 我们进行了为期两周的课程设计 在这两周的微机原理课程设计里我拓宽了 知识面 锻炼了能力 综合素质得到较大提高 安排课程设计的基本目的 在于通过理论与实际的结合 人与人的合作 进 一步提高思想觉悟 尤其是观察 分析和解决问题的实际工作能力 以便培养成 为能够主动适应社会主义现代化建设需要的高素质的复合型人才 作为整个学习体系的有机组成部分 课程设计虽然安排在两周进行 但并不 具有绝对独立的意义 它的一个重要功能 在于运用学习成果 检验学习成果 运用学习成果 把课堂上学到的系统化的理论知识 尝试性地应用于实际设计工 作 并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想 检验 学习成果 看一看课堂学习与实际工作到底有多大距离 并通过综合分析 找出 学习中存在的不足 以便为完善学习计划 改变学习内容与方法提供实践依据 对我们电气工程专业的本科生来说 实际能力的培养至关重要 而这种实际 能力的培养单靠课堂教学是远远不够的 必须从课堂走向实践 这也是一次预演 和准备毕业设计工作 通过课程设计 让我们找出自身状况与实际需要的差距 并在以后的学习期间及时补充相关知识 为求职或继续深造做好充分的知识 能 力准备 从而缩短从校园走向社会的心理转型期 课程设计促进了我系人才培养计划的完善和课程设置的调整 近年来 我系 为适应学生的实践需要陆续增设与调整了一系列课程 受到同学的欢迎 其中这 次的设计很受同学们的喜欢 课程设计达到了专业学习的预期目的 在课程设计之后 我们普遍感到不仅 实际动手能力有所提高 更重要的是通过对软件开发流程的了解 进一步激发了 我们对专业知识的兴趣 并能够结合实际存在的问题在专业领域内进行更深入的 学习 参考资料参考资料 1 微型计算机原理及接口技术 冯博琴 清华大学出版社 2 模拟电子技术 王远 机械工业出版社 3 8086 pentium 处理器软件及接口技术教程 walter A triebel 著 王克 义 王钧 方晖 蔡旭斌译 4 薛琳 吕英俊 80X86 微机原理及其接口技术 实验指导书山东科技大学信 电学院微机实验室 DATASEGMENT KEY V DB P8255 A EQU 0E180H P8255 B EQU 0E184H P8255 C EQU 0E182H P8255 CTRL EQU 0E186H P8254 0 EQU 0E190H P8254 1 EQU 0E192H P8254 2 EQU 0E194H P8254 CTRL EQU 0E196H DIS TABLEDB0C0H 0F9H 0A4H 0B0H 099H 92H 82H DB0F8H 080H 90H 88H 83H 0C6H 0A1H DB86H 8EH 0FFH 8CH 89H 8EH 0BFH 0F7H LED 显示码表 DIS BIT0 DB DIS BIT1 DB DIS BIT2 DB DIS BIT3 DB NUM DB BAIDB TENSDB SECONDDB FENDW CHUN DB SHI EQU 000AH CHUSHU DB SHANG DB YUSHU DB DATAENDS CODESEGMENT ASSUMECS CODE DS DATA START MOVAX DATA MOVDS AX MOVBAI 0 MOVTENS 6 MOVSECOND 0 START1 MOVAL 10001000B MOVDX P8255 CTRL 8255 控制字端口 OUTDX AL MOVAL 00010001B 8254 初始化 MOVDX P8254 CTL OUTDX AL NEXT CALL KEY MOVAL BL CMPAL 07 JA NEXT ADDBL 1 MOVMUM BL CALL DISPLAY1 MOVCX 60 MOVAL 00010001B 8254 初始化 MOVDX P8254 CTL OUTDX AL MOVAL 32H CLK0 取 32HZ 定时 1S MOVDX P8254 1 OUTDX AL PUSH AX PUSH BX PUSH CX PUSH DX LEA BX DIS TABLE MOV AX 60 MOV CX 60 LOP MOV DX P8255 B OUT DX 0FBH 选择位码 CALL DJSXS XLAT MOV DX P8255 A OUT DX AL MOV AL AH XLAT MOV DX P8255 B OUT DX 0F7H MOV DX P8255 A OUT DX AL CALL DELAY1S MOV DX P8255 C 判断未到 60 答题结束 IN AL DX TEST AX 0F3H JZ LL DEC AX LOOP LOP CALLSGBAOJING LL POP DX POP CX POP BX POP AX CALLKEY WARNING MOVAX FENS DIVAX 100 MOVBAI AL MOVAL AH MOVAH 0 DIV10 MOVTENS AL MOVSECOND 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 DIVAX 100 MOVBAI AL MOVAL AH MOVAH 0 DIV10 MOVTENS AL MOVSECOND AH CALLDISPLAY1 MOV DX 8284 CTRL MOV AL 10010001B OUT DX AL 二通道控制字 MOV DX 8254 1 MOV AL 96H 初值 OUT DX AL 红灯亮 JIA MOV AX FENS NUM 1 ADD AX 10 MOV FENS AX DIVAX 100 MOVBAI AL MOVAL AH MOVAH 0 DIV10 MOVTENS AL MOVSECOND AH CALL DISPLAY1 MOV DX 8254 CTRL MOV AL 00010001B OUT DX AL 二通道控制字 MOV DX 8254 2 MOV AL 96H 初值 OUT DX AL 绿灯亮 CHAXUN CALL DISPLAY1 MOV DX P8255 C IN AL DX CMP AL 7BH 是否为复位键 JNE CHAXUN MOV AL 00000000B MOV DX P8255 B OUT DX AL JMP START1 KEY PROC FAR MOV DX P8255 CTRL MOV AL 10001000B OUT DX AL CALL KEYSCAN CMP BL 0FFH JNZ WAIT RET WAIT MOV KEY V BL CALL DELAY CALL KEYSCAN CMP BL KEY V JZ RELEASE RET RELEASE MOV AL 0F0H MOV DX P8255 C OUT DX AL IN AL DX AND AL 0F0H CMP AL 0F0H JNZ RELEASE RET KEY ENDP KEYSCAN PORC FAR KEYSCAN MOV AL 0F0H MOV DX P8255 C OUT DX AL IN AL DX AND AL 0F0H CMP AL 0F0H JNZ DONE MOV BL 0FFH RET DONE MOV BL 0 MOV CL 0FEH MOV CH 3 FROW MOV AL CL MOV DX P8255 C OUT DX AL RCL AL 1 MOV CL AL IN AL DX AND AL 0F0H CMP AL 0F0H JNZ FCOL ADD BL 4 DEC CH JNZ FROW RET FCOL RCL AL 1 JNC FCOL1 INC BL JMP FCOL FCOL1 RET KEYSCAN ENDP DI

温馨提示

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

评论

0/150

提交评论