计算机硬件技术基础:第8章 可编程接口1

上传人:re****.1 文档编号:570125748 上传时间:2024-08-02 格式:PPT 页数:66 大小:809.50KB
返回 下载 相关 举报
计算机硬件技术基础:第8章 可编程接口1_第1页
第1页 / 共66页
计算机硬件技术基础:第8章 可编程接口1_第2页
第2页 / 共66页
计算机硬件技术基础:第8章 可编程接口1_第3页
第3页 / 共66页
计算机硬件技术基础:第8章 可编程接口1_第4页
第4页 / 共66页
计算机硬件技术基础:第8章 可编程接口1_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《计算机硬件技术基础:第8章 可编程接口1》由会员分享,可在线阅读,更多相关《计算机硬件技术基础:第8章 可编程接口1(66页珍藏版)》请在金锄头文库上搜索。

1、第第8 8章章 可编程接口芯片及应用可编程接口芯片及应用第第8章章 可编程接口芯片及其应用可编程接口芯片及其应用教学重点 可编程定时可编程定时/计数器计数器8253 可编程并行接口可编程并行接口8255 串行通讯概念串行通讯概念 模拟通道接口模拟通道接口A/D、D/A8.1概述概述外设与外设与CPUCPU交换信息,需通过交换信息,需通过I/OI/O接口接口电路中转。随着大规模电路中转。随着大规模( (超大规模超大规模) )集成集成电路工艺技术的发展,各种电路工艺技术的发展,各种专用或通用专用或通用接口芯片接口芯片应运而生。应运而生。一、接口芯片的作用一、接口芯片的作用在在CPU与外设之间,二者

2、交换信息的中介与外设之间,二者交换信息的中介二、与系统相连时考虑的问题:二、与系统相连时考虑的问题:(1) 采用何种采用何种I/O编址方式编址方式独立编址方式独立编址方式 (2) 接口电路端口地址的确定接口电路端口地址的确定 设计地址译码电路设计地址译码电路 (3) 数据总线是否需要驱动数据总线是否需要驱动总线驱动器和总线缓冲器总线驱动器和总线缓冲器 (4) 与与CPU控制信号如何连接控制信号如何连接 可编程接口芯片面向可编程接口芯片面向CPU一面的结构:一面的结构: 内内: 状态状态REG/控制控制REG、I/O数据数据REG等等 外外: AB、DB、CB (CS、IO/M、RD/WR、IN

3、TR等)等)8.1概述概述三、常用的接口芯片三、常用的接口芯片并行、串行、并行、串行、A/D和和D/A、定时定时/计数器、计数器、 锁存锁存/缓冲器等缓冲器等 8.1概述概述8.2 定时计数控制接口定时计数控制接口概述概述实现定时或延时的方法实现定时或延时的方法: 软件定时软件定时设计一段延时程序,因一条设计一段延时程序,因一条指令时间确定。指令时间确定。 缺点缺点:占用占用CPU,降低降低CPU的利用率的利用率 定时精度不高定时精度不高 适用于:适用于:延时时间短,个人计算机上。延时时间短,个人计算机上。 不适于:不适于:多作业环境、时间紧缺的实时系统多作业环境、时间紧缺的实时系统中。中。概

4、述概述 不可编程的硬件定时不可编程的硬件定时采用中小规模电采用中小规模电路器件(分频器、简易定时电路)。路器件(分频器、简易定时电路)。 缺点:缺点:定时时间不能灵活改变。定时时间不能灵活改变。 可编程定时器电路可编程定时器电路软件硬件相结合、软件硬件相结合、用可编程定时器芯片构成一个方便灵活用可编程定时器芯片构成一个方便灵活的定时电路,定时值和定时范围可由软的定时电路,定时值和定时范围可由软件改变。件改变。主要作用:主要作用: 脉冲计数、定时,脉冲输出脉冲计数、定时,脉冲输出 多种工作方式,编程可选多种工作方式,编程可选 定时器定时器由数字电路中的计数电路构成,通过记录由数字电路中的计数电路

