汇编竞赛抢答器的设计与实现实验报告 - 范文中心

汇编竞赛抢答器的设计与实现实验报告

03/14

成绩:

汇编及接口技术课程设计

题目:竞赛抢答器的设计与实现

班 级:

学 号:

姓 名:

时 间:

目 录

一、设计目的-------------------------------------------------------------------------------------------1

二、 设计内容----------------------------------------------------------------------------------------- -1

三、 设计方案------------------------------------------------------------------------------------------1

1、注意事项--------------------------------------------------------------------------------------1

2、实验连线--------------------------------------------------------------------------------------1

3、软件设计-------------------------------------------------------------------------------------1

四、源程序-----------------------------------------------------------------------------------------------2

1、硬件测试-------------------------------------------------------------------------------------2

2、内部程序设计------------------------------------------------------------------------------2

3、实现程序-------------------------------------------------------------------------------------5

五、程序实现结果和现象---------------------------------------------------------------------------9

六、总结--------------------------------------------------------------------------------------------------9

竞赛抢答器的设计与实现

一、设计目的

1. 了解微机控制的竞赛抢答器的基本原理。

2. 进一步熟练8255的使用。

二、设计内容

设计一个7路的智力竞赛抢答器。要求:

1、在主持人侧,设置抢答指示电路和启动/复位开关。选手侧各设置1个抢答按钮。

2、使用开关K7代表启动/复位开关,K7向上拨时,表示启动一次抢答,绿色发光二极管亮作允许抢答指示。此时选手侧可以按动各自的抢答按钮。

3、使用实验仪的逻辑电平开关K0-K5来代表6个抢答按钮。当开关向上拨时表示按下按钮。

4、收到第1个抢答信号后,主持人侧红色发光二极管亮(绿色发光二极管灭)作抢答指示,在单个LED 灯上显示抢先一组的组别。

5、主持人向下拨K7,代表复位操作,红绿指示灯全灭,选手灯全灭。

6、主持人可以再次向上拨动K7,启动下一次抢答。

7、在数码管上显示选手编号。

8、通过8255完成设计。

三、设计方案

1. 注意事项:

A. 先关闭试验箱电源,再进行接线。

B. 实验过程中,要改变错误接线,也必须先关闭电源,再进行改线。

2. 实验连线

8255模块的RD 、WR 连到ISA 总线接口模块的IOR#、IOW#,8255选通信号CS 连到ISA 总线接口模块的IOY0。

8255模块的数据线D7~D0、连到ISA 总线接口模块的XD7~XD0。

地址线A1~A0连到XA2~XA1。

1)8255的端口A (PA0---PA7)和开关K0-K7相连。

2)8255的端口C (如PC7、PC6)分别和发光二极管(绿)、(红)连接。 3)8255的端口C (PC0---PC5)和发光二极管L0---L5相连。

4)8255的端口B (PB0---PB7)连接到LED 数码管模块的a ~h 各段。

5)右下角LED 的列端之一Xi 接GND 。(LED 为共阴极,故此其COM 端接地)。

3、软件设计:

首先初始化8255,然后判断是启动还是复位操作,若是复位操作,则控制8255输出的数据使绿色和红色指示灯、LED 灯全灭;否则启动下一次抢答,使绿色发光二极管亮;当8255的输入口PB 有不为0的数据时,则使绿色发光二极管灭并使红色发光二极管点亮。并判断先拨动开关的组号,在LED 灯上显示出其组号。最后使用LED 8段数码管,显示选手编号。

四、程序清单:

1. 硬件测试

DATA SEGMENT

P8255A DW 0600H

P8255B DW 0602H

P8255C DW 0604H

P8255M DW 0606H

DATA ENDS

;------------------------------------------------------------------------- 全亮 CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,P8255M

MOV AL,XXH ; 写8255控制字

OUT DX,AL ;PA 输入、PB 输出、PC 输出 HARDTST: MOV DX,P8255C

MOV AL,0FFH ;//page

OUT DX,AL

MOV AX,4C00H

INT 21H

CODE ENDS

END START

END START

当将page 位置的MOV AL,OFFH修改为MOV AL,0H时 ,LED 灯全灭。

2. 内部程序设计:

当选手按下按钮时,switch 语句判断其是那一位并在数码管上显示其相应的位置;

Switch 语句实现对应按钮的执行:

SWITCH

PROC PUSH PUSH MOV IN NEAR AX DX ; DX,P8255A AL,DX

