1 / 74

第七章 外围接口器件及应用

第七章 外围接口器件及应用. 1. 计数/定时器825 4 编程结构和工作原理 2. 825 4 控制寄存器的格式和编程 3. 825 4 的典型工作模式及其使用. 1. 并行接口芯片 8255A 与 CPU 信号连接 2. 并行接口芯片 8255A 与 外设信号连接 3. 8255A 的三种工作方式和设置方法. 1. 串行通信的 基本概念 2. 串行通信的几种工作方式. 可编程定时 / 计数器 8254. 可编程并行接口芯片 8255 A. 可编程串行接口芯片 8251 A. 本章重点. 1. 4. 2. 3.

hop-sweeney
Download Presentation

第七章 外围接口器件及应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第七章 外围接口器件及应用

  2. 1. 计数/定时器8254编程结构和工作原理2. 8254控制寄存器的格式和编程 3. 8254的典型工作模式及其使用 1. 并行接口芯片8255A与CPU信号连接 2. 并行接口芯片8255A与外设信号连接 3. 8255A的三种工作方式和设置方法 1. 串行通信的基本概念 2. 串行通信的几种工作方式 可编程定时/计数器8254 可编程并行接口芯片8255A 可编程串行接口芯片8251A 本章重点

  3. 1 4 2 3 7.1 可编程定时器/计数器8254 计数/定时器8254的编程结构 8254工作原理 8254控制寄存器的格式和编程 8254工作模式及应用举例

  4. 定时信号的获取方法 (1)软件方法 使用延迟子程序 (2)硬件方法 使用计数器/定时器

  5. 7.1.1 8054的内部结构 • 1.公共控制模块 • ① 数据总线缓冲器 • 8位双向三态缓冲器,与数据总线接口。 • 功能: 往计数器设置初值 从计数器读取计数值 往控制寄存器设置控制字

  6. 7.1.1 8054的内部结构 ② 读写控制逻辑电路 片选信号CS有效的条件下,进行读写操作。 A1、A0对计数器和控制寄存器寻址 RD 读信号 WR 写信号 CS 片选信号 ③控制字寄存器 寄存初始化编程时的命令字,只写。

  7. 1.公共控制模块 数据缓冲器 读写控制逻辑电路 控制寄存器 寄存初始化编程时的命令字,只写。 8位双向三态缓冲器,与数据总线接口 功能: 1. 往计数器设置初值2. 从计数器读取计数值 3. 往控制寄存器设置控制字 片选信号CS有效的条件下,进行读写操作。 A1、A0对计数器和控制寄存器寻址 RD 读信号 WR 写信号 CS 片选信号

  8. 2.计数器(3个) • 8254内部有3个结构相同彼此独立 的计数器——计数器0,1,2。 • 计数频率可高达10MHz。16位长度。 • 每个计数器对外有3个引脚: —GATE为门控信号, —CLK为计数脉冲输入, —OUT为计数器输出端。

  9. 6.1.2 8254的引脚功能 • 24引脚,双列直插式封装,+5V电源。 • 3个计数器,每个计数器内部有: — 8位的控制寄存器 — 16位的计数初值寄存器 —计数执行部件 —输出锁存器

  10. 1. 8254的端口地址

  11. 2. 8254端口的读写操作

  12. 7.1.3 8254的工作方式 六种工作方式 • 方式0——计数结束产生中断 • 方式1——可重复触发的单稳态触发器 • 方式2——分频器 • 方式3——方波发生器 • 方式4——选通信号发生器 • 方式5——

  13. 1.方式0——事件计数器(计数结束产生中断)1.方式0——事件计数器(计数结束产生中断) a、门控信号GATE必须为1,计数器才能计数; b、计数时通道输出端OUT一直为0; c、通道计数器计数到0后,OUT由0到1,同时计数器停止工作。

  14. 2.方式1——硬件启动的单脉冲发生器(可重复触发的单稳态触发器)2.方式1——硬件启动的单脉冲发生器(可重复触发的单稳态触发器) a、门控信号GATE是触发信号,上升沿有效。即开始计数是由GATE的上升沿触发的; b、触发后,通道计数器开始计数,输出端OUT由高变低; c、计数器计数到0,OUT再由低变高。

  15. 3.方式2——脉冲发生器(分频器) a、GATE门为1,计数器才能工作,对CLK端上的脉冲进行计数; b、当计数器“减”计数到1时,输出端由高变低,再经过一个CLK周期,即计数器计数到0时,输出端OUT又跳变为高。所以方式2输出周期性负脉冲信号,其宽度固定为一个CLK周期; c、当计数器的值减为0时,自动重新装入计数初值,实现循环计数。

  16. 4. 方式3——方波发生器 • 方式2虽然可以作分频电路,但其输出是窄脉冲,如果是方波,就只有选方式3

  17. 5. 方式4——软件启动的单脉冲发生器 a、门控信号GATE为高电平,计数器开始减1计数,OUT维持高电平; b、当计数器减到0,输出端OUT变低,再经过一个CLK输入时钟周期,OUT输出又变高。

  18. 6. 方式5——硬件触发的单脉冲发生器 a、用门控上升沿触发即硬件触发 b、计数到0时,输出端一个宽度为1个时钟周期的负脉冲,然后又自动变为高电平。

  19. 6.1.4 8254的命令字与初始化编程 • 1.控制字

  20. 6.1.4 8254的命令字与初始化编程 • 2. 8254的编程命令 编程原则: ① 设置初值前必须先写控制字 ② 初值设置要符合控制字中的格式规定 编程命令有两类: ① 读出命令 ② 写入命令 设置控制字命令 设置初始值命令 锁存命令

  21. 6.1.5 8254应用举例 例1 设8254口地址为200H~203H,GATE0为高电平,CLK0接2MHz方波,要求OUT0端输出500Hz的连续脉冲。 分析:0号计数器,地址:200H 控制寄存器地址:203H 先写计数值低8位,再写高8位 工作方式2 二进制或BCD码均可 计数值设定:2MHz/500Hz=4000 控制字:00110100B

  22. MOV DX,203H ;控制端口 MOV AL,00110100B ;二进制 OUT DX,AL MOV DX,200H ;计数器0 MOV AX,4000 OUT DX,AL MOV AL,AH • OUT DX,AL

  23. 例2 编程时系统扬声器发出800Hz的音箱,当主机键盘按下任意键时停止。 电路条件: PC机分配给8254的地址:40H~43H CLK0~CLK2频率:1.193182MHz GATE0, GATE1接+5V 系统外接还有8255A

  24. 例3 下图为8253用作方波发生器与8088总线的接口方法。图中仅用了A7~A2作为8253片选地址线,产生片选信号Y1与8253的CS端相连。要求计数器2用作方波发生器产生40KHz方波输出。已知CLK2时钟端输入信号频率为2MHz。

  25. 8253与8086总线的连接

  26. 【例】 现有一个高精密晶体振荡电路,输出信号是脉冲波,频率为1MHz。要求利用8253做一个秒信号发生器,其输出接一发光二极管,以0.5秒点亮,0.5秒熄灭的方式闪烁指示。设8253的通道地址为80H~86H(偶地址) 解:1、时间常数计算 这个例子要求用8253作一个分频电路,而且其输出应该是方波,否则发光二极管不可能等间隔闪烁指示。频率为1MHz信号的周期为1微秒,而1Hz信号的周期为1秒,所以分频系数N可按下式进行计算:

  27. 8253通道0 8253通道1 1MHz 1KHz OUT CLK OUT CLK 0 0 1 1 GATE GATE 0 1 +5V 【例】 由于8253一个通道最大的计数值是65536,所以对于N=1000000这样的大数,一个通道是不可能完成上述分频要求的。由于 即取两个计数器,采用级联方式。 2、电路

  28. 【例】 3、工作方式选择 由于通道1要输出方波信号推动发光二极管,所以通道1应选工作方式3。对于通道0,只要能起分频作用就行,对输出波形不做要求,所以方式2和方式3都可以选用。 这样对于通道0,我们取工作方式2,BCD计数;对于通道1,我们取工作方式3,二进制计数(当然也可选BCD计数)

  29. 【例】 4、程序 mov al,00110101b ;通道0控制字 out 86h,al mov al,00 ;通道0初始计数值 out 80h,al mov al,10h out 80h,al mov al,01110110b;通道1控制字 out 86h,al mov al,0e0h ;通道1初始计数值,03E8H=1000BCD out 82h,al mov al,03h out 82h,al

  30. 【例】 例4 计件系统。计件系统的功能就是记录 脉冲的个数。 一个脉冲代表一个事件,比如交通道路检测系统中通过检测点的车辆,工业控制系统中流水线上已加工好的工件。要求在计件过程中,PC机可以显示当前计数器的内容,当完成10000个工件记录后,系统发出1KHz信号推动喇叭发音通知用户。 解:1、电路。 需要两个通道,一个作为计数,选用通道0。另一个产生1KHz信号,选用通道1。工作原理如下,传感器电路把物理事件转换为脉冲信号输入到通道0计数,当记录10000个事件后,通道0计数器溢出,GATE端输出高电平,这时通道1开始工作,产生1KHz信号推动喇叭发音

  31. 1MHz 8253通道0 8253通道1 驱动 OUT CLK OUT CLK 0 0 1 1 放大 计件 GATE GATE 0 1 脉冲 +5V

  32. 【例】 2、工作方式选择 对于通道1,由于要产生1KHz信号,故选用工作方式3。对于通道0,要求初始计数值写入计数通道后,计数器就可以工作,则通道0的启动方式应是软件启动。另外由于要求计数溢出后产生一个信号来启动一个事件,即喇叭发音,故可选的工作方式为方式0和方式4,对于图所示方案,通道1的GATE信号由通道0的OUT信号产生,这个OUT信号应该是电平型的,所以通道0应选用方式0。

  33. 【例】 3、时间常数 N0=1000

  34. 1 4 2 3 7.2 可编程并行接口芯片8255A 8255A与CPU接口的信号连接 8255A与外设的信号连接 8255A三种工作方式和设置 应用举例

  35. 并行接口芯片8255A特点 传输速度快 信息率高 用电缆多

  36. 6.2.1 8255A的内部结构与外部引脚 下图为典型的并行接口和外设连接的示意图

  37. 1. 数据端口A、B、C 端口A、B、C每一个对应 1个8位数据输入锁存器 1个8位输出锁存器/缓冲器 通常使用方法: 端口A、B作为独立的输入或者输出端口 端口C配合端口A、B

  38. 2. A组控制和B组控制 (1)A组控制电路 控制端口A和端口C的高4位的工作方式和读写操作。 (2)B组控制电路 控制端口B和端口C的低4位的工作方式和读写操作。

  39. 3. 8255A的芯片引脚信号

  40. 4. 与外设一侧相连的信号 PA7~PA0——A组数据信号; PB7~PB0——B组数据信号; PC7~PC0——C组数据信号。

  41. 5. 与CPU一侧相连的信号 RESET 复位信号,高电平有效 。 D7~D0 数据线 。 CS 片选信号。 RD 读出信号。 WR 写入信号。 A1、A0 端口选择信号。

  42. 6. 8255A的端口编址与读写操作

  43. 8255工作方式 8255A方式选择注意: 有三种基本工作方式: 方式0——基本的输入输出方式 方式1——选通的输入输出方式 方式2——双向传输方式 只有端口A能工作在方式2 同一组的两端口可分别工作在输入和输出方式

  44. 1. 方式0—基本型输入输出方式 方式0的工作特点 端口可作为输入口,也可作为输出口。 可以有16种不同的组合

  45. 2. 方式1—选通型输入输出 方式1的特点 端口A、B可分别工作在方式1。 端口C配合方式1

  46. 控制字输入方式1示意图

  47. 控制字工作方式1 信号说明 上图控制信号说明: STB 选通信号 IBF 缓冲器满信号 INTR 送往CPU的中断请求信号 INTE 中断允许信号 下图为方式1的输入时序 方式1输出时序 OBF 输出缓冲器满信号 ACK 外设响应信号 INTR 中断请求信号 INTE 中断允许信号

  48. 方式1时输出端口对应的控制信号和状态信号

  49. 3. 方式2 ---双向数据传输 方式2的特点 只适用于端口A。 端口C用5个数位提供控制和状态信号。 方式2的使用场合 一个并行外设既可以作为输入又可以作为输出 输入输出动作不会同时进行

More Related