微机原理常用可编程接口芯课件.ppt

上传人:scccc 文档编号:11959092 上传时间:2021-11-20 格式:PPT 页数:56 大小:632.50KB
返回 下载 相关 举报
微机原理常用可编程接口芯课件.ppt_第1页
第1页 / 共56页
微机原理常用可编程接口芯课件.ppt_第2页
第2页 / 共56页
微机原理常用可编程接口芯课件.ppt_第3页
第3页 / 共56页
微机原理常用可编程接口芯课件.ppt_第4页
第4页 / 共56页
微机原理常用可编程接口芯课件.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《微机原理常用可编程接口芯课件.ppt》由会员分享,可在线阅读,更多相关《微机原理常用可编程接口芯课件.ppt(56页珍藏版)》请在三一文库上搜索。

1、第7章 微型机接口技术 n 可编程定时/记数器 n可编程并行接口 n串行通信和串行接口 n*模拟通道接口 微机原理常用可编程接口芯1 概述 I/O接口的功能: u地址译码和I/O设备选择 u信息的输入与输出 u数据的缓冲及锁存 u信息的转换 微机原理常用可编程接口芯2 可编程定时/计数器 u定时控制在微机系统中具有极为重要的作用,计数 是许多过程控制领域常用的功能(P272) u定时器由数字电路中的计数电路构成,通过记录高 精度晶振脉冲信号的个数,输出准确的时间间隔 u计数电路用于记录外设提供的具有一定随机性的脉 冲信号时,它主要反映脉冲的个数(进而获知外设 的某种状态),常又称为计数器 微机

2、原理常用可编程接口芯3 定时功能的实现方法 u软件延时 利用微处理器执行一个延时程序段实现 不用硬件,但占用CPU时间、定时精度不高,随系统 时钟频率改变 u不可编程的硬件定时 采用分频器、单稳电路或简易定时电路控制定时时间 定时电路简单、定时时间可以在一定范围改变 u可编程的硬件定时 软件硬件相结合、用可编程定时器芯片构成一个方便 灵活的定时电路 具有多种工作方式、能够输出多种控制信号 微机原理常用可编程接口芯4 8253/8254定时计数器 u3个独立的16位计数器通道 u每个计数器有6种工作方式 u按二进制或十进制(BCD码)计数 8254是8253的改进型 微机原理常用可编程接口芯5

3、8253/8254的内部结构和引脚 D7D0 计数器0 控制字 寄存器 计数器1 计数器2 内 部 数 据 总 线 数据总线 缓冲器 读写控制 逻辑 RD WR A0 A1 CS CLK 0 GATE 0 OUT 0 CLK 1 GATE 1 OUT 1 CLK 2 GATE 2 OUT 2 微机原理常用可编程接口芯6 1. 计数器 预置寄存器 GATE CLK OUT 减1计数器 输出锁存器 计数初值存于预置寄存器; 在计数过程中, 减法计数器的值不断递减, 而预置寄存器中的预置不变。 输出锁存器用于写入锁存命令时, 锁定当前计数值 微机原理常用可编程接口芯7 计数器的3个引脚 uCLK时钟

4、输入信号 在计数过程中,此引脚上每输入一个时钟信号 (下降沿),计数器的计数值减1 uGATE门控输入信号 控制计数器工作,当GATE引脚为低电平时, 禁止计数器工作;只有当GATE为高电平时, 才允许计数器工作 uOUT计数器输出信号 当一次计数过程结束(计数值减为0),OUT 引脚上将产生一个输出信号 微机原理常用可编程接口芯8 与处理器接口 uD0 D7数据线 uA0 A1地址线 uCS*片选信号 uRD*读信号 uWR*写信号 CS* A1 A0I/O地址读操作RD*写操作WR* 0 0 0 0 0 1 0 1 0 0 1 1 40H 41H 42H 43H 读计数器0 读计数器1 读

5、计数器2 无操作 写计数器0 写计数器1 写计数器2 写控制字 微机原理常用可编程接口芯9 8253/8254的工作方式 u8253有6种工作方式,由方式控制字确定 u每种工作方式的工作过程相类似: 设定工作方式 设定计数初值 硬件启动 计数初值进入减1计数器 每输入一个时钟计数器减1的计数过程 计数过程结束 微机原理常用可编程接口芯10 方式0:计数结束中断 GATE OUT CLK 03124 4 方式0 WR 设 定 工 作 方 式 设 定 计 数 初 值 计 数 值 送 入 计 数 器 计 数 过 程 计 数 结 束 微机原理常用可编程接口芯11 方式0的主要特点 u计数器只计数一遍,

