第8章计数器定时器.ppt

上传人:京东小超市 文档编号:6057097 上传时间:2020-09-01 格式:PPT 页数:36 大小:373KB
返回 下载 相关 举报
第8章计数器定时器.ppt_第1页
第1页 / 共36页
第8章计数器定时器.ppt_第2页
第2页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第8章计数器定时器.ppt》由会员分享,可在线阅读,更多相关《第8章计数器定时器.ppt(36页珍藏版)》请在三一文库上搜索。

1、微型计算机技术 第8章 计数器/定时器 计数计数器器与定时与定时器概述器概述 可编程计数器可编程计数器/ /定时器定时器82538253 定时器定时器/ /计数器计数器82538253内部结构内部结构 82538253的的引脚功能引脚功能 82538253的控制字的控制字 82538253的工作方式的工作方式 82538253编程举例编程举例 82538253应用举例应用举例 芽 拒 勉 馅 鸭 妆 档 簇 枉 拳 独 圭 裂 骂 里 陀 堤 汀 啥 黑 塑 尾 瘴 初 人 看 脑 严 弛 符 果 服 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8.

2、1 计数器与定时器概述 1. 计数功能 对事件的个数进行计数。 正计数:关心记录事件的次数。 倒计数:关心预先设定事件次数发生完的时刻。 可由硬件计数器实现,事件作为计数器的时钟,此时事件 的出现频率不一定一成不变。 扑 测 芦 中 散 裂 皮 喧 雷 耕 乱 必 雀 裕 本 垮 灵 晌 燎 牢 捏 莆 蠢 驭 戏 呸 头 牛 捞 车 各 吕 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 2.定时功能 取得给定的时间间隔。 延时:某事件发生后间隔一定时间的时刻。 时标:给定时间间隔的连续脉冲。 可由硬件计数器来实现,一定频率的信号作为计 数器的时钟,如

3、果只计数到就终止,即为延时。 如果连续不断的计数即可输出时标。 哨 搔 势 痉 驱 释 撰 国 谨 韵 曾 库 与 糠 葫 矫 葱 秧 睫 禁 亢 真 拭 懦 马 册 客 抒 根 厄 艾 踪 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 3. 计数器/定时器的用途 计数功能 作为计数个数到中断信号。 记录外部特定事件发生的个数。 定时功能 作为周期性定时中断信号。 用于分时性操作系统。 用作系统时钟基准。 作为一个可编程波特率发生器。用于异步串行通讯。 作为I/O设备输出定时信号。实现外设与CPU的同步。 节约CPU的时间延时。 作为音源。 射 踌 览

4、 蘑 舵 仑 衷 没 今 闺 五 撞 官 阐 即 蛔 蓝 遗 含 伤 逃 谩 哮 搀 阻 恿 酸 砌 腕 祈 徽 塌 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8.2 8.2 可编程计数器可编程计数器/ /定时器定时器 8253 8.2.1可编程计数器/定时器工作原理 1、计数功能 C 设置计数初值,按减1或加1计数,减到0或加到溢出时输出一 个信号,标志预置的计数值到。此时输入的计数脉冲的间隔 不一定是固定的。 C 计数功能关心的是计数脉冲的个数,而非脉冲的时间间隔。 2、定时功能 C 设定时常数(计数初值),对输入的周期性脉冲进行减1或加 1计

5、数,计数为0时输出定时到脉冲,若连续计数便可按定时 常数输出时钟周期整数倍的定时间隔信号。 C 定时功能关心的是计数初值的写入时间与脉冲输出的时间间 隔,要求输入的脉冲具有固定的频率。 麦 锋 拴 钡 搁 捕 裹 谰 挪 紫 践 愉 戍 誓 祁 钒 言 契 涂 肤 线 钓 壤 绥 路 华 瓢 裳 姿 宠 赁 膳 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8.2.28.2.2 定时器/计数器8253内部结构内部结构 l Intel 8253是具有三个通道的16位定时器/计数器,可由 软件设定6种工作方式。 8253内部有三个独立的计数器通道:计数器0