5、构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间高精度晶振脉冲信号的个数,输出准确的时间间隔隔计数计数电路如果记录外设提供的具有一定随机性的电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲信号时,它主要反映脉冲的个数脉冲的个数(进而获知(进而获知外设的某种状态),常又称为外设的某种状态),常又称为计数器计数器概述概述8.2.1 8253定时定时/计数器计数器 8253是是Intel系列,系列, 计数脉冲频率计数脉冲频率02.6MHz, 具有具有24个引脚,双列直插式封装,个引脚,双列直插式封装, 单电源单电源+5v, 输入输出均为输入输出均为TTL电平兼容电平兼容 3个

6、独立的个独立的16位计数器位计数器通道通道 每个计数器有每个计数器有6种工作方式种工作方式 按按二进制二进制或或十进制十进制(BCD码)计数码)计数 工作方式可编程控制工作方式可编程控制1、8253的内部结构及引脚的内部结构及引脚D7D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2计数器结构示意图计数器结构示意图预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器输出锁存器计数初值存于计数初值存于预置寄存器预置寄存器;在计数过程中,在计数过程中,减法计

7、数器减法计数器的值不断递减,的值不断递减,而预置寄存器中的预置不变。而预置寄存器中的预置不变。输出锁存器输出锁存器用于写入锁存命令时,用于写入锁存命令时,锁定当前计数值锁定当前计数值返回返回1) 三个独立的计数器三个独立的计数器02 每个:每个:16位,减法,预置位,减法,预置计数:二进制、计数:二进制、BCD码(十进制)码(十进制)CLK时钟时钟(计数计数)输入输入在计数过程中,此引脚在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数上每输入一个时钟信号(下降沿),计数器的计数值减值减1。GATE门控输入门控输入控制计数器工作,可分成电平控制计数器工作,可分成电平控制和上升沿控

8、制两种类型,控制和上升沿控制两种类型, “1”-开门,允许计数。开门,允许计数。 “0”-关门,禁止计数。关门,禁止计数。 OUT计数器输出计数器输出当一次计数过程结束(计数当一次计数过程结束(计数值减为值减为0),),OUT引脚上将产生一个输出信号,输引脚上将产生一个输出信号,输出波形取决于工作方式。出波形取决于工作方式。2) 读读/写控制逻辑写控制逻辑接收系统总线信息,接收系统总线信息,产生产生对各部分的对各部分的控制信号控制信号 A1、A0地址线,区分地址线,区分3个计数器个计数器及控制及控制REG。(。(寻址寻址)(三个计数器的控制寄存器共用一个(三个计数器的控制寄存器共用一个端口地址

9、)端口地址) RD读计数器读计数器(当前计数值当前计数值),低电,低电平有效。平有效。 WR写写 锁存器(计数初值)锁存器(计数初值) 控制控制REG(控制字,控制字, 工作方式)工作方式) CS片选信号,低电平有效。只有片选信号,低电平有效。只有CS有效时才能对有效时才能对8253进行操作。进行操作。 组合组合 P315 表表8.18253的的I/O地址地址0 1 0 0 1 0 0 00 00 1 0 0 1 0 0 10 10 1 0 0 1 0 1 01 00 1 0 0 1 0 1 11 10 0 1 0 0 1 0 00 00 0 1 0 0 1 0 10 10 0 1 0 0 1

10、 1 01 0功功 能能对计数器对计数器0 0设置计数初值设置计数初值CSCSRDRDA A1 1A A0 0WRWR对计数器对计数器1 1设置计数初值设置计数初值对计数器对计数器2 2设置计数初值设置计数初值设置控制字设置控制字从计数器从计数器0 0读出计数值读出计数值从计数器从计数器1 1读出计数值读出计数值从计数器从计数器2 2读出计数值读出计数值3) 数据总线缓冲器数据总线缓冲器是是8253与与CPU DB之间连接的接口,之间连接的接口,8位,双向,位,双向,对对8253读写各种信息,包括:读写各种信息,包括: a. 初始化编程时,写入初始化编程时,写入8253的控制字;的控制字; b

