搜档网
当前位置:搜档网 › 8255芯片

8255芯片

8255芯片
8255芯片

8255A的内部结构,由三部分电路组成:与CPU的接口电路、内部控制逻辑电路和与外设连接的输入/输出接口电路。

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

(chip select):片选信号线,低电平有效时,芯片被选中。

A1, A0(port address):地址线,用来选择内部端口。

(read):读出信号线,低电平有效时,允许数据读出。

(write):写入信号线,低电平有效时,允许数据写入。

RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。

PA7~PA0(port A):A口输入/输出信号线。

PB7~PB0(port B):B口输入/输出信号线。

PC7~PC0(port C):C口输入/输出信号线。

VCC:+5V电源。GND:电源地线。

8255A的工作方式

方式0:基本输入输出方式

适用于无条件传送和查询方式的接口电路

方式1:选通输入输出方式

适用于查询和中断方式的接口电路

方式2:双向选通传送方式

适用于与双向传送数据的外设

适用于查询和中断方式的接口电路

8255A初始化编程

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

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

(1)方式控制字的格式

8255A工作方式控制字的格式如图7.11所示。

D0:设置PC3~PC0的数据传送方向。D0=1为输入;D0=0为输出。

D1:设置B口的数据传送方向。D1=1为输入;D1=0为输出.

D2:设置B口的工作方式。D2=1为方式1;D2=0为方式0。

D3:设置PC7~PC4的数据传送方向。D3=1为输入;D3=0为输出。

D4:设置A口的数据传送方向。D4=1为输入;D4=0为输出。

D6D5:设置A口的工作方式。D6D5=00为方式0,D6D5=01为方式1,D6D5=10或11为方式2。

D7:方式控制字的标志位,恒为1。

例如,将8255A的A口设定为工作方式0输入,B口设定为工作方式1输出,C口没有定义,

工作方式控制字为10010100B。

(2)C口置位/复位控制字的格式

8255A C口置位/复位控制字的格式如图7.12所示。

8255A C口置位/复位控制字用于设置C口某一位口线PC i(i=0~7)输出为高电平(置位)或低电平(复位),对各端口的工作方式没有影响。

D3~D1:8种状态组合000~111对应表示PC0~PC7。

D0:用来设定指定口线PC i为高电平还是低电平。当D0=1时,指定口线PC i输出高电平;当D0=0时,指定口线PC i输出低电平。

D6~D4没有定义,状态可以任意,通常设置为0。D7位作为标志位,恒为0。例如,若把PC2口线输出状态设置为高电平,则置位/复位控制字为00000101B。

(3)8255A初始化编程

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

8255A的应用

作为通用的并行接口电路芯片,825A具有广泛的应用

应用在IBM PC/XT微机上

应用于打印机接口电路

连接简易键盘

驱动LED数码管

……

1.8255A方式0的应用

0方式只要用于一些通信双方不需要联络信号的场合,如读取开关量、LED显示、非编码盘、打印机接口等。

例1.某8086微机系统中有一片8255A,其端口A的PA7至PA0接8个开关K7~K0,B口的PB7~PB0接8个发光二极管LED7~LED0。A口、B口均工作于方式0,硬件连接如下图所示,要求实现编程,将开关状态

K7~K0送入LED7~LED0循环显示。

可编程通信接口8251A(USART)

1.8251A的基本结构

8251A的基本结构包括5个功能模块

(1)数据总线缓冲器——用于暂存接收,发送数据,CPU发来的命令及8251的工作状态。(2)读/写控制逻辑——接收来自CPU控制总线的控制信号,控制数据的传送方向。

(3)接收器——从接收数据线RXD上接收串行数据,按指定方式将其转换成并行数据。(4)发送器——接收CPU送来的并行数据,按指定方式将其转换成串行数据通过发送数据线TXD发送出去。

(5)调制解调器控制电路——提供4个通用的控制信号,即(数据终端准备好),

(数据设备准备好),(请求发送)和(准许发送),以备8251A与外设联络。2.8251A的工作过程

(1)8251A发送数据的过程

①当发送缓冲器为空时,信号TXRDY有效(或状态字的D0=1),以示发送器准备好,等待CPU送入数据。

②CPU将要发送的数据写入8251A的发送缓冲器;

③发送的数据进行“并→串”转换;

④插入起始位、奇/偶位和停止位或同步字符等,数据一位一位从TXD端串行输出。

(2)8251A接收数据的过程

①在RXD端检测到起始位或同步字符;

②开始在RXD线上采集数据;

③将接收到的数据“串→并”转换,并进行奇偶校验和检查错误;

④将采样到的、经过变换的8位数据由接收缓冲器送入数据总线缓冲器;

⑤信号RXRDY有效(或状态字的D1=1),以示8251A已接收到一个数据,待CPU读取。3.8251A的初始化

在如前面已经强调过的,在使用可编程接口之前必须进行初始化,即在使用8251A进行数据传输前,对其进行编程,将相关方式指令字、命令指令字写入8251A。

8251A初始化的具体步骤如图7-3所示。

图7-3 8251A初始化流程图

4. CPU对8251A的操作和控制8251A有两个端口地址,偶地址为输入/输出数据端口地址,奇地址为控制/状态端口地址。

引脚线

C/与A0连

接:

A0=0,访问输入/输出数据端口

A0=1,访问控制/状态端口

控制信号:、、C/、合成对8251A的操作如表7-1所示。

表7-1 CPU对8251A的操作

5.8251A的控制字和状态字

关于8251A的方式指令字、命令指令字和状态字,考生应着重对字中各位符号"0"、"1"含义的理解,掌握这些字的应用。

(1)方式指令字(控制字)格式

方式指令字的格式如图7-4所示:

[注]方式指令字的B2B1=00,此时8251A工作于同步方式,而字中S2S1的设置不起作用。

图7-4 8251A方式指令字格式

(2)命令指令字(控制字)格式

命令指令字的格式如图7-5所示:

图7-5 8251A方式指令字格式

(3)状态字

8251A的状态字格式如图7-6所示:[注]

(i)状态位RX RDY、TXE、SYNDET和8251A的引脚信号RXRDY、TXE、SYNDET定义相同,电平一致;

(ii)状态位TXRDY与8251A的引脚信号TXRDY定义相同,但条件不一样。当发送缓冲器为空时,状态位TXRDY=1;而引脚信号TXRDY为高电平的条件是状态位TXRDY=1、命令控制

字TXEN=1,且输入低电平。

(iii)采用查询方式利用8251A传送数据时,可通过对状态位RXRDY或TXRDY的测试来进行数据的传送。

图7-6 8251A的状态字格式

二、8253-5的结构和功能

8253-5为具有三个独立的16位计数器,它可用程序设置成多种工作方式,按十进制计数或二进制计数,最高计数速率可达2.6MHz。8253-5能用于多种场合,例如作为可编程方波频率发生器、分频器、实时时钟、事件计数器以及程控单脉冲发生器等。

8253-5的结构框图及引脚排列如图7-17所示。

图7-17 8253-5的结构框图和引脚排列

(a)结构框图; (b)引脚图

24条引脚中,D 7~D 0为8条双向数据线;前一单元fix = v ns = "urn:schemas-microsoft-com:vml" />前一单元

ferrelative="t" o:spt="75" coordsize="21600,21600">

为写输入信号; 为读输入信号; 为片选输入信