6、、1、2,结 构完全相同。 每个通道有6种工作方式,由控制寄存器选择。 控制寄存器为8位,计数初值计数器CR16位,计数执行 部件CE16位,计数输出锁存器OL16位。 计数执行部件为16位的减法计数器,但16位寄存器都可 用于8位,便于与8位数据总线相连。 每个通道可对外部输入CLK进行二进制或十进制减1计数 。计数由引脚GATE控制。 计数器归0时由OUT引脚输出信号。 泅 苦 姥 拼 蔼 娃 旋 纯 滚 岳 浓 青 预 院 谷 颅 扮 笺 帧 进 失 惩 咙 獭 捐 囊 途 蜒 笺 文 墙 肿 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 825

7、38253的内部结构的内部结构 D7D0 缓冲器 RD WR A0 A1 CS 读写 控制 逻辑 数据 控制 寄存器 计数器0 CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 计数器1 计数器2 8253内部结构 杉 就 簧 柔 蛆 摧 综 币 翰 鲜 愚 周 熏 绕 猛 止 唤 趁 唉 预 该 此 荆 陶 榆 阮 驹 威 煎 砂 汛 帆 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8253内部每个计数器通道的结构图 8位控制寄存器 高8位 低8位 高8位 低8位 高8位 低8位 计数器1 计数器2 计

8、数初值 寄存器 (CR) 计数执行 部件(CE) 计数输出锁存器 (OL) CLK0 GATE0 OUT0 D7D0 RD WR CS A1 A0 计数器0 鸥 秸 茬 杜 布 瓮 墙 缆 史 胸 灼 获 钨 洽 杂 起 娶 拨 音 弯 寺 颓 崎 卉 归 掀 鲁 奴 窒 兴 董 醚 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8.2.38.2.3 82538253的的引脚功能 8253具有24个引脚,各引脚功能如下: D7D0 数据总线,双向三态,可直接与计算机系统 数据总线相连。 RD 读信号,输入,低电平有效,若有效则CPU从 8253内部读取

9、数据. WR 写信号,输入,低电平有效,若有效则CPU将 数据写入8253内部寄存器。 CS 片选信号,输入,低电平有效,与计算机连接时 分配有效地址。 A1 A0 内部计数器选择信号。 8253内部有三个计 数通道,使用4个端口地址。 嘴 踞 漆 糯 绘 挂 蒲 喉 昆 鸟 椰 藻 篇 焙 犁 庚 服 卵 剩 壮 雌 炮 嫉 领 骂 完 炭 跪 蛰 刺 晒 嫌 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8253引脚功能 CLK0、CLK1、CLK2 通道0、通道1和通道2的计数时钟输入端,下 降沿使通道减1。 GATE0、GATE1、GATE2

10、门控制,输入,高电平有效或上升沿有效 ,有效时才允许计数器对输入时钟进行计数。 OUT0、OUT1、OUT2 通道输出信号,当计数器计数到“0”时由 此引脚输出一信号。 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 功 能 对计数器0设置计数初值 CSRDWRA1 A0 对计数器1设置计数初值 对计数器2设置计数初值 设置控制字 从计数器0读出计数值 从计数器1读出计数值 从计数器2读出计数值 枉 抑 沽 瞄 茅 攒 梭 积 贱 袭 桶 壳 名 衬 辰 圃 哟 宿 糟 荔 唬 月 货 扩 割 创 搅

11、险 奶 彻 邯 瞬 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8.2.4 8253的控制字及工作方式 1. 8253控制字 控制字必须写入控制口,说明如下: SC1 SC0 计数器通道选择 0 0 通道0 0 1 通道1 1 0 通道2 1 1 非法 D0 SC1 D7 SC0BCDRW1RW0M2M1M0 拍 挝 奋 糙 碰 毅 氦 醋 拧 豆 防 酚 镰 邓 犬 刹 戒 婿 跌 宰 涡 适 莽 幌 窖 谈 丈 按 范 拨 嫩 捌 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8253控制字 RW1 RW

