微型计算机原理与接口技术第11章_第1页
微型计算机原理与接口技术第11章_第2页
微型计算机原理与接口技术第11章_第3页
微型计算机原理与接口技术第11章_第4页
微型计算机原理与接口技术第11章_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1111章章 可编程定时器可编程定时器/ /计数器计数器 计算机中的定时和延时控制、对外部事件或信号的计数计算机中的定时和延时控制、对外部事件或信号的计数 软件方法软件方法 固定时间的硬件定时固定时间的硬件定时 可编程的硬件定时可编程的硬件定时计算机系统中采用可编程定时计算机系统中采用可编程定时/计数器计数器I8253和和I8254 8254内部集成了内部集成了3个个16位的计数器位的计数器, 每个计数器有每个计数器有6种工作方式,种工作方式,计数初值可设定为二进制或计数初值可设定为二进制或BCD码。最高工作频率码。最高工作频率10兆。兆。一一.8254内部结构内部结构 (24脚脚)数据总

2、线数据总线 缓冲器缓冲器读写读写控制控制控制字控制字寄存器寄存器 0号号计数器计数器 1号号计数器计数器 2号号计数器计数器RDWRA0CSA1D70GATE0GATE0OUT0OUT0CLK0CLK0GATE1GATE1OUT1OUT1CLK1CLK1GATE2GATE2OUT2OUT2CLK2CLK2数据总线数据总线 缓冲器缓冲器读写读写控制控制控制字控制字寄存器寄存器 0号号计数器计数器 1号号计数器计数器 2号号计数器计数器RDWRA0CSA1D70GATE0GATE0OUT0OUT0CLK0CLK0GATE1GATE1OUT1OUT1CLK1CLK1GATE2GATE2OUT2OUT

3、2CLK2CLK2 数据总线缓冲器数据总线缓冲器: 完成和系统数据线的配接。完成和系统数据线的配接。 对外有对外有8条数据线条数据线D70 8254 8254的内部结构的内部结构数据总线数据总线 缓冲器缓冲器读写读写控制控制控制字控制字寄存器寄存器 0号号计数器计数器 1号号计数器计数器 2号号计数器计数器RDWRA0CSA1D70GATE0GATE0OUT0OUT0CLK0CLK0GATE1GATE1OUT1OUT1CLK1CLK1GATE2GATE2OUT2OUT2CLK2CLK2 读写控制模块读写控制模块: 选择芯片内部的控制寄存器和计数器选择芯片内部的控制寄存器和计数器, 在读写在读写

4、命令的控制下对选中的端口进行读写操作。对外有命令的控制下对选中的端口进行读写操作。对外有5条引线。条引线。 8254 8254的内部结构的内部结构CS 计数初值写入计数器#000001 操 作 计数初值写入计数器#100011 计数初值写入计数器#200101 向控制字寄存器写控制字00111 读计数器#0当前计数值01000 读计数器#1当前计数值01010 读计数器#2当前计数值01100011101XXXX01XX1无操作无操作禁止 表7.1 8254内部寄存器读/写操作RDWRA1A0 8254 8254的内部结构的内部结构数据总线数据总线 缓冲器缓冲器读写读写控制控制控制字控制字寄存

5、器寄存器 0号号计数器计数器 1号号计数器计数器 2号号计数器计数器RDWRA0CSA1D70GATE0GATE0OUT0OUT0CLK0CLK0GATE1GATE1OUT1OUT1CLK1CLK1GATE2GATE2OUT2OUT2CLK2CLK2 控制寄存器控制寄存器: 寄存寄存CPU对其初始化编程时写入的控制字,对其初始化编程时写入的控制字,以决定计数器的工作方式和并设置读出命令。以决定计数器的工作方式和并设置读出命令。 8254 8254的内部结构的内部结构数据总线数据总线 缓冲器缓冲器读写读写控制控制控制字控制字寄存器寄存器 0号号计数器计数器 1号号计数器计数器 2号号计数器计数器

6、RDWRA0CSA1D70GATE0GATE0OUT0OUT0CLK0CLK0GATE1GATE1OUT1OUT1CLK1CLK1GATE2GATE2OUT2OUT2CLK2CLK2计数器计数器: 每个计数器对外有每个计数器对外有3条线条线 GATE 控制信号控制信号 CLK 计数脉冲输入计数脉冲输入 OUT 计数器输出计数器输出 8254 8254的内部结构的内部结构口地址口地址译码器译码器A9A2AEND7D0IORIOWA1A0D7D0RDWRA1A0CS8254 二二. 8254与系统总线的连接与系统总线的连接I/O口地址分口地址分2段段A9A2参加译码,译码参加译码,译码 输出负脉冲