号;A 0、A 1为片内寄存器地址输入信号。上述信号线都和CPU 相接。三个计数器中每一个都有三条信号线;计数输入CLK 用于输入定时基准脉冲或计数脉冲;输出信号OUT 以相应的电平指示计数的完成,或输出脉冲波形;选通输入(门控输入)GATE 用于起动或禁止计数器的操作,以使计数器和计测对象同步。 每个计数器中有三个寄存器:①控制寄存器。初始化时,将控制字寄存器内容写入该寄存器;②计数初值寄存器。初始化时写入该计数器的初始值;③减1计数寄存器。计数初值由计数初值寄存器送入减1计数寄存器,当计数输入端输入一个计数脉冲时,减1计数寄存器内容减1,当减到零时,输出端输出相应信号表示计数结束。

8253-5的读写控制逻辑接受系统总线的输入信号,当 接收到低电平时,8253-5根据 和 端的电平,控制本器件接受CPU 的访问,双向三态的数据总线缓冲器根据指令接收或发送数据。这些数据是:编程8253工作方式的控制字;装入各计数器的初始值;读出各计数器的当前值。

用作寄存器选择的地址输入信号A 1和A 0决定CPU 访问的对象。8253-5内部寄存器选择如表7-4所示。

表7-4 8253-5内部寄存器地址

A 1 A 0 读 写 BIOS 使用的地址

0 0 0 CNT 0 CNT 0 40H 0 0 1 CNT 1 CNT 1 41H 0 1 0

CNT 2

CNT 2

42H

0 1 1 工作方式寄存器 43H

1 X X 无 效

工作方式寄存器(又称控制字寄存器)是只写寄存器,它接受写入的控制字。8253-5内部有三个控制寄存器控制对应计数器的工作。它决定计数器的工作方式,按十进制或二进制计数,并控制CPU 访问这些计数器的方法。控制字中的6位作控制,2位用于选择计数器,其内容如下: 工作方式控制字: D 7

D 6

D 5

D 4

D 3

D 2

D 1

D 0

SC

1SC

RL

1

RL

M

2

M

1

BCD

各字段说明见表7-5~表7-8。

表7-5 SC1,SC0——计数器选择

SC

1SC

计数器

SC

1

SC

计数器

00CNT010CNT2 01CNT111不用

表7-6 RL

1,RL

——CPU读/写操作

RL

1RL

操作方式

00计数器锁存操作(供CPU读)01读/写计数器低8位

10读/写计数器高8位

11先读/写8位,再读/写高8位

表7-7 M

2M

1

M

——工作方式选择

M

2M

1

M

工作方式

000方式0

001方式1

X10方式2

X11方式3

100方式4

101方式5

表7-8 BCD-计数方式选择

016位二进制计数

14位十进制(BCD)码计数

8253-5的三个计数器是独立的16位减1计数器。计数器的工作方式由工作方式寄存器确定。计数器在编程写入初始值后,在某些方式下计数到0后自动预置,计

数器连续工作。CPU访问计数器时,必须先设定工作方式控制字中的RL

1RL

位。

计数器对CLK计数输入端的输入信号进行递减计数。选通信号GATE控制计数工作的进行,其功能如表7-9所示。

表7-9 选通信号GA TE的功能

低电平或进入低电平上升边沿高电平方式0禁止计数——允许计

方式1— 1. 初始化和计数——

2. 下一个时钟后输出变为低电平

方式2 1. 禁止计数

2. 使输出立即变为高电平1. 初始化和计数

2. 计数器重新装入

允许计

方式3 1. 禁止计数

2. 使输出立即变为高电平1. 初始化和计数

2. 计数器重新装入

允许计

方式4禁止计数——允许计

方式5——初始化和计数——三、8253-5的工作方式

8253具有六种工作方式,在不同的方式下,计数器的启动方式、GATE端输入信号的作用以及OUT端的输出波形都有所不同。

在任何一种方式下,都必须先向8253写入控制字,控制字还起复位作用,它使OUT端变为工作方式中规定的状态和对计数初值寄存器CR清零;然后再将计数初值写到CR中,其最大值为0000H。

(一)方式0——计数结束中断

当程序把控制字写入控制寄存器时,苦工作在方式0,则该计数器的输出OUT立即变为低电平。在计数初值写入该计数器后,输出仍将保持为低电平,在门控GATE信号为高电平时,计数器开始减1计数,当计数器从初始值减到全0时,便产生一高电平OUT输出,利用此输出信号可向CPU发出中断请求,此高电平输出一直保持到该计数器装入新的工作方式或计数值为止。若在计数过程中装入新的初始值,则会导致装入第一字节停止现行计数,装入第二字节后从新的初始值开始计数。

方式0的时序波形如图7-18所示。

图7-18 方式0波形

图中取计数初值n-4,在GATE为高电平时,允许计数器计数;若GATE为低电平,则禁止计数器计数。

注意如下几点:

1)按方式0计数时,计数器只计一遍,当计数到0时,计数器并不装入初始值重新开始计数,其输出将保持为高电平。

2)方式0的计数过程可由门控信号GA TE控制其起停。在计数过程中,GATE信号的变化不影响输出OUT的状态。

3)计数过程中可重新装入计数初值。如果是8位计数初值,在写入新的计数值后,计数器将按新的计数值重新开始计数,如果是16位计数初值,在写入第一个字节后,计数器停止计数,在写入第二个字节后,计数器按照新的计数值开始计数。

4)8253的内部操作是在CPU写计数值的信号上升沿将该计数值送到与计数器对应的计数初值寄存器。在信号上升沿之后的一个CLK脉冲,才将计数值从计数初值寄存器送到减1计数器,计数器才开始计数。如果设置计数初值为N,输出

OUT是在N+1个CLK脉冲期间变为高电平的,这个特点也适合于方式l、方式2、方式4和方式5。

(二)方式1——可编程单稳

在设定为方式1工作时,输出OUT变为高电平。CPU执行输出指令装入计数初值时,OUT仍保持为高电平,在选通GATE输入信号上升沿后的计数过程中,OUT 变为低电平;直至减1计数器为全0时,OUT将变为高电平。若在计数过程中(OUT 为低电平时),装入一个新的计数值,则在下一次GATE触发之前不影响计数器的计数,即不影响上一次的单稳脉冲的宽度。任何时刻都可以读出计数器的值而不影响单稳脉冲的宽度。单稳是可重触发的,因而在任何GATE输入信号上升沿后,OUT输出低电平信号的宽度将取决于时钟频率和计数初值的设定。

方式1的时序波形如图7-19所示。

图7-19 方式1波形

在方式1时,GATE信号实际上是单稳态线路的触发信号,在GATE信号上升沿后的时钟脉冲CLK的由高电平到低电平的下降沿将计数初值装入计数器,同时使OUT变为低电平,然后开始递减计数过程。在计数初值为N时,则OUT输出的脉冲宽度为N个输入脉冲的间隔时间。

(三)方式2——频率发生器

当8253工作于方式2时,相当于一个N分频器,N为设定的计数初值,OUT变为低电平的时间是一个输入时钟周期,从一个输出脉冲到下一个输出脉冲之间的时间等于输入到计数寄存器中的计数初值N和时钟周期的乘积。如果在两个输出脉冲之间,对计数寄存器装入新的初始值,现行计数过程不受影响,但下一周期将反映新的计数初值。当GATE输入端为低电平时,将迫使OUT为高电平,并禁止计数;当GA TE变为高电平时,计数器装入预置的计数值,且开始计数。这样,GATE 信号就可用作计数器的同步控制信号。

