微机原理与接口技术课程设计.docx

上传人:b****7 文档编号:10261221 上传时间:2023-02-09 格式:DOCX 页数:25 大小:29.34KB
下载 相关 举报
微机原理与接口技术课程设计.docx_第1页
第1页 / 共25页
微机原理与接口技术课程设计.docx_第2页
第2页 / 共25页
微机原理与接口技术课程设计.docx_第3页
第3页 / 共25页
微机原理与接口技术课程设计.docx_第4页
第4页 / 共25页
微机原理与接口技术课程设计.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术课程设计.docx

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

微机原理与接口技术课程设计.docx

微机原理与接口技术课程设计

 

《微机与接口》

课程设计报告

智能抢答器

 

班级:

学号:

姓名:

指导教师:

成绩:

年1月11日

 

目录

1、课程设计目的及要求3

2、系统功能3

3、总体设计3

3.1基本工作原理3

3.1.1中断优先级管理器8259A控制字要求3

3.1.2可编程并行接口接口芯片8255A控制字要求3

3.1.3可编程定时器/计数器8253控制字要求3

3.2硬件总体设计3

3.2.1系统总成方案3

3.2.2内存单元编址4

3.2.3键盘、扬声器及显示功能的定义4

(1)硬件原理框图4

(2)原理连线图4

3.3软件总体设计6

3.3.1主程序流程图:

6

4、硬件设计8

4.1所使用芯片功能8

4.1.1可编程并行输入/输出接口芯片8255A8

4.1.2可编程定时器/计数器8253/82549

4.1.3中断优先级管理器8259A10

4.2系统所选用各芯片的工作方式12

4.2.1中断优先级管理器8259A的工作方式12

4.2.2可编程并行接口接口芯片8255A的工作方式12

4.2.3可编程定时器/计数器8253的工作方式13

5、软件设计13

6、调试过程16

7、系统操作说明16

8、总结16

9、参考文献17

1、课程设计目的及要求

目的:

掌握微机系统的开发步骤;掌握8255A、数码管的用法;掌握汇编程序的设计。

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

设计要求:

1.1-8号选手中先按下按键者,LED数码管显示其选手号码(后按下无效),且60S倒计时开始,计时结束进行声光报警提示。

2.由裁判掌握,若回答正确,该选手对应绿灯亮,否则红灯亮。

3.回答正确时,计分牌加10分,不正确减10分(满分100分)。

4.选手号码及选手分数用LED数码管显示。

2、系统功能

一个具有8路抢答的抢答器,利用并行接口和开关键。

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

3、总体设计

3.1基本工作原理

主持人按开始键,绿灯这后,选手才可抢答,否则违规。

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

3.1.1中断优先级管理器8259A控制字要求

芯片控制字:

采用边沿触发,单片8259,要写入ICW4控制字

中断类型码控制字:

设置IR0~IR7的中断类型码依次为08H、09H、…、0FH

方式控制字:

优先级设置方式为全嵌套方式即固定优先级方式,主片工作在缓冲方式下,中断结束方式采用中断非自动结束方式,8259工作在8086系统上。

3.1.2可编程并行接口接口芯片8255A控制字要求

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

3.1.3可编程定时器/计数器8253控制字要求

通道0:

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

通道1:

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

通道2:

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

 

3.2硬件总体设计

3.2.1系统总成方案

该竞赛抢答器所要器件:

中断优先级管理器8259A、可编程并行接口接口芯片8255、可编程定时器/计数器8253,三个一样的驱动器,黄、红、绿三个发光二极管,十三个电阻,一个8输入与非门,一个非门,一个扬声器,一个LED显示器,10个按键。

3.2.2内存单元编址

(1)、中断优先级管理器8259A的端口地址为20H、21H

(2)、可编程并行接口接口芯片8255A的端口地址为80H、81H、82H、83H

(3)、可编程定时器/计数器8253的端口地址为40H、41H、42H、43H

3.2.3键盘、扬声器及显示功能的定义

10个按键中,一个开始键一个复位键,另外8个用做8位选手的抢答按键。

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

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

(1)硬件原理框图

 

8259

cpu

 

 

图1

 

(2)原理连线图

 

PC4

PC5

 