11、. 给计数器设置计数初值;给计数器设置计数初值; c. 从计数器读取当前计数值。从计数器读取当前计数值。 D7D0-三态数据线,双向,连到三态数据线,双向,连到CPU的的DB上。上。 4) 控制字控制字REG (A1A0=11)存放控制字存放控制字 写入计数初值写入计数初值只能写不能读只能写不能读2、8253主要功能主要功能1.计数计数GATE=1时,对时,对CLK端的脉冲计数端的脉冲计数(减减1),每,每来一个脉冲减来一个脉冲减1,减至,减至0时,时,OUT输出脉冲。输出脉冲。 2. 定时定时GATE=1时,由时,由CLK( )脉冲触发开始启脉冲触发开始启动计数动计数(减减1),计到,计到0

12、时,发出计数结束信号。时,发出计数结束信号。CLK接已知的,固定周期的频率信号。接已知的,固定周期的频率信号。三、三、8253的工作方式的工作方式8253有有6种工作方式种工作方式,由方式控制字确定,由方式控制字确定熟悉每种工作方式的特点才能根据实际应用问题,熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式选择正确的工作方式每种工作方式的过程类似:每种工作方式的过程类似: 设定工作方式设定工作方式 设定计数初值设定计数初值 硬件启动硬件启动 计数初值进入减计数初值进入减1计数器计数器 每输入一个时钟计数器减每输入一个时钟计数器减1的计数过程的计数过程 计数过程结束计数过程结束只有

13、进行过初始化的可编程接口芯片,才能自动只有进行过初始化的可编程接口芯片,才能自动地和地和CPU并行工作。并行工作。1) 方式控制字方式控制字计数器计数器SC1 SC0读写格式读写格式RL1 RL0工作方式工作方式M2 M1 M0数制数制BCDD7D6D5D4D3D2D1D000 计数器计数器001 计数器计数器110 计数器计数器211 非法非法00 计数器锁存命令计数器锁存命令 01 只读写低字节只读写低字节10 只读写高字节只读写高字节11 先读写低字节先读写低字节 后读写高字节后读写高字节000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方

14、式方式50 二进制二进制1 十进制十进制控制字写入控制字控制字写入控制字I/O地址(地址(A1A011)D7D6:SC1、SC0用于用于选择计数器选择计数器D5D4:RL1,RL0读读/写格式写格式 当当RL1,RL0=00时,时,锁存计数器锁存计数器的数据的数据不影响计数器正常工作。不影响计数器正常工作。CPU读取某通道当前计数器前,读取某通道当前计数器前,先向控制寄存器发出锁存该通道命令,计数值即被送入相先向控制寄存器发出锁存该通道命令,计数值即被送入相应锁存器锁存,而计数器继续工作。应锁存器锁存,而计数器继续工作。 D3D1:M2,M1,M0工作方式选择,用来工作方式选择,用来 指定所选

15、择指定所选择计数器的工作方式。计数器的工作方式。D0:BCD数制格式,用来确定计数是采用二进制还是二数制格式,用来确定计数是采用二进制还是二十进制十进制 二进制二进制初值范围:初值范围:0000HFFFFH 最大:最大:0000H,216,65536 十进制十进制初值范围:初值范围:0000H9999H 最大:最大:0000H,104,10000 最小:最小:0001H1) 方式控制字方式控制字图示图示2)2)工作方式工作方式 方式方式0 0 计数结束中断计数结束中断 写入写入CW OUT CW OUT ; 写入计数值后的第一个写入计数值后的第一个CLK CLK 开始计数;开始计数;OUTOU