6、当计数到0时,并不恢复计数 初值,且输出保持为高。 u8253内部是在CPU写计数值的WR信号上升沿,将 此值写入通道的预置寄存器,在WR信号上升沿后 的下一个CLK脉冲,才将计数值由预置寄存器送至 减1计数器作为初值,开始计数。所以,8253是在 写计数值命令后经过一个输入脉冲,才将计数值装 入减1计数器,下一个脉冲才开始计数。因此,如果 设置计数初值为N,则输出信号OUT是在N+1个 CLK脉冲之后才变高的。 微机原理常用可编程接口芯12 u在计数过程中,可由门控制信号GATE控制暂停。 当GATE=0时,计数暂停;当GATE变高后,就接 着计数 微机原理常用可编程接口芯13 u在计数过程

7、中可以改变计数值。若是8位计数,则 在写入新的计数值后,计数器将按新的计数值重新 开始计数;如果是16位计数,在写入第一个字节后 ,计数器停止计数,在写入第二个字节后,计数器 便按照新的数值开始计数,即改变计数值是立即有 效的 微机原理常用可编程接口芯14 方式1:可重复触发的单稳触发器 设 定 工 作 方 式 设 定 计 数 初 值 硬 件 启 动 计 数 值 送 入 计 数 器 计 数 过 程 计 数 结 束 GATE OUT CLK 03124 4 方式1 WR 微机原理常用可编程接口芯15 方式1的主要特点 u若设置的计数值为N,则输出的单拍脉冲的 宽度即为N个输入脉冲间隔。 u当计数

8、到0后,可再次由外部GATE触发启 动,于是可再输出一个同样宽度的单拍脉 冲,而不用再次送入一个计数值。 微机原理常用可编程接口芯16 u在计数过程中,外部可发出门控脉冲进行再触发。 在再触发脉冲上升沿之后的一个CLK脉冲的下降 沿,计数器将重新开始计数。 微机原理常用可编程接口芯17 u在计数过程中,CPU可改变计数值,这时计数过 程不受影响,计数到0后输出为高。若再次触发启 动,则计数器将重按新输入的计数值计数,即计 数值是下次有效。 微机原理常用可编程接口芯18 方式2:频率发生器(分频器) 03124 GATE OUT CLK 4 方式2 03124 03124 03124 WR 微机

9、原理常用可编程接口芯19 方式2的主要特点 u不用重新设置计数值,通道能够连续工作,输出 固定频率的脉冲。 u计数器写入控制字和计数初值后,如GATE一直 处于高电平,则在下一脉冲开始计数。这种通过 写入计数初值使计数器同步,称为软件同步 微机原理常用可编程接口芯20 u计数过程可由GATE控制脉冲。当GATE变低时 ,就暂停计数;在GATE变高后的下一个CLK脉 冲使计数器恢复初值,重新开始计数。这种通过 门控信号实现计数器的同步,称为硬件同步 微机原理常用可编程接口芯21 u在计数过程中可以改变计数值,这对正在进行的 计数过程没有影响,但在计数到1时输出变低,过 一个CLK周期输出又变高,

10、计数器将按新的计数 值计数,所以改变计数值是下次有效的 微机原理常用可编程接口芯22 方式3:方波发生器 03124 GATE OUT CLK 4 方式3 03124 03124 03124 WR 微机原理常用可编程接口芯23 u方式3和方式2的输出都是周期性的,它们 的主要区别是:方式3在计数过程中输出有 一半时间为高,另一半时间为低。 u若计数值为N,则方式3的输出为方波,周 期是N个CLK脉冲。在这种方式,当CPU设 置控制字后,输出将为高,在写完计数值 后就自动开始计数,输出保持为高;当计 数到一半计数值时,输出变为低,直至计 数到0,输出又变高,重新开始计数。 微机原理常用可编程接口

11、芯24 方式3的主要特点 u若计数值为偶数,在装入计数值后,每一个CLK 脉冲都使计数值减2,当计数值减到0时,一方面 使输出改变状态,另一方面又重新装入计数值开 始新的计数 u若计数值为奇数,则在装入计数值后的第一个 CLK脉冲使计数器减1,其后每一个CLK脉冲使 计数器减2。当计数到0时,改变输出状态,同时 重新装入计数值。这以后的第一个CLK脉冲使计 数器减3,以后每一个CLK脉冲,计数器仍减2, 直到计数器再次到0时,输出恢复为高。所以,如 果计数值N是奇数,则输出有(N+1)/2个CLK脉冲 周期为高,而在(N-1)/2脉冲周期为低。即OUT为 高将比其为低多一个CLK周期时间。 微