D7~D0

8255

PB7~PC0

CS

A0

A1PC3~PC0

RDWR

驱动器

1

驱动器2

与非门

按键1

按键2

按键8

按键3

按键7

按键6

按键5

按键4

+5V

PC0

PB0

PB7

PC1

PC2

PC3

红灯

绿灯

黄灯

8段

LED

显示器

+5V

开始

复位

扬声器

PA7~PA0

1MHz

图2

 

3.3软件总体设计

3.3.1主程序流程图:

置标志位值为FFH使IF=1开放中断

置标志位值为FFH使IF=1开放中断

点亮绿灯

关闭LED显示器

检测开始键是否弹起

检测开始键是否按下

设置抢答键中断向量并使IF置1开放中断

对8259A、8255、8253进行初始化

设置LED字形码初值、标志初值

开始

检测复位键是否按下

置标志位值为FFH使IF=1开放中断

点亮绿灯

关闭LED显示器

检测开始键是否弹起

检测开始键是否按下

设置抢答键中断向量并使IF置1开放中断

对8259A、8255、8253进行初始化

设置LED字形码初值、标志初值

开始

开始

设置LED字形码初值、标志初值

 

对8259A、8255、8253进行初始化

设置抢答键中断向量并使IF置1开放中断

 

检测开始键是否按下

N

Y

检测开始键是否弹起

N

Y

关闭LED显示器

 

点亮绿灯

置标志位值为FFH使IF=1开放中断

 

检测复位键是否按下

N

Y

N

Y

 

图3

3.3.2子程序流程图

图4

4、硬件设计

4.1所使用芯片功能

4.1.1可编程并行输入/输出接口芯片8255A

8255A具有三个独立的输入/输出端口,每个端口的并行数据宽度为8位。

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

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

1.8255A的内部结构包括以下几个部分:

A0A1

并行输入/输出端口,它有三个输入/输出端口,每个端口8位,都可选择为输入或输出。

A端口有一阁位数据输出锁存/缓冲器和一个8位数据输入锁存器;B端口有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器;C端口有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器。

通常A端口和B端口作为输入/输出数据端口,C端口常作为控制或状态信息的端口,它可分为两个4位端口。

在与外设数据传送中需要联络控制线时,C端口分别与A,B端口配合使用,此时,C端口作控制信号输出和状态信号输入。

(1)A组和B组控制电路,8255A内部的三个端口可分为两组:

A组由A口和C口高4位组成;B组由B口和C口低4位组成。

A组和B组分别有自己的控制电路,即A组和B组控制电路。

其功能:

负责接受来自读写控制的逻辑的各种命令,以及来自数字总线的控制字,从而决定A组和B组的工作方式,还可根据CPU的命令对C端口的每一位实现“复位”或“置位”。

(2)读/写控制逻辑,这是8255A内部完成读/写控制功能的部件。

它与6条输入控制线相连,负责接收CPU输入的地址信号和读/写,复位控制信号,转变成各种命令发向A组和B组控制电路。

(3)数据总线缓冲器,这是一个8位双向三态缓冲器,它是8255A与CPU数据总线的接口,由读/写控制其数据传送方向及三态。

8255A与CPU间的数据传送如输入/输出数据,CPU写入8255A的控制字,8255A送给CPU的状态信息,都是经过这个缓冲器传送的。

2.8255A的控制字:

(方式选择命令字和端口C按位置位/复位控制字)。

方式选择命令字:

D7

D6D5

D4

D3

D2

D1

D0

A组方式

A口

1—输入

0—输出

PC7~PC4

1—输入

0—输出

B组方式

0—方式0

1—方式1

B口

1—输入

0—输出

PC3~PC0

1—输入

0—输出

1有效

标志位

00—方式0

01—方式1

1—方式2

端口C按位置位/复位控制字

特征位

不用

不用

不用

位选择

位选择

位选择

置位/复位

0

D6

D5

D4

D3

D2

D1

D0

0、1

0、1

0、1

0、1

D3、D2、D1:

000~111分别对应C口1~7位

D0:

0为复位,1为置位

3.8255A有三种工作方式:

方式0---基本输入/输出方式。