7、。使输出负脉冲。使CS=0, 选中选中8254A1,A0直接与芯片直接与芯片A1,A0 相连,选择片内寄存器相连,选择片内寄存器执行执行IN时从选中的内部时从选中的内部 寄存器读寄存器读执行执行OUT时向选中的内时向选中的内 部寄存器写部寄存器写三三.8254内部寄存器内部寄存器/计数器口地址计数器口地址 在在CS=0前提下前提下 A1 A0 选中选中0 0 0#0 0 0#计数器计数器0 1 1#0 1 1#计数器计数器 0 2#0 2#计数器计数器1 1 1 1 控制寄存器控制寄存器设设8254与系统总线如上图联接与系统总线如上图联接: 口地址口地址=40H43H,“选中选中”8254,则

8、,则0#2#计计 数器口地址数器口地址=40H42H,控制口地址,控制口地址=43H。口地址口地址=2FCH2FFH,“选中选中”8254,则,则 0#2#计数器口地址计数器口地址=2FCH2FEH,控制口,控制口 地址地址=2FFH。四四.计数器内部结构示意图计数器内部结构示意图 内部数据线内部数据线计数初值寄存器计数初值寄存器(16位位)减减1计数器计数器(16位位)计数值锁存器计数值锁存器(16位位)锁存命令锁存命令GATECLKOUT内部数据线内部数据线 初始化编程时初始化编程时: : 计数初值计数初值 计数初值寄存器计数初值寄存器 减减1 1计数器计数器内部数据线内部数据线计数初值寄

9、存器计数初值寄存器(16位位)减减1计数器计数器(16位位)计数值锁存器计数值锁存器(16位位)锁存命令锁存命令GATECLKOUT内部数据线内部数据线 计数器的内部结构计数器的内部结构 当当GATA=1时时, CLK的下降沿使计数器减的下降沿使计数器减1,当计数值减到当计数值减到0 (或某个值或某个值由工作方式确定由工作方式确定)时时, OUT有输出。有输出。内部数据线内部数据线计数初值寄存器计数初值寄存器(16位位)减减1计数器计数器(16位位)计数值锁存器计数值锁存器(16位位)锁存命令锁存命令GATECLKOUT内部数据线内部数据线 计数器的内部结构计数器的内部结构 计数初值计数初值

10、= f c l k / f o u t 收到锁存命令后收到锁存命令后, 当前计数值当前计数值 计数值锁存器计数值锁存器(以便读出以便读出检查检查), 而计数器仍然做减而计数器仍然做减1计数计数内部数据线内部数据线计数初值寄存器计数初值寄存器(16位位)减减1计数器计数器(16位位)计数值锁存器计数值锁存器(16位位)锁存命令锁存命令GATECLKOUT内部数据线内部数据线 计数器的内部结构计数器的内部结构作用作用: 选择一个计数器选择一个计数器, 确定工作方式确定工作方式, 并规定初并规定初 值的写入顺序和计数初值值的写入顺序和计数初值 (一串一串0, 1代码代码) 的数制。的数制。 五五.

11、8254命令字命令字 / 状态字状态字 D7 D6 D5 D4 D3 D2 D1 D0 计数器选择计数器选择 读写方式选择读写方式选择 工作方式选择工作方式选择 数制选择数制选择 D7 D6=00 选择选择0#计数器计数器, =01 选择选择1#计数器计数器 =10 选择选择2#计数器计数器, =11 标志该命令字标志该命令字 是是 “读出命令读出命令” 1.方式选择命令字方式选择命令字 D5 D4=00 标志该命令为标志该命令为 “锁存命令锁存命令” =01 初值写入时初值写入时, 只写低只写低8位位, 高高8位自动位自动 补补0;计数值读出时;计数值读出时, 只能读低只能读低8位位 =10

12、 初值写入时初值写入时, 只写高只写高8位位, 低低8位自动位自动 补补0;计数值读出时;计数值读出时, 只能读高只能读高8位。位。 =11 初值写入初值写入 / 计数值读出的顺序为先计数值读出的顺序为先 低低8位位,后高后高8位。位。D7 D6 D5 D4 D3 D2 D1 D0 计数器选择计数器选择 读写方式选择读写方式选择 工作方式选择工作方式选择 数制选择数制选择 8254 8254的命令字和状态字的命令字和状态字 D3 D2 D1 选中的计数器工作在选中的计数器工作在 0 0 0 方式方式 00 0 1 1 1 0 2 1 1 31 0 0 41 0 1 5 D0=0, 计数初值为计

