汇编语言 8253_第1页
汇编语言 8253_第2页
汇编语言 8253_第3页
汇编语言 8253_第4页
汇编语言 8253_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、 计数器和定时器电路计数器和定时器电路82538253基本概念基本概念计数器计数器/定时器定时器 8253的初始化的初始化时钟程序时钟程序音乐程序音乐程序 基本概念基本概念一一. 定时与计数定时与计数二二. 微机中的定时方法微机中的定时方法 1. 软件定时软件定时-延时程序延时程序 2. 硬件定时硬件定时 定时器在时钟信号作用下,进行定时的减定时器在时钟信号作用下,进行定时的减“1”1”计数,定时时间到(减计数,定时时间到(减“1”1”计数回零),计数回零),从输出端输出从输出端输出周期均匀、周期均匀、 频率恒定频率恒定的脉冲信的脉冲信号号 由上述可知,定时器强调的是精确的时间。由上述可知,定

2、时器强调的是精确的时间。 例例: :软件延时的例子软件延时的例子: :编写一个软件延时程序编写一个软件延时程序, ,要求定时要求定时20ms.20ms.假设假设:8086:8086的的时钟时钟=8MHz, =8MHz, 一个时钟周期一个时钟周期T=1/8MHz=0.125usT=1/8MHz=0.125us延时延时20ms,20ms,执行执行PUSHF,POPFPUSHF,POPF指令指令需要循环次数需要循环次数=20000/(12+14)=20000/(12+14)* *0.125=153840.125=15384注:注:PUSHFPUSHF时钟数时钟数:14T:14T POPF POPF时

3、钟数时钟数:12T:12T (MOV CX,15384: (MOV CX,15384: 时钟数时钟数:4T):4T)延时程序段:延时程序段: MOV CX,15384MOV CX,15384 LP: PUSHF LP: PUSHF POPF POPF LOOP LP LOOP LP 可编程计数器可编程计数器/定时器定时器8253PIT(Programmable Interval Timer)82538253的主要功能的主要功能1 1、一个芯片上有三个独立的、一个芯片上有三个独立的1616位计数器通道位计数器通道2 2、每个计数器的内部结构相同,可通过编程每个计数器的内部结构相同,可通过编程手段

4、设置为手段设置为6 6种不同的工作方式来进行定时种不同的工作方式来进行定时/ /计数计数3 3、每个计数器在工作过程中的当前计数值可、每个计数器在工作过程中的当前计数值可被被CPUCPU读出读出外部特性外部特性 8253内部编程结构内部编程结构1、计数器、计数器/定时器定时器8253特点:特点: 三个通道,可单独使用三个通道,可单独使用2、片内寻址、片内寻址 A1 A0= 00、01、10、11 对应:通道对应:通道0、1、2和控制口地址和控制口地址3、工作方式:、工作方式:6种种8253的内部结构的内部结构1、数据总线缓冲器、数据总线缓冲器往计数器设置计数初值;往计数器设置计数初值;从计数器

5、读取计数值;从计数器读取计数值;往控制寄存器设置控制字。往控制寄存器设置控制字。2、读、读/写逻辑电路写逻辑电路 A1 A0:端口选择:端口选择 0 0:通道:通道0(0号计数器)号计数器) 0 1:通道:通道1(1号计数器)号计数器) 1 0:通道:通道2(2号计数器)号计数器) 1 1:控制字寄存器:控制字寄存器3、控制命令寄存器、控制命令寄存器(8位位)4、计数器、计数器: 三个独立通道三个独立通道:计数器计数器0, 计数器计数器1, 计数器计数器2 每个通道包含每个通道包含: 计数初值寄存器计数初值寄存器(16位位) 减一寄存器减一寄存器(16位位) 当前计数初值锁存器当前计数初值锁存

6、器(16位位)8253工作原理工作原理 数据线数据线D7D0,读读RD,写写WR, 片选片选CS,地址线地址线A0,A18253GATE0 OUT0 CLK05V8088CPU1KHzD078253工作原理图工作原理图译码译码地址地址M/IOCSWRRDA0A1A0A1WRRD8253工作原理工作原理1616位当前计数值锁存器位当前计数值锁存器1616位减一计数器位减一计数器1616位计数初值寄存器位计数初值寄存器&CLKGATEOUTOUT(减减1至至0时时)装入装入/ /读出初值读出初值读出当前值读出当前值8253 8253 的内部的各计数器的结构的内部的各计数器的结构8253初始化方法:

7、初始化方法:1、设置控制字、设置控制字 控制字格式控制字格式 SC1 SC0 RW1 RW0 M2 M1 M0 BCD1-计数值为计数值为BCD码格式码格式0-计数值为二进制格式计数值为二进制格式M2 M1 M0 模式选择模式选择 0 0 0 模式模式0 0 0 1 模式模式1 / 1 0 模式模式2 / 1 1 模式模式3 1 0 0 模式模式4 1 0 1 模式模式50 0-对计数器进行锁存对计数器进行锁存0 1-只读只读/写低写低8位字节位字节 1 0-只读只读/写高写高8位字节位字节1 1-先写低先写低8位字节位字节, 再写高再写高8位字节位字节.0 0-选计数器选计数器00 1-选计