这种方式不使用中断,没有规定的联络信号,三个端口的24条引脚均可做为输入/输出线,由程序设定各端口为输入端口或输出端口,完成并行输入/输出操作。

方式1---选通输入/输出方式。

这种方式下,端口A或端口B仍做为数据端口,同时规定了端口C的某些位做为控制或状态信息位,数据的输入/输出操作在联络信号的应答控制下完成,因而,可使用中断,也可使用查询。

方式2---双向传送方式。

这种方式下,外设在单一的8位数据线上,既能发送数据,也能接受数据。

在相应的控制线配合下,用中断方式或程序查询方式输入/输出数据。

端口A可工作于方式0,方式1和方式2,端口B可工作于方式1,端口C通常分成高4位和低4位,分别传送数据或控制,状态信息。

4.1.2可编程定时器/计数器8253/8254

8253芯片采用24个引脚,双列直插式封装,NMOS工艺,单一+5V电源。

片内有3个独立的16位减法计数器,每个计数器又可分两个8位的计数器。

8253有两种工作方式,即二进制或BCD方式计数;6种工作方式,既可对系统时钟脉冲计数实现定时,又可对外部事件进行计数。

可由软件或硬件开始计数或停止计数。

D0~D7

1.8253的内部结构包括以下几部分:

控制字寄存器

CLK0

GATE0

WE

OUT0

RDCLK1

A0GATE1

A1OUT1

CSCLK2

GNDGATE2

VCCOUT2

图6

8253由计数器、控制寄存器、读/写控制逻辑和数据总线缓冲器4部分和内部总线构成。

(1)数据总线缓冲器。

该缓冲器为8位双向三态的缓冲器,可直接挂在数据线上,CPU通过它,一方面可以向控制寄存器写入控制字,向计数器写入计数初值;另一方面也可由CPU通过该缓冲器读出计数器的当前计数值。

(2)读/写控制逻辑。

功能是接收来自CPU的控制信号,完成对8253各计数器的读/写操作。

(3)控制寄存器。

接收从CPU来的控制字,并由控制字的D7、D6位的编码决定控制字写入哪个计数器的控制寄存器。

(4)计数器。

8253有三个计数器通道:

计数器0、计数器1、计数器2。

每个计数器都由16位锁存寄存器和一个16位的减1计数器组成。

每个计数器有3根信号线。

其中2根为输入信号:

时钟信号CLK和门控GATE信号;1根输出信号OUT。

2.8253的工作方式:

方式0---计数结束产生中断方式。

这种方式的计数过程为当写入方式0后,计数器输出OUT立即变为低电平,并且在计数过程中一起维持低电平。

赋初值后,CLK第一个下降沿到,计数值装入计数器,随后每一个CLK脉冲下降沿到,计数器减1.计数器减到零时,OUT输出变为高电平,并且一直保持到该通道重新装入计数值或重新设置工作方式为止。

方式1---可重触发的单稳态触发器。

这种方式的计数过程为当装入计数初值后OUT输出为高电平,当GATE上升沿到,OUT输出为低电平,开始计数;计数结束时,输出变为高电平从而产生一个宽度为N个T的负脉冲。

方式2---分频器。

这种方式的计数过程为写入控制字后的时钟上升沿,输出端OUT变成高电平,写入计数初值后的第一个时钟下降沿开始减1计数。

减到1时输出端OUT变为低电平,减到0时,输出OUT又变为高电平,同时从初值开始新的计数过程。

方式3---方波发生器。

这种方式的计数过程分两种情况。

第一种情况:

计数初值为偶数。

写入控制字后的时钟上升沿,输出端OUT变成高电平,写入计数初值后的第一个时钟下降沿开始减1计数。

减到N/2时,输出端OUT为为低电平,减到0时,输出OUT又变为高电平,并重新从初值开始新的计数过程。

第二种情况:

计数初值为奇数。

写入控制字后的时钟上升沿,输出端OUT变成高电平,写入计数初值后的第一个时钟下降沿开始减1计数。

减到(N+1)/2以后,输出端OUT变为低电平,减到0时,输出端OUT又变为高电平,并重新从初值开始新的计数过程。

方式4---软件触发选通。

这种方式的计数过程与方式0非常相似。

