梦见从窗户出去啥意思:请教微机接口--可编程定时记事器8253-5 记数初值的求法

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 03:01:15
时钟频率 输出频率 输出周期 时间片长度
这4种跟 记数初值 有什么关的关系?
我只知道前两者
记数初值 = 时钟频率 / 输出频率
我想知道具体 时钟频率和后面这3者的具体关系,应哪个除于哪个,(时钟频率 和 输出频率我已经写出来)

我还有两天就要考试了 请各位老大动作快点
小弟谢谢了
1楼的 你在干什么?!
所答非所问!

8253-5的每个计数器(记数通道)的记数范围是1~65536

Intel8253主要有以下特点: (1) 8253具有3个独立的16位计数器; (2) 可按二进制或十进制(BCD)计数; (3) 可由程序设置6种不同的工作方式; (4) 计数时钟频率(CLK)为2MHz.

8253 可编程定时器/计数器
1、基本结构
• 定时器与计数器:本质一样
– 若计数信号为已知频率的信号,则通常用作T
– 若计数信号为未知频率的信号,则通常用作C
• 内部结构:P291
– 3个通道:各自独立的16位减法C/T
– 3根引线:
• GATEi:门控,高电平或上跳变有效
• CLKi:计数脉冲,可区分C或T
• OUTi:用于产生不同形式的输出波形
– 4个端口,与A0、A1对应:
• 3个数据端口:可读可写,保存通道计数值
• 1个控制端口:只写,保存3个通道的控制方式,其控制字CW格式参见P293
• 8253的工作方式:
– 方式0:计数结束时中断
• 写入CW时,OUT变低
• 写入计数初值后,开始计数
• 计数到0时,OUT变高
• 可利用OUT的由低到高的跳变发出中断请求
• 常用于T
– ·方式1:单脉冲发生器
• 写入CW时,OUT变高
• GATE跳变启动计数后,OUT变高
• 计数到0时,OUT再次变高
• 可发出固定宽度的单脉冲,其宽度对应计数初值
• 常用作产生其它通道的GATE
– 方式3:方波发生器
• 写入CW时,OUT变高
• 写入计数初值后,开始计数
• 计数前半周期,OUT输出为高
• 计数后半周期,OUT输出为低
• 计数到0时,自动重装计数初值,循环工作
• 可连续输出方波,其周期对应计数初值
• 常用于需要方波的场合,如扬声器驱动
• 注意:若写入计数初值为奇数,则方波稍有误差
– 其他方式:
• 参见教材P294
• 8253的工作原理:
– 初始化编程:写控制字、写计数初值
• 必须顺序写入两个部分后,通道才能工作
• 每个通道包括初值寄存器和计数器二部分,写入初值时仅写入到初值寄存器
• 必须等CLKi上来一个脉冲时,初值才被打入计数器,正式开始计数
• 对计数器:初值并不重要
• 对定时器:初值又称为时间常数TC,其大小由定时时间和外接CLK决定
– C/T的启动
• 软件启动:先有效GATE,再初始化。常用于T
• 硬件启动:先初始化,再有效GATE。常用于C
– 计数工作:
• 当外部CLKi每来一个脉冲,则通道内部计数值减1
• 当计数值减到为0时,OUTi输出状态发生变化,表示计数溢出
• 溢出后的OUT:既可用于产生不同输出波形,也可用于产生中断请求
– 读取现行计数值:
• 简单读取:容易出错
• 先停止再读取:影响通道工作
• 先锁存再读取:先发出锁存命令,将计数器的当前值打入锁存器,再读取通道数据
• 8253的典型应用:
– 用作定时器:
• 定时精度与输入CLK有关
• 定时长度与C/T位数有关
• 若通道宽度不够,可采用通道级连或多次中断等方法
– 用作计数器:
• 若频率较高,可采用单位时间计数法
• 若频率较低,可采用被测周期定时法
• 常用于频率测量,脉冲计数(转角)等
– 综合举例:
• 参见实验教材
– 在PC/XT中的应用:1.19MHz,端口地址040H~043H
• CT0:系统时钟
– 输出方波频率18.2Hz
– 连至8259 IR0产生中断请求
• CT1:DRAM刷新定时器
• CT2:产生扬声器发声频率
– GATE2:由8255 PB0控制,高电平有效
– OUT2:输出一定频率的方波信号,经驱动输出给扬声器。受8255 PB1的控制,高电平有效
– PC机发声编程:
• 根据音频计算CT2的时间常数
• 初始化CT2
• 置位8255的PB0、PB1,使CT2开始工作,扬声器发声
• 节拍由延时程序决定

