微机原理课程设计抢答器
完全详细的微机原理课程设计竞赛抢答器设计

竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计课程设计说明书2006年 7月竞赛抢答器设计一. 设计内容:设计一个8路的智力竞赛抢答器。
在主持人侧,设置抢答指示电路和启动,复位按钮。
选手侧各设置1个抢答按钮。
主持人按动启动按钮,可以进行一次抢答,绿色发光二极管亮作允许抢答指示。
竞赛者抢答主持人所提的问题时,按动各自的抢答按钮。
用实验仪的逻辑电平开关K1-K8来代表8个抢答按钮。
当开关向上拨为“1”时表示按下按钮,收到第1个抢答信号后,主持人侧红色发光二极管亮作抢答提示,在单个LED数码管显示抢先一组的组别,主持人按下复位按钮,指示灯和数码管熄灭。
主持人念完题目后可以按动起动按钮,开始下一次抢答。
启动,复位按钮由一个AN按钮来代替。
按动AN按钮时分别进行启动,复位操作,即这一次按动AN按钮进行复位后,下一次则进行启动操作。
选用芯片:8255。
设计要求:a)画出电路原理图b)说明工作原理c)编写程序二.设计原理系统选择8086CPU,8255A片选地址为04A*H,如下图所示。
8255A的A口只作输出使用,驱动数码管。
8255的B口只作输入使用,作为8个抢答信号的输入。
8255的C口作位操作,驱动发光管。
A口地址为04A0H。
B口地址为04A2H,C口地址为04A4H,控制字地址04A6H。
A口工作方式选方式0,B口工作方式选方式1。
8255A工作方式控制字为86H(1000,0110)B。
C口的最高两位PC6,PC7作位操作,驱动发光管二极管。
单片机、微机原理课程设计(八路抢答器)

《微机原理与接口技术》课程设计报告基于STC89C52防违规八路抢答器院系:专业(班级):姓名:学号:指导教师:职称:完成日期: 2013 年 12 月 25 日目录1 引言 (1)2 总体方案论证与设技 (1)2.1 主控模块的选型和论证 (1)2.2 显示模块的选型和论证 (2)2.3 按键模块的选型和论证 (2)2.4 系统整体设计概述 (3)2.5 系统使用说明 (4)3 系统硬件电路设计 (4)3.1 主控模块 (4)3.1.1 单片机芯片介绍 (5)3.1.2 单片机最小系统 (6)3.2 数码管模块设计 (6)3.2.1 数码管原理介绍 (7)3.2.2 数码管电路设计 (7)3.3 键盘模块设计 (8)3.4 蜂鸣器模块设计 (8)4 系统软件设计 (9)4.1 系统软件总体设计 (9)4.2 程序设计原理 (10)5 系统调试 (11)5.1 硬件调试 (11)5.2 调试结果 (12)6 总结 (12)7 致谢 (13)参考文献 (14)附录A 系统整体原理图 (15)附录B 实物图 (16)附录C 系统源程序 (17)基于STC89C52防违规八路抢答器1 引言随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。
本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。
单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。
对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。
抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。
选手们都站在同一个起跑线上,体现了公平公正的原则。
1.1 本系统主要研究内容本系统设计制作一个基于单片机的8路抢答器。
能实现以下几种功能:(1)键盘扫描,显示当前按键。
微机原理课设数字抢答器

沈阳工程学院课程设计课程设计题目:竞赛抢答器设计系别电气工程系班级继电本095 学生姓名刘洪硕学号 2009205515 指导教师曲乐声,踪念品职称讲师,工程师起止日期:2012年06月11日起—至2012年06月15日止沈阳工程学院课程设计任务书课程设计题目:竞赛抢答器设计系别电气工程系班级继电本095 学生姓名刘洪硕学号 2009205515 指导教师曲乐声,踪念品职称讲师,工程师课程设计进行地点:微机原理实验室(F106)任务下达时间:2012 年06 月4日起止日期:2012年06月11日起—至2012年06月15日止教研室主任王健 2012年5月28日批准一、设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。
通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。
为以后学生结合专业从事微机应用设计奠定基础。
二、设计的原始资料及依据查阅微机原理的教材、试验指导书等参考资料,进一步熟悉微机的基本原理、常用芯片的基本特性,并着重研究可编程并行芯片8255、8254的原理及应用。
运用8255的输入输出功能实现抢答的基本目的及8段数码管的数字显示功能;运用8254的分频功能,实现抢答后不同的提示音乐。
三、设计的主要内容及要求内容: 利用微机原理试验箱的8255单元和LED数码管,模拟竞赛抢答器。
要求: 通过按钮等方式,完成抢答器的基本要求,即可以区分哪组选手先完成抢答。
1. 接口设计:根据所选题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过。
2. 程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。
可选: 运用8段显示器显示抢答选手编号、运用8254及扬声器发出抢答提示音。
发挥: 运用8254使每组抢答到之后发出不同音阶的提示音,从而从声音上区分最先完成抢答的选手。
微机原理课程设计 抢答器