12、0 计数器读写选择 0 0 计数器锁存 0 1 只读写低8位 1 0 只读写高8位 1 1 先低8位,再高8位 M2 M1 M0 计数器工作方式选择 0 0 0 方式0 0 0 1 方式1 x 1 0 方式2 x 1 1 方式3 1 0 0 方式4 1 0 1 方式5 BCD 计数器计数模式选择 0 二进制计数器 1 BCD码计数器 哼 坑 复 邻 簇 倪 淑 甭 衍 穿 聊 乎 腾 亡 羽 抄 暮 额 绥 滑 唱 道 粤 湃 封 蛤 啮 拄 劳 奄 靡 凸 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 2. 8253 编程命令 因各计数器有自己的端口

13、地址,所以没有太多顺序 要求,但必须遵守两条规定: 设置计数初值前必须先写控制字 设置计数初值时要与控制字中的D5 D4位规定的读写指示 一致。 命令字共4个: 写控制字命令 设置计数初值(时间常数)命令 读出命令,读出当前计数值 锁存命令,配合读出命令,先锁住,再读出。 哪 肚 堑 狮 峻 翱 棍 桌 尘 筒 却 少 缓 蓝 脏 稍 爵 性 番 邀 碑 男 愚 氏 梦 陌 性 山 驼 淳 惺 夺 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 3. 8253工作方式 模式0 计数结束产生中断 控制字写入后OUT即变为低电平,当计数器为0时,输 出OUT

14、变为高电平,并停止现行操作。 计数初值写入后在下一个CLK下降沿才送入计数器,因 此OUT要在CPU写入计数初值后经N+1个CLK之后才 变高。 当GATE变为低电平时计数停止,再变为高电平时计数 继续进行。 若计数过程中重新送入初值,则按新值重新计数。 CLK OUT 43210 FF 方式0时序图 CW N=4 WR 咎 致 成 耳 妈 锻 态 梯 洒 褪 锻 皖 寡 雄 耙 敦 钻 渡 私 喀 贾 摔 堪 芹 彝 唆 体 朋 态 醋 稍 争 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 模式1 可重新触发单稳态触发器 写入控制字后OUT变为高电平

15、,GATE上升沿后,下一个CLK 的下降沿使得OUT为低电平并开始计数,回零时OUT变为高 电平。 GATE再来一次上升沿后会再次使OUT变为低电平,计数器以 初值重新计数。 再次给通道写入时间常数,不影响现行操作过程,GATE再 次触发后才按新的时间常数操作。 方式1时序图 OUT 3 2 1 0 CLK CWN=3 WR FFFE 3 2 GATE 日 皿 只 湛 泥 地 毋 璃 员 斡 压 痈 换 套 奉 黎 辱 令 输 首 琶 荆 蛆 础 摔 侍 掀 戳 史 青 泼 碘 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 模式2 分频器 写入控制字后

16、OUT为高电平,输入时间常数后,下一时钟开始计数,减 到1时输出变为低电平,经过一个CLK输出变为高电平,计数重新开始。 GATE=1计数进行,GATE=0计数停止,且下一个CLK下降沿计数器重新赋 初值,GATE变为高电平,计数重新开始。 计数期间送入新值,GATE若维持高电平,本周期继续进行,下一个周期 按新值计数操作。 在计数计到1之前,若写入新值,而GATE又出现上升沿,则在下一个CLK 下降沿,以新值重新计数。 方式2时序图 OUT 3 2 1 CLK CWN=3 WR GATE 3 2 1 3 2 1 好 症 黑 看 牟 巴 域 事 枫 盈 尔 状 施 渡 谍 鞍 灌 畏 蜘 艇

17、伤 重 寇 蚂 嵌 鸟 曼 呕 跨 静 蔓 逞 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 模式3 方波发生器 写入控制字后OUT为高电平, 输入时间常数后,下一时钟开始计数,计到 一半时输出变为低电平,计到终值时变为高电平,并开始下一次计数过 程。 若N为偶数,高低电平持续时间相等;若为奇数,则高电平持续时间为( N+1)/2,低电平持续时间为(N-1)/2。 GATE=1计数进行,GATE=0计数停止,OUT立即为高,计数器重新赋初值, GATE变高,在下一个CLK下降沿计数重新开始。 计数期间送入新值,本周期继续进行,下一个周期按新值计数。 O

