微机系统与接口教学资料第八章

上传人:xt****7 文档编号:183967174 上传时间:2023-01-31 格式:PPT 页数:40 大小:1.16MB
收藏 版权申诉 举报 下载
微机系统与接口教学资料第八章_第1页
第1页 / 共40页
微机系统与接口教学资料第八章_第2页
第2页 / 共40页
微机系统与接口教学资料第八章_第3页
第3页 / 共40页
资源描述:

《微机系统与接口教学资料第八章》由会员分享,可在线阅读,更多相关《微机系统与接口教学资料第八章(40页珍藏版)》请在装配图网上搜索。

1、第八章第八章 定时与计数器定时与计数器 在计算机系统中,经常要用到定时信号,比如:在计算机系统中,经常要用到定时信号,比如:在许多个人计算机中,在许多个人计算机中,都是用定时信号来产生的。都是用定时信号来产生的。在计算机实时控制与处理系统中,在计算机实时控制与处理系统中,也要用到定时信号。也要用到定时信号。定时信号的产生有两种方式:定时信号的产生有两种方式:软件方法:延时子程序;软件方法:延时子程序;硬件方法:用定时硬件方法:用定时/计数器(简单的软件控制,产生准确的时间延迟)。计数器(简单的软件控制,产生准确的时间延迟)。CPU对计数器设定工作方式,装入初值,在对计数器设定工作方式,装入初值

2、,在GATE(门控信号)的启动(门控信号)的启动下,计数器开始工作,在输入脉冲下,计数器开始工作,在输入脉冲CLK的作用下做减的作用下做减 1 计数(来一个脉冲计数(来一个脉冲计数值减计数值减 1),减至),减至 0时,输出端时,输出端 OUT 输出一个信号。输出一个信号。计数计数 在设定好计数初值后,做减在设定好计数初值后,做减 1 计数,减为计数,减为 0 时,输出一个信号。时,输出一个信号。定时定时 在设定好计数初值后,做减在设定好计数初值后,做减 1 计数,并按定时常数不断输出为时计数,并按定时常数不断输出为时 钟周期整数倍的定时间隔。钟周期整数倍的定时间隔。主要功能主要功能 芯片上有

3、三个独立的芯片上有三个独立的16位计数器通道;位计数器通道;每个计数器可以按照二进制或二每个计数器可以按照二进制或二十进制计数;十进制计数;每个计数器的计数速率可达每个计数器的计数速率可达 2MHZ;每个通道有每个通道有 6 种工作方式,可有程序设置和改变;种工作方式,可有程序设置和改变;所有的输入输出都与所有的输入输出都与 TTL 兼容。兼容。(2)结构结构数据总线数据总线缓冲器缓冲器读读/写写逻辑逻辑控制字控制字寄存器寄存器计数器计数器0号号计数器计数器1号号计数器计数器2号号初始化时,由初始化时,由CPU写入控制字以决定写入控制字以决定某通道的工作方式。某通道的工作方式。计数器计数器/定

4、时器通定时器通道。道。由由16位的位的可预置值可预置值的减法计的减法计数器构成。数器构成。8位双向三态。用于与位双向三态。用于与CPU交换信息。交换信息。初始化时,初始化时,CPU向其写入命令字等,向其写入命令字等,计数值;计数值;CPU读取计数值。读取计数值。接收来自系统总线接收来自系统总线的控制信号,以产的控制信号,以产生控制整个芯片工生控制整个芯片工作的控制信号作的控制信号管脚信号管脚信号D7D7D0 D0 数据总线(双向)数据总线(双向)RD RD 读输入读输入WR WR 写输入写输入A0,AA0,A1 1 选择内部寄存器地址选择内部寄存器地址CS CS 片选片选CLK 输入脉冲(计数

5、器即输入脉冲(计数器即 对此脉冲计数)对此脉冲计数)GATE GATE 门控信号输入(控制门控信号输入(控制 计数器工作的外部信计数器工作的外部信 号,为低时,禁止计号,为低时,禁止计 数器工作)数器工作)OUT 输出引脚(计数到输出引脚(计数到0 时,时,OUT上必有输出上必有输出,输出信号的波形由输出信号的波形由 工作方式决定)工作方式决定)端口选择端口选择控制字控制字 在在8253的初始化编程时,由的初始化编程时,由CPU向向8253的控制字寄存器的控制字寄存器 写入一个控制字,它规定了写入一个控制字,它规定了8253的工作方式。的工作方式。8253共有六种工作方式共有六种工作方式(1)

