- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
假设在一个8086的系统中,使用 的系统中, 控制一个LED的点亮或熄灭. 的点亮或熄灭. 例8-3 假设在一个 的系统中 使用8253控制一个 控制一个 的点亮或熄灭 8253各端口地址分别为 各端口地址分别为81H,83H,85H,87H,CLK端输入的时 各端口地址分别为 , , , , 端输入的时 钟信号频率为2MHz,LED点亮和熄灭的时间均为 . 要求设计 点亮和熄灭的时间均为10s. 钟信号频率为 , 点亮和熄灭的时间均为 硬件电路和驱动程序. 硬件电路和驱动程序. 分析: 分析: 可以用周期为20s的方波信号驱动 可以用周期为 的方波信号驱动LED 的方波信号驱动 20s需要 需要n=20/ 0.5s=4*107 需要 单一通道的计数初值最大为2 单一通道的计数初值最大为 16=65536,因此需要多个定时器通道进行 , 级连. 级连. 计数器0与计数器 级连 计数器 与计数器1级连: 与计数器 级连: 设计数器0的初值 设计数器 的初值=5000,则f0=2×106Hz/5000=400Hz; 工作于方式 的初值 , × 2 计数器1的初值 计数器 的初值=400Hz/0.05HZ=8000, 工作于方式 的初值 , 工作于方式3
二,计数功能的应用
设计一个自动计数系统( 提出中断申请). 例8-3:用8253设计一个自动计数系统(计数 : 设计一个自动计数系统 计数500向CPU提出中断申请). 向 提出中断申请 8253端口地址: F0H, F2H, F4H, F6H, 端口地址: 端口地址 , , , , 8253工作方式:计数器1工作于方式 ,按BCD计数,先读写 工作方式:计数器 工作于方式 工作于方式0, 计数, 工作方式 计数 低字节,后读写高字节. 低字节,后读写高字节.
;通道0初始化程序 通道 初始化程序 MOV DX,316H ;置方式 , 置方式 MOV AL, 00110111B , OUT DX,AL , MOV DX,310H ;置初值 , 置初值 MOV AL,00H , OUT DX,AL , MOV AL,05H , OUT DX,AL , ;通道1初始化程序 通道 初始化程序 MOV DX,316H ;置方式 , 置方式 MOV AL, 01110011B , OUT DX,AL , MOV DX,312H ;置初值 , 置初值 MOV AL,80H , OUT DX,AL , MOV AL,04H , OUT DX,AL ,
码制 00 11 通道 数据读写方式
;通道2初始化程序 通道 初始化程序 MOV DX,316H ;置方式 , 置方式 MOV AL, 10011011B , OUT DX,AL , MOV DX,314H ;置初值 , 置初值 MOV AL,26H , OUT DX,AL ,
011
1
工作方式
2. 控制 控制LED的点亮或熄灭 的点亮或熄灭
+5V M/IO A3~A9 A0
译 码 器
A1 A2
CS GATA0
GATA1
A0 A1
D8~D15 WR RD
CLK0 OUT0 CLK1
2MHz
WR RD OUT1 LED
8253
控制LED的点亮或熄灭 用8253控制 控制 的点亮或熄灭
;初始化程序
MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT AL,00110101B , 87H,AL , AL,00H , 81H,AL , AL,50H , 81H,AL , AL,01110111B , 87H,AL , AL,00H , 83H,AL , AL,80H , 83H,AL , 采用方式2 ;通道0采用方式 通道 采用方式 向控制口写通道0工作方式控制字 ;向控制口写通道 工作方式控制字 口写计数初值低字节 ;向通道0口写计数初值低字节 向通道 口写 口写计数初值 ;向通道0口写计数初值高字节 向通道 口写计数初值高 通道1采用方式 采用方式3 ;通道 采用方式 向控制口写通道1工作方式控制字 ;向控制口写通道 工作方式控制字 向通道1口写 口写计数初值低字节 ;向通道 口写计数初值低字节 口写计数初值 ;向通道1口写计数初值高字节 向通道 口写计数初值高
01 00
000 0
数据锁存命令 ;读通道1计数值程序 读通道 计数值程序 MOV AL, 01000000B , OUT 0F6H, AL , IN AL, 0F2H , MOV AH, AL , IN AL, 0F2H , XCHG AH, AL ,
�
+5V
+5V
+5V
D7-D0 OUT1 GATE1 WR RD CLK1 A1 A0 CS D7~D0 INTR WR RD A2 A1
译码器
发光 LED
工 件
M/ IO AB
;通道1初始化程序 通道 初始化程序 MOV AL, 01110001B , OUT 0F6H, AL , MOV AL, 99H , OUT 0F2H, AL , MOV AL, 04H , OUT 0F2H, 一,定时功能的应用
1. 用8253产生各种定时波形 产生各种定时波形 已知: 基地址为310H,3通道所用时钟脉冲频率为 例8-1已知:8253基地址为 基地址为 , 通道所用时钟脉冲频率为
1MHz(使用 使用8086CPU). 使用 . 要求: 要求: 输出频率为2KHz的方波; 的方波; (1)通道 输出频率为 )通道0输出频率为 的方波 产生宽度为480us的负脉冲; 的负脉冲; (2)通道 产生宽度为 )通道1产生宽度为 的负脉冲 以硬件方式触发, (3)通道 以硬件方式触发,输出单脉冲时间常数为 . )通道2以硬件方式触发 输出单脉冲时间常数为26. 分析:通道 工作于方式 工作于方式3,控制端GATE0接+5V, 分析:通道0工作于方式 ,控制端 , 时间常数N0=1MHz/2KHz=500; ; 时间常数 通道1工作于方式 ,由控制端GATE1的正跳变触发,单次触发, 的正跳变触发,单次触发, 通道 工作于方式1,由控制端 工作于方式 时间常数N1=480us/1us=480; ; 时间常数 通道2工作于方式 ,由控制端GATE2的正跳变触发,可连续触发, 的正跳变触发,可连续触发, 通道 工作于方式5,由控制端 工作于方式 时间常数N2=26. . 时间常数
当前计数值的读取 控制信号, (1)利用 )利用GATE控制信号, 控制信号 使计数器停止计数. 使计数器停止计数.故干扰了 计数过程,需要硬件电路配合. 计数过程,需要硬件电路配合. (2)利用计数器锁存命令 ) 锁存现行计数值, 锁存现行计数值,就可从相应 的计数器通道中读取计数值. 的计数器通道中读取计数值.