18、UT 3 2 1 方式3时序图 CLK CWN=4 WR 3 2 GATE 441 讹 沟 橙 咯 钻 匿 捌 校 陕 氧 茂 斯 滴 业 驮 揉 旧 勒 糠 贪 讶 虞 骂 稽 绽 弄 幢 雹 迭 弛 票 旧 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 模式4 软件触发选通信号发生器 计数器主要是靠写入初始值这个软件操作来触发计数器工作的,每次 通过写入新的初始值使计数器重新开始工作。 OUT平时为高电平,计数到0时,输出OUT 变低,一个时钟周期后又 变高。即只有在计数到0时,才输出负脉冲作为选通信号。 GATE=1允许计数,GATE=0禁止计数

19、,GATE不影响OUT电平输出。 计数期间送入新的时间常数,则下一个时钟按新值重新计数。 OUT 3 2 1 方式4时序图 CLK CWN=3 WR GATE 0 FFFEFDFC 葛 阶 赘 汕 枢 钵 互 暇 阁 黄 靶 瞥 狼 廊 订 冗 菜 鳞 免 总 谁 潦 贷 酮 惰 苦 欲 楞 划 纷 汛 拐 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 模式5硬件触发选通信号发生器 写入控制字后OUT变为高电平,输入时间常数后由GATE上 升沿启动计数。计数为0时输出一个时钟的负脉冲,并停 止现行操作。 计数过程中,若GATE又来一个上升沿,则下一个时

20、钟计数 器重新赋值计数。 计数过程中写入时间常数,当前周期不受影响,只有下一 个 GATE上升沿才启动新值计数。 OUT 3 2 1 0方式5时序图 CLK CWN=3 WR FFFE 3 2 GATE 1 0 才 邦 缺 蜒 于 腆 搏 成 示 蛊 锁 溪 卞 搅 娜 盐 郁 惧 嘱 摸 贼 虾 河 刹 叉 杂 逐 耶 撒 萧 蚁 咨 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8.2.5 8253编程编程举例 使用8253时,必须首先进行初始化编程,其步骤为 : 先向控制口写入控制字; 再向每个通道端口地址写入计数初值:若规定只写 低8位,则高8

21、位自动置0;若规定只写高8位,则低8 位自动置0;若规定写16位,则先写低8位,再写高8 位。 最大计数初值0: 二进制: 216 =65536 BCD码: 104 =10000 处 噪 办 折 讨 拿 琼 他 浮 纂 鲜 膏 傀 聚 槛 吗 畔 冉 刀 彻 静 宗 套 泽 钩 级 岭 吝 逊 浚 辆 缄 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 例1: 8253计数器工作于模式3,计数器初值15, 时钟脉冲频率为2MHz,确定OUT端输出方波的 特性。 解:TCLK=1/2 s =500ns 计数器初值15为奇数,输出分频波高电平宽度: TCLK

22、(N+1)/2=4s 输出分频波低电平宽度: TCLK(N-1)/2=3.5s 荡 炳 厚 黍 扒 老 片 娘 纺 靳 贫 彻 肤 吩 反 唁 帝 血 鲸 输 痹 罪 蚀 鳃 捂 择 敲 亏 撮 信 湿 遂 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 例2:设8253的口地址为40H 43H,如要求8253的通 道1工作于方式3,按BCD码计数,计数值为十进制6000 ;通道2工作于方式2,按二进制计数,计数初值为390 ,试编程初始化8253。 MOVAL,67H ;控制字01,10,011,1 通道1,只装高8位,方式1,BCD 码 OUT43H

23、,AL ;送通道1控制字 MOV AL,60H ;计数初值为6000,只装高8位,低8位自动赋 0 OUT41H,AL MOV AL,0B4H;10,11,010,0 通道2,16位,方式2,二进制 OUT 43H,AL;送通道2控制字 MOV AX, 390; OUT 42H,AL;先写计数初值低8位 MOV AL,AH; OUT 42H,AL;后写计数初值高8位 漆 均 磺 陋 腾 英 勾 三 欢 鲜 积 撮 棍 渍 夯 兵 冶 见 堰 柿 喉 谍 履 树 俄 词 挤 呢 曝 搪 硫 焉 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8253的读操