16、T0 0 计数到计数到0 OUT 0 OUT 写入新的控制字或初值,计数器在到零后仍继写入新的控制字或初值,计数器在到零后仍继续计数续计数 计数条件:计数条件:GATE=1GATE=1(1)方式)方式0 计数结束中断计数结束中断GATEOUTCLK 031244方式方式0WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束特点:特点: 写入一次计数值,只计数一次。写入一次计数值,只计数一次。不能自动重复不能自动重复。 计数:计数:“CLKCLKGATE”GATE”的脉冲数,的脉冲数,GATE=0GATE=0时暂停时暂停计数计数。

17、计数过程中计数过程中改变数值:立即有效改变数值:立即有效 8 8位按新值计数位按新值计数1616位写入低位写入低8 8位,暂停计数,写入高位,暂停计数,写入高8 8位后,按新值位后,按新值计数计数 计数过程由计数过程由软件启动软件启动 实际应用中,实际应用中,OUTINTROUTINTR 方式方式1可重复触发的单稳态触发器可重复触发的单稳态触发器可以可以输出一个宽度可程控的负脉冲输出一个宽度可程控的负脉冲。 写入写入CW OUT=“1”( );); 写入计数值后,待写入计数值后,待GATE( )来后,下一个来后,下一个CLK 开始计数开始计数 OUT=“0”( );); 计数到计数到0 OUT

18、=“1”; 之后,每一个之后,每一个GATE ,使计数过程重复一遍。使计数过程重复一遍。 输出输出OUT为一定宽度的负脉冲,为一定宽度的负脉冲, 宽度宽度=n * CLK时钟周期时钟周期(2)方式)方式1 可编程单稳脉冲可编程单稳脉冲设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK 031244方式方式1WR特点:特点: 可由可由GATE重触发计数过程,计数到重触发计数过程,计数到0后不用再送后不用再送初值。初值。 计数过程中计数过程中改变计数值,下次有效改变计数值,下次有效。对当前计数。对当前

19、计数无影响。无影响。 计数过程中,计数过程中,GATE ;立即有效,重新计数立即有效,重新计数。使使OUT输出的负脉冲加宽。输出的负脉冲加宽。 计数器的启动只能由门控脉冲的上升沿产生,即计数器的启动只能由门控脉冲的上升沿产生,即只能用只能用硬件启动硬件启动计数器,不能用软件来启动计数器。计数器,不能用软件来启动计数器。 应用:实现定时功能,应用:实现定时功能,CLK已知,定时时间已知,已知,定时时间已知,n可算出。可算出。 方式方式2 频率发生器频率发生器(n分频器分频器)能产生周期性(固定频率)的脉冲信号。能产生周期性(固定频率)的脉冲信号。 写入写入CW OUT=“1” 写入计数值后,下一

20、个写入计数值后,下一个CLK的的 开始计数开始计数 计数到计数到1 OUT=“0” 经过一个经过一个CLK周期周期 OUT=“1” ,且开始重且开始重新计数。新计数。(3)方式)方式2 频率发生器(分频器)频率发生器(分频器)03124GATEOUTCLK 4方式方式2031240312403124WR特点:特点: 重复计数:重复计数:周期性脉冲输出周期性脉冲输出。 计数值计数值n,产生负脉冲的周期:产生负脉冲的周期:n 个个CLK周期周期 其中:其中: n-1个周期内,个周期内,OUT=“1” 1个个CLK周期内,周期内,OUT=“0” OUT输出信号的频率输出信号的频率=1/n*CLK信号

21、频率信号频率(n分频分频) GATE=0,暂停计数;暂停计数;GATE=1,重新从初值计数重新从初值计数。(硬件同步硬件同步) 在写入在写入CW和计数初值后,如和计数初值后,如GATE=“1”(一直),一直),开始计数。开始计数。(软件同步软件同步) 方式方式2既可用既可用软件启动又可硬件启动软件启动又可硬件启动 改变计数值,改变计数值,当前不影响当前不影响,在,在OUT 后有效。后有效。 应用:分频器,时基信号应用:分频器,时基信号各种工作方式的输出波形各种工作方式的输出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/