12、机原理常用可编程接口芯25 微机原理常用可编程接口芯26 uGATE信号能使计数过程重新开始。GATE=1允 许计数,GATE=0禁止计数。如果在输出OUT为 低期间,GATE=0,OUT将立即变高,停止计数 。当GATE变高以后,计数器将重新装入初始值 ,重新开始计数。 微机原理常用可编程接口芯27 u若在计数期间写入一个新的计数值,并不 影响现行的计数过程。但是若在方波半周 期结束之前和新计数值写入之后收到GATE 脉冲,计数器将在下一个CLK脉冲时装人 新的计数值并以这个计数值开始计数。否 则,新计数值将在现行半周结束时装入计 数器 微机原理常用可编程接口芯28 方式4:软件触发选通信号

13、 GATE OUT CLK 03124 4 方式4 2233 3 1 0 WR 微机原理常用可编程接口芯29 方式4的特点 uCPU写入计数值后的下一个CLK脉冲,把 计数值写入计数器,再下一个CLK脉冲开 始减数。因此,若设置的计数值为N,则是 在写了计数值后的N+1个脉冲,才输出一个 负脉冲。 u若计数值是双字节,则在设置第一字节时 停止计数,在设置第二字节后,按照新的 计数值开始计数 微机原理常用可编程接口芯30 u当GATE=1时允许计数,而GATE=0时禁止计数 。所以,要做到软件启动,则GATE应保持为1 微机原理常用可编程接口芯31 u若在计数过程中,改变计数值,则按新的计数值

14、重新开始计数。 微机原理常用可编程接口芯32 方式5:硬件触发选通信号 GATE OUT CLK 03124 4 方式5 2233 3 11 0 WR 微机原理常用可编程接口芯33 方式5的特点 u若设置计数值为N,则在门控脉冲触发后,经过 N+1个CLK脉冲,才输出一个负脉冲 u若在计数过程中使用门控脉冲,则使计数器重新 开始计数,但对输出的状态没有影响 微机原理常用可编程接口芯34 u若在计数过程中改变计数值,只要没有门控信号的触发 ,不影响计数过程。当计数到0后,若有新的门控信号 的触发,则按新的计数值计数 u但若在写入了新的计数值后,在没有计数到0之前,有 新的门控脉冲触发,则立即按新

15、的计数值重新开始计数 微机原理常用可编程接口芯35 各种工作方式的输出波形 方式 0 方式 1 方式 2 方式 3 方式 4 方式 5 0 N0N0 N0/N110 NN/2 N/2 0/N0 N0 1 N0 1N0 1 微机原理常用可编程接口芯36 8253/8254的编程 u8253加电后的工作方式不确定 u8253必须初始化编程,才能正常工作 写入控制字 写入计数初值 读取计数值 D7D6D5D4D3D2D1D0 微机原理常用可编程接口芯37 1. 写入方式控制字 计数器读写格式工作方式数制 D7D6D5D4D3D2D1D0 00 计数器0 01 计数器1 10 计数器2 11 非法 0

16、0 计数器锁存命令 01 只读写低字节 10 只读写高字节 11 先读写低字节 后读写高字节 000 方式0 001 方式1 010 方式2 011 方式3 100 方式4 101 方式5 0 二进制 1 十进制 控制字写入控制字I/O地址(A1A011) 微机原理常用可编程接口芯38 2. 写入计数值 u选择二进制时 计数值范围:0000HFFFFH 0000H是最大值,代表65536 u选择十进制(BCD码) 计数值范围:00009999 0000代表最大值10000 计数值写入计数器各自的I/O地址 微机原理常用可编程接口芯39 3. 读取计数值 u对8位数据线,读取16位计数值需分两次

17、 u计数在不断进行,应该将当前计数值先行 锁存,然后读取: 向控制字I/O地址:给8253写入锁存命令 从计数器I/O地址:读取锁存的计数值 读取计数值,要注意读写格式和计数数制 微机原理常用可编程接口芯40 8254 Intel 8254是Intel 8253的改进型,因此它 的操作方式以及引脚与8253完全相同。它 的改进主要反映在两个方面: u(1)8254的计数频率更高。8254计数频 率可达到6MHz,8254-2频率可高达10MHz 。 u(2)8254多了一个读回命令,可锁存最多 三个计数器的当前计数值和状态信息 微机原理常用可编程接口芯41 u读回命令格式 A1A0=11,CS