24、作方法及编程举例 为了对计数器的计数值进行显示或实时处理,常需要 读取计数通道的当前计数值,它是由CPU访问每个通 道的计数值锁存器OL实现的。读当前计数值的端口地 址和写入计数初值的端口地址是相同的。读操作必须 严格按控制字D5 D4位确定的格式进行:如果是8位计 数,则 只 需 读一次;若是16位计数,则同一端口 地址要读两次,第一次读入低8位计数值,第二次读 入高8位计数值。 8253有以下两种读当前计数值的方法 汽 掸 榆 第 剖 吠 旬 火 害 了 坟 溶 叔 栏 挚 云 揍 姥 官 耙 宋 域 播 稳 获 衬 聊 狐 窖 腊 刽 识 第 8 章 计 数 器 定 时 器 第 8 章

25、计 数 器 定 时 器 微型计算机技术 读之前先停止计数:可以在读之前用GATE信号控制 计数器暂停计数,或由外部逻辑禁止所要读入的计 数通道的CLK脉冲输入。如果不先停止计数,那么 ,分先后两次读入的高低字节的值可能不属于同一 个16位计数值,所以最好先从外部禁止计数,然后 执行类似如下程序读入(设8253的端口地址为E0H E3H): IN AL,0E0H;读入通道0的低8 位 MOV BL,AL IN AL,0E0H ;读入通道0的高 8位 MOV BH,AL ;读入的16位计数值 存入BX中。 抨 毛 完 绒 滨 吾 嚏 期 铸 知 赣 众 律 朵 否 浑 堰 交 戚 搜 故 接 日

26、回 侦 饭 哉 褒 序 山 撒 卤 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 读之前先送计数值锁存命令:计数值锁存命令是控制字的一种 特殊形式,需写入控制寄存器的端口地址。锁存命令的D7 D6 位的编码决定所要锁存的计数通道,锁存命令的D5 D4必须为 “00”(锁存命令标志)。锁存命令的低4位可以是全“0”。 因此,三个计数器的锁存命令分别为:通道0是00H,通道1是 40H,通道2是80H。 例如,要读取通道2的计数值,程序如下: MOV AL,80H; 10 00 0000B向通道2 发锁存命 令 OUT 0E3H,AL;锁存命令写入控制寄存

27、器(锁住通道 2的计数值) IN AL,0E2H;读通道2的OL的低8位 MOVBL,AL IN AL,0E2H;读通道2的OL的高8位 MOV BH,AL 三 窑 兰 崩 凰 谊 溉 蚌 蹲 文 胜 一 事 骡 酌 永 庄 折 谭 份 务 滞 硕 锨 益 钉 胆 闹 醋 骏 牙 仅 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8.2.6 IBM PC/XTIBM PC/XT中的中的82538253应用举例 D7 D0 D7 D0 RD WR A1 A0 CS IOR IOW A13 A15 A14 A10 A12 A11 74LS30 74LS04

28、 A9 +5V A8 A7 A6 A5 +5V C B A 74LS138 Y2G2A G2B G1 8253 A1 A0 GATE0 GATE1 GATE2 OUT0 OUT1 OUT2 CLK0 CLK1 CLK2 PB1(8255) +5V PB0(8255) IRQ0(8259) 刷新电路 C PCLK D Q Q 74LS175 驱动器 8253的接口电路 运 头 傍 澈 行 图 锗 练 贪 晒 答 尺 便 诬 吓 仗 度 叙 滁 豢 绵 凳 麦 载 赎 盆 呼 夕 睛 芳 端 蒙 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8253与80

29、88计算机连接说明 A15A8 0 0 端口 0 0 0 1 1 0 1 1 控制口 A7 A6 A5 A4 A3 A2A1地址 040H A0 0 1 0X X X 通道0 通道1 通道2 041H 042H 043H 8253三个通道的时钟由PCLK经D触发器二分频得到,频率为 :2.38636/2=1.1931816MHz 8253数据线D7D0接系统数据总线的低8位。 8253的A1和A0分别接系统的A1和A0 由74LS138,74LS30和74LS04译码选中8253 坪 狄 邑 剁 涌 仙 梯 钒 喜 筑 驯 坊 社 茫 晓 叮 枫 页 湍 台 伸 愈 绰 句 遥 凝 孟 瞧 仇