13、数初值为二进制数二进制数, D0=1, 初值为初值为BCD码数码数。D7 D6 D5 D4 D3 D2 D1 D0 计数器选择计数器选择 读写方式选择读写方式选择 工作方式选择工作方式选择 数制选择数制选择 8254 8254的命令字和状态字的命令字和状态字 2. 锁存命令锁存命令( D5 D4=00 标志该命令为标志该命令为 “锁存命令锁存命令”)D7 D6 为锁存对象。为锁存对象。 = 0 0,锁存,锁存0#当前计数值当前计数值 = 0 1,锁存,锁存1#当前计数值当前计数值 = 1 0,锁存,锁存2#当前计数值当前计数值计数器选择计数器选择 0 0 D7 D6 D5 D4 D3 D0D7

14、 D611D5 D4 = 00 8254 8254的命令字和状态字的命令字和状态字 3.读出命令读出命令读出命令是多通道的锁存命令读出命令是多通道的锁存命令, 一条命令可以锁存一条命令可以锁存3个计个计数器的计数值、计数器状态。数器的计数值、计数器状态。 1 1 0D7 D6 D00: 锁存当前计数值锁存当前计数值0: 锁存计数器状态锁存计数器状态1: 选择选择0#计数器计数器D7D6D0=110是读命令是读命令1: 选择选择1#计数器计数器1: 选择选择2#计数器计数器 8254 8254的命令字和状态字的命令字和状态字 4. 4. 状态字状态字 与方式选择命令字相同与方式选择命令字相同D7

15、 D6 D5 D00: 计数初值已装入计数器计数初值已装入计数器1: 计数初值未装入计数器计数初值未装入计数器0: OUT脚为低电平脚为低电平1: OUT脚为高电平脚为高电平 8254 8254的命令字和状态字的命令字和状态字 CPU对对8254的初始化编程的初始化编程 例例: 设设8254的口地址为的口地址为40H 43H, 要求要求2#计数器工作在方式计数器工作在方式3, 计数初值计数初值=4000, 写出写出2#的初始化程序段。的初始化程序段。1. 对对8254一个计数器的初始化编程步骤一个计数器的初始化编程步骤: 向控制寄存器写入方式选择命令字向控制寄存器写入方式选择命令字 目的目的:

16、 选择一个计数器选择一个计数器, 并确定其工作方式并确定其工作方式 和计数值(计数初值)的读和计数值(计数初值)的读 / 写顺序。写顺序。 向选择的计数器写入计数初值。向选择的计数器写入计数初值。 注意注意: 如果方式选择命令字如果方式选择命令字D0=0, 则初值则初值 应是二进制应是二进制, 否则初值应是否则初值应是BCD码数。码数。解解1: 设初值为二进制设初值为二进制, 初值写入顺序为先低初值写入顺序为先低8位后高位后高8位。位。 MOV AL, 10110110B OUT 43H, AL MOV AX, 4000 OUT 42H, AL MOV AL, AH OUT 42H, AL解解

17、2: 设初值为二进制设初值为二进制, 写入顺序为仅写高写入顺序为仅写高8位。位。 MOV AL, 10100110B OUT 43H, AL MOV AL, 40 OUT 42H, AL注意注意: 解解2是错误的是错误的, 因为因为:4000=0FA0H, 其低其低8位不等于位不等于0。 8254 8254的初始化编程的初始化编程 解解3: 设初值为设初值为BCD码码, 写入顺序为先低后高写入顺序为先低后高。 MOV AL, 10110111B OUT 43H, AL MOV AL, 0 OUT 42H, AL MOV AL, 40H OUT 42H, AL解解4: 设初值为设初值为BCD码码

18、, 仅写高仅写高8位。位。 MOV AL, 10100111B OUT 43H, AL MOV AL, 40H OUT 42H, AL 注意注意: 4000的的BCD码数应写成码数应写成4000H, 解解3、解、解4是正确的。是正确的。 8254 8254的初始化编程的初始化编程 2. 当计数初值当计数初值 9999时时, “初值初值”选为二进制或选为二进制或 BCD码都可以;码都可以; 当计数初值当计数初值 9999时时, “初值初值”只能选二进制。只能选二进制。3. 程序中如何表示程序中如何表示BCD码数码数? 设初值设初值=(1234)10 则则 MOV AX, 1234H 是正确的是正

