文档库 最新最全的文档下载
当前位置:文档库 › 微机原理与接口技术数字钟设计

微机原理与接口技术数字钟设计

《微机接口课程设计》

数字钟论文

201X/201X年第一学期

专业:计算机科学与技术

班级:XXX

学号:XXXXXX

姓名:XXX

指导教师:XXXX +

摘要 (3)

第一章引言 (4)

一、研究背景 (4)

二、研究目的 (4)

三、研究内容 (5)

四、研究结果 (5)

第二章硬件系统构成 (6)

一、系统构成 (6)

二、芯片介绍 (7)

(一)、8255A芯片介绍 (7)

(二)、8253芯片介绍 (11)

(三)、8259芯片介绍 (13)

第三章软件系统构成 (18)

一、程序流程图 (18)

(一)、主程序流程图 (18)

(二)、E键操作流程图 (19)

(三)、C键操作流程图 (19)

(四)、g键操作流程图 (20)

(五)、d键操作流程图 (20)

(六)、p键操作流程图 (21)

(七)、LED显示流程图 (23)

(八)、矩阵式键盘按键流程图 (24)

第四章课程设计总结 (25)

一、心得体会 (25)

二、源程序 (26)

三、参考文献 (32)

摘要

我们小组做的是数字钟实验,主要包括了8253、8255A、8259等接口技术,键盘扫描以及LED动态显示技术,实现了用六个数码管显示时间,用小键盘控制计时和显示的功能,具体包括了清除、启动、停止、终止程序、设置初始值的功能。

关键词:数字钟、动态显示、8253定时器、8255A并行I/O接口、8259中断控制器、矩阵键盘

第一章引言

一、研究背景

数字钟是一种用数字电路技术实现时、分、秒计时的钟表。与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,以便于功能的扩展。

二、研究目的

熟悉8255A、8253、8259等I/O接口的编程技术,掌握键盘扫描和LED动态显示的工作原理

三、研究内容

用试验台上的并行口扫描键盘,控制LED显示,以制作一个时间显示系统。

四、研究结果

使用六个数码管显示时间,用小键盘控制计时和显示:

C键(清除)显示初值

G键(启动)显示变化时间

D键(停止)显示时间不变

E键(终止程序)熄灭数码管,程序退出

P键(设置初始值)设置初值

第二章硬件系统构成

一、系统构成

本系统以8086CPU为核心,采用了8255A芯片、8253芯片、8259芯片、LED、小键盘等器件,分别的功能如下:

Intel 8255A:一种通用的可编程并行接口芯片

Intel 8253:可编程定时/计数器,是Intel公司为它的微处理器系列设计的一种外围电路芯片

Intel 8259:与8086系列CPU兼容的可编程中断控制器

LED显示器:六个LED灯从左向右分别表示小时、分钟、秒

键盘:用于控制电子钟以及设置初值

二、芯片介绍

(一)、8255A芯片介绍

1.功能

Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。

2.8255A内部结构

(1)数据总线缓冲器

这是一个双向三态8位数据缓冲器,是Intel 8255A与CPU 数据总线的接口。输入数据、输出数据、CPU发送给8255A的

控制字以及从8255A读出的状态信息都通过该缓冲器传送。

(2)端口A、B、C

Intel8255A有三个8位端口,分别称为端口A、端口B、端口C。各端口可由程序设定为输入端口或输出端口,但三个端口有着各自的功能特点。

端口A有一个8位的输入锁存器和一个8位的输出锁存/缓冲器,所以用端口A作为输入口或输出口时,都有数据锁存的功能。

端口B有一个8位的输入锁存器和一个8位的输入/输出锁存/缓冲器,所以用端口B作为输入口或输出口时,也都有数据锁存的功能。

端口C有一个8位的输入锁存器和一个8位的输出锁存/缓冲器,所以用端口C作为输入口时,对数据不作锁存,而作为输出口时,对数据进行锁存。

(3)A组控制和B组控制

这两组控制逻辑电路一方面接收来自CPU的控制字,另一方面接收来自读/写控制逻辑电路的读/写命令,由此来决定两组端口的工作方式及读/写操作。

