0
点赞
收藏
分享

微信扫一扫

第八章 可编程接口芯片及应用【微机原理】


第八章 可编程接口芯片及应用【微机原理】

  • ​​前言​​
  • ​​第8章可编程接口芯片及应用​​
  • ​​8.1 可编程定时器/计数器芯片 8253/8254​​
  • ​​8.1.1 8253的结构与功能​​
  • ​​8.1.2 8253的编程​​
  • ​​8.1.3 8253的工作方式​​
  • ​​8.1.4 8254与8253的区别​​
  • ​​8.1.5 8253应用举例​​
  • ​​8.2 可编程并行接口芯片 8255A​​
  • ​​8.2.1 8255A的引脚与结构​​
  • ​​8.2.2 8255A的工作方式与控制字​​
  • ​​8.2.3 各种工作方式的功能​​
  • ​​8.2.4 8255A的应用举例​​
  • ​​8.3 串行通信及可编程串行接口芯片 8251A​​
  • ​​8.3.1串行通信的基本概念​​
  • ​​8.3.2串行通信接口及其标准​​
  • ​​8.3.3可编程串行接口芯片 8251A​​
  • ​​8.3.4 8251A 初始化编程​​
  • ​​8.3.5 8251A 应用举例​​
  • ​​8.4 模/数(A/D)与数/模(D/A)转换技术及其接口​​
  • ​​8.4.1 D/A转换接口​​
  • ​​8.4.2 A/D转换接口​​
  • ​​最后​​

前言

以下内容源自微型计算机原理(第四版)王忠民主编

第8章可编程接口芯片及应用

8.1 可编程定时器/计数器芯片 8253/8254

微机系统中很多地方都要用到定时功能。例如第六章介绍的DRAM,系统中就是采用定时器来触发启动动态刷新。过程控制领域则大量需要计数功能。不论是定时还是计数,都是通过对时钟脉冲计数来完成的。当对标称方波进行脉冲计数,就可以完成定时。

定时和计数的产生
(1)定时控制在微机系统中具有极为重要的作用
(2)计数是许多过程控制领域常用的功能
(3)定时和计数之间的关系
定时器通过记录高精度晶振脉冲信号的个数从而输出准确的时间间隔。
计数器记录反映外设某种状态的具有一定随机性的脉冲信号。

8.1.1 8253的结构与功能

1. 8253的引脚

8253的外部引脚

第八章 可编程接口芯片及应用【微机原理】_微机原理

24引脚双列直插式芯片

3个独立的16位计数器通道

每个计数器通道有6种工作方式

按二进制或十进制(BCD码)计数

第八章 可编程接口芯片及应用【微机原理】_微机原理_02


2. 8253 的内部结构

1.计数通道

第八章 可编程接口芯片及应用【微机原理】_引脚_03


8253内部计数器的结构

8253内部有3个独立工作的16位计数通道
CR:16位初值寄存器
CE:减1计数器
OL:输出锁存器

第八章 可编程接口芯片及应用【微机原理】_引脚_04


2.数据总线缓冲器3.读写控制逻辑

8253的端口地址及内部操作

第八章 可编程接口芯片及应用【微机原理】_初值_05


4.控制字寄存器

计数通道的选择
读写方式的确定
工作方式的确定
计数方式的确定

8.1.2 8253的编程

1. 8253的控制字格式

第八章 可编程接口芯片及应用【微机原理】_微机原理_06


2. 8253的初始化编程

  1. 确认端口地址
  2. 确定工作方式与计数初值
  3. 确定控制字
  4. 写计数器的控制字与计数器计数初值,完成初始化编程

设8253的端口地址为0040H0043H,已知时钟端CLK2输入信号的频率为2 MHz。使用8253计数器2产生频率为40 kHz的方波,初始化8253,完成所需功能。

1、确认端口地址


地址范围40H~43H
0#计数器端口地址:40H
1#计数器端口地址:41H
2#计数器端口地址:42H
控制寄存器端口地址:43H

2、确定工作方式与计数初值


工作于方式3,输出方波