参考资料::http://www.wmzx.net/cgi-bin/bbs/topic.cgi?forum=1&topic=42&start=0#bottom

时钟频率 输出频率 输出周期 时间片长度
这4种跟 记数初值 有什么关的关系?
我只知道前两者
记数初值 = 时钟频率 / 输出频率
我想知道具体 时钟频率和后面这3者的具体关系,应哪个除于哪个,(时钟频率 和 输出频率我已经写出来)

我还有两天就要考试了 请各位老大动作快点
小弟谢谢了

记数初值 = 时钟频率 / 输出频

初值为四位数.用BCD码计值
如初值为1250

先初始化

再写入初值

MOV AL 50H
OUT 83H AL
MOV AL 12H
OUT 83H AL

8253-5的每个计数器(记数通道)的记数范围是1~65536

Intel8253主要有以下特点: (1) 8253具有3个独立的16位计数器; (2) 可按二进制或十进制(BCD)计数; (3) 可由程序设置6种不同的工作方式; (4) 计数时钟频率(CLK)为2MHz.

8253 可编程定时器/计数器
1、基本结构
• 定时器与计数器:本质一样
– 若计数信号为已知频率的信号,则通常用作T
– 若计数信号为未知频率的信号,则通常用作C
• 内部结构:P291
– 3个通道:各自独立的16位减法C/T
– 3根引线:
• GATEi:门控,高电平或上跳变有效
• CLKi:计数脉冲,可区分C或T
• OUTi:用于产生不同形式的输出波形
– 4个端口,与A0、A1对应:
• 3个数据端口:可读可写,保存通道计数值
• 1个控制端口:只写,保存3个通道的控制方式,其控制字CW格式参见P293
• 8253的工作方式:
– 方式0:计数结束时中断
• 写入CW时,OUT变低
• 写入计数初值后,开始计数
• 计数到0时,OUT变高
• 可利用OUT的由低到高的跳变发出中断请求
• 常用于T
– ·方式1:单脉冲发生器
• 写入CW时,OUT变高
• GATE跳变启动计数后,OUT变高
• 计数到0时,OUT再次变高
• 可发出固定宽度的单脉冲,其宽度对应计数初值
• 常用作产生其它通道的GATE
– 方式3:方波发生器
• 写入CW时,OUT变高
• 写入计数初值后,开始计数
• 计数前半周期,OUT输出为高
• 计数后半周期,OUT输出为低
• 计数到0时,自动重装计数初值,循环工作
• 可连续输出方波,其周期对应计数初值
• 常用于需要方波的场合,如扬声器驱动
• 注意:若写入计数初值为奇数,则方波稍有误差
– 其他方式:
• 参见教材P294
• 8253的工作原理:
– 初始化编程:写控制字、写计数初值
• 必须顺序写入两个部分后,通道才能工作
• 每个通道包括初值寄存器和计数器二部分,写入初值时仅写入到初值寄存器
• 必须等CLKi上来一个脉冲时,初值才被打入计数器,正式开始计数
• 对计数器:初值并不重要
• 对定时器:初值又称为时间常数TC,其大小由定时时间和外接CLK决定
– C/T的启动
• 软件启动:先有效GATE,再初始化。常用于T
• 硬件启动:先初始化,再有效GATE。常用于C
– 计数工作:
• 当外部CLKi每来一个脉冲,则通道内部计数值减1
• 当计数值减到为0时,OUTi输出状态发生变化,表示计数溢出
• 溢出后的OUT:既可用于产生不同输出波形,也可用于产生中断请求
– 读取现行计数值:
• 简单读取:容易出错
• 先停止再读取:影响通道工作
• 先锁存再读取:先发出锁存命令,将计数器的当前值打入锁存器,再读取通道数据
• 8253的典型应用:
– 用作定时器:
• 定时精度与输入CLK有关
• 定时长度与C/T位数有关
• 若通道宽度不够,可采用通道级连或多次中断等方法
– 用作计数器:
• 若频率较高,可采用单位时间计数法
• 若频率较低,可采用被测周期定时法
• 常用于频率测量,脉冲计数(转角)等
– 综合举例:
• 参见实验教材
– 在PC/XT中的应用:1.19MHz,端口地址040H~043H
• CT0:系统时钟
– 输出方波频率18.2Hz
– 连至8259 IR0产生中断请求
• CT1:DRAM刷新定时器
• CT2:产生扬声器发声频率
– GATE2:由8255 PB0控制,高电平有效
– OUT2:输出一定频率的方波信号,经驱动输出给扬声器。受8255 PB1的控制,高电平有效