30、 蝇 喘 拄 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 通道0定时OUT0接8259A的IR0,通道1刷新 动态存储器,通道2控制扬声器发声。 通道0:为系统电子钟提供基准时间和软驱马达定时。计数器 0为模式3(方波发生器)GATE0固定高电平,OUT0作为中断 请求接8259A中断控制器的IRQ0,OUT0输出时钟频率为 1.19MHz/216 =18.2Hz,即每秒产生18.2次输出信号,输出 一个定时脉冲,产生一个中断请求(周期约55ms),计时 软件据此计时。控制字为36H。 通道1:作为DRAM刷新的定时信号。工作于模式2,计数值为 12

31、H=18(1.19MHZ/18分频 ),每隔15.12S产生一次刷新 请求,此信号送到DMA 8237A-5的通道0,作为DMA请求信号 。由8237A-5执行DMA操作完成DRAM一行的刷新。 通道2:输出信号接扬声器,工作于模式3(方波发生器), 初值为533H,方波频率为1.19MHz/1331=894Hz 尺 雪 概 旋 珍 觅 琳 诸 澄 精 确 挎 铲 脉 靴 肖 掖 皮 晚 黍 究 讳 碱 讣 褐 整 沾 恶 邯 焙 睁 扼 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 BIOS对8253的初始化程序 通道0: MOV AL,36H ;控

32、制字:00110110通道0,16位,方式3,二进制 OUT 43H,AL ;写入控制寄存器 MOV AL, 0;初值为0000H,计数65536次(最大) OUT 40H,AL;写入CR0的低8位计数值 OUT 40H,AL;写入CR0的高8位计数值 计数器0工作于方波发生器方式,对CLK(1.1931816MHz)进行65536分频 。时钟周期Tc=1/1.19103 840ns 计数器0的输出端OUT0接8259的IR0,每次归0产生一次中断请求,中断类 型码由BIOS设置为8。 OUT0端输出周期为T0=840ns6553655ms,即每隔55ms定时时间发出一 次中断请求。通道0的时

33、间间隔是计算机系统时钟基础。 OUT0端输出方波频率f0=1/T0 18.2 ,即每秒钟来18.2次中断。 剁 哈 稀 廊 卖 兢 环 痘 跨 剁 貌 赔 赐 歹 觅 窒 瑶 下 疵 镇 醛 馁 抵 答 粟 吐 值 奎 冈 咏 右 镇 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 通道1: MOV AL,54H ;控制字01010100 通道1,低8位,方式2,二进制 OUT43H,AL ;写入控制寄存器 MOVAL,12H ;初值为18 OUT41H,AL ;写入计数值低8位,高8位自动为0, 通道1给DMA控制器提供时钟,用于定时(约15s)向DM

34、A请 求DRAM刷新,计数初值为12H。 OUT1输出周期为:T1=840ns1815.12s,于是,2ms内 可有132次刷新,大于IBM-PC/XT要求的DRAM刷新在2ms内应 有128次的规定。 OUT1输出频率为f1=1/T1=66.1KHz的连续负脉冲。 镇 芳 骂 罚 屑 灯 竖 圃 竞 阁 屹 炮 软 嫡 密 吱 遁 使 卷 狂 零 培 楚 脊 拙 折 讥 翱 截 塑 授 疟 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 通道2: MOV AL,0B6H ;控制字10110110 通道2,16位,方式3,二进制计数 OUT 43H,AL

35、 ;写入控制寄存器 MOV AX,533H ;初值为533H OUT 42H,AL ;写入计数值低8位 MOV AL,AH ; OUT 42H,AL ;写入计数值高8位。 IN AL,62H ;读入8255的B口数据 MOV AH,AL ;保护B口原值 OR AL,03H ;置1 PB1和PB0 OUT 62H,AL ;输出 通道2:控制字为B6H,计数初值为533H=1331 。 OUT2输出方波周期T2840ns13311.12ms,频率f2=1/T2=894Hz, 894Hz的方波送至扬声器,驱动扬声器发声。 扬声器发声还受8255的PB0和PB1控制。 鸡 梗 痪 吩 用 炉 拆 炮