6、方式方式0 计数结束中断计数结束中断(2)方式方式1 可编程的单拍脉冲可编程的单拍脉冲(3)方式方式2 频率发生器频率发生器(4)方式方式3 方播频率发生器方播频率发生器(5)方式方式4 软件触发选通软件触发选通(6)方式方式5 硬件触发选通硬件触发选通 当控制字写入控制字寄存器时,即使当控制字写入控制字寄存器时,即使OUT输出端变低,在写入计数初值后,输出端变低,在写入计数初值后,计数器开始计数(此时计数器开始计数(此时GATE信号必须为高),计数结束后信号必须为高),计数结束后OUT输出端变高。输出端变高。特点:特点:1.计数器只计一遍。当计数到计数器只计一遍。当计数到 0 时,并不恢复计

7、数初值,不开始重新时,并不恢复计数初值,不开始重新 计数,且输出一直保持为高。只有在写入下一个计数值时,计数,且输出一直保持为高。只有在写入下一个计数值时,OUT 变低,开始新的计数。变低,开始新的计数。特点:特点:3.在计数过程中,可改变计数值。在写入新的计数之后,计数器按新在计数过程中,可改变计数值。在写入新的计数之后,计数器按新 的值重新开始计数。的值重新开始计数。特点:特点:2.在计数过程中,可由门控信号在计数过程中,可由门控信号GATE控制暂停。控制暂停。GATE=0,计数暂停,计数暂停,GATE变高后,接着计数。变高后,接着计数。特点:特点:4.8253内部没有中断控制电路,也没有

8、专用的中断请求引线,因此,内部没有中断控制电路,也没有专用的中断请求引线,因此,若要用于中断,则可用若要用于中断,则可用OUT 信号作为中断请求信号,但需要有外接信号作为中断请求信号,但需要有外接 的中断优先权排队电路与中断向量产生电路。的中断优先权排队电路与中断向量产生电路。在在PC机中,用机中,用 8259A 作中断优先权排队电路与中断向量产生电路。作中断优先权排队电路与中断向量产生电路。Watchdog timer的概念的概念 当控制字写入控制字寄存器后,当控制字写入控制字寄存器后,OUT输出保持为高,当输出保持为高,当CPU写完计数值后,写完计数值后,计数器并不开始计数,直到计数器并不

9、开始计数,直到 GATE 信号启动之后的下一个输入信号启动之后的下一个输入CLK脉冲的下降沿脉冲的下降沿开始计数),开始计数),OUT输出端变低。在整个计数过程中,输出端变低。在整个计数过程中,OUT 都维持为低,直到计数都维持为低,直到计数为为 0 时,输出变为高,输出一个单脉冲。时,输出变为高,输出一个单脉冲。特点:特点:1.若设置的计数值为若设置的计数值为N,则输出的单脉冲宽度即为,则输出的单脉冲宽度即为N个输入脉冲间隔。个输入脉冲间隔。2.当计数到当计数到 0 后,可再次由外部触发启动,输出一个同样宽度的后,可再次由外部触发启动,输出一个同样宽度的 单拍脉冲,而不用再次送计数值。单拍脉

