- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10级微机原理12-定时器计数器8253
第十二章 定时器计数器接口8253及其应用 定时计数控制接口 8253的引脚和6种工作方式 8253的编程 8253在IBM PC系列机上的应用 定时器和计数器 定时控制在微机系统中极为重要 定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔 计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常称为计数器 定时功能的实现方法 软件延时——利用微处理器执行一个延时程序段实现 不可编程的硬件定时——采用分频器、单稳电路或简易定时电路控制定时时间 可编程的硬件定时——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路 8253定时计数器 3个独立的16位计数器通道 每个计数器有6种工作方式 按二进制或十进制(BCD码)计数 8253的内部结构和引脚 计数器结构示意图 计数器的3个引脚 CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1 GATE门控输入信号——控制计数器工作(1允许/0禁止计数,1启动/0停止计数),可分成电平控制和上升沿控制两种类型 OUT计数器输出信号——当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号 8253的工作方式 方式0:计数结束中断方式 事件计数器 方式1:硬件可重触发单稳态方式 方式2:速率发生器 分频电路 方式3:方波发生器 方式4:软件触发选通方式 方式5:硬件触发选通方式 方式0 计数结束中断 信号说明: ① ---- 写控制字 ② ---- 写计数值 ③ ---- 启动计数 ④ ---- 开始计数 ⑤ ---- 计数 ⑥ ---- 计数结束 方式1 可编程单稳脉冲 方式2 速率发生器(分频器) 方式3 方波发生器 方式4 软件触发选通信号 方式5 硬件触发选通信号 各种工作方式的输出波形 8253的编程 8253加电后的工作方式不确定 8253必须初始化编程,才能正常工作 写入控制字(A1A0=11) 写入计数初值 读取计数值 1 写入方式控制字 2 写入计数值 选择二进制时 计数值范围:0000H~FFFFH 0000H是最大值,代表65536 选择十进制(BCD码) 计数值范围:0000~9999 0000代表最大值10000 以16进制方式写入 3 读取计数值 对8位数据线,读取16位计数值需分两次 必须读完两个字节,不能只读一个 计数在不断进行,应该将当前计数值先行锁存,然后读取: 硬件控制 使GATE无效,或阻断时钟 软件控制 向控制字I/O地址:写入锁存命令 从计数器I/O地址:读取锁存的计数值 8253的I/O地址 8253在IBM PC系列机上的应用 IBM PC/XT主机板的I/O地址 40H 8253A通道0计数值读写口 41H 8253A通道1计数值读写口 42H 8253A通道2计数值读写口 43H 8253A控制口 60H 8255 A口 61H 8255 B口 62H 8255 C口 63H 8255 控制口 计数器0:定时中断 计数器0:方式3,计数值:65536,输出频率为1.19318MHz÷65536=18.206Hz的方波 门控为常启状态,这个方波信号不断产生 OUT0端接8259A的IRQ0,用作中断请求信号 每秒产生18.206次中断请求,或者说每隔55ms(54.925493ms)自动申请一次中断 DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能 计数器1:定时刷新 动态存储器需要重复不断提出刷新请求 门控总是为高,选择方式2或3 2ms内刷新128次,即15.6?s刷新一次 计数初值为18 扬声器控制 计数器2的输出控制扬声器的发声音调 计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声 由计数值确定发生频率 扬声器还受控于并行接口(8255芯片) 必须使PB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音 确定发声时间的长短 思考:为何要PB0和PB1,一个不行? 8.2.3 可编程硬件延时 利用日时钟每隔55ms中断一次不变的特点,可以编写一段不随系统时钟频率变化的固定延时程序 由于日时钟中断的时间单位是55ms,所以无法实现更短时间的延时 这时只有利用实时时钟中断,不过它的最短延时约是1ms(976 ?s) 例:外部事件计数 一个真实的科研课题 激波管、弹道靶速度测量 技术要求:多通道、计时精度优于1微秒,准确、可靠、自动 90年代初,价值2万,相当于现在??? 作为设计思考题,下节课给出全部设计软硬件系统 ;
文档评论(0)