微机原理课程设计抢答器.docx

上传人:b****3 文档编号:24823513 上传时间:2023-06-01 格式:DOCX 页数:23 大小:63.48KB
下载 相关 举报
微机原理课程设计抢答器.docx_第1页
第1页 / 共23页
微机原理课程设计抢答器.docx_第2页
第2页 / 共23页
微机原理课程设计抢答器.docx_第3页
第3页 / 共23页
微机原理课程设计抢答器.docx_第4页
第4页 / 共23页
微机原理课程设计抢答器.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

微机原理课程设计抢答器.docx

《微机原理课程设计抢答器.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计抢答器.docx(23页珍藏版)》请在冰豆网上搜索。

微机原理课程设计抢答器.docx

微机原理课程设计抢答器

 

西安郵電大学

硬件课程设计报告

题目:

抢答器

 

院系名称:

计算机学院

专业名称:

班级:

学生姓名:

学号(8位):

指导教师:

设计起止时间

 

1.设计目的

用逻辑开关模拟竞赛抢答器按钮(共8个开关:

K0~K7)当某个逻辑开关置“1”时,相当某组抢答按钮按下。

在七段数码管上将其组号(0~7)显示出来,若为0表示无人抢答。

从键盘上按空格键开始下一轮抢答,按键退出程序。

二.设计内容

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表示无人抢答。

从键盘上按空格键开始下一轮抢答,按键退出程序。

三.概要设计

1.功能模块图;

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指令时,出现错误:

RelativejumpoutofrangebyteXXXXhbytes。

通过二度跳转,解决了这个问题。

五.调试情况,设计技巧及体会

通过对抢答器这一课题的设计和实现,使我更好的将理论与实践相结合,我更加深入地理解了微机原理课程上讲到的并行芯片8255的功能,以及引脚的作用,同时加深了对于该芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程。

更重要的是通过这个实验,进一步掌握了程序设计的合理结构。

但要达到这样的程度其首要条件还是要学好课本上的基础知识,理解每一条指令的意义。

让我感到很欣慰的是,与搭档的合作下高效地、顺利地完成本次实验。

 

六.参考文献

《微机接口技术及其应用》---李育贤

《微型计算机原理》---王忠民

七.附录:

源代码(电子版)

一、8255基本输入输出

datasegment

dataends

codesegment

assumecs:

code,ds:

data

start:

movdx,1403h

moval,10010000b

outdx,al

read:

movdx,1400h

inal,dx

movdx,1401h

outdx,al

movah,1

int16h

jzread

movah,4ch

int21h

codeends

endstart

二、流水灯设计实现

datasegment

my8255_aequ1400h;8255的A口地址

my8255_bequ1401h;8255的B口地址

my8255_cequ1402h;8255的C口地址

my8255_modeequ1403h;8255的控制寄存器地址

mode_adb10001001b;控制字

leftdb0feh

dataends

codesegment

assumecs:

code,ds:

data

start:

MOVDX,1406H;写控制口

MOVAL,90H

OUTDX,AL

READ:

MOVDX,1400H;写A端口

INAL,DX

MOVDX,1402H;写B端口

ANDAL,01H

JZkey1

ANDAL,02H

JZkey2

ANDAL,04H

JZkey3

ANDAL,08H

JZkey4

JMPREAD

key1:

;for(i=0;i<5;i++)

;for(al=0x08;al!

=0;al>>1)

MOVCX,5

MOVAL,08H

L_TO_RCNT:

PUSHCX

L_TO_R:

MOVCX,8

OUTDX,AL

SHLAL,1

LOOPL_TO_R

POPCX

LOOPL_TO_RCNT

JMPREAD

key2:

;for(i=0;i<5;i++)

;for(al=0x01;al!

=0;al<<1)

MOVCX,5

MOVAL,01H

R_TO_LCNT:

PUSHCX

R_TO_L:

MOVCX,8

OUTDX,AL

SHRAL,1

LOOPR_TO_L

POPCX

LOOPR_TO_LCNT

JMPREAD

key3:

MOVCX,5

M_TO_OCNT:

MOVSI,4

M_TO_O:

MOVAL,TABLE[4-SI]

OUTDX,AL

DECSI

JNZM_TO_O

LOOPM_TO_OCNT

JMPREAD

 

key4:

MOVCX,5

CNT:

MOVSI,4

O_TO_M:

MOVAL,TABLE[SI]

OUTDX,AL

DECSI

JNZO_TO_M

LOOPCNT

JMPREAD

;OUTDX,AL

;JMPREAD

movax,4c00h

int21h

CODEENDS

endstart三、数码管应用

datasegment

my8255_aequ1400h;8255的A口地址

my8255_bequ1401h;8255的B口地址

my8255_cequ1402h;8255的C口地址

my8255_modeequ1403h;8255的控制寄存器地址

