汇编语言八路抢答器设计说明书

合集下载

八路抢答器设计书

八路抢答器设计书

目录一、设计任务与要求 (2)二、总体方案设计与论证 (3)三、部分电路工作原理 (4)四、总体电路设计 (5)1.抢答器电路 (5)2.定时电路 (8)3.报警电路 (9)4.时序控制电路 (9)五、实验器材清单 (10)六、总电路原理图 (10)七、课程设计总结 (11)八、参考文献 (12)一、设计任务与要求1. 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S0~S7表示。

2. 设置一个系统清除和抢答控制开关S,该开关由主持人控制。

3. 抢答器具有锁存与显示功能。

即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。

选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。

4. 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。

当主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。

5. 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。

6. 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。

二、总体方案设计与论证如图所示为总体方框图。

其工作原理为:1.接通电源后,主持人将开关拨到“清除”状态,抢答器处于静止状态,编号显示器和指示灯灭,等主持人将开关置“开始”位置后,抢答器处于等候状态,此时额可以进行抢答。

2.抢答器完成,优先判断抢答的组号,并将编号进行锁存,然后通过译码器将编号显示在七段数码管上,并且扬声器提示。

3.当一轮抢答结束后,定时器停止、禁止第二次抢答。

4.如果再次抢答必须由主持人操作“清除”和“开始”状态的开关,即需要主持人清零。

三、部分电路工作原理1.开关阵列电路该电路由多路开关所组成,供抢答着使用,每一抢答者与一个开关相对应(开关S0—S7的代号分别是8、1、2、 6、7,即抢答着的组号,便于主持人看到显示器上的数字后,能准确宣布谁是优先抢答者)。

8路数字抢答器设计说明

8路数字抢答器设计说明
18
数量11
1、2、
6、7引脚,为NE555提供电源+Ucc,即任何抢答键按下时,扬声器都能发出报警声。元器件清单
序号910元件名称
电阻
电阻
电阻
电阻
电阻
电阻
瓷片电容
瓷片电容
电解电容
电解电容型号与规格
R1R2R3R4R510K
R6R17R1610KR72.2K
R8100K
R9R10R11R12330R
R13R14R15300R
C1103
C2104
C3100UF
C447UF
D1D2D3D4D5
11二极管
1N4148
数码管
三极管
蜂鸣器
开关集成Βιβλιοθήκη 路集成电路线路板D6D7D8D9D10
D11D12D13D14
D15D16D17D18
12
13
14
15
16
18
18DS
Q19013
S1 ----S9
U2555
U14511
单面PCB单位只只只只只只只只只只只只只只只只只只
1、2、
6、7脚为BCD码输入端,9~15脚为显示输出端。3脚为测试端(LT),当L T为“0 ”时,输出全为“1 ”。4脚为消隐端(B I),当B I为“0 ”时,输出全为“0 ”,因此此时可以清除锁存器内的数值,即可使用为复位端。5脚为锁存允许端(L E),当L E端由“0 ”→“1 ”时,a、b、c、d、e、f、g七个输出端保持在LE为“0”时所加BCD码对应的数码显示状态。
简易8路数显抢答器:
简单实用的八路数显抢答器,主要包括抢答、编码、优先锁存、数显、复位及音频振荡等电路。元器件主要包括

八路抢答器的方案设计书报告(1)

八路抢答器的方案设计书报告(1)

八路抢答器的方案设计书报告(1)方案名称:八路抢答器方案设计书报告1. 项目背景:八路抢答器是一种用于教育培训和游戏娱乐等场景中的互动装备,旨在增加参与者之间的竞争性和互动性。

该抢答器适用于小组竞赛、知识问答和快速反应等活动,能够提供准确的抢答结果和实时的排名反馈。

2. 项目目标:- 提供一个可靠、准确的抢答系统,确保抢答结果的准确性;- 设计一个易操作、方便使用的抢答器,满足各类用户的需求;- 实现实时展示参与者的排名、成绩和抢答结果,增强竞争性和互动性;- 提供灵活的配置参数,适应不同场景和活动的需求。

3. 方案设计:- 硬件设计:- 抢答器主机:设计一个抗干扰的主机设备,包含显示屏幕、按钮等交互元素,用于显示题目、记录抢答结果和展示排名。