当方式控制字置入后,OUT输出高电平。

置入初值后经过一个CLK脉冲开始减1计数,计数到达0值,OUT输出为低电平,持续一个CLK脉冲周期后再恢复到高电平。

方式5---硬件触发选通。

这种方式的计数过程为输出OUT即为高电平,写入初值后,计数器并不立即开始计数,而是由门控脉冲的上升沿触发。

计数结束,输出一个持续时间为一个TCLK的负脉冲,然后输出恢复为高电平,直到GATE信号再次触发。

4.1.3中断优先级管理器8259A

1.8259A内部结构:

图7.

8259A采用NMOS工艺制成,有28根引脚,所有输入、输出端与TTL电平兼容,单一电源(Vcc=+5V)供电。

8259的内部主要组成部分,包括处理部件(中断请求寄存器IRR、优先级鉴别器PR及现行服务寄存器ISR)、控制部件(控制逻辑及中断屏蔽寄存器IMR)、

数据总路线缓冲器、读/写逻辑以及级联缓冲器/比较器等5个部分。

2.8259A主要的外部引脚:

D0~D7:

双向数据线,CPU与8259A间利用这个数据总线传送数据及命令。

WR:

写控制输入信号,同控制总线上的IOW信号相连。

RD:

读控制输入信号,同控制总线上的IOR信号相连。

A0:

地址选择信号,用来对8259A内部的两个可编程寄存器进行选择。

CS:

片选输入信号,低电平有效。

有效时刻通过数据总线设置命令并对内部寄存器进行读出。

当进入中断响应时序时,该引脚状态与进行的处理无关。

INT:

由8259A向CPU发出的中断请求信号。

INTA:

输入信号,接收CPU送来的中断响应信号INTA.

IR0~IR7:

8个中断请求输入信号,高电平或上升沿有效。

用于接收外设接口来的中断请求。

CAS0~CAS2:

三条信号线试8259A级联时使用的,用来构成8259A的主从式级联控制结构。

SP/EN:

从片编程/允许缓冲器信号,双向,低电平有效。

3.8259A工作方式

(1)、优先级设置方式:

全嵌套方式(固定优先级方式)、特殊全嵌套方式(可响应同级中断方式)、轮转优先级方式、特殊轮转优先级方式。

(2)、中断源屏蔽方式:

普通屏蔽方式、特殊屏蔽方式。

(3)、中断结束方式:

中断自动结束方式、中断非自动结束方式(包括一般中断结束方式、特殊中断结束方式)。

(4)、系统总路线连接方式:

缓冲方式、非缓冲方式。

(5)、中断请求信号触发方式:

边沿触发方式、电平触发方式。

4.8259A初始化控制字格式

ICW1(芯片控制字)

D7D6D5

D4

D3

D2

D1

D0

000

特征位

1

触发方式

0边沿触发

1电平触发

0

单片选择信号

0多片8259级联

1单片8259

是不要ICW4

0不要(8080/8085)

1要(80X86)

ICW2(中断类型码控制字,D7~D3设置中断类型码)

D7

D6

D5

D4

D3

D2

D1

D0

×

×

×

×

×

0

0

0

ICW3(主片,级联时才用设置,各位为1则表示接有从片)

D7

D6

D5

D4

D3

D2

D1

D0

IR7

IR6

IR5

IR4

IR3

IR2

IR1

IR0

ICW3(从片,级联时才用设置)

D7

D6

D5

D4

D3

D2D1D0

0

0

0

0

0

ID2ID1ID0从片INT接于主片的引脚

000IR0

001IR1

…………

111IR7

ICW4(方式控制字)

D7D6D5

D4

D3

D2

D1

D0

000

嵌套方式

0全嵌套方式

1特殊全嵌套方式

缓冲方式

0非缓冲方式

1缓冲方式

缓冲方式下

0本片为从片

1本片为主片

中断结束方式

0中断非自动结束

1中断自动结束

系统类型

08080/8085

180X86

5.8259A操作命令字格式

OCW0(中断屏蔽字,各位为1则被屏蔽)

D7

D6

D5

D4

D3

D2

D1

D0

IR7

IR6

IR5

IR4

IR3

IR2

IR1

IR0