mode_adb10001001b;控制字

dataends

codesegment

assumecs:

code,ds:

data

start:

MOVDX,1406H;写控制口

MOVAL,90H

OUTDX,AL

READ:

MOVDX,1400H;写A端口

INAL,DX

MOVDX,1402H;写B端口

MOVBL,AL;保存端口读到的值

A1:

TESTAL,01H

JNZA2

ORAL,01H

CMPAL,0FFH

JZkey1

JMPkeyE

A2:

MOVAL,BL

TESTAL,02H

JNZA3

ORAL,02H

CMPAL,0FFH

JZkey2

JMPkeyE

A3:

MOVAL,BL

TESTAL,04H

JNZA4

ORAL,04H

CMPAL,0FFH

JZkey3

JMPkeyE

A4:

MOVAL,BL

TESTAL,08H

JNZA5

ORAL,08H

CMPAL,0FFH

JZkey4

JMPkeyE

A5:

MOVAL,BL

TESTAL,10H

JNZA6

ORAL,10H

CMPAL,0FFH

JZkey5

JMPkeyE

A6:

MOVAL,BL

TESTAL,20H

JNZA7

ORAL,20H

CMPAL,0FFH

JZkey6

JMPkeyE

A7:

MOVAL,BL

TESTAL,40H

JNZA8

ORAL,40H

CMPAL,0FFH

JZkey7

JMPkeyE

A8:

MOVAL,BL

TESTAL,80H

JNZREAD

ORAL,80H

CMPAL,0FFH

JZkey8

JMPkeyE

key1:

MOVAL,TABLE[0]

OUTDX,AL

JMPREAD

key2:

MOVAL,TABLE[1]

OUTDX,AL

JMPREAD

key3:

MOVAL,TABLE[2]

OUTDX,AL

JMPREAD

 

key4:

MOVAL,TABLE[3]

OUTDX,AL

JMPREAD

key5:

MOVAL,TABLE[4]

OUTDX,AL

JMPREAD

key6:

MOVAL,TABLE[5]

OUTDX,AL

JMPREAD

key7:

MOVAL,TABLE[6]

OUTDX,AL

JMPREAD

key8:

MOVAL,TABLE[7]

OUTDX,AL

JMPREAD

keyE:

MOVAL,TABLE[8]

OUTDX,AL

JMPREAD

 

;OUTDX,AL

;JMPREAD

movax,4c00h

int21h

CODEENDS

endstart

四、抢答器

datasegment

my8255_aequ1400h;8255的A口地址

my8255_bequ1401h;8255的B口地址

my8255_cequ1402h;8255的C口地址

my8255_modeequ1403h;8255的控制寄存器地址

mode_adb10001001b;控制字

dataends

codesegment

assumecs:

code,ds:

data

start:

MOVDX,1406H;写控制口

MOVAL,90H

OUTDX,AL

READ:

MOVDX,1400H;写A端口

INAL,DX

MOVDX,1402H;写B端口

;倒计时过程到了0开始抢答

MOVSI,5

TIME:

;延时等待

MOVCX,0FFFFH

delay:

LOOPdelay

MOVAL,TABLE[SI]

OUTDX,AL

DECSI

JNZTIME

MOVBL,AL

A1:

TESTAL,01H

JZkey1

A2:

TESTAL,02H

JZkey2

A3:

TESTAL,04H

CMPAL,0FFH

A4:

TESTAL,08H

JZkey4

A5:

TESTAL,10H

JZkey5

A6:

TESTAL,20H

JZkey6

A7:

TESTAL,40H

JZkey7

A8:

TESTAL,80H

JZkey8

;无人抢答

MOVAL,TABLE[0]

OUTDX,AL

NEXT:

;等待输入空格键或者Esc到下一轮抢答或者退出程序

MOVAH,1

INT21H;

CMPAL,32;是否为空格

JZREAD

CMPAL,27;是否为Esc

JZEND

key1:

MOVAL,TABLE[1]

OUTDX,AL

JMPNEXT

key2:

MOVAL,TABLE[2]

OUTDX,AL

JMPNEXT

key3:

MOVAL,TABLE[3]

OUTDX,AL

JMPNEXT

 

key4:

MOVAL,TABLE[4]

OUTDX,AL

JMPNEXT

key5:

MOVAL,TABLE[5]

OUTDX,AL

JMPNEXT

key6:

MOVAL,TABLE[6]

OUTDX,AL

JMPNEXT

key7:

MOVAL,TABLE[7]

OUTDX,AL

JMPNEXT

key8:

MOVAL,TABLE[8]

OUTDX,AL

JMPNEXT

 

;OUTDX,AL

;JMPREAD

END:

movax,4c00h

int21h

CODEENDS

endstart

 

Welcome!

!

!

欢迎您的下载,

资料仅供参考!

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1