8、数器选计数器11 0-选计数器选计数器21 1-无意义无意义2 2、计数初值、计数初值计数初值计数初值n n = =时钟频率时钟频率fc/fc/输出频率输出频率f foutout = =定时时间定时时间T Toutout/ /时钟脉冲周期时钟脉冲周期TcTc 82538253初始化的工作有两个内容:初始化的工作有两个内容:(1 1)一是向命令寄存器写入方式命令,以选择计)一是向命令寄存器写入方式命令,以选择计数器(数器(3 3个计数器之一),确定工作方式(个计数器之一),确定工作方式(6 6种种方式之一),指定计数器计数初值的长度和装方式之一),指定计数器计数初值的长度和装入顺序以及计数值的码

9、制(入顺序以及计数值的码制(BCDBCD或二进制码)。或二进制码)。(2 2)二是向已选定的计数器按方式命令的要求写)二是向已选定的计数器按方式命令的要求写入计数初值。入计数初值。例例:使使2号定时器号定时器,工作在方式工作在方式3,计数初值计数初值=533h,二进制计数二进制计数,试写出试写出8253初始化程序段。初始化程序段。 8253端口地址端口地址:40H,41H,42H,43HMOV AL,10000110B ;2号定时器号定时器,方式方式3OUT 43H,ALMOV AX,0533H OUT 42H,AL ; 2号数据口号数据口 MOV AL,AHOUT 42H,AL 三三. 82

10、53的工作模式的工作模式 1.方式方式0计数结束产生中断计数结束产生中断 一次定时或计数一次定时或计数,重写初值重写初值,启动新一轮的计数启动新一轮的计数 2方式方式1可编程的单脉冲可编程的单脉冲(单稳单稳)触发器触发器 GATE边沿触发边沿触发,启动新一轮计数启动新一轮计数 3方式方式2分频器分频器(速度波发生器速度波发生器) 具有计数具有计数初值重装初值重装能力能力 4方式方式3方波发生器方波发生器 具有计数具有计数初值重装初值重装能力能力 5方式方式4软件触发的选通信号发生器软件触发的选通信号发生器 一次定时一次定时,重写初值重写初值,启动新一轮的计数启动新一轮的计数 6方式方式5硬件触

11、发的选通信号发生器硬件触发的选通信号发生器 GATE边沿触发新一轮计数边沿触发新一轮计数1.方式方式0计数结束产生中断计数结束产生中断(一次定时或计数一次定时或计数,重写初值重写初值,启动新一轮的计数启动新一轮的计数)例例3:使使1号定时器号定时器,工作在方式工作在方式0,计数初值计数初值=0FF5h,二二进制计数进制计数.试写出试写出8253初始化程序段初始化程序段. 8253端口地址端口地址:40H,41H,42H,43H MOV AL,01000000B ;1号定时器号定时器,方方00 OUT 43H,AL MOV AX,0FF5H OUT 41H,AL ; 1号数据口号数据口 MOV

12、AL,AH OUT 41H,AL高2. 单脉冲触发器单脉冲触发器(GATE边沿触发边沿触发,启动新一轮计数启动新一轮计数)3. 分频器分频器(具有计数具有计数初值重装初值重装能力能力)4. 方波发生器方波发生器(具有计数具有计数初值重装初值重装能力能力) 例例4:使使0号定时器号定时器,工作在方式工作在方式3,计数初值计数初值N=1000,二二进制计数进制计数.试写出试写出8253初始化程序段初始化程序段. 8253端口地址端口地址:40H,41H,42H,43H MOV AL,10000110B ;2号定时器号定时器,方式方式3 OUT 43H,AL MOV AX,1000 OUT 40H,

13、AL ; 0号数据口号数据口 MOV AL,AH OUT 40H,AL4. 软件触发的选通信号发生器软件触发的选通信号发生器5. 硬件触发的选通信号发生器硬件触发的选通信号发生器8253初始化方法初始化方法: 控制字控制字 计数初值计数初值: 已知已知:CLK 的频率的频率fc与定时的时间与定时的时间t. 计数初值计数初值: n= fc t 例例1:设:设8253: fc=1MHZ,最大计数初值:,最大计数初值: N= 65536 一个定时器最大定时时间:一个定时器最大定时时间: Tmax = N/fc=65536/ 106 =0.065536s5-3 8253应用举例应用举例例例5:设定时器

14、设定时器0、定时器、定时器1工作于方式工作于方式2,外部提供,外部提供一个时钟一个时钟,频率频率f=2MHZ。要求定时器。要求定时器1每每5ms产生产生一个脉冲,定时器一个脉冲,定时器0每每5s产生一个脉冲。产生一个脉冲。1). 一个定时器的最大定时时间:一个定时器的最大定时时间: 65536/(2*106)=0.032768 s=32.768ms2). 将定时器将定时器1的的CLK1接接2MHZ时钟,计数初值:时钟,计数初值:3).将定时器将定时器1的的OUT1端接到定时器端接到定时器0的的CLK0端端,定时定时器器0的计数初值的计数初值:10005200520010510030sfnHZmsf1000010256111msftn思考题:思考题: l. 微机中实现定时控制的主要方法是什么?微机中实现定时控制的主要方法是什么? 2. 8088CPU最小模式最小模式,8253端口端口I/O地址依次为地址依次为0F8H0FBH, 试设计试设计8088与与8253的接口线路的接口线路. 3. 8253每个通道有每个通道有_ 种工作方式可供选择。若设定种工作方式可供选

温馨提示

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

评论

0/150

提交评论