A组控制——控制端口A及端口C的高4位。

B组控制——控制端口B及端口C的低4位。

(4)读/写控制逻辑

读/写控制逻辑负责管理Intel8255A的数据传送过程,接收片选信号CS___,来自地址总线的地址信号A1、A0,以及来自控制总线的信号

RESET 、WR ___和RD ___

,这些信号的组合产生A 组部件和B 组部件的控制信号。

3.8255A 外部引脚

D7~D0(data bus ):三态、双向数据线,与CPU 数据总线连接,用来传送数据。

A 1,A 0(port address ):地址线,用来选择内部端口。 CS ___

(chip select ):片选信号线,低电平有效时,芯片被选中。 RD ___(read ):读出信号线,低电平有效时,允许数据读出。 WR ___(write ):写入信号线,低电平有效时,允许数据写入。 RESET (reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。

PA7~PA0(port A ):A 口输入/输出信号线。 PB7~PB0(port B ):B 口输入/输出信号线。 PC7~PC0(port C ):C 口输入/输出信号线。 VCC :+5V 电源。 GND :电源地线。

4.工作方式

(1)方式0:基本输入/输出方式(basic Input/Output)

方式0是8255A的基本输入/输出方式,其特点是与外设传送数据时,不需要设置专用的联络(应答)信号,可以无条件的直接进行I/O传送。

(2)方式1:单向选通输入/输出方式(strobe Input/Output)

方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:与外设传送数据时,需要联络信号进行协调,允许用查询或中断方式传送数据。

(3)方式2:双向选通输入/输出方式(bi-directional bus)方式2为双向选通输入/输出方式,是方式1输入和输出的组

合,即同一端口的信号线既可以输入又可以输出。由于C口的PC7~PC3定义为A口工作在方式2时的联络信号线,因此只允许A口工作在方式2,

5.初始化

8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。

8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字。方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PCi(i =0~7)的电平。两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位。

8255A的初始化编程比较简单,只需要将工作方式控制字写入控制端口即可。另外,C口置位/复位控制字的写入只是对C口指定位输出状态起作用,对A口和B口的工作方式没有影响,因此只有需要在初始化时指定C口某一位的输出电平时,才写入C口置位/复位控制字。

(二)、8253芯片介绍

1.8253功能

intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的

2.8253内部结构

(1)数据总线缓冲器

该缓冲器为双向三态,可直接挂在数据总线上,CPU通过该缓冲器可向8253写入方式控制字、计数器初始值或从8253读出计数器的当前值。

(2)控制字寄存器

控制字寄存器接受来自数据总线缓冲器的信息。该寄存器是8位的,只能写,不能读。

(4)计数器0、1、2

三个计数器相互独立,均是16位的减法计数器。三个计数器的内部结构完全相同,含有16位的计数寄存器和锁存器。

3.8253外部引脚

(1) 数据总线缓冲器(8位、三态、双向); (2) 读/写控制逻辑;

CS ___

:片选信号,低电平有效; RD ___:读信号,低电平有效;

W ____R :写信号,低电平有效

(3)A 1A 0:端口选择信号 (4)三个通道( 0 ~ 2); (5)一个控制寄存器;

(三)、8259芯片介绍 1.8259功能

可编程中断控制器8259A 是Intel 公司专为80x86 CPU 控制外部中断而设计开发的芯片。 它将中断源优先级判优、中断源识别和中断屏蔽电路集于一体,不需要附加任何电路就可以对外部中断进行管

理,单片可以管理8级外部中断,在多片级联方式下,可以管理多达64级的外部中断。

2.8259内部结构

(1)数据总线缓冲器

数据总线缓冲器为三态、双向、8位寄存器,数据线D7~D0与CPU系统总线连接,构成CPU与8259A之间信息传送的通道。

(2)读/写控制逻辑

读/写控制逻辑用来接收CPU系统总线的读/写控制信号和端口地址选择信号,用于控制8259A内部寄存器的读/写操作。

(3)级联缓冲/比较器

8259A既可以工作于单片方式,也可以工作于多片级联方式,级联缓冲/比较器提供多片8259A的管理和选择功能,其中一片为主片,其余为从片。

(4)中断控制逻辑

中断控制逻辑按照编程设定的工作方式管理中断,负责向片

内各部件发送控制信号,向CPU发送中断请求信号INT和接收CPU 回送的中断响应信号,控制8259A进入中断管理状态。

(5)中断请求寄存器(interrupt request register,IRR)

IRR是一个8位寄存器,用于记录外部中断请求。其中D7~D0分别与外部中断请求信号IR7~IR0相对应。

(6)中断服务寄存器(interrupt service register,ISR)

ISR是一个8位寄存器,用于记录CPU当前正在服务的中断标志。当外部中断IRi(i=0~7)的请求得到CPU响应进入服务时,由CPU发来的第一个中断响应脉冲将ISR中的相应位Di(i=0~7)置1,而ISR的复位则由8259A中断结束方式决定。

(7)中断屏蔽寄存器(interrupt mask register,IMR)

IMR是一个8位寄存器,用来存放IR7~IR0的中断屏蔽标志。它的8个屏蔽位D7~D0与外部中断请求IR7~IR0相对应,用于控制IRi的请求是否允许进入。

(8)优先权判决器(priority register,PR)

优先权判决器对IRR中记录的内容与当前ISR中记录的内容进行比较,并对它们进行排队判优,以便选出当前优先级最高级的中断请求。

3.8259外部引脚

D7~D0(bidirectional data bus ):双向、三态数据线,与CPU 系统总线连接。

RD ___

(read ):读信号,输入,低电平有效。当有效时CPU 对8259A 进行读操作。

WR ___(write ):写信号,输入,低电平有效。当有效时CPU 对8259A 进行写操作。

A0(address line ):端口地址选择信号,输入,由8259A 片内译码,选择内部寄存器。

CS ___(chip select ):片选信号,输入,低电平有效。当有效时8259A 被选中。

SP ___

/EN ___

(slave program/enable buffer ):双向信号线,用于从片选择或总线驱动器的控制信号。当8259A 工作于非缓冲方式时,作为输入信号线,用于从片选择。级联中的从片接低电平,

主片接高电平。当8259A 工作于缓冲方式时,作为输出信号线,用做8259A 与系统总线驱动器的控制信号。

INT (interrupt request ):中断请求信号,与CPU 的中断请求信号相连。

INTA ______

(interrupt acknowledge ):中断响应信号,与CPU 的中断应答信号相连。

CAS2~CAS0(cascade lines ):级联信号线,作为主片与从片的连接线,主片为输出,从片为输入,主片通过CAS2~CAS0的编码选择和管理从片。

IR7~IR0(interrupt requests ):中断请求输入信号,由外设输入。

VCC :+5V 电源输入信号。 GND :电源地

第三章软件系统构成一、程序流程图

(一)、主程序流程图

开始

重新设置堆栈段

设置0AH中断服务程序入口地

重新设置数据段,显示提示信

清除IRQ0中断屏蔽位

调用键盘扫描子程序

获得字符

MINI=0

MINI2=0

SEC1=0 SEC2=0 COUNT=0 FLAG=0FLAG=1

开始

计时

FLAG=0

停止

计时

设置IRQ2

中断屏蔽

开中断

返回DOS

FLAG=0

调用KEY获得6

个数字键设置

时间

C G

D

E P

(二)、E 键操作流程图

函数AAA1

开始

调用键盘扫描函数以及数

码管显示函数

CMP 指令比较按键是否为E

比较是否为其他按键

熄灭数码管,程序退出

(三)、C 键操作流程图

函数AAA2

开始

CMP 指令比较按键是否为C

数码管都显示0

判断下个键

返回AAA1函数

函数AAA3

开始

CMP 指令判断按键是否为G

FLAG=1,开始计

判断下个键

返回AAA1函数

(五)、d 键操作流程图

函数AAA4

开始

CMP 指令判断按键是否为D

FLAG=0,停止计

判断下个键

返回AAA1函数

相关文档
相关文档 最新文档