19、确的 写成写成 MOV AX, 1234 是错误是错误的4. 方式选择命令方式选择命令, 锁存命令锁存命令, 读出命令必须写入读出命令必须写入 控制口。控制口。 8254 8254的初始化编程的初始化编程 6. 关于读出命令关于读出命令 读出命令也是锁存命令读出命令也是锁存命令, 如果在锁存计数值如果在锁存计数值 的同时的同时, 也锁存状态也锁存状态, 那么在随后对计数器读那么在随后对计数器读 出时出时, 先读出的是状态字先读出的是状态字, 后读的是计数值。后读的是计数值。5. 关于锁存命令关于锁存命令 当程序员要了解计数器的当前计数值时当程序员要了解计数器的当前计数值时, 先先 向控制口写入

20、锁存命令向控制口写入锁存命令, 然后从选择的计数然后从选择的计数 器端口读取当前计数值。器端口读取当前计数值。 8254 8254的初始化编程的初始化编程 六六. 8254工作方式工作方式 有有6种工作方式种工作方式, 均在均在CLK下降沿计数一次。下降沿计数一次。 有有2种启动方式种启动方式: 软件启动软件启动, 硬件启动。硬件启动。 软件启动软件启动: GATA=1, 初值写入后初值写入后, 开始计数。开始计数。 硬件启动硬件启动: 初值写入后初值写入后, 不计数。当不计数。当GATE从从 0 1后开始计数。后开始计数。 方式方式0: 计数结束计数结束OUT引脚输出正跃变信号引脚输出正跃变

21、信号软件启动软件启动, 计数值减到计数值减到0, OUT从从0 1。WR结束后,第一个CLK完成初值装入 3 2 1 0 1CLKWRN=3GATE=1OUT 8254 8254的工作方式的工作方式 方式方式1: (可重触发的可重触发的) 硬件启动的单脉冲发生器硬件启动的单脉冲发生器GATE由由0 1, 下一个下一个CLK下降沿下降沿, 使使OUT由由1 0, 且装入计数值且装入计数值GATE再次从再次从0 1之后之后, 下一个下一个CLK完成初值自动重装完成初值自动重装 3 2 3 2 1 0 3 2 1 0 N TCLKCLKWRN=3GATE=1OUTGATEOUTTOUT 8254 8

22、254的工作方式的工作方式 硬件启动(由外部门控信号启动计数)硬件启动(由外部门控信号启动计数) 初值写入后不计数初值写入后不计数, 当当GATE从从0 1时时, OUT 从从1 0。之后每个。之后每个CLK下降沿计数值减下降沿计数值减1, 计计 数值减到数值减到0时时, OUT从从0 1。 所以所以: 输出负脉冲的宽度输出负脉冲的宽度=NTCLK 计数过程中计数过程中, GATE再次从再次从0 1, 初值自动重初值自动重 装装,从而使从而使OUT输出的负脉冲加宽输出的负脉冲加宽 ( 即有可重即有可重 触发的性能触发的性能)。 8254 8254的工作方式的工作方式 方式方式2: 分频器分频器

23、(脉冲发生器脉冲发生器) 软件启动软件启动 减减1计数计数, 减到减到1时时OUT从从1 0,下一下一CLK初值初值 自动重装。自动重装。所以所以: OUT为周期性波形为周期性波形, 输出负脉输出负脉 冲的宽度为一个冲的宽度为一个TCLK, 周期周期=N TCLK 3 2 1 3 2 1CLKWRN=3GATE=1OUT 周期=N TCLK 8254 8254的工作方式的工作方式 方式方式3: 方波发生器方波发生器CLKWRN=4GATE=1OUT 4 2 4 2 4 2软件启动软件启动, 减减2计数计数, 有初值自动重装功能。有初值自动重装功能。 N=偶数时偶数时, 计数值减到计数值减到0时