10、冲,而不用再次送计数值。特点:特点:3.在计数过程中,外部可发门控信号进行再触发,在触发脉冲上升沿在计数过程中,外部可发门控信号进行再触发,在触发脉冲上升沿 后的下一个后的下一个CLK脉冲的下降沿,计数器将重新开始工作。脉冲的下降沿,计数器将重新开始工作。特点:特点:4.在计数过程中,在计数过程中,CPU可改变计数初值,这时计数过程不受影响,计可改变计数初值,这时计数过程不受影响,计 数到数到 0 后输出为高。若再次触发启动,则计数器将按新的计数值计数。后输出为高。若再次触发启动,则计数器将按新的计数值计数。所以改变计数值是下次有效的。所以改变计数值是下次有效的。当控制字写入控制字寄存器后,当

11、控制字写入控制字寄存器后,OUT输出为高。在写入计数值后,计数输出为高。在写入计数值后,计数器将立即自动对输入脉冲器将立即自动对输入脉冲 CLK 计数。在计数过程中,计数。在计数过程中,OUT一直保持为高,一直保持为高,直到计数器减到直到计数器减到 1 时,时,OUT变低,经过一个变低,经过一个CLK后,后,OUT恢复为高,计数器恢复为高,计数器重新开始工作。重新开始工作。特点:特点:1.不用重新设置计数值,计数器能够连续工作,输出固定频率的脉冲。不用重新设置计数值,计数器能够连续工作,输出固定频率的脉冲。特点:特点:2.计数过程可由门控信号计数过程可由门控信号GATE控制。当控制。当GATE

12、变低时,暂停计数;在变低时,暂停计数;在 GATE变高后的下一个变高后的下一个CLK脉冲使计数器恢复初值,重新开始计数。脉冲使计数器恢复初值,重新开始计数。特点:特点:3.在计数过程中可以改变计数值,这对正在进行的计数过程没有影响,在计数过程中可以改变计数值,这对正在进行的计数过程没有影响,但在计数到但在计数到 1 输出变低后,下一个计数周期,计数器将按新的计数输出变低后,下一个计数周期,计数器将按新的计数 值计数。所以改变计数值是下次有效的。值计数。所以改变计数值是下次有效的。同频率发生器,区别在于,方波频率发生器在计数过程中输出一半时间为同频率发生器,区别在于,方波频率发生器在计数过程中输