OCW1(轮转优先级和中断结束字)

D7

D6

D5

D4D3

D2D1D0

轮转位

0非轮转

1轮转

选择标志位

1L2~L0无效

1L2~L0有效

中断结束位

0非中断结束

1中断结束

特征位

00

标志位

000IR0优先级最低

001IR1优先级最低

OCW2(特殊屏蔽、查询和状态读取字)

D7

D6

D5

D4D3

D2

D1

D0

0

特殊屏蔽方式允许位

0禁止特殊屏蔽方式

1允许特殊屏蔽方式

特殊屏蔽方式位

0非特殊屏蔽方式

1特殊屏蔽方式

特征位

01

中断查询位

0非中断查询

1中断查询

读寄存器

0禁止读

1允许读

0读IRR

1读ISR

4.2系统所选用各芯片的工作方式

4.2.1中断优先级管理器8259A的工作方式

(1)、芯片控制ICW1:

采用边沿触发,单片8259,要写入ICW4控制字

(2)、中断类型码ICW2:

设置IR0~IR7的中断类型码依次为08H、09H、…、0FH

(3)、方式控制ICW4:

优先级设置方式为全嵌套方式即固定优先级方式,系统总线连接方式为主片工作在缓冲方式下,中断结束方式采用中断非自动结束方式,8259工作在8086系统上。

4.2.2可编程并行接口接口芯片8255A的工作方式

(1)、A口工作在方式0,做为输入端口用于连接选手按键(PA7~PA0依次对应按键1~8);

(2)、B口工作在方式0,做为输出端口,经驱动器1连接LED显示器(PB7~PB0依次对应连接LED显示器的dp、g、f、e、d、c、b、a七段数码管管脚);

(3)、C口也必须工作在方式0,高4位做输入端口(本次设计中只用PC4、PC5,分别用于连接复位键和开始键),低4位做输出端口(PC3~PC0,经驱动器2后PC1、PC2、PC3分别用于连接黄、红、绿三个发光二极管,PC0连接到8253的GATE1端,以控制通道1的计数)。

4.2.3可编程定时器/计数器8253的工作方式

(1)、通道0:

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

(2)、通道1:

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

(3)、通道2:

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

5、软件设计

DATASEGMENT

TABDB06H,5BH,4FH,66H,6DH,7CH,07H,7FH,67H;1~9的段码

;(字形码)

BZDB00H

DATAENDS

STACKSEGMENTPARASTACK‘STACK’

DB100HDUP(?

STACKENDS

CODESEGMENT

ASSUMEDS:

DATA,CS:

CODE

START:

MOVAX,,DATA

MOVDS,AX

;8259A初始化

MOVAL,13H;初始化8259A的ICW1

OUT20H,AL

MOVAL,08H;送中断类型码基值,8259A的ICW2

OUT21H,AL

MOVAL,0DH;一般中断结束方式,8259A的ICW4

OUT21H,AL

;8255A初始化

MOVAL,98H;置8255A工作方式

OUT83H,AL

XORAL,AL;B口、C口初始化

OUT81H,AL

OUT82H,AL

;8253初始化

MOVAL,37H;置8253通道0控制字

OUT43H,AL

MOVAL,00H;置8253通道0计数初值为4000

OUT40H,AL

MOVAL,40H

OUT40H,AL

MOVAL,73H;置8253通道1控制字

OUT43H,AL

MOVAL,00H;置8253通道1计数初值为3000

OUT41H,AL

MOVAL,30H

OUT41H,AL

MOVAL,B7H;置8253通道2控制字

OUT43H,AL

MOVAL,00H;置8253通道2控制字

OUT42H,AL

MOVAL,00H;置8253通道2计数初值为0

OUT42H,AL

MOVAL,00H

OUT42H,AL

;中断设置

MOVAH,25H;设置抢答按键中断向量

MOVAL,0AH;中断类型号为入口参数

MOVBX,SEGKEYINT;DS:

DX指向4字节地址

MOVDS,BX

MOVDX,OFFSETKEYINT

INT21H

STI;使IF置1,开放可屏蔽中断

;主循环

LOPM:

IN

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

当前位置:首页 > 经管营销 > 经济市场

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

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