计数初值=输入频率/输出频率
=2000000Hz /40000Hz
=50
=0032H

3、确定控制字

第八章 可编程接口芯片及应用【微机原理】_串行通信_07


4、初始化程序

MOV  AL,10110110B
OUT 43H,AL ;送控制字
MOV AL,32H
OUT 42H,AL ;送低8位
XOR AL,AL
OUT 42H,AL ;送高8位

在计数过程中读8253的计数值

  1. 给控制字寄存器写入锁存命令
  2. 从锁存器中读出计数值,若是16位,则分别读出
  3. 不影响计数通道正常计数

在前例的基础上,读出2#计数器当前计数值的程序段:

   MOV  AL, 10000000B
OUT 43H,AL

IN AL,42H ;读低8位
MOV CL,AL
IN AL,42H ;读高8位
MOV CH,AL ;CX中是当前计数值

8.1.3 8253的工作方式

  • 计数结束产生中断方式
  • 可编程单次脉冲
  • 分频工作方式
  • 方波发生器
  • 软件触发选通
  • 硬件触发选通
  1. 开始计数:
  • 硬件触发还是软件触发
  • 写入方式字OUT引脚电平
  1. 计数中:
  • 计数中OUT输出波形
  • 计数过程中门控信号GATE对计数操作的影响
  1. 计数结束:
  • 是否重复计数
  • 计数初值写入初值寄存器后,在门控有效的前提下,要经过一个CLK输入后才开始计数
  • 计数器在CLK的下降沿使计数值减1

1. 方式0 —计数结束产生中断方式

门控失效则暂停计数。(门控有效后继续计数)

第八章 可编程接口芯片及应用【微机原理】_引脚_08


2. 方式1 —可编程单次脉冲

第八章 可编程接口芯片及应用【微机原理】_微机原理_09


3. 方式2 —分频工作方式

Gate失效会暂停计数,(有效后重新开始计数)

第八章 可编程接口芯片及应用【微机原理】_串行通信_10


4. 方式3 —方波发生器

GATE电平对波形的影响与方式2一致

第八章 可编程接口芯片及应用【微机原理】_微机原理_11


5. 方式4 —软件触发选通

不能自动重复计数,每次启动计数都要靠重新写入计数值,所以称为“软件触发选通”,改变初值可以方便地发出选通信号的延迟时间。

第八章 可编程接口芯片及应用【微机原理】_微机原理_12


6. 方式5—硬件触发选通

第八章 可编程接口芯片及应用【微机原理】_微机原理_13


8253工作方式小结

  • 初始化后OUT输出:
    只有方式0,在写入控制字后输出为低;其余5种方式,都是在写入控制字后输出为高。
  • 计数开始的触发方式:
    方式0、2、3、4都是写入计数初值后,计数过程开始了,为软件触发。方式1和方式5在写入计数初值后,需由外部GATE信号的上升沿触发启动,为硬件触发计数。
  • 自动重复计数:
    方式2(分频器)和方式3(方波发生器)为自动重复工作方式,其他4种方式都是一次性计数,要继续工作需要重新启动。

8.1.4 8254与8253的区别

8.1.5 8253应用举例

例8.2】8253计数器2产生频率为40KHZ的方波,设8253的端口地址为0040H~0043H,已知时钟端CLK,输入信号的频率为2MHz。试设计8253与8088总线的接口电路并编写产生方波的程序。
8253与8088总线的接口电路如图8.12所示。

为了使计数器2产生方波,应使其工作于方式3,输入的2MHz的CLK,时钟信号进行50次分频后可在OUT2端输出频率为40kHz的方波,因此,对应的控制字应为10010111B,计数初值为十进制数50。程序如下所示:

MOV AL, 10010111B;对计数器2送控制字
MOV DX, 0043H
OUT DX, AL
MOV AL, 50H ;送计数初值50
MOV DX,0042H
OUT DX, AL

第八章 可编程接口芯片及应用【微机原理】_串行通信_14

8253在XT机中的应用

第八章 可编程接口芯片及应用【微机原理】_初值_15

 1) 计数器0