微机原理课程设计抢答器一、引言抢答器是一种常见的教学辅助设备,用于提高课堂互动和学生参与度。
本文旨在设计一款基于微机原理的抢答器,实现以下功能:抢答按钮、显示抢答结果、计时器、声音提示等。
本文将详细介绍设计方案、硬件连接、软件编程以及测试结果等内容。
二、设计方案1. 硬件设计方案本设计采用基于单片机的硬件方案,主要包括以下模块:(1) 单片机模块:使用ATmega328P单片机作为主控芯片,具有丰富的IO口和定时器/计数器功能。
(2) 抢答按钮模块:使用按键开关作为抢答按钮,通过IO口与单片机连接。
(3) 显示模块:使用数码管或液晶显示屏显示抢答结果和计时器,通过IO口与单片机连接。
(4) 声音模块:使用蜂鸣器或喇叭发出声音提示,通过IO口与单片机连接。
2. 硬件连接根据硬件设计方案,进行如下连接:(1) 将抢答按钮的一个端口连接到单片机的一个IO口,另一个端口接地。
(2) 将显示模块的引脚连接到单片机的IO口,根据具体使用的数码管或液晶显示屏进行连接。
(3) 将声音模块的引脚连接到单片机的IO口。
3. 软件设计方案本设计采用C语言编程,使用Arduino开发环境进行编程。
主要实现以下功能:(1) 初始化:设置IO口方向和初始状态。
(2) 抢答逻辑:检测抢答按钮状态,记录首次按下的学生编号。
(3) 显示结果:根据抢答逻辑判断,将结果显示在数码管或液晶显示屏上。
(4) 计时器:使用定时器/计数器功能实现计时器,显示剩余时间。
(5) 声音提示:根据抢答结果使用蜂鸣器或喇叭发出声音提示。
三、测试与结果1. 硬件测试按照硬件连接方案进行连接后,使用万用表检测各个模块的电压和电流是否正常。
通过按下抢答按钮,观察数码管或液晶显示屏的显示结果,以及声音模块是否正常发出声音。
2. 软件测试使用Arduino开发环境将编写好的程序烧录到单片机中,通过按下抢答按钮,观察数码管或液晶显示屏的显示结果是否与预期一致。
同时,检查计时器和声音提示功能是否正常工作。
6组抢答器课程设计

6组抢答器课程设计一、课程目标知识目标:1. 学生能够理解抢答器的原理,掌握其基本组成部分及功能。
2. 学生能够运用所学的电子技术知识,设计并搭建一个简单的6组抢答器电路。
3. 学生能够解释抢答器在现实生活中的应用,了解其在科技领域的重要性。
技能目标:1. 学生能够运用所学知识,进行电路图的绘制和电路搭建。
2. 学生能够通过小组合作,完成抢答器的制作,提高团队协作能力。
3. 学生能够运用抢答器进行课堂互动,提高课堂参与度和反应速度。
情感态度价值观目标:1. 学生在课程学习中,培养对电子科技的兴趣和热情,提高科技创新意识。
2. 学生通过小组合作,培养团队精神,学会尊重和倾听他人的意见。
3. 学生在抢答器制作过程中,锻炼解决问题的能力,培养勇于尝试、不断进取的精神。
课程性质:本课程为电子技术实践课程,注重理论知识与实际操作的相结合。
学生特点:六年级学生具备一定的电子技术基础,对新鲜事物充满好奇,喜欢动手实践。
教学要求:结合学生特点,课程设计应注重实践性、趣味性和挑战性,引导学生在动手实践中掌握知识,提高技能,培养情感态度价值观。
通过具体的学习成果分解,使学生在课程结束后能够达到上述目标。
二、教学内容本章节教学内容主要包括以下几部分:1. 抢答器原理及其电路设计- 抢答器的基本工作原理- 抢答器电路的组成部分及其功能- 电路图绘制方法2. 电路元件的认识与使用- 常用电子元件的识别和功能- 元件的焊接和电路连接技巧- 安全操作规范3. 抢答器制作与调试- 小组分工合作,制作抢答器电路- 电路搭建过程中问题的解决方法- 抢答器功能的调试与优化4. 课堂互动与评价- 使用抢答器进行课堂提问与竞赛- 学生作品展示与评价- 课程总结与反思教学内容依据课程目标进行选择和组织,注重科学性和系统性。
教学大纲安排如下:第1课时:抢答器原理学习,电路图绘制第2课时:电路元件的认识与使用,焊接技巧第3课时:抢答器电路制作与调试第4课时:课堂互动与评价教材章节关联:《电子技术》第五章“数字电路基础”,第3节“触发器及其应用”。
微机原理6路抢答器