- 抢答器手柄:设计一组手柄设备,每个手柄配有一个按钮,用于参与者进行抢答操作。

- 无线通信模块:通过无线通信技术实现主机和手柄之间的数据传输,确保实时性和可靠性。

- 软件设计:- 控制程序:设计主机端控制程序,用于接收手柄的抢答信号、判断抢答正确与否,并实时更新参与者的得分和排名。

- 数据显示程序:设计主机端数据显示程序,用于展示抢答题目、参与者的得分和排名等信息。

- 管理程序:设计主机端管理程序,用于配置抢答系统的参数,如参与者人数、抢答题库等。

4. 实施计划:- 第一阶段:进行前期调研和需求分析,明确项目目标和功能需求。

设计硬件和软件的初步方案,并进行初步的设计验证。

- 第二阶段:进行详细的硬件和软件设计,包括电路设计、外壳设计、程序编写等。

并进行相应的测试和验证。

- 第三阶段:进行整体集成和调试,确保硬件和软件的协同工作和稳定性。

进行用户测试和反馈收集。

- 第四阶段:根据用户反馈进行改进和优化,完善产品的功能和性能。

准备量产并开始市场推广。

5. 预期效果:- 提供一个实用、可靠的八路抢答器,满足教育培训和游戏娱乐场景的需求;- 增加参与者之间的竞争性和互动性,提升活动的趣味性和吸引力;- 为组织者提供一个便捷、灵活的抢答系统,简化活动的组织和管理工作;- 受益用户包括教育机构、培训机构、游戏娱乐场所等。

八路数字抢答器设计说明

八路数字抢答器设计说明

八路数字抢答器设计摘要随着科学技术的不断发展,促使人们学科学、学技术、学知识的手段多种多样。

抢答器作为一种工具,已经广泛应用于各种智力和知识竞赛场合。

我所设计的数字抢答器具有电路简单,元件易于购买等优点,很好地解决了制作者制作困难和难于购买的问题。

本设计以八路智力竞赛抢答器为基本概念,从实际应用出发,用数字、模拟电子器件设计具有扩充功能的抢答器。

该抢答器的设计利用Protel99完成了原理图设计和电路仿真,具有互锁自锁、倒计时显示等功能。

关键词:自锁,抢答器,数字电子技术Design of Eight Digital ResponderAbstractWith the continuous development of science and technology, promote learning science, science and technology, knowledge of the variety of means.Responder is a tool that has been widely used in various intelligence and knowledge competitions occasions.I of the designed digital vies to answer first instruments have circuit is simple, easy to buy components etc, and solves the difficult and hard to buy makers make the problem.The design to eight-way quiz Responder basic concepts, from the practical application,with digital, analog electronics design extension of the answering device.The design of the Responder by Protel99 completed schematic design and circuit simulation, with the interlocking self-locking, the countdown display.Key words:lock itself,Responder,digital electronic technology目录1 引言 (1)1.1 本项研究的目的和围 (1)1.2 本项研究工作在国民经济中的实用价值与理论意义 (1)1.3本研究课题围国外己有文献的综述 (2)1.4理论依据和实验设备条件 (2)1.5本文所要解决的问题 (3)1.6 论文容安排 (4)2 抢答器的系统概述 (5)2.1系统主要功能简介 (5)2.2 系统电路框图 (5)2.3 系统原理说明 (6)3 抢答器的单元电路设计 (7)3.1抢答电路............................................................氌 (7)3.1.1控制电路原理 (7)3.1.2报警电路 (15)3.2定时电路 (16)3.2.1 NE555构成的多谐振荡器作为秒脉冲发生器 (17)3.2.2 外围门电路 (19)3.2.3 74LS192构成的递减计数电路 (24)3.2.4 译码显示电路 (26)4 总结 (31)附录 (32)参考文献 (33)致 (34)1 引言1.1 本项研究的目的和围抢答器是政府机关、金融单位、广播电视系统或党委、工会、团委、企事业单位等部门举办竞赛问答、各种知识测试、娱乐活动中一种常用的必备的理想设备,也是为各种知识竞赛、文娱活动提供公正客观快速裁决的一种常用电子设备,还是一种逐渐成型的电子产品。