8253-5的每个计数器(记数通道)的记数范围是1~65536

Intel8253主要有以下特点: (1) 8253具有3个独立的16位计数器; (2) 可按二进制或十进制(BCD)计数; (3) 可由程序设置6种不同的工作方式; (4) 计数时钟频率(CLK)为2MHz.

8253 可编程定时器/计数器
1、基本结构
• 定时器与计数器:本质一样
– 若计数信号为已知频率的信号,则通常用作T
– 若计数信号为未知频率的信号,则通常用作C
• 内部结构:P291
– 3个通道:各自独立的16位减法C/T
– 3根引线:
• GATEi:门控,高电平或上跳变有效
• CLKi:计数脉冲,可区分C或T
• OUTi:用于产生不同形式的输出波形
– 4个端口,与A0、A1对应:
• 3个数据端口:可读可写,保存通道计数值
• 1个控制端口:只写,保存3个通道的控制方式,其控制字CW格式参见P293
• 8253的工作方式:
– 方式0:计数结束时中断
• 写入CW时,OUT变低
• 写入计数初值后,开始计数
• 计数到0时,OUT变高
• 可利用OUT的由低到高的跳变发出中断请求
• 常用于T
– ·方式1:单脉冲发生器
• 写入CW时,OUT变高
• GATE跳变启动计数后,OUT变高
• 计数到0时,OUT再次变高
• 可发出固定宽度的单脉冲,其宽度对应计数初值
• 常用作产生其它通道的GATE
– 方式3:方波发生器
• 写入CW时,OUT变高
• 写入计数初值后,开始计数
• 计数前半周期,OUT输出为高
• 计数后半周期,OUT输出为低
• 计数到0时,自动重装计数初值,循环工作
• 可连续输出方波,其周期对应计数初值
• 常用于需要方波的场合,如扬声器驱动
• 注意:若写入计数初值为奇数,则方波稍有误差
– 其他方式:
• 参见教材P294
• 8253的工作原理:
– 初始化编程:写控制字、写计数初值
• 必须顺序写入两个部分后,通道才能工作
• 每个通道包括初值寄存器和计数器二部分,写入初值时仅写入到初值寄存器
• 必须等CLKi上来一个脉冲时,初值才被打入计数器,正式开始计数
• 对计数器:初值并不重要
• 对定时器:初值又称为时间常数TC,其大小由定时时间和外接CLK决定
– C/T的启动
• 软件启动:先有效GATE,再初始化。常用于T
• 硬件启动:先初始化,再有效GATE。常用于C
– 计数工作:
• 当外部CLKi每来一个脉冲,则通道内部计数值减1
• 当计数值减到为0时,OUTi输出状态发生变化,表示计数溢出
• 溢出后的OUT:既可用于产生不同输出波形,也可用于产生中断请求
– 读取现行计数值:
• 简单读取:容易出错
• 先停止再读取:影响通道工作
• 先锁存再读取:先发出锁存命令,将计数器的当前值打入锁存器,再读取通道数据
• 8253的典型应用:
– 用作定时器:
• 定时精度与输入CLK有关
• 定时长度与C/T位数有关
• 若通道宽度不够,可采用通道级连或多次中断等方法
– 用作计数器:
• 若频率较高,可采用单位时间计数法
• 若频率较低,可采用被测周期定时法
• 常用于频率测量,脉冲计数(转角)等
– 综合举例:
• 参见实验教材
– 在PC/XT中的应用:1.19MHz,端口地址040H~043H
• CT0:系统时钟
– 输出方波频率18.2Hz
– 连至8259 IR0产生中断请求
• CT1:DRAM刷新定时器
• CT2:产生扬声器发声频率
– GATE2:由8255 PB0控制,高电平有效
– OUT2:输出一定频率的方波信号,经驱动输出给扬声器。受8255 PB1的控制,高电平有效
– PC机发声编程:
• 根据音频计算CT2的时间常数
• 初始化CT2
• 置位8255的PB0、PB1,使CT2开始工作,扬声器发声
• 节拍由延时程序决定

两者的记数方式基本一致,但是,各自的最大记数值不同.
二进制:0~65535,即最大值是2^16=65536;
十进制:0~9999,即最大值是10^4=10000;
若记数初值超过十进制的表示范围,必须使用二进制.