K0: ;NOP //k0开关的执行 TEST AL,01H JZ K1 MOV DX,P8255C OUT DX,AL MOV DX,P8255B MOV AL,3FH OUT DX,AL MOV AL,00H OUT DX,AL JMP DONE1 K1: ;NOP //k1开关的执行 TEST AL,02H JZ K2 MOV DX,P8255C OUT DX,AL MOV DX,P8255B MOV AL,06H OUT DX,AL MOV AL,00H OUT DX,AL JMP DONE1 K2: ; NOP //k2开关的执行 TEST AL,04H JZ K3 MOV DX,P8255C OUT DX,AL MOV DX,P8255B MOV AL,5BH OUT DX,AL MOV AL,00H OUT DX,AL JMP DONE1 K3: ;NOP //k3开关的执行 TEST AL,08H JZ K4 MOV DX,P8255C OUT DX,AL

MOV DX,P8255B

MOV AL,4FH

OUT DX,AL

MOV AL,00H

OUT DX,AL

JMP DONE1

K4: ;NOP //k4开关的执行

TEST AL,10H

JZ K5

MOV DX,P8255C

OUT DX,AL

MOV DX,P8255B

MOV AL,66H

OUT DX,AL

MOV AL,00H

OUT DX,AL

JMP DONE1

K5: ;NOP //k5

TEST AL,20H

MOV DX,P8255C

OUT DX,AL

MOV DX,P8255B

MOV AL,6DH

OUT DX,AL

MOV AL,00H

OUT DX,AL

JMP DONE1

DONE1:

MOV AL,00H

INT 21H

POP DX

POP AX

RET

SWITCH ENDP

开关的执行

3. 实现程序:

DATA SEGMENT

P8255A DW 0600H

P8255B DW 0602H

P8255C DW 0604H

P8255M DW 0606H

LEDCODE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H

DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H

LCODE DB ? ; 选手灯代码

DCODE DB 3FH ; 显示代码缓冲

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX,DATA

MOV DS,AX

MAIN: MOV DX,P8255M

MOV AL,90H ; 写8255控制字。

OUT DX,AL ;PA输入、PB 输出、PC 输出。MODE0

MOV DX,P8255B

MOV AL,00H ;

OUT DX,AL

MOV DX,P8255C

OUT DX,AL

;---------------------------------------------------------------------------- NEW: MOV DX,P8255A

IN AL,DX

TEST AL,80H

JNZ SECOND

FIRST: MOV DX,P8255C ;K7=0

MOV AL,00H ;

OUT DX,AL

JMP NEW

;---------------------------------------------------------------------------- SECOND: NOP

MOV DX,P8255A

IN AL, DX

TEST AL,7FH ;K0---K6=全0?

JNZ THIRD

MOV DX,P8255M

MOV AL,0EH

OUT DX,AL ;PC7=0

MOV AL,0DH ;PC6=1

OUT DX,AL

JMP NEW

THIRD: NOP ; K0---K6=非全0

MOV DX,P8255M

MOV AL,0FH ;PC7=1

OUT DX,AL

MOV AL,0CH ;PC6=0

OUT DX,AL

;---------------------------------------------------------------------------- FORTH: NOP

FIFTH: NOP

CALL SWITCH

DONE: NOP

CALL LEDLAMP

;CALL DISPLY

JMP NEW

;---------------------------------------------------------------------------- SWITCH PROC NEAR ;

PUSH AX

PUSH DX

MOV DX,P8255A

IN AL,DX

K0: ;NOP

TEST AL,01H

JZ K1

MOV DX,P8255C

OUT DX,AL

MOV DX,P8255B

MOV AL,3FH

OUT DX,AL

MOV AL,00H

OUT DX,AL

JMP DONE1

K1: ;NOP

TEST AL,02H

JZ K2

MOV DX,P8255C

OUT DX,AL

MOV DX,P8255B

MOV AL,06H

OUT DX,AL

MOV AL,00H

OUT DX,AL

JMP DONE1

K2: ; NOP

TEST AL,04H

JZ K3

MOV DX,P8255C

OUT DX,AL

MOV DX,P8255B

MOV AL,5BH

OUT DX,AL

MOV AL,00H

OUT DX,AL

JMP DONE1

K3: ;NOP

TEST AL,08H

JZ K4

MOV DX,P8255C

OUT DX,AL

MOV DX,P8255B

MOV AL,4FH

OUT DX,AL

MOV AL,00H

OUT DX,AL

JMP DONE1

K4: ;NOP

TEST AL,10H

JZ K5

MOV DX,P8255C

OUT DX,AL

MOV DX,P8255B

MOV AL,66H

OUT DX,AL

MOV AL,00H

OUT DX,AL

JMP DONE1

K5: ;NOP

TEST AL,20H

MOV DX,P8255C

OUT DX,AL

MOV DX,P8255B

MOV AL,6DH

OUT DX,AL

MOV AL,00H

OUT DX,AL

JMP DONE1

DONE1:

MOV AL,00H

INT 21H

POP DX

POP AX

RET

SWITCH ENDP