在控制字设定一个计数器为方式2工作时,OUT输出保持为高电平,直至给计数寄存器重新装入计数初值。这样,OUT也能用软件来同步。

方式2的时序波形如图7-20所示。

图7-20 方式2波形

(四)方式3——方波发生器

这种方式类似于方式2,不同的是OUT输出是方波。当计数值是偶数时,在计数完成一半之前OUT保持为高电平,对另一半计数时OUT将变为低电平,然后重复上述计数操作,当计数值N是奇数时,对(N+1)/2进行计数时OUT是高电平,而对(N-1)/2进行计数时OUT则是低电平,然后重复计数,如果计数寄存器在计数期间重新装入新值,这个新值将在计数输出跳变以后立即反映出来。方式3波形如图7-21所示。

图7-21 方式3波形

(五)方式4——软件触发选通

设定为方式4后,OUT将是高电平。在CPU执行OUT指令时把计数值装入计数初值寄存器,在信号后的一个时钟脉冲的下降沿把计数值装入计数器,此后计数

器开始计数。在计数结束时,OUT输出一个时钟周期的低电平信号,然后再次变为高电平。如果在计数过程中写入一个新的计数值,则现行CLK时钟周期不受影响,但下一个时钟周期将新的计数值装入计数器,然后开始计数。

当GATE信号为低电平时禁止计数;GATE为高电平时允许计数。

方式4的时序波形如图7-22所示。

图7-22 方式4波形

(六)方式5——硬件触发选通

这种方式类似于方式4,不同的是GATE输入信号的作用不同,计数过程由GATE 的上升沿触发,在GA TE的上升沿后的一个时钟脉冲的下降沿将计数值装入计数器,然后开始计数过程。在计数结束时,OUT将输出一个时钟周期的低电平信号,计数器是可重触发的。在任何GATE触发脉冲上升沿之后,将把计数初值重新送入计数器,然后开始计数过程。

方式5的时序波形如图7-23所示。

图7-23 方式5波形

四、8253-5的初始化

(一)写入方式控制字

使用任一计数器通道,首先要向该通道写入方式控制字,以确定该通道的工作方式。注意,虽然三个通道用的控制字端口地址是相同的,但三个控制字写入后却存入对应通道的控制寄存器中。

(二)写入计数初始值

某个计数器在写入了方式控制字后,任何时候都可以按RL

1RL

的规定写入计数初

始值,对某一计数器的写入次序是必须严格遵守的,但是在符合次序情况下,允许在中间穿插着对别的计数器的读写操作。

当RL

1RL

=01时,只写入低8位,则高位自动置0;

当RL

1RL

=10时,只写入高8位,则低位自动置0;

当RL

1RL

=11时,写入16位,先写低8位,后写高8位。

写入计数初始值时,还需注意的是:如果在方式控制字中的BCD位为1,即为十进制计数,在写入指令中时必须写成BCD数,例如计数初值为50,采用BCD计数,则指令中的50必须写为50H。下面举一个初始化的例子来说明上述过程。

要求计数器0工作于方式3,输出方波的重复频率为2KHz,计数脉冲输入为2.5MHz,采用BCD计数,试写出初始化程序段。

计算计数初始值

TC=2.5MHz/2KHz=1250

方式控制字为00110111=37H,即计数器0,写16位,方式3,BCD计数。

设8253的端口地址为80H,81H,82H,83H。

则初始化程序段为

MOV AL,37H ;写入方式控制字

OUT 83H,AL

MOV AL,50H ;写入计数初始值低8位

OUT 80H,AL

MOV AL,12H ;写入计数初始值高8位

OUT 80H,AL

(三)读计数值

在计数进行过程中,读出当前的计数值有时是有用的。在动态读计数值时可以有两种办法。

1. 以普通对计数器端口读的方法取得当前计数值

按工作方式控制字中RL

1RL

位的规定,可以读出指定字节的计数值。考虑到计数

器正在进行计数,可能会使从计数器直接读出的数值不稳定。为此,在这种直接读出方法使用时,可以用GATE无效或阻断时钟输入等方法,使计数器暂停计数,保证CPU读到稳定的数值。

由于8253内部逻辑安排,按RL

1RL

的规定读完全部规定字节是绝对必要的,如果

规定要读两个字节,那么必须在读出两个字节后,才有可能正确地向计数器写数。2.锁存计数器的当前计数值

用一个方式控制字,其中SL

1SL

=01指定要读的计数器通道号,RL

1

RL

=00,使这

个方式控制字成为一个软件命令,方式字的其余各位内容可以不考虑。这个命令一写入后,就立即把当前计数值锁存到锁存寄存器,而计数器可以继续工作。此后,CPU通过和上面一样的办法读出计数值,即先用方式控制字规定读取的方式,然后再读计数值,但由于这是从锁存寄存器中读取的,所以是一个稳定的值。这种方法唯一的限定也是必须读完规定的字节数。

五、8253定时器时数器应用举例

用8253监视一个生产流水线,每通过50个工作,扬声器响5s,频率为2000Hz。

1. 硬件连接

8253的应用示意图如图7-24所示,图中工件从光源与光敏电阻之间通过时,在晶体管的发射极上会产生一个脉冲,此脉冲作为8253-5通道0计数器的计数输入

CLK

0,当通道0计数满50后,由OUT

输出负脉冲,经反相后作为8259A的一个中

断请求信号,在中断服务程序中,启动8253-5通道1计数器工作,由OUT

1

连续输出2000Hz的方波,持续5s后停止输出。

图7-24 8253的应用示意图

本例中,通道0计数器工作于方式2,通道1计数器工作于方式3,通道1的门控信

号GATE

1由8255A的PA

控制,输出方波信号经驱动、滤波后送扬声器。

2. 控制字设置

通道0计数器工作于方式2,采用BCD计数,因计数初值为50,采用RL

1RL

=01(读

/写计数器的低8位),则工作方式控制字为00010101。

通道1计数器工作于方式3,CLK

1

接2.5MHz时钟,要求产生2000Hz的方波,则计

数初值应为2.5×106/2000=1250,采用RL

1RL

=11(先读/写低8位,后读/写高8位),

BCD计数。则工作方式字为01110111。

3. 程序

设:通道0的地址为40H,通道1的地址为41H,控制口地址为43H,8255A的口地址为80H,则主程序为:

MOV AL,15H ;通道初始化

OUT 43H,AL

MOV AL,50H ;计数初值

OUT 40H,AL

STI ;开中断

LOP:HLT ;等待中断

JMP LOP

中断服务程序为:

MOV AL,01H ;通道1的GATE1置

1

,启动计数

OUT 80H,AL

MOV AL,77H ;通道1初始化

OUT 43H,AL

MOV AL,50H ;计数初值

OUT 41H,AL

MOV AL,12H

OUT 41H,AL

CALL DL5S ;延时5s

MOV AL,00H ;通道1的GATE

1

置0,停止计数

OUT 80H,AL

IRET

本例中,通道0工作于计数状态,通道1工作于定时状态。

USB的版本

第一代:USB 1.0/1.1的最大传输速率为12Mbps。1996年推出。