该计数器向系统日历时钟提供定时中断
工作方式为方式3
计数器计数初值预置为0
OUT0输出方波的频率为1.19 MHz/65536=18.21Hz,
即每隔55ms申请一次日历时钟中断。
一分钟1092次,一小时65543次,24小时1573040(001800B0H)次。
中断服务程序对中断次数进行计数,形成实时时钟。

MOV   AL,36H  
OUT 43H,AL
MOV AL,0
OUT 40H,AL
OUT 40H,AL

2) 计数器1
向DMA控制器定时发送动态存储器刷新请求
方式2工作,初值18
频率为1.19MHz/18=662878kHz。周期为15.09µs。
OUT1输出从低电平变为高电平使触发器置1,
输出一个正电平信号给8237DREQ0,
作为内存刷新的DMA请求信号DRQ0。

MOV   AL,54H    
OUT 43H,AL
MOV AL,12H
OUT 41H,AL

3) 计数器2
在IBM PC/XT机的BIOS中有一个声响子程序BEEP,
它将计数器2设置为工作方式3,
作为方波发生器输出约1 KHz的方波,
经滤波驱动后推动扬声器发声。
初值:533H,初值决定了发声的频率,
即音调,而对门控信号的控制决定了发声的长短。

MOV   AL,0B6H 
OUT 43H,AL
MOV AX,533H
OUT 42H,AL
MOV AL,AH
OUT 42H, AL

8.2 可编程并行接口芯片 8255A

通信?——计算机与外部信息的交换

计算机和数据通信系统中的两种基本数据传送方式——并行通信、串行通信

和串行传送相比,在同样的时钟速率下,并行传送的数据传输率较高。串行通信则是用于远距离传输要求的场合,并行通信往往适用于信息传输率要求较高,而传输距离较短的场合

8.2.1 8255A的引脚与结构

1. 8255的引脚

可编程并行接口芯片8255

8255A采用40脚双列直插封装

单一+5V电源

8位并行输入输出接口芯片

全部输入输出与TTL电平兼容

用8255A连接外部设备时,通常不需要再附加其他电路,使用方便

第八章 可编程接口芯片及应用【微机原理】_串行通信_16


8255外部引脚

第八章 可编程接口芯片及应用【微机原理】_初值_17


2. 8255内部结构

  • 端口A、B、C
  • A组控制、B组控制
  • 数据总线缓冲器
  • 读、写控制逻辑
  • 第八章 可编程接口芯片及应用【微机原理】_串行通信_18

  • 8255读写操作时的信号关系
  • 第八章 可编程接口芯片及应用【微机原理】_微机原理_19

8.2.2 8255A的工作方式与控制字

1. 8255的工作方式

  • 方式0:基本输入输出方式
    适用于无条件传送和查询方式的接口电路
  • 方式1:选通输入输出方式
    适用于查询和中断方式的接口电路
  • 方式2:双向选通传送方式
    适用于与双向传送数据的外设
    适用于查询和中断方式的接口电路

2. 8255的控制字

1)工作方式选择控制字

第八章 可编程接口芯片及应用【微机原理】_初值_20


**8255的工作方式初始化 **

假定要求8255A的各个端口工作于如下方式:
端口A——方式0,输出;
端口B——方式0,输入;
端口C的高4位——方式0,输出;
端口C的低4位——方式0,输入。

第八章 可编程接口芯片及应用【微机原理】_引脚_21


相应的方式选择控制字应为:1 00 0 0 0 1 1

假定要求8255A的各个端口工作于如下方式:
端口A——方式0,输出;
端口B——方式0,输入;
端口C的高4位——方式0,输出;
端口C的低4位——方式0,输入。
相应的方式选择控制字应为 83H

设在系统中8255A控制口的地址为D3H,则执行如下两条指令即可实现上述工作方式的设定。

MOV AL,83H;
OUT 0D3H,AL; 将方式选择控制字写入控制口

2) C口按位置位/复位控制字

注意:C口控制字虽然是对端口C操作,但应写入到控制口地址,而不是写入到C数据口