13、出一半时间为高,一半时间为低。即其输出是高,一半时间为低。即其输出是N(N为计数值)个为计数值)个CLK脉冲的方波。脉冲的方波。特点:特点:1.若计数值为偶数,在装入计数值后,每个若计数值为偶数,在装入计数值后,每个CLK脉冲使计数值减脉冲使计数值减2,当计数,当计数 到到 0 时,一方面输出改变状态,一方面重新装入计数值开始新的计数。时,一方面输出改变状态,一方面重新装入计数值开始新的计数。若计数值为奇数,装入计数值后,第一个若计数值为奇数,装入计数值后,第一个CLK脉冲使计数器减脉冲使计数器减1,以后每,以后每 个个CLK使计数器减使计数器减2。所以,若计数值所以,若计数值N为奇数,则(为

14、奇数,则(N+1)/2个个CLK脉冲为高电平,(脉冲为高电平,(N-1)/2 个个CLK脉冲为低电平。脉冲为低电平。特点:特点:2.GATE信号能使计数过程重新开始。信号能使计数过程重新开始。GATE=0,计数停止,当,计数停止,当GATE=1后,后,计数器将重新装入计数初值,重新开始计数。计数器将重新装入计数初值,重新开始计数。特点:特点:3.若在计数期间写入新的计数值,并不影响现行计数过程。但若此时收到若在计数期间写入新的计数值,并不影响现行计数过程。但若此时收到 GATE信号,则计数器将在下一个信号,则计数器将在下一个CLK脉冲时装入新的计数值并开始计数。脉冲时装入新的计数值并开始计数。

15、在这种方式下,当写入控制字后,输出为高,当写入计数值后立即开始计数。在这种方式下,当写入控制字后,输出为高,当写入计数值后立即开始计数。计数到计数到 0 后,输出变低,经过一个后,输出变低,经过一个CLK周期,输出又变高,计数器停止计数。这周期,输出又变高,计数器停止计数。这种计数方式是一次性的,当输入新的计数值后,才能开始新的计数。种计数方式是一次性的,当输入新的计数值后,才能开始新的计数。特点:特点:1.CPU写入计数值的下一个写入计数值的下一个CLK脉冲,将计数值装入计数器,再下一个脉冲,将计数值装入计数器,再下一个 CLK脉冲开始计数,即在装入计数值后的第脉冲开始计数,即在装入计数值后

16、的第 N+1 个脉冲后,才输出一个个脉冲后,才输出一个 负脉冲。负脉冲。特点:特点:3.若在计数期间写入新的计数值,则按新的计数值重新开始计数。若在计数期间写入新的计数值,则按新的计数值重新开始计数。特点:特点:2.GATE=0,禁止计数,禁止计数,GATE=1,允许计数。因此要做到软件触发,允许计数。因此要做到软件触发,GATE必须保持为高。但必须保持为高。但GATE不影响输出。不影响输出。在这种方式下,当写入控制字后,输出为高,当写入计数值后,计数器并不在这种方式下,当写入控制字后,输出为高,当写入计数值后,计数器并不立即开始计数,而是由门控信号的上升沿触发启动。计数到立即开始计数,而是由

17、门控信号的上升沿触发启动。计数到 0 后,输出变低,经后,输出变低,经过一个过一个CLK周期,输出又变高,计数器停止计数。等到下一次门控信号的触发才周期,输出又变高,计数器停止计数。等到下一次门控信号的触发才能开始新的计数。能开始新的计数。特点:特点:1.CPU写入计数值的下一个写入计数值的下一个CLK脉冲,将计数值装入计数器,再下一个脉冲,将计数值装入计数器,再下一个 CLK脉冲开始计数,即在装入计数值后的第脉冲开始计数,即在装入计数值后的第 N+1 个脉冲后,才输出一个个脉冲后,才输出一个 负脉冲。负脉冲。特点:特点:2.若在计数过程中使用若在计数过程中使用GATE信号,则使计数器重新开始

18、计数。但信号,则使计数器重新开始计数。但GATE不不 影响输出。影响输出。特点:特点:3.若在计数期间改变计数值,只要没有门控信号的触发,不影响计数过程,若在计数期间改变计数值,只要没有门控信号的触发,不影响计数过程,计数到计数到0后,若有门控信号触发,则按新的计数值开始计数;若未计数到后,若有门控信号触发,则按新的计数值开始计数;若未计数到 0,即有门控信号触发,则立即按新的计数值重新开始计数。,即有门控信号触发,则立即按新的计数值重新开始计数。要使用要使用 8253 必须首先对其进行初始化编程。初始化编程的步骤是:必须首先对其进行初始化编程。初始化编程的步骤是:(1)写入通道控制字,规定通

19、道的工作方式;写入通道控制字,规定通道的工作方式;(2)写入计数值写入计数值 若规定只写低若规定只写低8位,则写入的为计数值的低位,则写入的为计数值的低8位,高位,高8位自动置位自动置0;若规定只写高若规定只写高8位,则写入的为计数值的高位,则写入的为计数值的高8位,低位,低8位自动置位自动置0;若是若是16位计数值,则分两次写入,先写入低位计数值,则分两次写入,先写入低8位,在写入高位,在写入高8位。位。(1)初始化编程:使用通道初始化编程:使用通道0,工作在方式,工作在方式 1 下,按二下,按二十进制计数,计数值为十进制计数,计数值为5080。0 0 1 1 0 0 1 1 通道通道0 先

20、写低先写低8位位 方式方式1 BCD计数计数 再写高再写高8位位 通道控制字通道控制字 计数值的低计数值的低8位为位为80,高,高8位为位为50。MOV AL,33H OUT 07H,AL MOV AL,80 OUT 04H,AL MOV AL,50 OUT 04H,AL ;假设假设8253的地址为的地址为 04H 07H ;0 0 0 0,0 1 0 0 0 0 0 0,0 1 1 1 CPU 读取计数器的计数值。读取计数器的计数值。因为计数值在不断地变化,故读取计数值时,必须将当前计数值因为计数值在不断地变化,故读取计数值时,必须将当前计数值锁存。锁存。通常的做法是:向通常的做法是:向82

21、53送一个控制字,令通道中的锁存器将计数值锁送一个控制字,令通道中的锁存器将计数值锁存,存,然后由然后由CPU读取。读取。例:读取通道例:读取通道1 中的计数值。中的计数值。通道控制字通道控制字 MOV AL,40H OUT 07H,AL IN AL,05H MOV CL,AL IN AL,05H MOV CH,AL 0 1 0 0 0 0 0 0通道通道1 计数器锁存计数器锁存 PCMHZ,即时钟信号发生器即时钟信号发生器8284A的的PCLK外围设备用时钟信号。外围设备用时钟信号。1.1931816 MHZIRQ0到8259 计数器计数器0工作在方式工作在方式3(方波频率发生器)下,在系统

22、运行期间:(方波频率发生器)下,在系统运行期间:GATE恒接于恒接于+5V,处于开启状态,当装入一个初值后,即开始计数。,处于开启状态,当装入一个初值后,即开始计数。计数初值为计数初值为 0(65536),输出的方波频率为),输出的方波频率为 18.2 HZ。输出输出OUT0 接于接于 8259 的中断请求线的中断请求线 IRQ0 上,这样便每隔上,这样便每隔 1/18.2=55ms 产产 生一次生一次 0 级中断,级中断,当当 0 级中断发生时,系统便进入级中断发生时,系统便进入 BIOS 日时钟中断子程序,产生日时钟计数日时钟中断子程序,产生日时钟计数;此外,还作为软盘驱动器的马达开启时间

23、管理,当开启一定的时间后,令其自此外,还作为软盘驱动器的马达开启时间管理,当开启一定的时间后,令其自 动关闭。动关闭。方式方式31.1931816 MHZ06553618.2 HZ计数器计数器1工作在方式工作在方式 2(频率发生器方式)下,在系统运行期间:(频率发生器方式)下,在系统运行期间:GATE恒接恒接+5V,处于常启状态;,处于常启状态;OUT1 接接 DMA控制器控制器 8237 的的 0 通道通道 DREQ0,计数初值定为计数初值定为 18,输出频率,输出频率=1.1931816 MHZ/18=66.287 KHZ 的一系列负脉冲,的一系列负脉冲,即:即:每隔每隔 1/66.287

24、=15.0857 s 向向DMA控制器提出控制器提出DMA请求,由请求,由DMA控制控制 器的器的 0 通道完成对动态存储器的刷新。通道完成对动态存储器的刷新。用于定时的向用于定时的向DMA控制器提出请求,以对动态存储器刷新。控制器提出请求,以对动态存储器刷新。方式方式21.1931816 MHZ计数器计数器3工作在方式工作在方式3(方波频率发生器方式)下,在系统运行期间:(方波频率发生器方式)下,在系统运行期间:预置初值为预置初值为 533H,GATE2 信号受系统并行接口芯片信号受系统并行接口芯片8255 PB0 的控制;的控制;OUT2 受系统并行接口芯片受系统并行接口芯片8255 PB

25、1 的控制。的控制。用于提供系统喇叭发声的音调。用于提供系统喇叭发声的音调。8255 PB 口口 7 6 5 4 3 2 1 0 8253计数器计数器2CLKGATE喇叭驱喇叭驱动电路动电路喇叭喇叭PCLK1.1931816MHZ INT 1AH 读当前时钟;设置当前时钟。读当前时钟;设置当前时钟。INT 1CH 在时钟中断处理程序(在时钟中断处理程序(INT 8)中有一条软中断指令)中有一条软中断指令 INT 1CH INT 1CH 的处理程序只是一条返回指令(的处理程序只是一条返回指令(IRET指令),用户可在此指令),用户可在此 程序中加入程序中加入自己自己的程序,当发生时钟中断时则可执

26、行此程序,以实现的程序,当发生时钟中断时则可执行此程序,以实现 时实控制。时实控制。INT 21H 的的 AH=2AH 设置日期设置日期 2BH 读日期读日期 2CH 设置时间设置时间 2DH 读时间读时间 1.编写时钟中断处理程序编写时钟中断处理程序日时钟日时钟CLK0CLK1CLK2OUT0IRQ0INTINTRINTAINTAS2 S1 S0D70类型码类型码0000591F0000000020000231F59:0000中中断断向向量量表表中中断断服服务务程程序序要求要求 8253 每隔每隔 10ms 发一次定时中断。发一次定时中断。计数初值计数初值=PCLK/计数器输出频率计数器输出

27、频率 =PCLK*计数器输出周期计数器输出周期 =1.1931816*106*(*10*10-3)=11932 方式方式31.1931816 MHZ01193240H 计数器计数器141H 计数器计数器242H 计数器计数器343H 控制寄存器控制寄存器Stack segment para stack stack db 256 dup(?)Stack endsData segment public dataCount100 db 100 ;100计数器计数器Tenhour db 0 ;时的十位数时的十位数 Hour db 0 ;时的个位数时的个位数 db:Tenmin db 0 ;分的十位数分

28、的十位数 Minute db 0 ;分的个位数分的个位数 db :Tensec db 0 ;秒的十位数秒的十位数 Second db 0 ;秒的个位数秒的个位数 Data ends Code segment para public codeStart proc far assume cs:code,da:data,es:data,ss:stackBegin:push ds xor ax,ax push ax mov ax,data mov ds,ax mov es,ax mov si,82h ;PSP中命令行参数中命令行参数hh:mm:ss存放地址存放地址 mov di,offset tenh

29、our ;数据段中存放时间的首地址数据段中存放时间的首地址 mov cx,8 cld rep movsb ;将将8个字串从个字串从PSP中移到数据段中存放时间的单元中中移到数据段中存放时间的单元中 mov ah,0 ;键盘功能调用键盘功能调用等待按键等待按键 int 16h cli ;关中断关中断 mov ax,0 mov es,ax mov di,20h mov ax,offset timer stosw mov ax,seg timer stosw ;将中断服务程序入口地址存入中断向量表将中断服务程序入口地址存入中断向量表 mov al,36h ;设设8253 控制字控制字选计数器选计数器

30、0,双字节写,方式,双字节写,方式2,二进制,二进制 out 43h,al mov bx,11932 ;送计数值送计数值 mov al,bl out 40h,al mov al,bh out 40h,al mov al,fch ;设设8259 屏蔽寄存器屏蔽寄存器允许时钟和键盘中断允许时钟和键盘中断 out 21h,al sti ;开中断开中断 Forever:mov bx,offset tenhour ;取取 hh:mm:ss 8个字串进行显示个字串进行显示 mov cx,8 Dispclk:mov al,bx call dispchar inc bx loop dispclk mov al

31、,second ;取秒数取秒数 Wait:cmp al,second jz wait ;等待变化等待变化 jmp forver ;变了则重新显示变了则重新显示Timer proc far push ax dec count100 ;计数值减计数值减1,jnz timerx ;不到不到 0,返回,返回 inc second ;到到0,秒加,秒加1 cmp second,9 ;处理秒处理秒 jle timerx mov second,0 inc tensec cmp tensec,6 jl timerx mov tensec,0 inc minute ;处理分处理分 cmp minute,9 jl

32、e timerx mov minute,0 inc tenmin cmp tenmin,6 jl timerx mov tenmin,0 inc hour ;处理时处理时 cmp hour,4 jl timerx mov hour,0 inc tenhour cmp tenhour,2 jl timerx mov tenhour,0Timerx:mov al,20h ;对对8259发发EOI命令命令 out 20h,al pop ax iret Timer endp Dispchar proc near ;显示显示 push bx mov bx,0 mov ah,14h ;用显示器功能调用用显

33、示器功能调用 int 10h pop bx retDispchar endpStart endpCode ends end begin2.扬声器控制扬声器控制设计一个程序,使扬声器发出设计一个程序,使扬声器发出600Hz频率的声音,按下频率的声音,按下任意键声音停止任意键声音停止PC机的发声系统以计数器机的发声系统以计数器2为核心。为核心。CLK2的输入频率的输入频率MHz,改变计数器初值可以由改变计数器初值可以由OUT2得到不同频率的方波得到不同频率的方波输出对于输出对于600Hz,MHz/600Hz=1938发声系统受发声系统受8255芯片芯片B口的两个输出端线口的两个输出端线PB0、PB

34、1的控的控制制PB0为为1,使,使GATE2为为1,计数器,计数器2能正常计数能正常计数PB1为为1,打开输出控制门,打开输出控制门2.扬声器控制扬声器控制CODE SEGMENT ASSUME CS:CODESTART:MOV AL 0B6H OUT 43H,AL:IN AL,61H OR AL,03H OUT 61H,AL MOVAX,1983 OUT42H,AL MOVAL,AH OUT 42,AL 8255 PB 口口61H 7 6 5 4 3 2 1 0 8253计数器计数器2CLKGATE喇叭驱喇叭驱动电路动电路喇叭喇叭PCLK1.1931816MHZ MOVAH,01H INT

35、21H IN Al,61H AND AL,0FCH OUT 61H,AL MOVAH,4CH INT 21HCODE ENDS END START3.PC机机8253的应用的应用-程序运行时间计算程序运行时间计算方法方法1:时钟中断处理程序(:时钟中断处理程序(INT 8)通过)通过8235的计的计数器数器0,工作方式,工作方式3,预置的数为,预置的数为0000H,故故OUTMHzHz的方波提供给的方波提供给8259 int0,每每55ms产生一产生一次中断,在时钟中断处理程序(次中断,在时钟中断处理程序(INT 8)中有一条软)中有一条软中断指令中断指令 INT 1CH,INT 1CH 的处

36、的处理程序只有一条返回指令(理程序只有一条返回指令(IRET指令),用户可在指令),用户可在此此 程序中加入自己的程序(或修改中断向量使其指程序中加入自己的程序(或修改中断向量使其指向用户自己的程序),例如设置计数器,向用户自己的程序),例如设置计数器,当发生时当发生时钟中断时则可执行此程序,则可以判断程序运行的钟中断时则可执行此程序,则可以判断程序运行的时间。时间。使用前提:计数是以使用前提:计数是以55ms为单位,为单位,故程序运行的时故程序运行的时间应该至少大于间应该至少大于55ms 方法方法2:若程序运行时间小于:若程序运行时间小于55ms,可以直接读取可以直接读取8253计算器计算器0的计数值,的计数值,步骤是步骤是1.先发计数锁存命令,先发计数锁存命令,OL的值的值(程序运行前程序运行前)3.再次读再次读OL的值的值(程序运行后程序运行后)问题:问题:如果想设计一个完善的程序运行计时方案(任意时如果想设计一个完善的程序运行计时方案(任意时长),长),可以考虑何种方法?可以考虑何种方法?

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!