第二代:USB 2.0的最大传输速率高达480Mbps。USB 1.0/1.1与USB 2.0的接口是相互兼容的。

第三代:USB 3.0 理论上5Gbps 向下兼容USB 1.0/1.1/2.0

We are gathered here today to witness the coming together of two people, ShuangZi and XiaoY u whose hearts and spirits are entwined as one. They now desire to profess before all the world their intention henceforth to walk the road of life together.

To these two young people, this marriage signifies the birth of a new spirit, a spirit which is a part of each of us, yet not of any one of us alone. This "birth of spirit" reminds us of spring, the season when all life is reborn and looms again. It is appropriate, therefore, that this wedding of ShuangZi and XiaoY u be in the spring, and that it be under the open sky, where we are close to the earth and to the unity of life, the totality of living things of which we are part.

The beliefs and thoughts about love which motivate these two people are perhaps best expressed in the words of poet Kahlil Gibran:

"Y ou were born to be together, and together you shall be forevermore.

Y ou shall be together when the wings of death scatter your days.

A y, you shall be together even in your silent memory.

But let there be spaces in your togetherness,

And let the winds of the heaven dance between you.

Love one another, but make not a bondage of love.

Let it rather be a moving sea between the shores of your souls.

Fill each other\'s cup, but drink not from one cup.

Give one another of your bread, but eat not of the same loaf.

Sing and dance together and be joyous, but let each of you be alone,

Even as the strings of a lute are alone, though they quiver with the same music.

Give your hearts, but not into each other\'s keeping,

For only the hand of life can contain your hearts.

And stand together, yet not too near together,

For the pillars of the temple stand apart,

And the oak tree and the cypress grow not in shadow."

Minister to Bride:

Do you XiaoY u, knowing this man\'s love for you and returning it, realizing his strengths and learning from them, recognizing his weaknesses and helping him to overcome them, take ShuangZi to be your lawfully wedded husband?

Bride:

I do.

Minister:

Place the ring on his finger.

Minister to Groom:

Do you ShuangZi, knowing this woman\'s love for you and returning it, realizing her strengths and learning form them, recognizing her weaknesses and helping her to overcome them, take XiaoY u to be your lawfully wedded wife?

Groom:

I do.

Minister:

Place the ring on her finger. Let these rings serve as locks–not binding you together–but as keys, unlocking the secrets of your hearts for each other to know, and thus bringing you closer together forever.

And now ShuangZi and XiaoY u, seeking the fulfillment of love and marriage, find again that the poet Gibran speaks for them:

"Love has no other desire but to fulfill itself.

To wake at dawn with a winged heart and give thanks to another day of loving.

To rest at the noon hour and meditate love\'s ecstasy;

8255A接口实验

西安邮电大学 微机原理与接口技术课内实验报告题目宏指令及子程序设计实验 院系名称:通信与信息工程学院 专业名称:信息对抗专业 班级:对抗1302 学生姓名: 班内序号: 指导教师: 实验日期:20**年**月**日

一.实验目的及实验环境 1、掌握8255A工作方式0的特点及其使用方法。 2、掌握8255A端口A和端口B同时作为输出端口的特点及使用方法。 二.实验内容 1、基本输入输出实验,编写程序,使8255A的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输,要求只要开关拨动,数据灯的显示就改变。 2、流水灯显示实验,编写程序,使8255A的A口和B口均为输出,实现16位数据灯的相对循环显示。 三.方案设计 1.文字描述题目的解决方案 2.功能模块图; 3.各个模块详细的功能描述。 4. 寄存器、存储单元、变量等资源的分配 5. 流程图 …… 四.实验结果 测试数据及运行结果; 五.总结 1.实验过程中遇到的问题及解决办法 2.编辑源程序文件时候出错,以及保存文件格式不对,文件名不对的问题;3.调试过程中不懂调试的方法和调试的步骤,在DOS环境下对用常用命令不熟悉; 4.对于调试结果不知道怎么记录以及查找问题; 5.程序错误是不知道如何纠错。

解决方法:仔细翻阅实验指导书,在实验指导书上会有详细的引导然后理解着一步一步练习,最终熟悉; 向周围同学寻求解决方法,互相讨论以及向老师提问,认真学习老师演示的方法并及时练习熟记; 在实验室也贴有实验步骤指导,仔细阅读并认真仔细实践; 在老师向其他同学演示时在一旁认真听讲寻找自己问题所在 2对设计及调试过程的心得体会。 在8255A并行接口电路实验中,掌握8255的工作方式,懂得如何对8255进行正确的操作,是我们利用这个芯片实现我们预定电路功能的最基本的要求。掌握经典型应用电路的接法,更是尤为重要。但要想在实验室第一次做就出现现象还是比较困难的,所以还需要我们不断的调试才能出现较为理想的结果。而在过程中,理论知识显得格外重要,所以还是要在上课时认真听讲,课后努力将其理解才能将其实践化。 六.附录:源代码 CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,10001001B MOV DX,1466H OUT DX,AL MOV BX,8001H GO:MOV AL,BH MOV DX,1460H OUT DX,AL ROR BH,1 MOV AL,BL MOV DX,1462H OUT DX,AL ROL BL,1 CALL DELAY MOV CX,50H DELAY:LOOP DELAY JMP GO

实验二 8255A并行接口实验

实验二 8255A并行接口实验(一) 一实验目的 1、掌握通过8255A并行口传输数据控制LED发光二极管的亮灭;进一 步熟悉软件编程环境。 二实验设备 1、微机系统一套; 2、TPC-3型微机接口实验系统一台; 3、导线若干。 三实验内容 1、基础部分:用8255A的A端口控制8个LED发光二极管的亮和灭(端口 输出为1则亮,输出为0则灭)。其中L0―L2为东西方向,L5―L7为南北 方向、L3-L4不用,PA口与相应的发光二极管驱动信号输入端相连,输入端 为1时发光二极管亮。接线如图4-5所示。 图4-5 编制程序,通过8255A控制发光二极管,以模拟交通灯的管理。 2.提高部分:利用开关K0,K1的控制,以模拟几种交通灯的管理,具体要求 为: K0K1灯控制 00正常运行 01南北路口绿灯亮、东西路口红灯亮 10东西路口绿灯亮、南北路口红灯亮 3.如果模拟车流量大小来来决定红绿灯交通时间,请问你有什么解决办法。如果 能解决请加以解释并编程调试。

四、编程提示: 1.要完成本实验,首先必须了解交通灯的亮灭规律。设有一个十字路口,南北、东西方向初始态为四个路口的红灯全亮。之后,南北路口的绿灯亮,东西 路口的红灯亮,南北路口方向通车。延迟一段时间后,南北路口的绿灯熄灭, 而南北路口的黄灯开始闪烁。闪烁8次后,南北路口的红灯亮,同时东西路口 的绿灯亮,东西路口方向开始通车。延迟一段时间后,东西路口的绿灯熄灭, 而黄灯开始闪烁。闪烁苦干次后,再切换到南北路口方向。之后,重复上述过 程。 2.程序中应设定好8255A的工作模式,使三个端口均工作于方式0,并处于输出态 3.8255A的A端口地址为:288H B端口地址为:289H C端口地址为:28AH 控制口地址为:28BH 五、实验要求: 1.做好实验预习和准备工作,并写出预习报告(要求写出实验的流程图及程序),熟练掌握8255A编程原理及编程方法。 2.实验操作的最低要求是要做出实验内容的基础部分,然后根据实际操作能力争取做出实验内容的提高部分及回答实验内容的第三部分问题。 3.写出实验报告,内容为: 1)实验目的; 2)实验设备; 3)实验中遇到的问题及解决问题的分析思路与办法,问题定位及问题的性质; 4)对本实验的建议及有何创新。 ;这是自动生成的代码模板 STACKS SEGMENT STACK ;堆栈段 DW 128 DUP(?) ;注意这里只有128个字节 STACKS ENDS DATAS SEGMENT ;数据段 ;请在这里定义您的数据 DATAS ENDS CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX

8255并口实验详解

xxxx大学计算机学院实验报告

一、实验内容与要求 1.1 实验内容 (1)8255方式0实验 从8255端口C输入数据,再从端口A输出 (2)8255方式1输出实验 编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断服务:依次输出01H,02H,04H,08H,10H,20H,40H,80H使L0~L7依次发光,中断8次结束。 (3)8255方式1输入实验 编程实现:每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 1.2 实验要求 (1)8255方式0实验 实验预期效果:拨动逻辑开关,启动程序,开关打开的对应灯可以亮起。改变开关的状态,灯的亮暗也随之改变。 (2)8255方式1输出实验 实验预期效果:按一次单脉冲按钮,L0亮起;以后每按一次,后面的灯依次会亮起。中断8次结束。 (3)8255方式1输入实验 实验预期效果:每按一次单脉冲按钮读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 二、实验原理与硬件连线 2.1 实验原理 CPU通过指令将控制字写入8255A的控制端口设置它的工作方式。8255A有两个控制字:方式选择控制字和端口C置位/复位控制字,这两个控制字均写入同一个控制端口地址(端口选择

先A1A0=11) 8255A有3种工作方式:方式0——基本输入/输出方式;方式1——选通输入/输出方式;方式2——双向传输方式。方向选择控制字用于设置各端口的工作方式。 方式0称为基本输入/输出方式。该方式下,端口A、端口B、端口C的高4位和端口C的低4位均可独立地设为输入或输出数据端口。在方式0时,8255A与CPU时间没有应答联络信号,可用于无条件传送或查询方式数据传送场合。采用查询方式传送时,可以将端口A、端口B 作为数据端口,用端口C存放外部设备状态信息,用于CPU查询。 方式1称为选通输入/输出方式。该方式下,端口A、端口B可作为数据传输口,而端口C 的一些引脚规定作为端口A、端口B的联络控制信号,有固定的搭配规定。在方式1时,CPU和8255A之间有应答联络信号,所以采用中断方式或程序查询方式传送数据。 当端口A作为方式1输入时,端口C的PC3、PC4、PC5作为端口A的联络控制信号。 当端口A作为方式1输出时,端口C的PC7、PC6、PC3作为端口A的联络控制信号。 状态字通过读端口C获得。需要强调,从端口C读出的状态字与端口C的外部引脚的状态无关。 2.2 硬件连线 (1)8255方式0实验1 连接实验电路,8255端口C接逻辑电平开关K0~K7,端口A接LED显示电路 L0~L7 U18 8255 K0 K1 K5 L0 L1 L2 L3 L4 L5 L6 L7图2-2-1 实验一接线

8255芯片

8255A的内部结构,由三部分电路组成:与CPU的接口电路、内部控制逻辑电路和与外设连接的输入/输出接口电路。 D7~D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。 (chip select):片选信号线,低电平有效时,芯片被选中。 A1, A0(port address):地址线,用来选择内部端口。 (read):读出信号线,低电平有效时,允许数据读出。 (write):写入信号线,低电平有效时,允许数据写入。 RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。 PA7~PA0(port A):A口输入/输出信号线。

PB7~PB0(port B):B口输入/输出信号线。 PC7~PC0(port C):C口输入/输出信号线。 VCC:+5V电源。GND:电源地线。 8255A的工作方式 方式0:基本输入输出方式 适用于无条件传送和查询方式的接口电路 方式1:选通输入输出方式 适用于查询和中断方式的接口电路 方式2:双向选通传送方式 适用于与双向传送数据的外设 适用于查询和中断方式的接口电路 8255A初始化编程 8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。 8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字。方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PC i(i=0~7)的电平。两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位。 (1)方式控制字的格式 8255A工作方式控制字的格式如图7.11所示。 D0:设置PC3~PC0的数据传送方向。D0=1为输入;D0=0为输出。 D1:设置B口的数据传送方向。D1=1为输入;D1=0为输出. D2:设置B口的工作方式。D2=1为方式1;D2=0为方式0。 D3:设置PC7~PC4的数据传送方向。D3=1为输入;D3=0为输出。 D4:设置A口的数据传送方向。D4=1为输入;D4=0为输出。 D6D5:设置A口的工作方式。D6D5=00为方式0,D6D5=01为方式1,D6D5=10或11为方式2。 D7:方式控制字的标志位,恒为1。 例如,将8255A的A口设定为工作方式0输入,B口设定为工作方式1输出,C口没有定义,

实验六---8255并行输入输出

实验六---8255并行输入输出

东南大学 《微机实验及课程设计》 实验报告 实验六 8255并行输入输出

姓名:学号: 专业:测控技术与仪器实验室: 516 同组人员:评定成绩: 一、实验目的 1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示; 2)掌握8段数码管的动态刷新显示控制; 二、(1)实验内容(必做) 6-1、8段数码管静态显示:编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。 6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f) (2)实验内容(必做一题,选做一题) 6-3 静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII 码不是数字(0~9),数码管显示E字母。 6-4 动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出) 三、实验原理 (1)实验预备知识

图 八段式LED 数码管的符号和引脚 (2) 6-1流程图:

N Y 将对应段码输 结 6-1源代码: data segment ioport equ 0ec00h-0280h io8255a equ ioport+288h ;8255A口地址 io8255b equ ioport+28bh ;8255控制寄存器端口地址 led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码mesg1 db 0dh,0ah,'Input a num (0--9h):',0dh,0ah,'$';提示data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,io8255b ;使8255的A口为输出方式 mov ax,80h

Protues8255实验报告Word版

华北电力大学 实验报告| | 实验名称8255应用实验 课程名称微机原理及应用 老师 | 专业班级 姓名 学号

一.实验要求 1、当K0为高电平时,LED由高到低循环亮灭;当K0为低电平时,LED由低到高循环亮灭;当K1为高电平时,LED全灭且程序结束 (扩展:当K1为高电平时,LED全灭但程序不结束,等K1再次为低电平时灯又开始循环)。 2、在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz)。每来一个上升沿,申请中断一次,CPU响应后通过8255 PA口使发光二极管亮,第1次中断,LED0亮,第2次中断,LED1亮,……第8次中断,LED7亮,中断8次后结束。 3、在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz)。每来一个上升沿,申请中断一次,CPU响应后通过8255 PA口使7段数码管亮,第1次中断,显示0,第2次中断,显示1,…… 第10次中断,显示9,程序结束。 【8255的片选地址为8000H,8259的片选地址为9000H,8253的片选地址为A000H】 二思路 1.硬件 (1)74HC138译码电路如图所示,A15为1,E2、E3接地保证74HC138正常工作,此时Y0、Y1、Y2对应地址分别为8000H、9000H、0A000H. 此芯片实验1.2.3都需用到