汇编语言八路抢答器设计

汇编语言八路抢答器设计

微机原理与接口技术课程设计报告2015-2016学年第二学期设计题目:_______小组成员:所学专业:指导教师: _______完成时间: ___目录一、课程设计目的 (4)二、课程设计要求 (4)三、系统功能 (4)四、总体设计 (4)1.基本工作原理 (4)1.1可编程并行接口接口芯片8255A控制字要求 (4)1.2可编程定时器/计数器8253控制字要求 (5)2.硬件总体设计 (5)2.1系统总成方案 (5)2.2内存单元编址 (5)3.键盘、扬声器及显示功能的定义 (5)4.原理图 (5)4.1 硬件原理框图 (6)4.2 原理连线图 (6)5 软件总体设计 (6)五、硬件设计............................ 错误!未定义书签。

六、软件设计 (8)七、调试过程 (21)八、系统操作说明 (21)九、总结 (22)十、参考文献 (22)八路抢答器设计一、设计目的1、掌握微机系统的开发步骤;2、掌握抢答器控制编程方法和芯片8255、8253的逻辑功能、键盘中断及使用方法和数码管的用法;3、掌握一定的汇编语言知识,培养自己的动手操作能力。

4、学习程序设计的基本思路和方法。

因此,本次设计要求对微机原理的理论知识,8255A,8253,键盘显示区的工作方式、工作原理熟练掌握。

二、设计要求当按开始键,绿灯亮后,选手抢答,1-8号选手中先按下按键者,LED数码管显示其选手号码(后按下无效),并进行声光报警(黄灯亮)提示。

当按开始键未按下时,如果有选手抢答,LED数码管显示其选手号码,并进行声光报警(红灯亮)提示。

三、系统功能一个具有8路抢答的抢答器,利用并行接口和开关键。

键盘上数字键1--8代表抢答按钮,当某个逻辑开关闭合时(开始键按下未按起时),相当于抢答按钮按下,此时在七段数码管上将其号码显示出来,并使喇叭响一声(或者以发光二极管代替)。

四、总体设计1. 基本工作原理当按开始键按下时,绿灯亮后,选手才可抢答,否则违规。

八路抢答器设计说明书 精品

八路抢答器设计说明书 精品

八路抢答器的设计一、设计要求(1)设计一个智力抢答器,可同时供8名选手或八个代表队参加比赛,他们的编号分别是1,2,3,4,5,6,7,8,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别是S0,S1,S2,S3,S4,S5,S6,S7。

(2)节目主持人设置一个控制开关,用来控制系统的复位和抢答开始。

(3)抢答器具有数据锁存和显示功能。

抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时扬声器发出提示声音,此外封锁输入电路,禁止其他选手抢答。

优先抢答的选手的编号一直保持到主持人将系统复位为止。

二、总体设计思路本次设计采用T0外部中断来实现主持人的控制开关,用P0口输出选手的段码,用P2口来读取按键选手号,用P1口来点亮选手相应的发光二极管。

三、硬件设计3.1 原理综述单片机:使用了AT89C51单片机芯片控制电路。

显示电路:P0口输出选手段码,P1口点亮相应的发光二极管。

按键电路:P3^2管脚接一个开关来实现主持人的控制开关,通过P2口接的按键来读取选手号。