22、N0N0 1N0 1N0 1讨论:讨论:计数开始的时刻计数开始的时刻3) 计数开始的时刻计数开始的时刻需要注意需要注意:处理器写入处理器写入8253的计数初值只是写入了预置的计数初值只是写入了预置寄存器,之后到来的第一个寄存器,之后到来的第一个CLK输入脉冲输入脉冲(需(需先由低电平变高,再由高变低先由低电平变高,再由高变低)才将预)才将预置寄存器的初值送到减置寄存器的初值送到减1计数器。计数器。从第二个从第二个CLK信号的下降沿,计数器才真正信号的下降沿,计数器才真正开始减开始减1计数。计数。4) 8253工作方式小结工作方式小结8253有有6种不同的工作方式。其中:种不同的工作方式。其中:

23、方式方式2,4,5的输出波形相同,都是宽度为一个的输出波形相同,都是宽度为一个CLK周期的负脉冲。周期的负脉冲。 方式方式2连续连续方式方式4由软件(设置初值)触发启动由软件(设置初值)触发启动方式方式5由硬件(门控脉冲)触发启动由硬件(门控脉冲)触发启动 方式方式5(硬件触发选通)与方式(硬件触发选通)与方式1(硬件重复触发单稳脉冲)工作方式基(硬件重复触发单稳脉冲)工作方式基本相同,但输出波形不同。本相同,但输出波形不同。方式方式1输出输出n个个CLK脉冲周期的低有效脉冲脉冲周期的低有效脉冲(计数过程中输出为(计数过程中输出为 低)低) 方式方式5输出宽度为输出宽度为1个个CLK脉冲周期的

24、负脉冲脉冲周期的负脉冲(计数过程输出为(计数过程输出为 高)高) 输出端输出端OUT的初始状态:的初始状态:方式方式0在写入控制字后输出为低电平在写入控制字后输出为低电平其余方式写入控制字后,输出均变为高电平其余方式写入控制字后,输出均变为高电平方式方式2和方式和方式3连续计数连续计数其它方式其它方式一次计数一次计数,要继续工作需要重新启动,要继续工作需要重新启动方式方式0、4由软件启动由软件启动方式方式1、5由硬件启动由硬件启动实验实验1计数开始计数开始实验实验1计数开始计数开始计数开始计数开始5) 8253与与CPU的连接的连接一个一个8253占用占用4个地址,由个地址,由A1A0的取值区

25、分:的取值区分: 00、01、10 分别寻址计数器分别寻址计数器0、1、2 11 寻址控制寄存器寻址控制寄存器 4个端口的具体地址由个端口的具体地址由CS和和A1A0共同决定。共同决定。 A1A0接总线的接总线的A1A0 CS接端口地址译码器接端口地址译码器 8253的的RD、WR分别接总线的分别接总线的RD,WR D0D7分别接分别接DB的的D0D7 特别:地址译码特别:地址译码4、8253编程及应用编程及应用8253加电后的工作方式不确定加电后的工作方式不确定8253必须初始化编程,才能正常工作必须初始化编程,才能正常工作写入控制字写入控制字写入计数初值写入计数初值读取计数值读取计数值1)

26、 初始化编程初始化编程 8253在工作之前,通过软件首先写入各在工作之前,通过软件首先写入各个计数器的个计数器的方式控制字方式控制字,然后按控制字中,然后按控制字中RL1、RL0的规定写入的规定写入计数初值计数初值。 即:写入控制字即:写入控制字写入计数值写入计数值 8位位 16位位-先低先低8位位 后高后高8位位 例例1: 设设8253的端口地址为:的端口地址为:04H07H,要使,要使计数器计数器1工作工作在在方式方式0,仅用,仅用8位位二进制计数二进制计数,计数值为计数值为128,进行初始化,进行初始化编程。编程。控制字为:控制字为:01 01 000 0B=50H, n=128=80H