第八章 可编程接口芯片及应用【微机原理】_串行通信_22


例:通过C置位/复位控制字使PC7置1,PC3置0

MOV    DX,0D3H
MOV AL,00001111B;PC7置1,引脚上出现高电平
OUT DX,AL
MOV AL,00000110B;PC3置0,引脚上出现低电平
OUT DX,AL

8.2.3 各种工作方式的功能

1.8255的工作方式0——基本输入/输出方式

  • A口、B口、C口的高4位和低4位均可设置为方式0。
  • 无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。
  • 也适用于查询方式传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。
  • 第八章 可编程接口芯片及应用【微机原理】_初值_23

2. 8255的工作方式1—选通输入输出方式
8255A的A口和B口与外设之间进行输入或输出操作时,需要C口的部分I/O线提供联络信号。只有A口和B口可工作于方式1

3. 8255的工作方式2—双向选通传送方式
同一端口的I/O线既可以输入也可以输出,只有A口可工作于方式2。此种方式下需要C口的部分I/O线提供联络信号。

8.2.4 8255A的应用举例

例:采用4个开关输入一个十六进制数,使用8255,将通过开关输入的数显示到七段数码管上。8255端口地址为60H~63H,与8088CPU连接。设计接口电路,编写程序。

解决思路:
1、作为接口芯片,8255如何与CPU连接?
如何与已知的开关七段数码管这两个外设连接?如何构成一个系统?
2、系统硬件连线完成,如何编写程序,完成系统指定的功能?

LED显示器原理

主要部分是7段发光管
顺时针分别称为a、b、c、d、e、f、g
有的产品还附带有一个小数点h
通过7个发光段的不同组合
主要显示0~9
也可以显示A~F
(实现16进制数的显示)
还可以显示个别特殊字符,
如-、P 等

第八章 可编程接口芯片及应用【微机原理】_微机原理_24


LED类型—共阴极和共阳极

第八章 可编程接口芯片及应用【微机原理】_初值_25


第八章 可编程接口芯片及应用【微机原理】_微机原理_26


单一数码管显示代码

第八章 可编程接口芯片及应用【微机原理】_串行通信_27


第八章 可编程接口芯片及应用【微机原理】_串行通信_28

LEDtb   db    0C0h,0F9h,0A4h,…       ;显示代码表
……
mov bx, offset LEDtb
mov al,1 ;AL←要显示的数字
xlat ;换码:AL←DS:[BX+AL]
mov dx, portA
out dx, al ;输出显示

8255与外设连线图

第八章 可编程接口芯片及应用【微机原理】_微机原理_29


8255与8088CPU连线图

第八章 可编程接口芯片及应用【微机原理】_串行通信_30


第八章 可编程接口芯片及应用【微机原理】_引脚_31

DATA  SEGMENT
TABLE DB 0C0H,0F9H, 0A4H,0B0H, 99H,92H,82H,0F8H
DB 80H,90H,88H,83H,0C6H,0A1H,86H, 8EH
DATA ENDS

CODE SEGMENT
ASSUME CS: CODE,DS: DATA
START:
MOV AX, DATA
MOV DS,AX
MOV AL,91H ;设置方式选择控制字,A口工作于方式0输入, B 口工作于方式0输出
OUT 63H,AL
NEXT:
IN AL, 60H
AND AL,0FH ; 取A口低4位
MOV BX,OFFSET TABLE
XLAT
OUT 61H,AL ; 显示码输出
MOV AH,1 ;判断是否有键按下
INT 16H ;
JZ NEXT ; 若无,则继续读端口A
MOV AH,4CH ; 否则返回DOS
INT 21H
COED ENDS
END START

8.3 串行通信及可编程串行接口芯片 8251A

8.3.1串行通信的基本概念

8.3.2串行通信接口及其标准

8.3.3可编程串行接口芯片 8251A

8.3.4 8251A 初始化编程

8.3.5 8251A 应用举例

8.4 模/数(A/D)与数/模(D/A)转换技术及其接口

8.4.1 D/A转换接口

8.4.2 A/D转换接口



举报

相关推荐

0 条评论