18、*=0,RD*=1,WR*=0 微机原理常用可编程接口芯42 u当读回命令把某通道的计数值和状态信息锁存后,对该端 口第一次读操作读取状态字节,第二(或三)次读操作读 取计数值 u状态字格式 uD5D0:写入此通道的控制字的相应部分。 uD6: 反映预置寄存器中的计数值是否已经写入计数单元 D6=1:空计数值 D6=0:计数值有效 uD7反映了该计数器的输出引脚OUT信号的状态,输出( OUT)为高电平,则D7=1;输出为低电平,则D7=0。 微机原理常用可编程接口芯43 8253在IBM PC系列机上的应用 A0 A1 A0 A1 D0D7D0D7 OUT1 OUT2 OUT0 GATE0

19、GATE1 GATE2 CLK0 CLK1 CLK2 D Q CLK +5V 接至DMA控制器 接至扬声器驱动器 PB0 PB1 IRQ0 DRQ0 8253 +5V 1.19318MHz DACK0 BRD IOR IOW RD WR CST/CCS 微机原理常用可编程接口芯44 1. 定时中断和定时刷新 u从阅读初始化程序段看计数器0 作为定时中断的作用 n将计数器1作为定时刷新看 如何编写初始化程序段 微机原理常用可编程接口芯45 计数器0:初始化程序 mov al,36h;36H00 11 011 0B ;计数器0为方式3,采用二进制计数 ;先低后高写入计数值 out 43h,al;写

20、入方式控制字 mov al,0 ;计数值为0 out 40h,al;写入低字节计数值 out 40h,al;写入高字节计数值 微机原理常用可编程接口芯46 计数器0:定时中断 u计数器0:方式3,计数值:65536,输出频率为 1.19318MHz6553618.206Hz的方波 u门控为常启状态,这个方波信号不断产生 uOUT0端接8259A的IRQ0,用作中断请求信号 u每秒产生18.206次中断请求,或说每隔55ms( 54.925493ms)申请一次中断 uDOS系统利用计数器0的这个特点,通过08号中断 服务程序实现了日时钟计时功能 微机原理常用可编程接口芯47 计数器1:定时刷新

21、u需要重复不断提出刷新请求 门控总为高,选择方式2或3 n2ms内刷新128次,即15.6s刷新一次 计数初值为18 微机原理常用可编程接口芯48 计数器1:初始化程序 mov al,54h;54H01 01 010 0 B ;计数器1为方式2,采用二进制计数 ;只写低8位计数值 out 43h,al;写入方式控制字 mov al,18;计数初值为18 out 41h,al;写入计数值 微机原理常用可编程接口芯49 2. 扬声器控制 u计数器2的输出控制扬声器的发声音调 u计数器2只能工作在方式3,才能输出一定 频率的方波,经滤波后得到近似的正弦波 ,进而推动扬声器发声 u扬声器还受控于并行接

22、口(8255芯片) u必须使PB0和PB1同时为高电平,扬声器才 能发出预先设定频率的声音 微机原理常用可编程接口芯50 发音频率设置子程序 ;入口参数AX1.19318106发音频率 speakerproc push ax mov al,0b6h;b6h10110110b out 43h,al;写入控制字 pop ax out 42h,al;写入低8位计数值 mov al,ah out 42h,al;写入高8位计数值 ret speakerendp 微机原理常用可编程接口芯51 扬声器开子程序 speakon proc push ax in al,61h;PB端口的地址为61H or al,

23、03h ;D1D0PB1PB011B,其他位不变 out 61h,al pop ax ret speakon endp 微机原理常用可编程接口芯52 扬声器关子程序 speakoffproc push ax in al,61h;PB端口的地址为61H and al,0fch ;D1D0PB1PB000B,其他位不变 out 61h,al pop ax ret speakoffendp 微机原理常用可编程接口芯53 例 扬声器声音的控制 ;数据段 freq dw 1193180/600 ;代码段 mov ax,freq call speaker;设置扬声器音调 call speakon;打开扬声

24、器声音 mov ah,1;等待按键 int 21h;按键后 call speakoff;关闭扬声器声音 微机原理常用可编程接口芯54 3. 扩充定时计数器的应用 A0 A1 A0 A1外部事件产生源 8253 OUT0 GATE0 CLK0 200207H IRQ D0D7D0D7 译码 电路 AEN A3A9 +5V CS IOR IOW RD WR 微机原理常用可编程接口芯55 例 外部事件的计数 mov dx,203h;设置方式控制字 mov al,10h out dx,al mov dx,200h;设置计数初值 mov al,64h;计数初值为100 out dx,al 输出:明确向哪个端口输出什么数据 输入:清楚从哪个端口输入什么数据 微机原理常用可编程接口芯56

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1