图3.1 硬件框图3.2 元器件清单3.3 硬件原理图图3.2 硬件原理图四、软件设计4.1 程序流程图图4.1 主程序流程图4.2 程序及注释#include<reg51.h> //包含头文件REG51.H #define uchar unsigned char#define uint unsigned int //数据类型的宏定义uchar code seg7[9]={0xff,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80}; //7段数码管0-8断码uchar act[9]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //低电平有效的位码uchar num; //宏定义全局变量num bit bdata start; //定义开始按键start sbit bz=P3^3; //定义P3.3为bz//延时函数*********************************************************** void delay(uint k){uint i,j;for(i=0;i<k;i++){for(j=0;j<121;j++){;}}}//蜂鸣器*********************************************************void buzzer(void){while(1){bz=~bz;delay(10);}}//外中断0 ************************************************************ void EA_INT0() interrupt 0 //定义函数名为EA_INT0的T0外中断服务函数,中断号为0 {uchar in=1; //定义in=1start=!start; //start取反if(start==1) //判断是否开始抢答{while(in) //循环{P2=act[0]; //初始化P2if(P2!=0xff) //判断有无选手按下{delay(10); //延时确定有选手按下for(num=1;num<9;num++) //判断选手号{if(P2==act[num]) //读取选手号{bz=1;in=0;break;} //停止循环}}}}else{num=0;P3=0xff;bz=0;}}//******************************************************************************* void main(void) //主函数{ start=0; //初始化startP0=seg7[0]; //初始化段码P1=act[0]; //初始化发光二级管bz=0; //初始化蜂鸣器EX0=1; //允许外中断T0IT0=1; //外中断T0设为边沿触发EA=1; //开启总中断while(1) //无限循环{P0=seg7[num]; //P0输出段码P1=act[num]; //点亮相应的二极管}}五、软硬件调试5.1 软硬件仿真环境设置1)Keil 与Proteus连接连接开始必须在proteus安装目录下VDM51.dll文件复制到Keil安装目录的\C51\BIN 目录中,但新版本中没有,所以必须下载安装补丁vdmagdi.exe,则在Keil 安装目录的 \C51\BIN 目录中有文件:VDM51.dll2)修改keil安装目录下 Tools.ini文件用记事本(其它的编辑软件也可以,如Ultra Edit)打开Keil 根目录下的TOOLS.INI 文件,在[C51] 栏目下加入TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV3”中的“3”要根据实际情况写,不要和原来的重复。

八路智力竞赛抢答器课程设计说明书

八路智力竞赛抢答器课程设计说明书

目录一、引言.............................................................. 错误!未定义书签。

二、设计任务及系统功能简介................................................ 错误!未定义书签。

1.设计任务........................................................... 错误!未定义书签。

2.基本功能........................................................... 错误!未定义书签。

3.扩展功能............................................................ 错误!未定义书签。

三、数字抢答器总体设计.................................................... 错误!未定义书签。

1.设计系统框图....................................................... 错误!未定义书签。

)三、单元电路设计方案和原理说明............................................ 错误!未定义书签。

1.抢答器电路设计...................................................... 错误!未定义书签。

(1)抢答电路设计电路............................................... 错误!未定义书签。

(2) 电路说明...................................................... 错误!未定义书签。

(3)工作过程..................................................... 错误!未定义书签。

八路抢答器(汇编程序) 微机课程设计

八路抢答器(汇编程序) 微机课程设计

课程设计报告课程微机原理课程设计题目竞赛抢答器系别物理与电子工程学院年级09级专业电子信息工程班级1班学号5,6,7,8学生姓名指导教师职称设计时间目录第一章关于抢答器的概述及设计要求错误!未定义书签。

数字抢答器的简介错误!未定义书签。

课程设计要求错误!未定义书签。

实现功能错误!未定义书签。

第二章总体设计错误!未定义书签。

功能需求分析错误!未定义书签。

可行性分析错误!未定义书签。

硬件总体设计错误!未定义书签。

硬件器材错误!未定义书签。

内存单元地址错误!未定义书签。

软件流程图错误!未定义书签。

第三章硬件设计错误!未定义书签。

所选芯片介绍错误!未定义书签。

可编程并行接口接口芯片8255A 错误!未定义书签。

可编程定时器/计数器8253 错误!未定义书签。

系统所选用各芯片的连接错误!未定义书签。

各芯片与CPU的连接错误!未定义书签。

各芯片之间的连接和与外设的连接错误!未定义书签。

第四章软件设计错误!未定义书签。

程序流程错误!未定义书签。

子程序清单错误!未定义书签。

4.. 芯片8255初始化:错误!未定义书签。

4..芯片8253初始化:错误!未定义书签。

4..获取选手号码子程序:错误!未定义书签。

数码管显示子程序:错误!未定义书签。

扬声器鸣叫时间:错误!未定义书签。

第五章结果分析错误!未定义书签。

结束语错误!未定义书签。

附录错误!未定义书签。

参考文献错误!未定义书签。

主程序清单错误!未定义书签。

第一章关于抢答器的概述及设计要求数字抢答器的简介抢答器是在竞赛、文体娱乐活动(抢答活动)中,能准确、公正、直观地判断出抢答者的机器。