24、初值重装时初值重装, 输出输出1:1连续波形。连续波形。 8254 8254的工作方式的工作方式 GATE=1WRN=5CLK 4 2 0 4 2 4 2 0OUT N=奇数时:奇数时: 装入的及重新装入的初值均为写入的初值装入的及重新装入的初值均为写入的初值-1。 输出正脉冲期间输出正脉冲期间, 减到减到-2时重新装初值时重新装初值 输出负脉冲期间输出负脉冲期间, 减到减到0时重新装初值时重新装初值 输出正脉冲宽度输出正脉冲宽度=TCLK (N+1) / 2 输出负脉冲宽度输出负脉冲宽度=TCLK (N1) / 2 8254 8254的工作方式的工作方式 方式方式4: 软件启动软件启动, 单

25、脉冲发生器单脉冲发生器软件启动软件启动, 减减1计数计数,减到减到0 有输出有输出, 无无初值自动重装功能。初值自动重装功能。 3 2 1 0 -1CLKN=3WRGATE=1OUT 8254 8254的工作方式的工作方式 方式方式5: 硬件启动硬件启动, 单脉冲发生器单脉冲发生器 硬件启动硬件启动, 减减1计数计数, 减到减到0有输出。有输出。CLKN=3WR 3 2 1 0 -1OUTGATEGATE从从0 1, 下一个下一个CLK下降沿下降沿装入计数初值开始计数装入计数初值开始计数 8254 8254的工作方式的工作方式 6种工作方式的比较种工作方式的比较:方式方式1方式方式4方式方式5

26、功能功能都是单脉冲发生器都是单脉冲发生器启动方式启动方式硬件启动硬件启动软件启动软件启动硬件启动硬件启动输出输出负脉宽负脉宽=N TCLK负脉宽负脉宽=TCLK初值重装初值重装在计数过程中在计数过程中(OUT=0期间)期间) GATE从从01时初值时初值重装重装 计数过程中计数过程中(OUT=1期间)期间) GATE从从0 1时初值重装时初值重装 8254 8254的工作方式的工作方式 方式方式0方式方式2方式方式3功能功能计数结束计数结束, 输出正跃变输出正跃变脉冲发生器脉冲发生器方波发生器方波发生器启动方式启动方式都是软件启动都是软件启动输出输出启动后延时启动后延时(N+1)TCLK输出正

27、跃变输出正跃变负脉宽负脉宽=TCLK周期周期=N CLK N=偶数偶数,输输出出1:1方波方波初值重装初值重装计数结束计数结束, 初值自动重装初值自动重装 8254 8254的工作方式的工作方式 七七. 8254在在PC机中的应用机中的应用1. 电路电路:主主8259ACLK0 OUT0CLK1CLK2GATE0 OUT1GATE1GATE2 OUT2fclk=1.193182 MHZ+5V8254 PB0 PB18255 B口口IR0 Q D动态存储器动态存储器刷新电路刷新电路清清“0”+5V与与门门滤波滤波口地址口地址61H 3个计数器的时钟端都为个计数器的时钟端都为1.193182 MH

28、Z GATE0, GATE1固定接固定接+5v GATE2, OUT2输出受输出受8255的的PB0、PB1控制控制2. 系统系统8254口地址为口地址为40H 43H。 3. 系统加电后系统加电后,由由BIOS完成对完成对3个计数器初始化。个计数器初始化。 4. 各计数器的使用现状如下:各计数器的使用现状如下: 8254 8254的应用的应用 工作在方式工作在方式3, 计数初值计数初值=0,OUT0=周期为周期为 55ms的方波信号。的方波信号。 作用作用: 每隔每隔55ms通过中断系统提出通过中断系统提出 一次日时钟中断请求。一次日时钟中断请求。主主8259ACLK0 OUT0CLK1CL

29、K2GATE0 OUT1GATE1GATE2 OUT2fclk=1.193182 MHZ+5V PB0 PB18255 B口口IR0 Q D动态存储器动态存储器刷新电路刷新电路清清“0”+5V与与门门滤波滤波口地址口地址61H8254 0#计数器计数器 8254 8254的应用的应用 主主8259ACLK0 OUT0CLK1CLK2GATE0 OUT1GATE1GATE2 OUT2fclk=1.193182 MHZ+5V PB0 PB18255 B口口IR0 Q D动态存储器动态存储器刷新电路刷新电路清清“0”+5V与与门门滤波滤波口地址口地址61H8254 工作在方式工作在方式2, 计数初值

