11-3-8253讲稿
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
车辆与动力工程系
初始化编程的顺序是:对某一指定计数器通道。先 写入控制字,再写入计数初值。写计数初值时,必 须按控制字的读/写格式指示位RW1、RW0规定的 格式进行。
要注意的是:无论哪个计数通道的控制字都必须写
入同一个端口(A1A0=11对应的端口),即控制 端口,而计数初值则要写入指定计数通道对应的端 口(A1A0=00、01或10对应的端口)。
车辆与动力工程系
(2) 读出命令
1) 读之前先停止计数
这种方法在读之前,先用GATE信号停止计数器工作,然后 用IN指令读取计数值。具体读取格式取决于控制字的D5D4 位。若D5D4=11,则同一端口地址要读两次,先读出的是 低字节,后读出的是高字节;D5D4=10时,则只读一次。 读出的是高位字节;D5D4=01,只读一次,读出的是低位 字节。
车辆与动力工程系
8253进行初始化编程举例
首先设在8086系统中,8253的控制口地址为 36H,三个计数通道的端口地址为30H、32H和34H。 【例1】假定8253的计数器2工作在方式0,按二进制 计数,计数初值为4,它的初始化程序段如下: MOV OUT MOV OUT AL,90H 36H,AL AL, 4 34H,AL ;设置控制字 ;写入计数器2的控制单元CU ;设置计数初值 ;初值写入计数器2的CR
8253定时器/计数器 第三课时
讲授:赵冬青
车辆与动力工程系
8253定时器/计数器的控制字 1.8253的初始化编程 要使用8253,必须首先进行初始化编程,初始化 编程包括设置通道控制字和送通道计数初值两个方 面,控制字写入8253的控制字寄存器,而初始值则 写入相应通道的计数寄存器中。
初始化编程包括如下步骤:
车辆与动力工程系
六、8253在系统中的典型连接
车辆与动力工程系
ห้องสมุดไป่ตู้
车辆与动力工程系
【例6】假设8253的计数器1工作在方式5,按二进制 计数,计数初值为4。进行初始化编程。 【例7】假设8253的计数器1工作在方式3,按二进制 计数,计数初值为7265H,进行初始化编程。
【例8】假设8253的计数器2工作在方式2,按BCD码 计数,计数初值为2000,进行初始化编程。
车辆与动力工程系
【例2】设定计数器2工作于方式1,计数初值为 3,按二进制计数,进行初始化编程。 【例3】设定计数器1工作在方式2,按二进制计 数,计数初值为4,进行初始化编程。
【例4】假设8253计数器0工作在方式3,按二 进制计数,计数初值为4,进行初始化编程。 【例5】假设8253的计数器2工作于方式4,按 二进制计数,计数初值为4。进行初始化编程。
车辆与动力工程系
下列情况需要对8253编程:
(1) 工作之前写入控制字,以确定待使用的计数器通道的工 作方式,读/写格式和计数值格式。
(2) 工作之前写入待使用的计数器通道的计数初值;
(3) 工作过程中改变某计数通道的计数初值;
(4) 工作过程中写入锁存命令字,以便以输入指令读出某一 时刻某一通道的当前计数值。 前两项叫初始化编程,后两项为工作编程。
【例9】设计数器0、1、2和控制口的端口地址分别 为EOH、E1H、E2H和E3H,并假定现在要读取计数 器2的计数值,进行初始化编程。 车辆与动力工程系
读取8253通道中的计数值
8253可用控制命令来读取相应通道的计 数值,由于计数值是16位的,而读取的瞬时 值,要分两次读取,所以在读取计数值之前, 要用锁存命令,将相应通道的计数值锁存在 锁存器中,然后分两次读入,先读低字节, 后读高字节。 当控制字中,D5、D4=00时,控制字 的作用是将相应通道的计数值锁存的命令, 锁存计数值在读取完成之后,自动解锁。
车辆与动力工程系
(2) 读出命令
2) 读之前先送计数锁存命令 这种方法是在计数过程中读,也称“飞读”,读操作并不影 响当时正在进行的计数。具体分两部分进行:首先,用OUT 指令写入锁存命令字到控制端口,即令控制字的D5D4=00, 其他位按要求设定。这样就将计数器当前计数值锁存到某计 数通道的输出锁存器中。然后用IN指令读取被锁存的值,读 取格式取决于控制字的D5D4位的设置,具体情况同上。 因此3个计数器的锁存命令如下: 计数器0:00000000B,00H 计数器1:01000000B,40H 计数器2:10000000B,80H
(1) 写入通道控制字,规定通道的工作方式
(2) 写入计数值,若规定只写低8位,则高8位自动置 0,若规定只写高8位,则低8位自动置0。若为16 位计数值则分两次写入,先写低8位,后写高8位。
车辆与动力工程系
车辆与动力工程系
(1)写入命令
8253有3 个写入命令:设置控制字命令、对输出锁存器锁 存的锁存命令和设置计数初值命令。 设置控制字用来选择计数通道,写入计数初值的规则,设定 工作方式和计数值格式。 设置计数初值命令用来将8位或16位计数初值写入计数初值 寄存器CR中,是8位还是16位计数初值,由具体的实际问题 决定。如果计数初值为16位,则要用两条输出指令完成初值 设置,即先写低字节,再写高字节。 锁存器命令是与读出命令一起使用的。在读某计数通道的当 前计数值之前,必须先用锁存命令将该计数通道的当前计数 值在输出锁存器中锁定,以保证在读出时,输出锁存器中的 计数值不随计数单元的计数值变化。这样就能读到一个确定 的稳定的计数值。