《微机原理与接口技术》课程设计题目:交灯系统设计学院(系):信息工程系年级专业:自动化1073学号:102124073 09学生姓名:李华坤指导教师:周立群一设计题目:六路抢答器摘要本次设计要求进行基于微机原理的智能抢答器的设计与实现。
系统经键盘扫描模块将选手抢答信号经8255扩展口送至CPU中央处理器,将处理信号送至LED直接显示选手号。
然后进入答题计时模块,若超时则启用声光报警系统,若在计时时间内回答完毕则由裁判决定对错,并由键盘扫描模块同时发出两路信号,通过CPU 一路送LED,一路送声光报警模块进行计分操作。
在设计中主要利用8255A,8253及实验箱中的键盘显示区共同完成设计。
实现功能:用LED数码管显示1-6号选手先按下键者的号码和相应的分数,且能够动态显示60秒倒记时,完成键盘中的十二个功能键的设计,其中包括:1-6号键、答题结束键、正确键、错误键。
要在程序执行中完成使用这十二个功能键的使用。
因此,本次设计要求对微机原理的理论知识,8255A,8253,键盘显示区的工作方式、工作原理熟练掌握。
二方案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等,构成一台完整微机系统。
课程设计报告抢答器

课程设计报告抢答器一、课程目标知识目标:1. 学生能够理解抢答器的原理,掌握其基本组成部分及功能。
2. 学生能够运用所学知识,设计并制作一个简单的抢答器电路。
3. 学生了解抢答器在现实生活中的应用,并能够分析其优缺点。
技能目标:1. 学生能够运用电子元件进行电路搭建,提高动手实践能力。
2. 学生能够通过小组合作,提高团队协作能力和沟通能力。
3. 学生能够运用所学知识解决实际问题,提高创新能力。
情感态度价值观目标:1. 学生对电子技术产生兴趣,培养探究精神和科学态度。
2. 学生在小组合作中,学会尊重他人意见,培养团队精神。
3. 学生通过实际操作,体会科技改变生活的意义,增强社会责任感。
课程性质:本课程为电子技术实践课,旨在让学生通过动手实践,掌握电子技术基本知识和技能。
学生特点:五年级学生,具备一定的电子技术基础,好奇心强,喜欢动手实践。
教学要求:结合学生特点,注重理论与实践相结合,提高学生动手实践能力,培养创新精神。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容本章节教学内容以抢答器设计与制作为主线,结合以下章节和内容展开:1. 电子元件的认识:- 介绍常用电子元件(如电阻、电容、二极管、三极管等)及其功能。
- 分析抢答器中所需电子元件的作用。
2. 抢答器原理与电路设计:- 讲解抢答器的基本原理,包括触发器、时钟电路等。
- 介绍抢答器电路的设计方法,引导学生思考如何实现抢答功能。
3. 电路搭建与调试:- 指导学生运用所学知识,搭建抢答器电路。
- 教授调试方法,分析可能出现的故障及解决办法。
4. 小组合作与展示:- 分组进行抢答器制作,培养学生的团队协作能力。
- 各小组展示作品,分享制作过程中的经验与收获。
教学内容安排与进度:1. 第1课时:电子元件的认识,抢答器原理讲解。
2. 第2课时:抢答器电路设计,小组讨论制定设计方案。
3. 第3课时:电路搭建与调试,教师巡回指导。
4. 第4课时:小组展示与评价,总结课程收获。
微机原理课程设计 抢答器