通过抢答者的指示灯显示、数码显示和警示显示等手段指示出第一抢答者。

随着科学技术的不断发展,促使人们学科学,学技术,学知识的手段多种多样,抢答器作为一种强大工具,已经广泛应用于各种知识能力竞赛场合,例如选拔人才、评选优胜及各种智力竞赛等。

目前知识竞赛之类的活动愈加频繁,凡是有知识竞赛类的活动那么也就必然离不开抢答器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理与接口技术课程设计报告2015-2016学年第二学期设计题目: _______小组成员:所学专业:指导教师: _______完成时间: ___目录一、课程设计目的 (4)二、课程设计要求 (4)三、系统功能 (4)四、总体设计 (4)1.基本工作原理 (4)1.1可编程并行接口接口芯片8255A控制字要求 (4)1.2可编程定时器/计数器8253控制字要求 (5)2.硬件总体设计 (5)2.1系统总成方案 (5)2.2内存单元编址 (5)3.键盘、扬声器及显示功能的定义 (5)4.原理图 (5)4.1 硬件原理框图 (6)4.2 原理连线图 (6)5 软件总体设计 (6)五、硬件设计............................ 错误!未定义书签。

六、软件设计 (8)七、调试过程 (21)八、系统操作说明 (21)九、总结 (22)十、参考文献 (22)八路抢答器设计一、设计目的1、掌握微机系统的开发步骤;2、掌握抢答器控制编程方法和芯片8255、8253的逻辑功能、键盘中断及使用方法和数码管的用法;3、掌握一定的汇编语言知识,培养自己的动手操作能力。

4、学习程序设计的基本思路和方法。

因此,本次设计要求对微机原理的理论知识,8255A,8253,键盘显示区的工作方式、工作原理熟练掌握。

二、设计要求当按开始键,绿灯亮后,选手抢答,1-8号选手中先按下按键者,LED数码管显示其选手号码(后按下无效),并进行声光报警(黄灯亮)提示。

当按开始键未按下时,如果有选手抢答,LED数码管显示其选手号码,并进行声光报警(红灯亮)提示。

三、系统功能一个具有8路抢答的抢答器,利用并行接口和开关键。

键盘上数字键1--8代表抢答按钮,当某个逻辑开关闭合时(开始键按下未按起时),相当于抢答按钮按下,此时在七段数码管上将其号码显示出来,并使喇叭响一声(或者以发光二极管代替)。

四、总体设计1. 基本工作原理当按开始键按下时,绿灯亮后,选手才可抢答,否则违规。

若抢答成功,LED 显示器显示选手号码,黄灯亮,扬声器鸣叫;若抢答违规(未按下开始键),LED 显示器显示违规选手号码,红灯亮,扬声器报警。

1.1可编程并行接口接口芯片8255A控制字要求(1)、B口工作在方式0,做为输出端口,经驱动器1连接LED显示器(PB7~PB0依次对应连接LED显示器的dp、g、f、e、d、c、b、a七段数码管管脚);(2)、C口也必须工作在方式0,高4 位做输入端口(本次设计中只用PC4、PC5,分别用于连接复位键和开始键),低4位做输出端口(PC3~PC0,经驱动器2后PC1、PC2、PC3分别用于连接黄、红、绿三个发光二极管,PC0连接到8253的GATE1端,以控制方式1的计数)。

1.2可编程定时器/计数器8253控制字要求(1)、方式0:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。

(2)、方式1:操作类型为先读写低字节再读写高字节,工作在方式1即可重触发的单稳态触发器,计数格式为BCD码,计数初值为0。

(3)、方式2:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。

2.硬件总体设计2.1系统总成方案该竞赛抢答器所要器件:可编程并行接口接口芯片8255、可编程定时器/计数器8253,三个一样的驱动器,黄、红、绿三个发光二极管,十三个电阻,一个8输入与非门,一个非门,一个扬声器,一个LED显示器,10个按键。