27、初始化程序:初始化程序:MOV AL,50HOUT 07H,ALMOV AL,80HOUT 05H,AL 例例2: 设设8253的端口地址为:的端口地址为:F8HFBH,若用,若用通通道道0工作在工作在方式方式1,按,按二二十进制十进制计数,计数值为计数,计数值为5080H,进行初始化编程。,进行初始化编程。控制字为:控制字为:00 11 001 1B=33H ,n=5080H初始化程序:初始化程序:MOV AL,33HOUT 0FBH,ALMOV AL,80HOUT 0F8H,ALMOV AL,50HOUT 0F8H,AL 画连线图画连线图例例3:设设8253的端口地址为:的端口地址为: 2

28、A0H2A3H,若用,若用通道通道0工作在工作在方式方式1,按,按十进制十进制计数,计数值为计数,计数值为5080H,进,进行初始化编程。行初始化编程。初始化程序为初始化程序为:MOV DX, 2A3H;控制端口地址为控制端口地址为2A3HMOV AL, 33H ;控制字为控制字为32HOUT DX, AL ;送方式控制字到控制送方式控制字到控制regMOV DX, 2A0H;计数器计数器0端口地址为端口地址为2A0HMOV AL, 80HOUT DX, AL ;先写低先写低8位计数值到计数器位计数值到计数器MOV AL, 50HOUT DX, AL ;再写高再写高8位计数值到计数器位计数值到

29、计数器0例例4: 计数器计数器1,定时,定时 5ms停,外时钟停,外时钟1MHz频率频率f=1MHz=106Hz 取方式取方式0n10-6=510-3n=5000=1388H 注意:计数初值的最大、最小值注意:计数初值的最大、最小值写入计数值选择二进制时选择二进制时计数值范围:计数值范围:0000HFFFFH0000H是最大值,代表是最大值,代表65536选择十进制(选择十进制(BCD码)码)计数值范围:计数值范围:000099990000代表最大值代表最大值10000计数值写入计数器各自的计数值写入计数器各自的I/O地址地址2) 读计数值读计数值8位位直接读(读一次)直接读(读一次)16位位

30、 锁存锁存,读低,读低8位,读高位,读高8位位 (读二次)(读二次)读取计数值读取计数值对对8位数据线,读取位数据线,读取16位计数值需分两次位计数值需分两次计数在不断进行,应该将当前计数值先行计数在不断进行,应该将当前计数值先行锁存,然后读取:锁存,然后读取:向向控制字控制字I/O地址地址:给:给8253写入锁存命令写入锁存命令(D5D4=00)从从计数器计数器I/O地址地址:读取锁存的计数值:读取锁存的计数值读取计数值,要注意读写格式和计数数制读取计数值,要注意读写格式和计数数制图示图示读取计数器读取计数器1的的16位计数值,采用锁存方式位计数值,采用锁存方式,设设8253的端口地址为:的

31、端口地址为: 2A0H2A3H 。MOV AL, 40HMOV DX, 2A3H命令控制字送控制端口命令控制字送控制端口 OUT DX, ALMOV DX, 2A1H读取计数器读取计数器1低低8位数据位数据IN AL, DXXCHG AL, AH;暂存暂存AHIN AL, DX;读取计数器读取计数器1高高8位数据位数据XCHG AL, AH;AX中为计数器中为计数器1的的16位计数值位计数值3) 8253在在IBM PC系列机上的应用系列机上的应用A0A1 A0 A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2D QCLK+5V接至接至DMA控