(2)8259的片选地址为9000H,所以CS接Y1 8086有16位数据总线,其低8位作为偶存储体来传输数据,8086的A0要一直为0,所以8259的A0要接8086的A1 IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz),所以8259的IR2端与8253的OUT1端相连。 此芯片实验2,3要用到 (3)8253的片选地址为A000H,所以CS接Y2。 CLK0接入1MHz信号,GATE0与GATE1同时接电源,OUT0输入到CLK1,OUT1经分频输出1HZ的信号。 此芯片实验2,3要用到

8255A芯片

8255A芯片 Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及 8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A 的通用性强,使用灵活,通过它CPU可直接与外设相连接。 8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种; 方式0 :基本的输入输出方式,即无须联络就可以直接进行的 I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。 方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A 口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0. 方式2:双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。 8255A是一个并行输入、输出器件,具有24个可编程设置的I/O口,包括3组8位的I/O为PA口、PB口、PC口,又可分为2组12位的I/O口:A组包括A口及C口高4位,B组包括B口及C组的低4位。 A口可以设置为方式0、方式1、方式2,B口与C口只能设置为方式0或方式1. 8253A芯片 可编程定时/计数器是 intel 82583-PTT 就是软件和硬件技术的结合 功能:一片上有3个独立的16位计数通道 每个计数通道都可按二进制计数或十进制计数 每个计数器的计数速率可高达2mhz 每个通道有6种工作方式,可由程序设置和改变 所有的输入输出都与ttl兼容

8255试验报告(方式1查询输出)

《微型计算机接口技术》实验报告 实验名称:可编程并行接口芯片8255应用 (8255方式1、查询输出) 姓名 学号: 班级: 日期: 广东外语外贸大学信息科学技术学院

一、实验目的 掌握8255方式1查询输入、输出时的使用及编程 二、实验内容 1、按照图示连接硬件(注意图中大多数线试验箱已经连好,只连接需要用户连接的部分,预习,参考PPT) 2、编程:每按一次单脉冲按钮,ACK信号有效,8255内部输出准备好状态有效(INTR),查询输出一次数据,点亮、熄灭相应的发光二极管。 三、实验原理(8255方式1输出:结合结构图、时序图、状态字描述) 8255是一片可编程并行I/O接口芯片,每片8255有两个8位的并行口(PA,PB)和两个4位并行口(PC的高、低四位),其中PA口可工作于方式0,1,2。PB口工作于方式0,1。PC口仅能工作于方式0。在方式1中,将8255的三个端口分为了A、B两组,PA、PB两个口仍作为数据输入/输出口,而PC口则作为两部分,分别作为PA、PB口的联络信号。8255A 方式1 A口输出过程由CPU响应中断开始,在中断中用OUT指令通过8255A 向外设输出数据,发出WR 信号;WR上升沿清除INTRA 中断请求信号,且使OBFA =“L”(有效),通知外设取数;当外设接受数据后,发出ACKA 应答信号,一方面使OBFA=“H”(无效),另一方面在ACKA信号的上升沿使INTRA=“H”(有效),以此向CPU发出新的中断请求,开始下一轮输出。 四、硬件设计及方案论证(完整图的信号线连接及作用:数据、地址、控制及外设线)硬件设计如图,其中: 1.8255芯片中的数据总线D0—D7是和CPU的数据线直接相连的,从而CPU可以向8255 发送命令、数据和8255芯片也可以向CPU发送状态、数据等等。 2.8255芯片中的A0和A1也是与CPU的地址总线直接相连,并且在控制字在以下几种 情况有不同的设置,若A1A0= 00时,8255芯片中的PA口被选中,若A1A0=01时,8255芯片中的PB口被选中,若A1A0=10时,8255芯片中的PC口被选中,若A1A0=11时,则8255芯片的控制口被选中。 3.8255芯片的读信号、写信号、复位信号,分别于CPU的IOR、IOW、RESET直接相 连,当CPU执行IN指令时,8255的读信号有效,CPU从8255芯片读取信息,当CPU 执行OUT指令时,8255的写信号有效,CPU输出信息到8255芯片,完成一定的功能。 而当CPU发出复位的信号时,8255也会进行复位操作。 4.8255芯片中的片选信号与3—8译码器的Y1相连,而Y1的寻址范围是288H—28FH, 而8255芯片中的端口A的地址是288H,端口B的地址是289H,端口C的地址是28AH,控制端口的地址是28BH,因此4的端口都在在3—8译码器的Y1的寻址范围之内。5.8255芯片的PC6与脉冲信号是连接在一起,8255芯片的A端口与二极管L7—L0直接 相连。当脉冲信号到来,PC6会被置1,允许中断,CPU会将数据通过8255芯片的A 口输出到二极管L7中,点亮相应的灯。 。。。。。。等等详细论证,如我课堂所讲

8255红绿灯实验

集美大学 计算机工程学院实验报告 课程名称微机系统与接口技术 实验名称8255可编程并行接口实验 实验类型设计型 姓名翁龙学号2010810117 日期11.1 地点克立楼 成绩教师傅永钢洪玉玲 第1页共6页

1. 实验目的及内容 1.1实验目的 1)了解8255芯片工作原理。学会使用8255并行接口芯片实现数据的I/O操作或各种控制技术。 2)熟悉8255内部结构和与8088的接口逻辑。 3)掌握8255的初始化。 1.2实验内容 设计8255与8086CPU的硬件连接图,分配8255的基地址为0F000H。 1)8255控制交通灯 本设计用LED来模拟交通灯。 交通灯的过程: 东西向的绿灯、南北向的红灯亮5秒。 东西向的绿灯灭、南北向的红灯亮,在此时间段中东西向的黄灯闪烁5次,每次亮0.5秒,灭0.5秒. 南北向的绿灯、东西向的红灯亮点秒 南北向的绿灯灭,东西向的红灯亮,在此时间段中南北向的黄灯闪烁5次,每次亮0.5秒,灭0.5秒。 按此规则重复 2. 实验环境 星研环境 3. 实验方法 通过对端口的定义来实现数据的输入输出

D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7 10 RD 5WR 36A09A18RESET 35CS 6 8255 U36 D0D1D2D3D4D5D6D7WR RD RST A0 A1 PC5PC6PC7 PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678 VCC DS42 A0A1 CS CS1(0F000H) 510 R111510 R112 510R113510R114510R115510R116510R117510R118

微机原理实验8255并行口实验PA输入、PB输出

8255A并行口实验PA输入、PB输出利用LED等显示 程序 LCD EQU 07FE0H LCDWI EQU LCD+0 ;写命令 LCDWD EQU LCD+1 ;写数据 LCDRS EQU LCD+2 ;读状态 LCDRD EQU LCD+3 ;读数据 PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH code segment assume cs:code lin db 0 col db 0 num db 0 dis_num db 0 temp0 db 0 temp1 db 0 count db 0 org 1000h start: MOV DX,PCTL MOV AL,90H OUT DX,AL call init_lcd mov al,3 call delay2 mov count,0 mov bx,offset tab0 mov lin,0 mov col,0 mov num,16 call dis_english GOON: MOV DX,PA IN AL,DX TEST AL,01H JE GOON1 TEST AL,02H JE GOON2