LEDLAMP PROC

PUSH

PUSH

NOP

POP

POP AX

RET

LEDLAMP ENDP

DISPLY PROC

PUSH

PUSH

NOP

POP

POP AX

RET

DISPLY ENDP

CODE ENDS

END START

NEAR AX DX DX NEAR AX DX DX ; ;

五. 程序实现结果及现象

在主持人在使用开关K7代表启动/复位开关,K7向上拨时,表示启动一次抢答,绿色发光二极管亮作允许抢答指示。选手侧可以按动各自的抢答按钮。当开关向上拨时表示按下按钮。收到第1个抢答信号后,主持人侧红色发光二极管亮(绿色发光二极管灭)作抢答指示,数码管上显示选手编号。当主持人向下拨K7,代表复位操作,红绿指示灯全灭,选手灯全灭。主持人可以再次向上拨动K7,启动下一次抢答。

六.总结

在本次课程设计中,我熟悉了对竞赛抢答器的设计及其工作流程。开始在实验中频繁遇到问题,但是在最终大家的讨论及其合作下,我们实现了其功能需求,当每一个子模块编写调试成功时,心里特别的开心。同时也感觉总体设计有点小不足,对于软件编程虽然每个模块的程序编译没有错误,但与连接硬件时会出现一点小问题,例如:在按键的执行显示模块。在设计switch 语句的结束后跳转问题商花费了好长时间,最终在老师的提醒下还是实现了功能。通过这次课程设计使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正解决问题、更深刻的认识问题,此过程也提高了自己的实际动手能力和独立思考的能力,以后自身的发展也会因此而受益颇深。

第 9 页


相关内容

  • 基于51单片机的八位抢答器课程设计
    电子技术应用综合课程设计 -51单片机八位抢答器 目录 第一章:内容提要„„„„„„„„„„„„„„„„„„„„„„„„„„4 1.1设计要求„„„„„„„„„„„„„„„„„„„„„„„„4 1.2总体设计方案„„„„„„„„„„„„„„ ...
  • 单片机八路抢答器课设
    目录 前言................................................................ 1 1.1设计背景及意义 ..................................... ...
  • 单片机 四路抢答器
    课程设计说明书 (2009/2010学年第二学期) 课程名称 :题 目 :专业班级 :学生姓名 :学 号 :指导教师 :设计周数 :设计成绩 : 单片机应用课程设计 四路抢答器 电气2班 韩昱 苗敬利 两周(10.6.28-10.07.09 ...
  • 四人抢答器电路设计1
    广东石油化工学院 课程设计说明书 课程名称: 数字电子技术课程设计 题 目: 抢答器电路设计 学生姓名: 专 业: 班 级: 学 号: 指导教师: 李新超 日 期: 2010 年 6 月 30日 茂 名 学 院 课 程 设 计 任 务 书 ...
  • 微机原理实验步骤学生
    实验要求及步骤 一.遵守"微机原理实验室实验守则",严格执行各个要求. 二.实验前准备的内容:a .完成前次实验报告,b .本次实验的预习报告,c .实验用到的电路图.流程图.程序. 三.实验内容 1.软件实验步骤: D ...
  • 89c51抢答器制作
    郑州科技学院 本科课程设计论文 题 目 专 业 姓 名 学 号 指导老师 郑州科技学院信息工程学院 二〇一四年 摘要 ............................................................. ...
  • 微处理器与应用实验报告
    微处理器原理与应用实验日志 微处理器原理与应用实验日志一 指导教师 实验时间: 学院 专业 班级 学号 姓名 实验室 实验题目: 熟悉并使用传送类指令 实验目的: 1. 熟悉并掌握Keil C51 的基本用法: 2. 掌握MCS-51 传送 ...
  • 百科知识竞赛活动策划
    2009年11月2日科协 百科知识竞赛活动策划书 一. 活动背景 在这金秋送爽.满园硕果之际,为了让同学了解知识.学习知识.运用知识及深化科学生活认识,营造浓郁校园学习氛围,同时也为了选拔优秀百科人才参加校级百科知识竞赛,我们交通运输学院科 ...
  • 趣味数学知识竞赛策划书
    趣味数学知识竞赛 策 划 书 主办单位:湖北理工学院数理学院 协办单位:数理学院学生会学习部 数学建模协会 日期:二○一四年十一月12日 第十届大学生科技文化节趣味数学知识竞赛 实施方案 一.活动背景 在大学生科技文化节到来之际,为了鼓励同 ...
  • 初中历史课堂
    <初中历史课堂"快乐教学"研究>课题研究阶段性总结 2010年3月起,我们承担了<初中历史课堂"快乐教学"研究>的课题研究.课题组全体成员本着踏实认真的态度,开好局,起好步,扎 ...