32、制器控制器接至扬声器驱动器接至扬声器驱动器PB0PB1IRQ0DRQ0 8253+5V1.19318MHzDACK0 BRDIORIOWRDWRCST/CCS(1) 定时中断和定时刷新从阅读初始化程序段看计数器0作为定时中断的作用n将将计数器计数器1作为定时刷新作为定时刷新n看如何编写初始化程序段看如何编写初始化程序段定时中断mov al,36h;计数器计数器0为方式为方式3,采用二进制计数,采用二进制计数,;先低后高写入计数值先低后高写入计数值out 43h,al;写入方式控制字写入方式控制字mov al,0;计数值为计数值为0out 40h,al;写入低字节计数值写入低字节计数值out 4

33、0h,al;写入高字节计数值写入高字节计数值8253初始化计数器0:定时中断计数器0:方式3,计数值:65536,输出频率为1.19318MHz6553618.206Hz的方波门控为常启状态,这个方波信号不断产生OUT0端接8259A的IRQ0,用作中断请求信号每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能计数器1:定时刷新需要重复不断提出刷新请求门控总为高,选择方式门控总为高,选择方式2或或3n2ms内刷新内刷新128次,即次,即15.6 s刷新一次刷新一次计数初值为计数初值为

34、18定时刷新mov al,54h;计计数数器器1为为方方式式2,采采用用二二进进制制计计数数,只只写写低低8位计数值位计数值out 43h,al;写入方式控制字写入方式控制字mov al,18;计数初值为计数初值为18out 41h,al;写入计数值写入计数值8253初始化(2) 扬声器控制计数器2的输出控制扬声器的发声音调计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声扬声器还受控于并行接口(8255芯片)必须使PB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音(3) 可编程硬件延时利用日时钟每隔55ms中断一次不变的特点,可以编写一段

35、不随系统时钟频率变化的固定延时程序由于日时钟中断的时间单位是55ms,所以无法实现更短时间的延时这时只有利用实时时钟中断,不过它的最短延时约是1ms(976 s)日时钟;延时开始延时开始mov ah,0int 1ahadd dx,90;加加5秒(秒(51890)mov bx,dx;期望值送期望值送bxrepeat:int 1ah;再读日时钟再读日时钟cmp bx,dx;与期望值比较与期望值比较jne repeat;不等,则循环不等,则循环;相等,延时结束相等,延时结束可编程硬件延时实时时钟;延时开始延时开始mov cx,0mov dx,1952;延时延时1.952ms2976 smov ah,

36、86hint 15h;功能调用返回时,定时时间到功能调用返回时,定时时间到可编程硬件延时4. 扩充定时计数器的应用例1利用扩充定时计数器对外部事件的计数例2为A/D转换电路提供可编程的采样信号例例1: 利用扩充定时计数器对外部事件的计数利用扩充定时计数器对外部事件的计数A0A1 A0 A1外部事件产生源外部事件产生源8253OUT0GATE0CLK0200207HIRQD0D7D0D7译码译码电路电路AENA3A9+5VCSIORIOWRDWR初始化程序段mov dx,203h;设置方式控制字设置方式控制字mov al,10hout dx,al mov dx,200h;设置计数初值设置计数初值

37、mov al,64h;计数初值为计数初值为100out dx,al输出:输出:明确向哪个明确向哪个端口端口输出什么输出什么数据数据输入:输入:清楚从哪个清楚从哪个端口端口输入什么输入什么数据数据例2: 为A/D转换电路提供可编程的采样信号8253OUT0GATE0CLK0OUT1GATE1CLK1OUT2GATE2CLK2启动转换启动转换时钟源时钟源频率频率 F+5V计计数数值值MNLA0A1A1A2200H207HCS初始化计数器0mov al,14hout 76h,almov al,cnt0out 70h,al例8.3初始化计数器1mov al,52hout 76h,almov al,cnt1out 72h,al例8.3初始化计数器2mov al,96hout 76h,almov al,cnt2out 74h,al例8.3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号