30、计数初值=18, OUT1=周期周期为为15.1s的连续脉冲。的连续脉冲。 作用作用: 每隔每隔15.1s(向向DMAC)提出一次提出一次“动态存储器刷新请求动态存储器刷新请求”。1#计数器计数器 8254 8254的应用的应用 主主8259ACLK0 OUT0CLK1CLK2GATE0 OUT1GATE1GATE2 OUT2fclk=1.193182 MHZ+5V PB0 PB18255 B口口IR0 Q D动态存储器动态存储器刷新电路刷新电路清清“0”+5V与与门门滤波滤波口地址口地址61H8254 工作在方式工作在方式3, 初值初值=533H,为音响,为音响 系统提供系统提供900HZ方

31、波。方波。2#计数器计数器 8254 8254的应用的应用 主主8259ACLK0 OUT0CLK1CLK2GATE0 OUT1GATE1GATE2 OUT2fclk=1.193182 MHZ+5V8254 PB0 PB18255 B口口IR0 Q D动态存储器动态存储器刷新电路刷新电路清清“0”+5V与与门门滤波滤波口地址口地址61H 用户程序禁止使用用户程序禁止使用1#计数器。计数器。 用户程序可以使用用户程序可以使用0#, 2#计数器。计数器。注意注意: 8254 8254的应用的应用 八八. 系统系统8254 应用举例应用举例:编制程序,使编制程序,使PC系列机系列机8254的计数器产

32、生的计数器产生800Hz的方波,经滤波后送至扬声器发声,当键盘有任意按的方波,经滤波后送至扬声器发声,当键盘有任意按键时声音停止。键时声音停止。 8254 8254的应用的应用 分析:分析:8254 的的2号计数器控制扬声器发声系统。号计数器控制扬声器发声系统。8254初始化初始化后,后,2号计数器功能是方波发生器,工作在方式号计数器功能是方波发生器,工作在方式3,二进制计数,初值写入顺序为先低二进制计数,初值写入顺序为先低8位后高位后高8位,位,CLK2输入频率为输入频率为1.193182MHz,计数初值为,计数初值为533H,使得使得OUT2输出方波约为输出方波约为900Hz。根据题目要求

33、,要。根据题目要求,要产生产生800Hz的方波,可以通过改变的方波,可以通过改变2号计数器计数初号计数器计数初值获得值获得800Hz的方波输出,并经过滤波驱动扬声器。的方波输出,并经过滤波驱动扬声器。 8254 8254的应用的应用 扬声器发声控制扬声器发声控制PC机发声系统受到机发声系统受到 8255芯片芯片B口口PB0、PB1输出的控制。执行输出的控制。执行下面的下面的OPEN子程序完成扬声器的打开,执行子程序完成扬声器的打开,执行CLOSE子程序完子程序完成扬声器的关闭。成扬声器的关闭。 OPEN PROC CLOSE PROC PUSH AX PUSH AX IN AL,61H IN

34、AL,61H OR AL,00000011B AND AL,11111100B OUT 61H,AL OUT 61H,AL POP AX POP AX RET RET OPEN ENDP CLOSE ENDP 8254 8254的应用的应用 利用利用8254计数器计数器2号产生号产生800Hz方波,经滤波后送方波,经滤波后送至扬声器发声。至扬声器发声。 计数初值计数初值 N=fclk/fout =1.193182MHz800Hz【程序清单】【程序清单】;FILENAME:11_1.asm.586 CODE SEGMENT ASSUME CS:CODE BEG: IN AL,61H OR AL,

35、03H OUT 61H,AL ;接通扬声器;接通扬声器 MOV DX,12H MOV AX,34DEH ;1.193182 1234DEH 8254 8254的应用的应用 MOV CX,800 DIV CX ;计数初值;计数初值AX OUT 42H,AL ;先写低;先写低8位位 MOV AL,AH OUT 42H,AL ;再写高;再写高8位位 MOV AH,1 INT 21H ;等待按键;等待按键 IN AL,61H AND AL,0FCH OUT 61H,AL ;关闭扬声器;关闭扬声器 MOV AH,4CH INT 21H CODE ENDS END BEG九九. 外扩外扩8254应用举例应用举例 例例: 给定给定2兆信号发生器兆信号发生器, 在在ISA总线上外扩一片总线上外扩一片 8254。口地址为。口地址为218 21BH, 要求要求: 设计硬件电路设计硬件电路 编程产生编程产生8 KHZ方波和方波和1.6 KHZ的连续脉冲的连续脉冲解解: 思路思路: 使用外扩使用外扩8254的的 0#选择方式选择方式3, 产生产生8 KHZ方波方波 1#选择方式选择方式2, 产生产生1.6 KHZ连续脉冲连续脉冲

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论