2.2内存单元编址(1)可编程并行接口接口芯片8255A的端口地址为60H、61H、62H、63H(2)可编程定时器/计数器8253的端口地址为40H、41H、42H、43H(3)特殊键中断号为2A---36,对应地址为00A8---00DB本实验用到数字键1--8,对应的ASCII为31H---38HLED显示器1--8对应的十六进制是:06H,5BH,4FH,66H,6DH,7CH,07H,7FH3.键盘、扬声器及显示功能的定义一个开始键一个复位键,另外8个数字键用做8位选手的抢答按键。

扬声器用与黄、红、绿三个发光二极管配合使用,黄灯亮扬声器鸣叫表示抢答成功,红灯亮扬声报警表示抢答违规报警,绿灯亮扬声器不鸣则表示主持人已按下开始键。

LED 显示器显示的内容与选手号对应,抢答成功或违规都要显示。

4.原理图4.1硬件原理框图图14.2 原理连线图按键设置82558 2 5 5 8086 CPU82538 2 5 4LED 灯 LED 显 示 模扬声器声光报警键盘输入4.3软件总体设计 主程序流程图:N YNYNYNY检测开始键是否弹起置标志位值为FFH 使IF=1开放中断对8255、8253进行初始化 开始检测复位键是否按下 检测开始键是否按下设置抢答键键盘中断向量并使IF 置1开放中断 关闭LED 显示器设置LED 字形码初值、标志初值设置设置抢答键中断向量并使检测开始键是否弹起LED 字形码初值、标志初值 对8259A 、8255、8253进行初始化 IF 置1开放中断 检测开始键是否按下 点亮绿灯关闭LED 显示器、指示灯将标志位清零,使IF=1开入中断检测复位键是否弹起结束图3五、硬件设计1.可编程并行接口接口芯片8255A的工作方式8255A具有三个独立的输入/输出端口,每个端口的并行数据宽度为8位。

三个端口分别为A端口,B端口,C端口,可分别与不同的外设进行数据交换,也可联合使用,在中断方式下实现CPU与外设间的数据传递。

8255A提供方式0,方式1,方式2三种工作方式供选择。

2.可编程定时器/计数器8253的工作方式(1)方式0:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。

(2)方式1:操作类型为先读写低字节再读写高字节,工作在方式1即可重触发的单稳态触发器,计数格式为BCD码,计数初值为0。

(3)方式2:操作类型为先读写低字节再读写高字节,工作在方式3即方波发生器,计数格式为BCD码,计数初值为0。

