武汉大学易凡学习教案.pptx

上传人:莉*** 文档编号:91538228 上传时间:2023-05-27 格式:PPTX 页数:68 大小:682.83KB
返回 下载 相关 举报
武汉大学易凡学习教案.pptx_第1页
第1页 / 共68页
武汉大学易凡学习教案.pptx_第2页
第2页 / 共68页
点击查看更多>>
资源描述

《武汉大学易凡学习教案.pptx》由会员分享,可在线阅读,更多相关《武汉大学易凡学习教案.pptx(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、会计学 1武汉大学(w hn d xu)易凡第一页,共68页。教学(jio xu)重点n 8253/4的引脚和6种工作(gngzu)方式n 8253/4的编程n 8253/4在IBM PC系列机上的应用第1页/共68页第二页,共68页。8.1 定时器和计数器n n定时器定时器n n由由数数字字电电路路中中的的计计数数电电路路构构成成,通通过过记记录录高高精精度度晶晶振振脉脉冲冲(michng)(michng)信信号号的的个个数数,输输出出准准确确的时间间隔的时间间隔n n计数器计数器n n计计数数电电路路如如果果记记录录外外设设提提供供的的具具有有一一定定随随机机性性的的脉脉冲冲(michng

2、)(michng)信信号号时时,它它主主要要反反映映脉脉冲冲(michng)(michng)的的个个数数(进进而而获获知知外外设设的的某某种种状状态态)。第2页/共68页第三页,共68页。n n 定时功能的实现 定时功能的实现(shxin)(shxin)方法 方法p p 软件延时 软件延时p p 利用微处理器执行一个延时程序段实现 利用微处理器执行一个延时程序段实现p p 不可编程的硬件定时 不可编程的硬件定时p p 采用分频器、单稳电路或简易 采用分频器、单稳电路或简易(jiny)(jiny)定时电路 定时电路控制定时时间 控制定时时间p p 可编程的硬件定时 可编程的硬件定时p p 软件硬

3、件相结合、用可编程定时器芯片构成一个 软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路 方便灵活的定时电路第3页/共68页第四页,共68页。8.2 8253/8254定时(dn sh)计数器n n 3个独立的16位计数器通道(tngdo)n n 每个计数器有6种工作方式n n 按二进制或十进制(BCD码)计数8254是8253的改进型第4页/共68页第五页,共68页。8.2.1 82548.2.1 8254的结构的结构(jigu)(jigu)与工作原与工作原理理n n 数据总线缓冲器 数据总线缓冲器(Data Bus Buffer)(Data Bus Buffer)n n 是 是8

4、254 8254 连 连接 接CPU CPU数 数据 据总 总线 线的 的三 三态 态、双 双向 向8 8位 位寄 寄存 存器 器,它有三个基本功能:它有三个基本功能:n n CPU CPU通过它向 通过它向8254 8254写入工作 写入工作(gngzu)(gngzu)命令字;命令字;n n 向某一计数器写入初值;向某一计数器写入初值;n n 从某一计数器读取当前计数值。从某一计数器读取当前计数值。图示第5页/共68页第六页,共68页。从系统控制总线上接收的输入信号,转换成 从系统控制总线上接收的输入信号,转换成8254 8254内部操作的多种 内部操作的多种控制信号。控制信号。当片选信号

5、当片选信号CS#=0 CS#=0时 时,由 由A1A0 A1A0信号选择内部寄存器 信号选择内部寄存器;读信号 读信号RD#RD#和 和写信号 写信号WR#WR#完成 完成(wn chng)(wn chng)对选定寄存器的读或写操作。对选定寄存器的读或写操作。当片选信号 当片选信号CS#=1 CS#=1时 时,数据总线缓冲器与数据总线脱开。数据总线缓冲器与数据总线脱开。读/写逻辑(lu j)(Read/Write Logic)8.2.1 82548.2.1 8254的结构的结构(jigu)(jigu)与工作原理与工作原理(续)(续)第6页/共68页第七页,共68页。控制字寄存器由CPU写入控制

6、字,决定计数器的工作方式,设置读出命令。控制寄存器只能(zh nn)写入,不能读出。计数器8253/4有三个独立的计数器,分别变成使用;对外部计数脉冲(或时钟)信号进行减1计数,并输出定时(计数)信号;计数值可读出。图示 图示8.2.1 8254的结构与工作(gngzu)原理(续)第7页/共68页第八页,共68页。n n82548254的引脚功能的引脚功能(gngnng)(gngnng)p 与外设相连信号p D7D0:8位双向数据线p CS#:片选信号输入端,低电平有效(yuxio)p A1,A0:内部寄存器选择信号线,接CPU地址总线p RD#:读命令输入端,低电平有效(yuxio)p WR

7、#:写命令输入端,低电平有效(yuxio),接CPU的控制总线图示 图示第8页/共68页第九页,共68页。n n 8254 8254的引脚功能 的引脚功能(gngnng)(gngnng)(续)(续)p 与CPU相连信号p GATE0,1,2:门控信号输 入端p CLK0,1,2:计数(j sh)脉冲输入端p OUT0,1,2:计数(j sh)/定时信号输出端图示 图示第9页/共68页第十页,共68页。CS#RD#WR#A1A0端口选择和操作0 1 0 0 0 写入计数器00 1 0 0 1 写入计数器10 1 0 1 0 写入计数器20 1 0 1 1 写方式控制字到控制字寄存器0 0 1 0

8、 0 读计数器00 0 1 0 1 读计数器10 0 1 1 0 读计数器20 0 1 1 1 无操作,数据总线缓冲器三态0 1 1 无操作,数据总线缓冲器三态1 禁止,数据总线缓冲器三态表 表7.1 8254 7.1 8254端口选择 端口选择(xunz)(xunz)和读 和读/写操作 写操作第10页/共68页第十一页,共68页。n n 计数器的工作 计数器的工作(gngzu)(gngzu)原理 原理 程序员向初值寄存器写入计数值;程序员向初值寄存器写入计数值;初值寄存器中的初值送入减 初值寄存器中的初值送入减1 1计数器;计数器;减 减1 1计数器被启动开始 计数器被启动开始(kish)(

9、kish)减 减1 1计数,每一个 计数,每一个CLKi CLKi脉冲使计数器减 脉冲使计数器减1 1;当计数值减到零时,当计数值减到零时,OUTi OUTi端产生输出信号 端产生输出信号(脉冲或电平 脉冲或电平)。图示 图示第11页/共68页第十二页,共68页。GATEi信号可控制(kngzh)允许或禁止减1计数 当前计数值被锁存至输出锁存器中,可被读出 CLKi信号可以是周期性信号,也可以是随机脉冲信号 计数初值N的计算公式:n n 计数器的工作 计数器的工作(gngzu)(gngzu)原理(续)原理(续)第12页/共68页第十三页,共68页。8.2.2 8254的工作(gngzu)方式n

10、 n82548254有有66种工作方式,区别在于:种工作方式,区别在于:n n输出波形不同输出波形不同(b tn)(b tn);n n启动计数器的触发方式不同启动计数器的触发方式不同(b tn)(b tn);n nGATEGATE信号对计数过程的影响不同信号对计数过程的影响不同(b(b tn)tn);n n计数初值的重装的方式不同计数初值的重装的方式不同(b tn)(b tn)。第13页/共68页第十四页,共68页。1.1.方式 方式0 0计数结束 计数结束(jish)(jish)输出正跃变信号 输出正跃变信号n n 工作特点 工作特点n n 写入控制字后,写入控制字后,OUT OUT端输出低

11、电平;端输出低电平;n n 写 写入 入初 初值 值后 后,OUT OUT端 端保 保持 持低 低电 电平 平,计 计数 数器 器开 开始 始对 对CLK CLK脉冲进行减 脉冲进行减1 1计数;计数;n n 当 当计 计数 数值 值(shz)(shz)减 减至 至0 0时 时,OUT OUT端 端输 输出 出变 变为 为高 高电 电平 平,它可用作中断请求信号;它可用作中断请求信号;图示 图示第14页/共68页第十五页,共68页。方式0不具备“初值自动重装功能”;仅当写入新的初值才能触发计数;在计数过程中,若写入新的计数初值,则初值写入后将按新的初值重新开始减1计数;GATE的作用(zuyn

12、g)GATE=1时,允许计数;GATE=0时,停止计数。图示 图示1.1.方式 方式0 0计数结束输出 计数结束输出(shch)(shch)正跃变信号 正跃变信号(续)(续)第15页/共68页第十六页,共68页。2.2.方式 方式(fngsh)1(fngsh)1单脉冲发生器 单脉冲发生器n n 工作特点 工作特点n n 写入控制字后,写入控制字后,OUT OUT输出高电平;输出高电平;n n 写入初值后,写入初值后,OUT OUT保持高电平;保持高电平;n n GATE GATE的 的上 上升 升沿 沿启 启动 动计 计数 数器 器,开 开始 始对 对CLK CLK脉 脉冲 冲进 进行 行减

13、减1 1计数。启动后,计数。启动后,OUT OUT变为低电平;变为低电平;n n 当 当计 计数 数值 值减 减到 到0 0时 时,OUT OUT输 输出 出高 高电 电平 平,从 从而 而(cng(cng r)r)在 在OUT OUT端输出一个负脉冲 端输出一个负脉冲;n n 幅脉冲宽度计数初值 幅脉冲宽度计数初值CLK CLK的脉冲周期 的脉冲周期图示 图示第16页/共68页第十七页,共68页。2.2.方式方式(fngsh)1(fngsh)1单脉冲发生器单脉冲发生器(续)(续)n n GATE GATE的作用 的作用n n 方 方式 式1 1无 无“初 初值 值自 自动 动重 重装 装”功

14、 功能 能,仅 仅GATE GATE的 的上 上升 升沿 沿能 能启 启动计数 动计数(j sh)(j sh)器计数 器计数(j sh)(j sh)n n 只 只要 要GATE GATE信 信号 号出 出现 现了 了正 正脉 脉冲 冲,计 计数 数(j(j sh)sh)初 初值 值将 将重 重新 新装 装入 入计 计数 数(j(j sh)sh)器 器,并 并启 启动 动计 计数 数(j(j sh)sh)器 器按 按新 新的初值重新减 的初值重新减1 1计数 计数(j sh)(j sh)n n 在 在计 计数 数(j(j sh)sh)过 过程 程中 中装 装入 入了 了新 新的 的计 计数 数(

15、j(j sh)sh)初 初值 值,计 计数 数(j(j sh)sh)过 过程 程不 不受 受影 影响 响,仅 仅当 当GATE GATE再 再次 次出 出现 现01 01的 的正 正跃 跃变 变,计 计数 数(j(j sh)sh)器 器才 才按 按新 新的 的计 计数 数(j(j sh)sh)初 初值做减 值做减1 1计数 计数(j sh)(j sh)图示 图示第17页/共68页第十八页,共68页。3.3.方式方式(fngsh)2(fngsh)2分频器分频器n n 工作特点 工作特点n n 写入控制字后,写入控制字后,OUT OUT输出高电平;输出高电平;n n 写 写入 入初 初值 值后 后

16、,计 计数 数器 器启 启动 动减 减1 1计 计数 数,当 当计 计数 数器 器减 减到 到1 1时 时,OUT OUT输 输出 出低 低电 电平 平,维 维持 持一 一个 个CLK CLK周 周期 期,OUT OUT又 又变 变为 为高;高;n n 计 计数 数初 初值 值自 自动 动(zdng)(zdng)重 重新 新装 装入 入,计 计数 数器 器开 开始 始重 重新 新计数,计数,OUT OUT输出周期负脉冲信号。输出周期负脉冲信号。n n 脉冲周期 脉冲周期:Tout=:Tout=初值 初值 Tclk Tclk n n 脉冲宽度 脉冲宽度=1Tclk=1Tclk图示 图示第18页/

17、共68页第十九页,共68页。在计数过程(guchng)中,GATE变低,暂停计数,GATE的上升沿使计数器恢复初值,并从初值开始计数;在计数过程(guchng)中,当GATE为高电平,若写入初值,不影响计数。当计数器减到1后,计数器才装入新的初值,按新初值减1计数。GATE的作用(zuyng)图示 图示3.3.方式 方式(fngsh)2(fngsh)2分频器 分频器(续)(续)第19页/共68页第二十页,共68页。4.4.方式 方式(fngsh)3(fngsh)3方 方波发生器 波发生器 方式 方式3 3具有自动重新装入初值的功能 具有自动重新装入初值的功能 当初值为偶数时,从 当初值为偶数时

18、,从OUT OUT输出 输出(shch)1:1(shch)1:1的方波,的方波,Tout=NTclk Tout=NTclk 脉冲宽度 脉冲宽度=N/2 Tclk=N/2 Tclk 当初值为奇数时,当初值为奇数时,OUT OUT输出 输出(shch)(shch)周期脉冲波形,周期脉冲波形,Tout=NTclk Tout=NTclk 正脉冲宽度 正脉冲宽度=Tclk(N=Tclk(N 1)/2 1)/2 负脉冲宽度 负脉冲宽度=Tclk(N=Tclk(N 1)/2 1)/2 图示 图示第20页/共68页第二十一页,共68页。5.5.方式方式44软件软件(ru(run jin)n jin)触发的单脉

19、冲发生触发的单脉冲发生器器n n 工作特点 工作特点n n 写入控制字后,写入控制字后,OUT OUT输出高电平;输出高电平;n n 写入初值后,开始减 写入初值后,开始减1 1计数,减到 计数,减到0 0时,时,OUT OUT变低 变低n n 方 方式 式4 4无 无初 初值 值自 自动 动重 重装 装功 功能 能,OUT OUT输 输出 出一 一负 负脉 脉冲 冲,脉 脉冲宽度 冲宽度=1Tclk=1Tclkn n GATE=1 GATE=1,允许计数;,允许计数;GATE=0 GATE=0,停止,停止(tngzh)(tngzh)计数;计数;n n 计数过程中改变初值,则按新的初值重新开始

20、计数 计数过程中改变初值,则按新的初值重新开始计数图示 图示第21页/共68页第二十二页,共68页。6.6.方式 方式(fngsh)5(fngsh)5硬件触发的单脉冲 硬件触发的单脉冲发生器 发生器n n 工作特点 工作特点n n 写入控制字后,写入控制字后,OUT OUT输出高电平;输出高电平;n n 写 写入 入初 初值 值后 后,仅 仅当 当GATE GATE端 端出 出现 现0 0到 到1 1的 的跃 跃变 变时 时,启 启动 动计 计数 数减 减1 1计数;计数;n n 当 当计 计数 数至 至减 减到 到0 0时 时,OUT OUT输 输出 出一 一个 个CLK CLK周 周期 期

21、(zhuq)(zhuq)的 的负 负脉 脉冲 冲图示 图示第22页/共68页第二十三页,共68页。6.6.方式方式55硬件硬件(yn(yn jin)jin)触发的单脉冲发生触发的单脉冲发生器(续)器(续)n n GATE GATE的作用 的作用n n 在 在计 计数 数过 过程 程中 中,若 若GATE GATE端 端出 出现 现0 0 1 1的 的跃 跃变 变,初 初值 值重 重新 新(chngxn)(chngxn)装 装入 入计 计数 数器 器,并 并重 重新 新(chngxn)(chngxn)减 减1 1计数;计数;n n 在 在计 计数 数过 过程 程中 中,若 若改 改变 变计 计数

22、 数初 初值 值,仅 仅当 当GATE GATE的 的上 上升 升沿 沿触 触发 发,则 则立 立即 即按 按新 新的 的初 初值 值重 重新 新(chngxn)(chngxn)开 开始 始计 计数。数。图示 图示第23页/共68页第二十四页,共68页。8.2.3 8254的控制(kngzh)字与编程1.8254的方式(fngsh)控制字/状态字2.方式(fngsh)控制字计数制工作方式选择读/写方式选择计数器选择BCD M0M1M2RL0RL1SC0SC1D0D1D2D3D4D5D6D7第24页/共68页第二十五页,共68页。n n 方式控制字 方式控制字n n D7D6(SC1SC0)D7

23、D6(SC1SC0):计数器选择:计数器选择(xunz)(xunz)n n D7D6=00 D7D6=00 选择 选择(xunz)0(xunz)0号计数器 号计数器;n n D7D6=01 D7D6=01 选择 选择(xunz)1(xunz)1号计数器 号计数器;n n D7D6=10 D7D6=10 选择 选择(xunz)2(xunz)2号计数器 号计数器;n n D7D6=11 D7D6=11 读出控制字标志之一 读出控制字标志之一1.1.8254 8254的方式 的方式(fngsh)(fngsh)控制字 控制字/状态字(续)状态字(续)第25页/共68页第二十六页,共68页。p D5D4

24、(RL1RL0)读/写方式(fngsh)选择p D5D4=00,锁存计数器当前计数值以便读出。p D5D4=01,只读/写低8位计数初值,高8位置0。p D5D4=10,只读/写高8位计数初值,低8位置0。p D5D4=11,16位操作,先读/写低8位计数值,后读/写高8位计数值。n n 方式 方式(fngsh)(fngsh)控制字 控制字第26页/共68页第二十七页,共68页。p p D3D2D1(M2M1M0)D3D2D1(M2M1M0)工作方式 工作方式(fngsh)(fngsh)选择 选择p p D3D2D1=000 D3D2D1=000 方式 方式(fngsh)0;D3D2D1=01

25、1(fngsh)0;D3D2D1=011 方式 方式(fngsh)3(fngsh)3p p D3D2D1=001 D3D2D1=001 方式 方式(fngsh)1;D3D2D1=100(fngsh)1;D3D2D1=100 方式 方式(fngsh)4(fngsh)4p p D3D2D1=010 D3D2D1=010 方式 方式(fngsh)2;D3D2D1=101(fngsh)2;D3D2D1=101 方式 方式(fngsh)5(fngsh)5p p D0(BCD)D0(BCD)计数数制选择 计数数制选择p p D0=0 D0=0 二进制计数,初值范围:二进制计数,初值范围:p p 0000H

26、-FFFFH,0000H 0000H-FFFFH,0000H 代表 代表 65536 65536 p p D0=1 D0=1 十进制计数 十进制计数(BCD(BCD码 码),初值范围:,初值范围:p p 0000H-9999H,0000H 0000H-9999H,0000H 代表 代表10000 10000n n方式方式(fngsh)(fngsh)控制字控制字第27页/共68页第二十八页,共68页。例 例8.1 8.1 对 对8253 8253初 初始 始化 化,选 选择 择2 2号 号计 计数 数器 器,工 工作 作方 方式 式(fngsh)2(fngsh)2,计 计数 数初 初值 值为 为

27、533H 533H,二 二进 进制 制计 计数 数,程 程序 序段 段为:为:TIMER EQU 040H TIMER EQU 040H;0;0号计数器端口 号计数器端口地址 地址MOV MOV AL,10110100B AL,10110100B;2;2号计数器方式 号计数器方式(fngsh)(fngsh)控制字 控制字OUT OUT TIMER+3,AL TIMER+3,AL;写入控制字寄 写入控制字寄存器 存器MOV MOV AX,533H AX,533H;计数初值 计数初值OUT OUT TIMER+2,AL TIMER+2,AL;先送低位字节到 先送低位字节到2 2号计数器 号计数器M

28、OV MOV AL,AH AL,AH;取高位字节 取高位字节OUT OUT TIMER+2,AL TIMER+2,AL;再送高位字节到 再送高位字节到2 2号计数器 号计数器第28页/共68页第二十九页,共68页。0 CNT0CNT1CNT2STATUS COUNT 1 1D0D1D2D3D4D5D6D7D0=1 选中计数器0D1=1 选中计数器1D2=1 选中计数器20=锁存计数器状态0=锁存计数值n n读出控制读出控制(kngzh)(kngzh)字字第29页/共68页第三十页,共68页。在锁存计数值(shz)/状态信息期间,不影响计数;当CPU读取某一计数器的计数值(shz)/状态信息时,

29、该计数器自动解锁,但其它计数器不受影响。p p D7D6=11 D7D6=11,D0=0:D0=0:读出控制字的特征 读出控制字的特征(tzhng)(tzhng);p p D5=0 D5=0 锁存计数值,以便 锁存计数值,以便CPU CPU读取;读取;p p D4=0 D4=0 将状态信息锁存入状态寄存器;将状态信息锁存入状态寄存器;p p D3,D2,D1 D3,D2,D1 计数器选择 计数器选择p p Di=1,Di=1,计数器 计数器i i 被选中 被选中(i=0,1,2)(i=0,1,2)n n 读出控制 读出控制(kngzh)(kngzh)字(续)字(续)第30页/共68页第三十一页

30、,共68页。n n 状态字 状态字BCD M0M1M2RW0RW1NULLCOUNTOUTPUTD0D1D2D3D4D5D6D7编程设定的计数器方式1=无效计数0=计数值有效1=输出为1(高电平)0=输出为0(低电平)第31页/共68页第三十二页,共68页。p p D5 D5 D0:D0:意义与方式控制字的对应位意义相同 意义与方式控制字的对应位意义相同p p D7:OUT D7:OUT 引脚输出的电平状态 引脚输出的电平状态 p p D7=1 OUT D7=1 OUT 引脚为高电平 引脚为高电平p p D7=0 OUT D7=0 OUT 引脚为低电平 引脚为低电平p p D6:D6:表示读出

31、的计数值 表示读出的计数值 是否有效 是否有效(yuxio)(yuxio);p p D6=0 D6=0 表示初值 表示初值 已装入,可以读取计数值;已装入,可以读取计数值;p p D6=1 D6=1 初值尚未装入,读出值无效。初值尚未装入,读出值无效。n n状态字(续)状态字(续)第32页/共68页第三十三页,共68页。n n 8254 8254的读出操作 的读出操作(cozu)(cozu)8254 8254的读出操作有 的读出操作有3 3种办法 种办法(bnf)(bnf)GATE=0,GATE=0,停 停止 止计 计数 数,然 然后 后对 对相 相应 应的 的计 计数 数器 器端 端口 口进

32、 进行 行两 两次 次读 读操 操作 作(若 若是 是16 16位 位读 读),),依 依次 次读 读出 出锁 锁存 存计 计数 数值 值的 的低 低8 8位 位和高 和高8 8位。位。在 在计 计数 数过 过程 程中 中,先 先向 向控 控制 制寄 寄存 存器 器写 写一 一个 个D7D6=D7D6=计 计数 数器 器编 编号 号,D5D4=00 D5D4=00的 的控 控制 制字 字,锁 锁存 存当 当前 前的 的计 计数 数,再 再对 对相 相应 应的 的计 计数 数器端口进行读操作。器端口进行读操作。第33页/共68页第三十四页,共68页。在 在计 计数 数过 过程 程中 中,先 先向

33、 向控 控制 制寄 寄存 存器 器端 端口 口写 写入 入读 读出 出命 命令 令(D7D6=11,D0=0),(D7D6=11,D0=0),如 如果 果读 读出 出命 命令 令仅 仅锁 锁存 存计 计数 数器 器的 的状 状态 态信 信息 息(D5D4=10),(D5D4=10),则 则只 只对 对相 相应 应(xingyng)(xingyng)计 计数 数器 器端 端口 口进 进行 行1 1次 次读 读操 操作 作,即可读出状态信息;即可读出状态信息;如 如 果 果 读 读 出 出 命 命 令 令 仅 仅 锁 锁 存 存 计 计 数 数 器 器 的 的 当 当 前 前 计 计 数 数 值

34、值(D5D4=01),(D5D4=01),则 则对 对相 相应 应(xingyng)(xingyng)计 计数 数器 器端 端口 口进 进行 行2 2次 次读操作 读操作,依次读出锁存计数值的低 依次读出锁存计数值的低8 8位和高 位和高8 8位 位n n 8254 8254的读出操作 的读出操作(cozu)(cozu)(续)(续)第34页/共68页第三十五页,共68页。如 如果 果读 读出 出命 命令 令(mng(mng lng)lng)同 同时 时锁 锁存 存计 计数 数器 器的 的当 当前 前计 计数 数值 值和 和状 状态 态信 信息 息(D5D4=00),(D5D4=00),则 则对

35、 对相 相应 应计 计数 数器 器端 端口 口进 进行 行3 3次 次读 读操 操作 作,第 第一 一次 次读 读出 出状 状态 态信 信息 息,第 第二 二次 次读 读出 出计 计数 数值 值的 的低 低8 8位 位,第三次读出计数值的高 第三次读出计数值的高8 8位。位。n n82548254的读出操作的读出操作(cozu)(cozu)(续)(续)第35页/共68页第三十六页,共68页。例 例8.2 8.2 设 设8254 8254端 端口 口地 地址 址为 为40H-43H 40H-43H,要 要读 读取 取计 计数 数器 器2 2的 的当 当前 前16 16位计数值 位计数值(shz)

36、(shz),编程如下,编程如下:;用锁存方式读计数值;用锁存方式读计数值(shz)(shz)MOVMOVAL,84HAL,84H;84H;84H:计计数数器器22的的锁存命令锁存命令OUT OUT 43H,AL43H,AL;43H;43H:控控制制寄寄存存器器的端口地址的端口地址IN IN AL AL,42H 42H;读读低低88位位,42H42H:计计数数器器22的口地址的口地址MOV MOV CL,ALCL,AL;存入存入CLCL中中IN IN AL,42HAL,42H;对对同同一一个个端端口口读读高高88位位MOV MOV CH,ALCH,AL;存入存入CHCH中中第36页/共68页第三

37、十七页,共68页。;用读出命令字方式读计数值;用读出命令字方式读计数值MOV MOV AL,0E8H AL,0E8H;0E8H;0E8H:计数器:计数器2 2的读命令 的读命令OUT OUT 43H,AL 43H,AL;43H;43H:控制:控制(kngzh)(kngzh)寄存器口地址 寄存器口地址IN IN AL,42H AL,42H;读低 读低8 8位 位MOV MOV CL,AL CL,AL;存入 存入CL CL中 中IN IN AL,42H AL,42H;读高 读高8 8位 位MOV MOV CH,AL CH,AL;存入 存入CH CH中 中第37页/共68页第三十八页,共68页。;若

38、需要读出计数器;若需要读出计数器2 2的状态和当前计数值 的状态和当前计数值MOV MOV AL,0C8H AL,0C8H;0C8H 0C8H:计 计数 数器 器2 2的 的读 读命 命令 令(mng lng)(mng lng)OUT OUT 43H,AL 43H,AL;写入控制寄存器 写入控制寄存器IN IN AL,42H AL,42H;读计数器 读计数器2 2的状态信息 的状态信息MOV MOV BL,AL BL,AL;存入 存入BL BL中 中IN IN AL,42H AL,42H;读低 读低8 8位 位MOV MOV CL,AL CL,AL;存入 存入CL CL中 中IN IN AL,

39、42H AL,42H;读高 读高8 8位 位MOV MOV CH,AL CH,AL;存入 存入CH CH中 中第38页/共68页第三十九页,共68页。8.3 8253在IBM PC系列机上的应用(yngyng)A0A1 A0 A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2D QCLK+5V接至DMA控制器接至扬声器驱动器PB0PB1IRQ0DRQ0 8253+5V1.19318MHzDACK0 BRDIORIOWRDWRCST/CCS第39页/共68页第四十页,共68页。n n 8254 8254在 在系 系统 统中 中提 提供 供动 动态

40、态(dngti)(dngti)存 存储 储器 器的 的刷 刷新 新定 定时 时、系统的时钟中断、发声音调控制等功能。系统的时钟中断、发声音调控制等功能。计数器工作方式计数方式初值 控制字Toutfout0#3二进制0 36H 55ms1#2二进制12H 54H 15.1 s 66.8kHz2#3二进制533H B6H 约900Hz表7.2 8254在PC/AT中的使用(shyng)现状图示 图示第40页/共68页第四十一页,共68页。8.3.1 定时(dn sh)中断和定时(dn sh)刷新n计数器0作为定时(dn sh)中断的作用 计数器0:方式3,计数值(shz):65536,输出频率为1

41、.19318MHz6553618.206Hz的方波 门控为常启状态,这个方波信号不断产生 OUT0端接8259A的IRQ0,用作中断请求信号,每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断 DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能第41页/共68页第四十二页,共68页。定时(dn sh)中断mov al,36h;计数器0为方式3,采用(ciyng)二进制计数,;先低后高写入计数值Out 43h,al;写入方式控制字mov al,0;计数值为0out 40h,al;写入低字节计数值out 40h,al;写入高字节计数值8

42、253初始化 计数器 计数器0 0的初始化程序 的初始化程序(chngx)(chngx)第42页/共68页第四十三页,共68页。n n计数器计数器11:定时:定时(dn(dn sh)sh)刷新刷新n n 需要重复不断提出 需要重复不断提出(t ch)(t ch)刷新请求;刷新请求;n n 门控总为高,选择方式 门控总为高,选择方式2 2或 或3 3;n n 2ms 2ms内刷新 内刷新128 128次,即 次,即15.6 15.6 s s刷新一次;刷新一次;n n 计数初值为 计数初值为18 18第43页/共68页第四十四页,共68页。定时(dn sh)刷新mov al,54h;计数器1为方式

43、(fngsh)2,采用二进制计 数,只写低8位计数值out 43h,al;写入方式(fngsh)控制字mov al,18;计数初值为18out 41h,al;写入计数值8253初始化 计数器 计数器1 1的初始化程序 的初始化程序(chngx)(chngx)第44页/共68页第四十五页,共68页。8.3.2 扬声器控制(kngzh)n n 计数器 计数器2 2的输出控制扬声器的发声音调 的输出控制扬声器的发声音调n n 计 计数 数器 器2 2只 只能 能工 工作 作在 在方 方式 式3 3,才 才能 能输 输出 出一 一定 定频 频率 率的 的方 方波 波,经滤波后得到近似的正弦波,进而推动

44、扬声器发声 经滤波后得到近似的正弦波,进而推动扬声器发声n n 扬声器还受控于并行接口(扬声器还受控于并行接口(8255 8255芯片)芯片)n n 必 必 须 须 使 使 PB0 PB0和 和 PB1 PB1同 同 时 时 为 为 高 高 电 电 平 平,扬 扬 声 声 器 器 才 才 能 能 发 发 出 出(fch)(fch)预先设定频率的声音 预先设定频率的声音第45页/共68页第四十六页,共68页。频率(pnl)设置speaker procpush axmov al,0b6hout 43h,al;写入控制(kngzh)字pop axout 42h,al;写入低8位计数值mov al,a

45、hout 42h,al;写入高8位计数值retspeaker endp 扬声器控制 扬声器控制(kngzh)(kngzh)子程序 子程序第46页/共68页第四十七页,共68页。扬声器开speakon procpush axin al,61hor al,03h;D1D0PB1PB011B,其他(qt)位不变out 61h,alpop axretspeakon endp 扬声器控制 扬声器控制(kngzh)(kngzh)子程序 子程序第47页/共68页第四十八页,共68页。扬声器关speakoff procpush axin al,61hand al,0fch;D1D0PB1PB000B,其他(q

46、t)位不变out 61h,alpop axretspeakoff endp 扬声器控制 扬声器控制(kngzh)(kngzh)子程序 子程序第48页/共68页第四十九页,共68页。主程序;数据段freq dw 1193180/600;代码段mov ax,freqcall speaker;设置扬声器音调call speakon;打开扬声器声音mov ah,1;等待(dngdi)按键int 21hcall speakoff;关闭扬声器声音 扬声器控制程序 扬声器控制程序第49页/共68页第五十页,共68页。8.2.3 可编程硬件(yn jin)延时n n 利 利用 用日 日时 时钟 钟每 每隔 隔55ms 55ms中 中断 断一 一次 次不 不变 变的 的特 特点 点,可 可以 以编写一段不随系统时钟频率变化的固定延时程序 编写一段不随系统时钟频率变化的固定延时程序n n 由 由于 于日 日时 时钟 钟中 中断 断的 的时 时间 间单 单位 位(dnwi)(dnwi)是 是55ms 55ms,所 所以 以无法实现更短时间的延时 无法实现更短时间的延时n n 这 这时 时只 只有 有利 利用 用实 实时 时时 时钟 钟中 中断 断,不 不过 过它 它的 的最 最短 短延 延时 时约是 约是1ms 1ms(976 976 s s)第50页/共68页第五十一页,共68页。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