课程设计报告课程微机原理课程设计题目竞赛抢答器系别年级专业班级学号学生姓名指导教师职称设计时间目录第一章关于抢答器的概述及设计要求 (2)1.1数字抢答器的简介 (2)1.2课程设计要求 (2)1.2.1可编程并行接口芯片8255A控制字要求 (2)1.2.2可编程定时器/计数器8253控制字要求 (3)1.3实现功能 (3)第二章总体设计 (4)2.1基本工作原理 (4)2.2硬件总体设计 (4)2.2.1硬件器材 (4)2.2.2内存单元编址 (4)2.2.3开关、扬声器及显示功能的定义 (4)2.3软件总体设计 (5)2.3.1存储单元的分配 (5)第三章硬件设计 (6)3.1系统所选用各芯片介绍 (6)3.1.1可编程并行接口接口芯片8255A (6)3.1.2可编程定时器/计数器8253 (7)3.2系统所选用各芯片的连接 (8)3.2.1各芯片与CPU的连接 (8)3.2.2各芯片之间的连接和与外设的连接 (8)第四章软件设计 (9)4.1子程序流程图 (9)4.2子程序清单 (10)4..2.1获取选手号码子程序: (10)4.2.2数码管显示子程序: (10)4.2.3扬声器鸣叫子程序: (11)4.2.4扬声器鸣叫时间: (11)第五章结果分析 (12)结束语 (13)参考文献 (14)附录 (15)主程序清单 (15)第一章关于抢答器的概述及设计要求1.1数字抢答器的简介随着我国经济和文化事业的发展,当今的社会竞争日益激烈,在很多竞争场合要求有快速公正的竞争裁决,例如证券、股票交易、选拔人才、评选优胜及各种智力竞赛等。
目前知识竞赛之类的活动愈加频繁,凡是有知识竞赛类的活动那么也就必然离不开抢答器。
而现在的抢答器向着数字化,智能化的方向发展,这就必然提高了抢答器的成本。
鉴于现在小规模的知识竞赛越来越多,所以操作简单、经济实用的小型抢答器必将大有市场。
因此简易的数字抢答器必将成为小规模知识竞赛之首选。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安郵電大学硬件课程设计报告题目:抢答器院系名称:计算机学院专业名称:班级:学生姓名:学号(8位):指导教师:设计起止时间一.设计目的用逻辑开关模拟竞赛抢答器按钮(共8个开关:K0 ~ K7)当某个逻辑开关置“1”时,相当某组抢答按钮按下。
在七段数码管上将其组号(0~7)显示出来,若为0表示无人抢答。
从键盘上按空格键开始下一轮抢答,按 <ESC>键退出程序。
二. 设计内容1.选用元器件:(1)、并行接口8255:通过编程来指定它要完成的功能,是并行数字设备与微机间的接口。
8255用于输入抢答信息,并输出正确的序号给数码管,以及控制LED灯的亮灭。
本设计中8255A的地址范围设置为1400H—1403H,其中控制口地址为1403H。
而且使用了8255A的A口,B口和C口。
它们均工作在方式0下,其中A口和C口为输出,B口为输入。
(2)、数码管:指示先抢答的组号。
(3)、二极管:指示抢答。
(4)、开关:作为抢答者的按钮。
2.基础实验一:8255基本输入输出能够在自行设计的接口开发板上,实现拨动开关控制LED的亮灭。
(软件代码命名为:8255.ASM,代码要求用小写字母,且必须经过优化,源代码小于<95行,每条指令算1行,伪指令也算1行)3.基础实验二:流水灯设计实现能够在自行设计的接口开发板上,实现拨动不同开关控制LED灯的变化。
例如,K1从左往右,K2从右往左,K3从中间向两边,K4从两边向中间依次亮灭变化,按主机键盘任意键退出。
(软件代码命名为:TEST2.ASM,代码要求用小写字母,且必须经过优化,源代码小于<85行,每条指令算1行,伪指令也算1行)4.基础实验三:数码管应用能够在自行设计的接口开发板上,上电数码管显示0到7,实现拨动不同开关,数码管显示该开关位置值(1-8);若同时拨动两个以上开关,则数码管显示“E”。
(软件代码命名为:8SEGMENT.ASM,代码要求用小写字母,且必须经过优化,源代码小于<100行,每条指令算1行,伪指令也算1行)5.抢答器:用逻辑开关模拟竞赛抢答器按钮(共8个开关:K0 ~ K7)当某个逻辑开关置“1”时,相当某组抢答按钮按下。
在七段数码管上将其组号(0~7)显示出来,若为0表示无人抢答。
从键盘上按空格键开始下一轮抢答,按 <ESC>键退出程序。
三.概要设计1.功能模块图;开始初始化否开始抢答?是否有组抢答?是判断抢答小组号?LED灯显示结束2.所用芯片8255引脚图3.抢答器电路图四.详细设计1. 实验步骤(1)、在实验箱上连接8255的WR、CS、RD、D0-D7、A1A0以及8255输入输出端口A,B,C口连接到led灯、8段数码管、开关上。
硬件电路搭建完毕。
(2)、在TD—PIT上篇写汇编程序,进行测试。
(3)、在Proteus 上按照需求连接电路,为验证电路正确性,为其加入输入,进行模拟。
模拟结果正确后,将电路图保存。
(4)、制作硬件电路2、遇到的问题:(1)、在8255的使用过程中,由于对控制字的使用错误,导致不能从A、B口输出信息,最后通过检查,改变控制字,实现了功能。
(2)、汇编语言的运用。
由于平时较少使用汇编语言,用汇编语言编写程序方面存在不小的障碍,通过知识回顾复习,对汇编进一步的了解后,熟练运用。
(3)、汇编语言要求短小精悍,由于程序过长,在使用jnz指令时,出现错误:Relative jump out of range byte XXXXh bytes。
通过二度跳转,解决了这个问题。
五.调试情况,设计技巧及体会通过对抢答器这一课题的设计和实现,使我更好的将理论与实践相结合,我更加深入地理解了微机原理课程上讲到的并行芯片8255的功能,以及引脚的作用,同时加深了对于该芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程。
更重要的是通过这个实验,进一步掌握了程序设计的合理结构。
但要达到这样的程度其首要条件还是要学好课本上的基础知识,理解每一条指令的意义。
让我感到很欣慰的是,与搭档的合作下高效地、顺利地完成本次实验。
六.参考文献《微机接口技术及其应用》---李育贤《微型计算机原理》---王忠民七.附录:源代码(电子版)一、8255基本输入输出data segmentdata endscode segmentassume cs:code, ds:datastart:mov dx,1403hmov al,10010000bout dx,alread:mov dx,1400hin al,dxmov dx,1401hout dx,almov ah,1int 16hjz readmov ah,4chint 21hcode endsend start二、流水灯设计实现data segmentmy8255_a equ 1400h ;8255的A口地址my8255_b equ 1401h ;8255的B口地址my8255_c equ 1402h ;8255的C口地址my8255_mode equ 1403h ;8255的控制寄存器地址mode_a db 10001001b ;控制字left db 0fehdata endscode segmentassume cs:code,ds:datastart:MOV DX, 1406H ;写控制口MOV AL, 90HOUT DX, ALREAD:MOV DX, 1400H ;写A端口IN AL, DXMOV DX, 1402H ;写B端口AND AL, 01HJZ key1AND AL, 02HJZ key2AND AL, 04HJZ key3AND AL, 08HJZ key4JMP READkey1:;for( i = 0; i < 5; i++);for(al = 0x08; al != 0; al >> 1)MOV CX, 5MOV AL, 08HL_TO_RCNT:PUSH CXL_TO_R:MOV CX, 8OUT DX, ALSHL AL, 1LOOP L_TO_RPOP CXLOOP L_TO_RCNTJMP READkey2:;for( i = 0; i < 5; i++);for(al = 0x01; al != 0; al << 1)MOV CX, 5MOV AL, 01HR_TO_LCNT:PUSH CXR_TO_L:MOV CX, 8OUT DX, ALSHR AL, 1LOOP R_TO_LPOP CXLOOP R_TO_LCNTJMP READkey3:MOV CX, 5M_TO_OCNT:MOV SI, 4M_TO_O:MOV AL, TABLE[4-SI]OUT DX, ALDEC SIJNZ M_TO_OLOOP M_TO_OCNTJMP READkey4:MOV CX, 5CNT:MOV SI, 4O_TO_M:MOV AL, TABLE[SI]OUT DX, ALDEC SIJNZ O_TO_MLOOP CNTJMP READ; OUT DX, AL; JMP READmov ax, 4c00hint 21hCODE ENDSend start三、数码管应用data segmentmy8255_a equ 1400h ;8255的A口地址my8255_b equ 1401h ;8255的B口地址my8255_c equ 1402h ;8255的C口地址my8255_mode equ 1403h ;8255的控制寄存器地址mode_a db 10001001b ;控制字data endscode segmentassume cs:code,ds:datastart:MOV DX, 1406H ;写控制口MOV AL, 90HOUT DX, ALREAD:MOV DX, 1400H ;写A端口IN AL, DXMOV DX, 1402H ;写B端口MOV BL, AL ;保存端口读到的值A1:TEST AL, 01HJNZ A2OR AL, 01HCMP AL, 0FFHJZ key1JMP keyEA2:MOV AL, BLTEST AL, 02HJNZ A3OR AL, 02HCMP AL, 0FFHJZ key2JMP keyEA3:MOV AL, BLTEST AL, 04HJNZ A4OR AL, 04HCMP AL, 0FFHJZ key3JMP keyEA4:MOV AL, BLTEST AL, 08HJNZ A5OR AL, 08HCMP AL, 0FFHJZ key4JMP keyEA5:MOV AL, BLTEST AL, 10HJNZ A6OR AL, 10HCMP AL, 0FFHJZ key5JMP keyEA6:MOV AL, BLTEST AL, 20HJNZ A7OR AL, 20HCMP AL, 0FFHJZ key6JMP keyEA7:MOV AL, BLTEST AL, 40HJNZ A8OR AL, 40HCMP AL, 0FFHJZ key7JMP keyEA8:MOV AL, BLTEST AL, 80HJNZ READOR AL, 80HCMP AL, 0FFHJZ key8JMP keyEkey1:MOV AL, TABLE[0]OUT DX, ALJMP READkey2:MOV AL, TABLE[1]OUT DX, ALJMP READkey3:MOV AL, TABLE[2]OUT DX, ALJMP READkey4:MOV AL, TABLE[3]OUT DX, ALJMP READkey5:MOV AL, TABLE[4]OUT DX, ALJMP READkey6:MOV AL, TABLE[5]OUT DX, ALJMP READkey7:MOV AL, TABLE[6]OUT DX, ALJMP READkey8:MOV AL, TABLE[7]OUT DX, ALJMP READkeyE:MOV AL, TABLE[8]OUT DX, ALJMP READ; OUT DX, AL; JMP READmov ax, 4c00hint 21hCODE ENDSend start四、抢答器data segmentmy8255_a equ 1400h ;8255的A口地址my8255_b equ 1401h ;8255的B口地址my8255_c equ 1402h ;8255的C口地址my8255_mode equ 1403h ;8255的控制寄存器地址mode_a db 10001001b ;控制字data endscode segmentassume cs:code,ds:datastart:MOV DX, 1406H ;写控制口MOV AL, 90HOUT DX, ALREAD:MOV DX, 1400H ;写A端口IN AL, DXMOV DX, 1402H ;写B端口;倒计时过程到了0开始抢答MOV SI, 5TIME:;延时等待MOV CX, 0FFFFHdelay:LOOP delayMOV AL, TABLE[SI]OUT DX, ALDEC SIJNZ TIMEMOV BL, ALA1:TEST AL, 01HJZ key1A2:TEST AL, 02HJZ key2A3:TEST AL, 04HCMP AL, 0FFHA4:TEST AL, 08HJZ key4A5:TEST AL, 10HJZ key5A6:TEST AL, 20HJZ key6A7:TEST AL, 40HJZ key7A8:TEST AL, 80HJZ key8;无人抢答MOV AL, TABLE[0]OUT DX, ALNEXT: ;等待输入空格键或者Esc 到下一轮抢答或者退出程序MOV AH, 1INT 21H ;CMP AL, 32 ;是否为空格JZ READCMP AL, 27 ;是否为 EscJZ ENDkey1:MOV AL, TABLE[1]OUT DX, ALJMP NEXTkey2:MOV AL, TABLE[2]OUT DX, ALJMP NEXTkey3:MOV AL, TABLE[3]OUT DX, ALJMP NEXTkey4:MOV AL, TABLE[4]OUT DX, ALJMP NEXTkey5:MOV AL, TABLE[5]OUT DX, ALJMP NEXTkey6:MOV AL, TABLE[6]OUT DX, ALJMP NEXTkey7:MOV AL, TABLE[7]OUT DX, ALJMP NEXTkey8:MOV AL, TABLE[8]OUT DX, ALJMP NEXT; OUT DX, AL; JMP READEND:mov ax, 4c00hint 21h CODE ENDSend startWelcome !!! 欢迎您的下载,资料仅供参考!。