TEST AL,04H JZ GOON3 TEST AL,08H JE GOON4 TEST AL,10H JE GOON5 TEST AL,20H JE GOON6 TEST AL,40H JE GOON7 TEST AL,80H JZ GOON8 JMP GOON9 GOON1: JMP KEY1 GOON2: JMP KEY2 GOON3: JMP KEY3 GOON4: JMP KEY4 GOON5: JMP KEY5 GOON6: JMP KEY6 GOON7: JMP KEY7 GOON8: JMP KEY8 GOON9: mov bx,offset tab9 mov lin,1 mov col,0 mov num,16 call dis_english MOV DX,PB MOV AL,0FFH OUT DX,AL JMP GOON KEY1: MOV DX,PB MOV AL,0FEH OUT DX,AL mov bx,offset tab1 mov lin,1 mov col,0 mov num,16 call dis_english JMP GOON KEY2: MOV DX,PB MOV AL,0FDH OUT DX,AL

8253--8255芯片

8253芯片 基本概述 8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。 执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU 可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。 工作原理 8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 一、8253内部结构 8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。 1.数据总线缓冲器 数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。 2.读/写控制 读/写控制分别连接系统的IOR#和IOW#,由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道和一个控制字寄存器,它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。这4个端口地址由最低2位地址码A1A0来选择。如表9.3.1所示。 3.通道选择 (1) CS#——片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。

实验四 8255输入、输出实验

2题:A口输出,B口读入Code segment Assume cs:code Start proc near START: Mov al , 082h Mov dx , 8003h Out dx , al MOV dx ,8001h in al ,dx mov dx,8000h out dx ,al jmp start Code ends End start 1题:用A口控制小灯循环亮灭

Code segment Assume cs:code Start proc near START: Mov al , 082h Mov dx , 8003h Out dx , al Mov al , 080h Mov cx , 08h OUTA: Mov dx , 8000h Out dx , al mov dx,8002h out dx,al shr al,1 mov ah,200 call delay Loop OUTA JMP start Delay proc near Push ax Mov al , 0

Push cx Mov cx , ax Loop $ Pop cx Pop ax Ret Delay endp Code ends End start 思考题:用C口控制小灯Code segment Assume cs:code Start proc near START: Mov al , 00000010h Mov dx , 8003h OUT DX,AL call delay Mov al , 00000011h

Mov dx , 8003h OUT DX,AL call delay JMP START Delay proc near MOV CX ,20000 Loop $ Ret Delay endp Code ends End start

8255并行口实验实验报告

8255并行口实验实验报告 作者: 一、实验目的 掌握8255A的编程原理。 二、实验设备 CPU挂箱、8086CPU模块。 三、实验内容 8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。 四、实验原理介绍 本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。 五、实验步骤 1、实验接线 CS0?CS8255; PA0~PA7?平推开关的输出K1~K8; PB0~PB7?发光二极管的输入LED1~LED8。 2、编程并全速或单步运行。 3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于L 时,对应的发光二极管点亮,置于H时熄灭。 六、实验提示 实验也是如此。实验中,8255A工作于基本8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本输入输出方式(方式0)。 七、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于L位置,则对应的LED2应该点亮。 八、程序框图(实验程序名:t8255.asm)

开始 设置8255工作方式 读A口 输出至B口 结束 九、程序源代码清单: assume cs:code code segment public org 100h start: mov dx,04a6h ;控制寄存器地址 mov ax,90h ;设 置为A口输入,B口输出 out dx,ax mov al,0feh start1:mov dx,04a2h 芯片的 入口地址 out dx,al mov bl,al mov dx ,04a0h in al,dx test ax,01h jz strat2 mov al ,bl rol al,1 流水灯循环左移 mov bl,al mov cx,3000h 设置cx为灯闪烁时间对应的循环次数 add: loop add jmp start1 无条件跳转至start1 strat2:mov al,bl mov dx,04a2h out dx,al ror al,1 流水灯循环左移 mov bl, al mov cx,3000h add1: loop add jmp start 无条件跳转至start code ends end start 十、实验总结 通过该实验,掌握了8255A的编程原理,学会了用汇编语言来编写程序控制8255A进行流水灯的操作实验。

《微机系统与接口技术》8255流水灯实验报告

《微机系统与接口技术》 预习报告 学院:计算机学院 专业:网络工程 班级学号: 学生姓名:小发 实验日期: 指导老师: 成绩评定: 五邑大学计算机学院制表

一,实验目的 1,学习并掌握8255 的工作方式及其应用。 2,掌握 8255 典型应用电路的接法。 3,掌握程序固化及脱机运行程序的方法。 二,实验设备 PC机器一台,TD-PITE实验装置或TD-PITC实验装置一套 三,实验内容 1,基本输入输出实验。编写程序,使 8255 的 A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2,流水灯显示实验。编写程序,使 8255 的 A 口和 B 口均为输出,数据灯 D7~D0 由 左向右,每次仅亮一个灯,循环显示,D15~D8 与 D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。 四实验内容及步骤 1. 基本输入输出实验 本实验使 8255 端口 A 工作在方式 0 并作为输入口,端口 B 工作在方式 0 并作为输出口。实验接线图如图 6 所示,按图连接实验线路图。用一组开关信号接入端口 A,端口 B 输出线接至一组数据灯上,然后通过对 8255 芯片编程来实现输入输出功能。具体步骤如下述:(1)实验接线图如图 1-4所示,按图连接实验线路图。 (2)编写实验程序,经编译、连接无误后装入系统。 (3)运行程序,改变拨动开关,同时观察 LED 显示,验证程序功能。 (4)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中。 (5)将短路跳线 JDBG 的短路块短接到 RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。(6)实验完毕后,请将短路跳线 JDBG 的短路块短接到 DBG 端。 图1-4 8255基本输入输出实验接线图

可编程并行接口芯片8255A的功能及应用

河北大学工商学院计算机接口课程结课作业 题目:可编程并行接口芯片8255A的功能及应用 姓名学号:XXXXXX 2011XXXXXX 自动化X班 XXXXXX 2011XXXXXX 自动化X班 XXXXXX 2011XXXXXX 自动化X班 XXXXXX 2011XXXXXX 通信工程X班 组别:第XXX组 指导教师:王竹毅 20XX年 XX月XX日

摘要:8255A是Intel公司为其80系列微处理器生产的通用可编程并行输入输出接口芯片,也可以与其他系列的微处理器配套使用。由于其通用性强,与微机接口连接方便,且可通过程序指定完成各种输入输出操作,因此在中小系统中有着广泛的应用。本文主要介绍了可编程并行接口芯片8255A的主要特点及其在工业控制中的应用。 关键词:微机系统;并行接口;8255A;工作方式; 并行输入/输出就是把若干个二进制位信息同时进行传送的数据传输方式,它具有传输速度快、效率高的优点。并行数据传输需用的信号线较多,不适合长距离传输,所以并行数据传输适用于数据传输率要求较高,且传输距离相对较短的场合。所谓可编程实际就是具有可选择性,并且是用编程的方法进行选择。选择端口与CPU之间采用哪种方式传送数据等,均可由用户在程序中写入方式字或控制字进行指定。Intel 8255A是一个通用的可编程的并行接口芯片,它有三个并行I/O口,又可通过编程设置多种工作方式,价格低廉、使用方便,可以直接与Intel系列的芯片连接使用,其具有广泛的适应性及很高的灵活性,在微机系统中的应用十分广泛。 一、8255A的基本特性 1.1 三个数据端口A,B,C 这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。 ·A口:是一个独立的8位I/O口,内部有对数据输入输出的锁存功能。 ·B口:也是一个独立的8位I/O口,仅有对输出数据的锁存功能。 ·C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口,仅有对输出数据的锁存功能。 1.2 A组和B组的控制电路 这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置位/复位的操作。 A组控制电路用来控制A口及C口的高4位(PC4-PC7); B组控制电路用来控制B口及C口的低4位(PC0-PC3);