六、软件设计DATA SEGMENTBZ DB 00HDATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART: MOV AX,DATAMOV DS,AX;8255A初始化MOV AL,88H ;置8255A工作方式OUT 63H,ALXOR AL,AL ;B口、C口初始化专业资料OUT 61H,ALOUT 62H,AL;8253初始化MOV AL,37H ;置8253方式0控制字OUT 43H,ALMOV AL,00H ;置8253方式0计数初值为4000OUT 40H,ALMOV AL,40HOUT 40H,ALMOV AL,73H ;置8253 方式1控制字OUT 43H,ALMOV AL,00H ;置8253方式1计数初值为3000OUT 41H,ALMOV AL,30HOUT 41H,ALMOV AL,0B7H ;置8253方式2控制字OUT 43H,ALMOV AL,00HOUT 42H,ALMOV AL,00H ;置8253方式2计数初值为0OUT 42H,AL;中断设置MOV AX,0000HMOV DS,AX;MOV BX,0457HMOV AL,31HMOV CX,8LOP4:MOV [BX],AL专业资料INC BXINC ALLOOP LOP4MOV AX, OFFSET KKK1MOV [00A8],AXMOV AX,0000HMOV [00AA],AXMOV AX, OFFSET KKK2MOV [00AC],AXMOV AX,0000HMOV [00AE],AXMOV AX, OFFSET KKK3MOV [00B0],AXMOV AX,0000HMOV [00B2],AXMOV AX, OFFSET KKK4MOV [00B4],AXMOV AX,0000HMOV [00B6],AXMOV AX, OFFSET KKK5MOV [00B8],AXMOV AX,0000HMOV [00BA],AXMOV AX, OFFSET KKK6MOV [00BC],AXMOV AX,0000HMOV [00BE],AXMOV AX, OFFSET KKK7MOV [00C0],AXMOV AX,0000H专业资料MOV [00C2],AXMOV AX, OFFSET KKK8MOV [00C4],AXMOV AX,0000HMOV [00C6],AXSTI ;使IF置1,开放可屏蔽中断;主循环LOPM: IN AL,62H ;检测开始键TEST AL,20H ;检测C口的PC5端JZ LOP2 ;开始键未按下即PC5=0,则跳转检测;复位键LOP1: IN AL,62H ;检测开始键是否已经弹起,即PC5=0TEST AL,20HJNZ LOP1 ;开始键没有弹起再重新检测MOV AL,00H ;关LED显示器OUT 61H,AL ;送到B口MOV AL,08H ;绿灯亮OUT 62H,AL ;送到C口MOV BZ, 0FFH ;置标志STILOP2: IN AL,62H ;检测复位键TEST AL,10H ;检测C口的PC4端JZ LOPM ;复位键未按下即PC4=0,则跳转再检;测开始键LOP3: IN AL,62H ;检测复位键是否弹起,即PC4=0TEST AL,10HJNZ LOP3 ;位键没有弹起,则重新检测MOV AL,00H ;关LED显示器、指标灯OUT 61H,AL专业资料OUT 62H,ALMOV BZ,00H ;清标志STIJMP LOPM;中断服务子程序KKK1:PUSH AX ;保护现场PUSH BXPUSH DXPUSH DSCLI ;并使本次中断压入堆栈中的IF=0MOV AL,06HOUT 61H,ALCALL PUBLICPOP DS ;恢复现场POP DXPOP BXPOP AXIRETKKK2:PUSH AX ;保护现场PUSH BXPUSH DXPUSH DSCLI ;并使本次中断压入堆栈中的IF=0MOV AL,5BHOUT 61H,ALCALL PUBLICPOP DS ;恢复现场POP DXPOP BXPOP AXKKK3:PUSH AX ;保护现场PUSH BXPUSH DXPUSH DSCLI ;并使本次中断压入堆栈中的IF=0 MOV AL,4FHOUT 61H,ALCALL PUBLICPOP DS ;恢复现场POP DXPOP BXPOP AXIRETKKK4:PUSH AX ;保护现场PUSH BXPUSH DXPUSH DSCLI ;并使本次中断压入堆栈中的IF=0 MOV AL,66HOUT 61H,ALCALL PUBLICPOP DS ;恢复现场POP DXPOP BXPOP AXIRETKKK5:PUSH AX ;保护现场PUSH BXPUSH DXCLI ;并使本次中断压入堆栈中的IF=0 MOV AL,6DHOUT 61H,ALCALL PUBLICPOP DS ;恢复现场POP DXPOP BXPOP AXIRETKKK6:PUSH AX ;保护现场PUSH BXPUSH DXPUSH DSCLI ;并使本次中断压入堆栈中的IF=0 MOV AL,7CHOUT 61H,ALCALL PUBLICPOP DS ;恢复现场POP DXPOP BXPOP AXIRETKKK7:PUSH AX ;保护现场PUSH BXPUSH DXPUSH DSCLI ;并使本次中断压入堆栈中的IF=0 MOV AL,07HOUT 61H,AL专业资料CALL PUBLICPOP DS ;恢复现场POP DXPOP BXPOP AXIRETKKK8:PUSH AX ;保护现场PUSH BXPUSH DXPUSH DSCLI ;并使本次中断压入堆栈中的IF=0MOV AL,7FHOUT 61H,ALCALL PUBLICPOP DS ;恢复现场POP DXPOP BXPOP AXIRETPUBLIC:TEST BZ,0FFH ;判断标志位是否为FFHJZ LOP5MOV AL,00H ;置8253方式2计数值OUT 42H,ALMOV AL,10HOUT 42H,ALMOV AL,03H ;黄灯亮,抢答成功OUT 62H,ALJMP KKKLOP5: MOV AL,00H ;置8253方式2计数值OUT 42H,ALMOV AL,20HOUT 42H,ALMOV AL,05H ;红灯亮,抢答违规OUT 62H,ALKKK: MOV AL,20H ;中断结束;防止中断重复响应OUT 20H,ALCODE ENDSEND START七、调试过程(1)在刚开始编程时,各种功能大部分是由主程序来完成的。

相关文档
最新文档