36、聂 钳 寺 汐 闪 躁 佃 讽 赌 荆 突 总 杜 往 邱 合 钵 措 迸 命 画 盔 科 垃 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 82538253应用举例 例:由8253的计数器0定时55ms 控制扬声器变调发 声,响5.5秒后停止。 说明 8253计数器0的OUT0接8259A的IR0,由BIOS初始 化,中断类型码为08H,并在完全嵌套方式下工 作。 8253计数器0由BIOS设置为模式3,定时时间为 55ms。 扬声器由8253的计数器2控制发声频率,发声允 许由8255的PB0和PB1控制。 系 妆 吐 苗 懈 庙 敌 严 钞 魂

37、募 钮 岸 触 蒂 瞪 永 盲 铺 零 函 蹄 睛 蔼 布 秀 傅 障 所 堆 股 傻 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 DOS功能调用25H号子功能为设置中断向量。 入口参数 AH=25H,AL=中断类型码 DS:DX 中断服务程序入口地址 返回参数:无 DOS功能调用35H号子功能为取中断向量 入口参数 AH=35H,AL=中断类型码 返回参数 ES:BX 中断服务程序入口地址 中断服务程序为INT_08H 保护现场和恢复现场; 中断返回前要开中断并发EOI; 中断返回IRET。 每次定时器0中断使扬声器的发声频率的分频常数增加100,

38、并使计数变量 count增1。 主程序查询count到100后停止扬声器发声,恢复中断向量,程序退出。 奋 纵 孟 叶 增 准 蕊 年 采 苔 善 想 优 乌 鹰 荤 舟 嘻 邑 子 肤 蝇 勘 臼 荣 饮 寺 藐 殉 汐 凸 今 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 8253应用程序 data segment old_int08h dd ? count dw 0 constant dw 60 state db ? data ends st_seg segment stack db 256 dup (?) st_seg ends code se

39、gment assume cs:code,ds:data Int_08h proc far ; 中断服务子程序 push ax push ds mov ax, data mov ds, ax mov al, 0b6h out 43h, al mov ax, constant add ax, 100 mov constant, ax out 42h, al mov al, ah out 42h, al inc count mov al, 20h ;发EOI out 20h, al 筛 烬 苍 晕 怜 益 倪 厘 敖 谆 肪 糙 谍 脆 恤 轩 脾 卯 涯 咖 伺 乓 苗 翰 夕 成 氦 丝 峰

40、舀 练 试 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 pop ds pop ax sti iret Int_08h endp ;主程序 main proc far mov ax, data mov ds, ax cli ;关中断 mov ah, 35h ;取中断向量 mov al, 08h int 21h mov word ptr old_int08h, bx mov word ptr old_int08h2, es push cs ;设置新中断向量 pop ds mov ah, 25h mov dx, offset int_08h mov al,

41、 08h int 21h mov ax, data mov ds, ax ;打开8255控制 in al, 61h mov state, al or al, 3 out 61h, al sti ;开中断 进 废 饭 虞 征 入 嫌 磁 跳 予 吓 恃 蒋 知 慕 墒 听 分 脐 耙 妒 牧 吏 泡 韧 拘 锦 晰 哼 叮 缄 篡 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器 微型计算机技术 ;判断5.5S是否到 main1: mov ax, count cmp ax, 100 jc main1 mov al, state ;恢复8255状态 out 61h, al mov ah, 25h ;恢复原中断向量 lds dx, old_int08h mov al, 08h int 21h mov ax, 4c00h ;返回操作系统 int 21h main endp code ends end main 槐 畴 接 续 彰 锹 涌 刺 染 忙 窄 错 垢 减 牲 概 剪 哺 戌 绩 墒 讫 计 缠 柒 俐 沪 税 补 篇 锅 贱 第 8 章 计 数 器 定 时 器 第 8 章 计 数 器 定 时 器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1