实验六---8255并行输入输出

东南大学 《微机实验及课程设计》 实验报告 实验六 8255并行输入输出 姓名:学号: 专业:测控技术与仪器实验室: 516 同组人员:评定成绩:

一、实验目的 1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示; 2)掌握8段数码管的动态刷新显示控制; 二、(1)实验容(必做) 6-1、8段数码管静态显示:编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。 6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f) (2)实验容(必做一题,选做一题) 6-3 静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII 码不是数字(0~9),数码管显示E字母。 6-4 动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出) 三、实验原理 (1)实验预备知识 图八段式LED数码管的符号和引脚

(2) 6-1流程图: 6-1源代码: data segment ioport equ 0ec00h-0280h io8255a equ ioport+288h ;8255A口地址 io8255b equ ioport+28bh ;8255控制寄存器端口地址 led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码mesg1 db 0dh,0ah,'Input a num (0--9h):',0dh,0ah,'$';提示data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,io8255b ;使8255的A口为输出方式 mov ax,80h out dx,al sss: mov dx,offset mesg1 ;显示提示信息 mov ah,09h int 21h

8255流水灯实验

1)设计题目分析 编写程序,使用8255的A口和B口均为输出,实现16位流水灯显示效果 2)功能扩展 i:将流水灯设计成可以正着流水,也可以倒着流水 ii:通过开关对流水灯闪烁的速度进行控制,高电平时为快,低电平时为慢速2)总体方案设计分析 要求用8255的A口和B口做为输出,接16个发光二极管,从而实现16位流水灯的显示效果,基本的界限可如下图A所示,在C口的地两位接两个开关,实现两个扩展功能的控制。 i:基本流水灯显示电路 A口和B口两个端口不能同时复制,从而在试验中可以用BX进行需要复制的数据的存储,因为BX可以分从BH BL两个部分进行独立的操作,在本次试验中用BH对A口进行赋值,用BL对B口进行赋值,通过演示一段时间再对BH BL 进行移位和输出,实现流水灯的效果。 ii:正反方向选择 把PC.0口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.0为高电平的时候则灯进行左移,同时B口与A口相反。 iii:快慢速度控制 把PC.1口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.1为高电平的时候则延时的时间缩短,使得流水灯的流水速度加快,低电平的时候则进行延时的时间变长,使得流水灯的流水速度加快。 3硬件原理设计 A该模块的WR.RD分别练到PC总线接口模块的XIOW和XIOR B该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到PC总线接口模块的数据(D0~D7)、地址线(A0~A7) C 8255模块选通线CA连到PC总线接口模块的IOY3 D 8255的PA0~PA7连到发光二极管的L1~L8;8255的PB0~PB7连到发光二极管的L9~L16 E 8255的PC0 PC1分别练到开关K0 K1 F 软件流程框图及程序清单

8255输入输出实验

河北科技大学 实验报告 11 级专业软件班L112学号11L035203714年4月29日姓名李国栋同组人指导教师陈义峰 实验名称实验七8255输入输出实验成绩 实验类型设计型批阅教师 实验七8255输入输出实验 一、实验要求 利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输出,PB口作输入。 二、实验目的 1、了解8255芯片结构及编程方法。 2、了解8255输入输出实验方法。 三、实验电路及连线 8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC 口地址为8002H。PA0-PA7(PA口)接LED0-LED7(LED)PB0-PB7(PB口)接K0-K7(开关量)。数据线、读/写控制、地址线、复位信号板上已接好。 连线连接孔1 连接孔2 1 CS0 8255CS 2 L0 8255-PA0 3 L1 8255-PA1 4 L2 8255-PA2 5 L3 8255-PA3 6 L4 8255-PA4 7 L5 8255-PA5 8 L6 8255-PA6 9 L7 8255-PA7 10 K0 8255-PB0 11 K1 8255-PB1 12 K2 8255-PB2 13 K3 8255-PB3

四、实验说明 可编程通用接口芯片8255A 有三个八位的并行I/O 口,它有三种工作方式。本实验采用的是方式0:PA ,PC 口输出,PB 口输入。很多I/O 实验都可以通过8255来实现。 五、实验参考程序、框图 程序清单: start: mov dx, PortB in al, dx ; 读入PortB mov dx, PortC out dx, al mov dx, PortA out dx, al ; 输出到PortA mov ah, 200 call delay jmp start endp 14 K4 8255-PB4 15 K5 8255-PB5 16 K6 8255-PB6 17 K7 8255-PB7

8255特性

8255 Characteristics (1) a parallel input / output of the LSI chip, multi-purpose I / O devices, can be used as the CPU and peripheral bus interfaces. , A group including the A I and C I (H 4, PC4 ~ PC7), B group including B I and C I (low 4, PC0 ~ PC3). A group can be set to the basic I / O port, flash control (STROBE) of I / O flash controlled, two-way I/O3 models; B group can only be set to the basic I / O or flash-control I / O in two modes, which are controlled entirely by the operating mode control register the word decision. 8255 pin function RESET: Reset input line, when the external input to the high, all internal registers (including the control register) are clear, all I / O port are input into the way home. CS: Chip Select signal line, when the input pin is low, that is, when / CS = 0 indicates that the chip is selected, 8255 to allow CPU to communicate with; / CS = 1, the 8255 can not be done with the CPU data . RD: Reading signal line, when the input pin is low, that is, / RD = 0 and / CS = 0 when the 8255 data bus allows the CPU to send data or status information, that is, to read CPU information from the 8255 or data. WR: write signal, when the input pin is low, that is, when / WR = 0 and / CS = 0 when the data allow the CPU to write 8255 words or control. D0 ~ D7: three-state bi-directional data bus 8255 and the CPU data transmission channel, when the CPU implementation of input and output directions, through its data to achieve 8-bit read / write operation, the control word and status information is also transmitted through the data bus . PA0 ~ PA7: port A input and output lines, an 8-bit data output latch / buffer and one 8-bit data input latch. PB0 ~ PB7: Port B input and output lines, an 8-bit I / O latch, an 8-bit input and output buffers. PC0 ~ PC7: port C input and output lines, an 8-bit data output latch / buffer and one 8-bit data input buffer. Port C can be set through the work and is divided into two 4-bit ports, each of the four-port contains a 4-bit latch, respectively, with the port A and port B use as a control signal or status signal output input port. ' A0, A1: address select lines used to select 8255 of the PA population, PB I, PC I and the control register. When A1 = 0, A0 = 0 when, PA I was chosen; When A1 = 0, A0 = 1 when, PB I been chosen; When A1 = 1, A0 = 0 when, PC I was chosen; When A1 = 1.A0 = 1 when the selected control register. 8255特性 (1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口. (2)具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B

相关主题