微机原理08-定时计数接口.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理08-定时计数接口剖析

第8章:9.2 8253在IBM PC系列机上的应用 A0 A1 — — — A0 — A1 — D0~D7 D0~D7 OUT1 OUT2 OUT0 GATE0 GATE1 GATE2 CLK0 CLK1 CLK2 D Q CLK +5V 接至DMA控制器 接至扬声器驱动器 PB0 PB1 IRQ0 DRQ0 8253 +5V 1.19318MHz DACK0 BRD IOR IOW RD WR CS T/CCS 61H 第8章:9.2.1 定时中断和定时刷新 从阅读初始化程序段 看计数器0作为定时中断的作用 将计数器1作为定时刷新 看如何编写初始化程序段 第8章:计数器0:初始化程序 mov al,36h ;36H=00 11 011 0B ;计数器0为方式3,采用二进制计数 ;先低后高写入计数值 out 43h,al ;写入方式控制字 mov al,0 ;计数值为0 out 40h,al ;写入低字节计数值 out 40h,al ;写入高字节计数值 第8章:计数器0:定时中断 计数器0:方式3,计数值:65536,输出频率为1.19318MHz÷65536=18.206Hz的方波 门控为常启状态,这个方波信号不断产生 OUT0端接8259A的IRQ0,用作中断请求信号 每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断 DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能 第8章:计数器1:DRAM定时刷新 利用计数器1不断提出DRAM刷新请求 门控总为高,选择方式2或3 2ms内刷新128次,即15.6?s刷新一次 计数初值为18 第8章:计数器1:初始化程序 mov al,54h ;54H=01 01 010 0 B ;计数器1为方式2,采用二进制计数 ;只写低8位计数值 out 43h,al ;写入方式控制字 mov al,18 ;计数初值为18 out 41h,al ;写入计数值 第8章: 8.2.2 扬声器控制 计数器2的输出控制扬声器的发声音调 计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声 扬声器还受控于并行接口(8255芯片) 必须使PB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音 第8章:例题8.1 扬声器声音的控制 ;数据段 freq dw 600 ;代码段 mov bx,freq call speaker ;设置扬声器音调 call speakon ;打开扬声器声音 mov ah,1 ;等待按键 int 21h ;按键后 call speakoff ;关闭扬声器声音 8253在IBM PC系列机上的应用 A0 A1 — — — A0 — A1 — D0~D7 D0~D7 OUT1 OUT2 OUT0 GATE0 GATE1 GATE2 CLK0 CLK1 CLK2 D Q CLK +5V 接至DMA控制器 接至扬声器驱动器 PB0 PB1 IRQ0 DRQ0 8253 +5V 1.19318MHz DACK0 BRD IOR IOW RD WR CS T/CCS 61H 第8章:第8章教学要求 1. 掌握8253引脚,尤其是CLK、OUT、GATE引脚的功能 2. 掌握8253的六种工作方式中的方式0、2、3,相关编程及其应用 习题8 — 8.1 ~ 8.3 8.4⑴⑵⑶ 8.5 计数开始的时刻 需要注意: 处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低电平变高,再由高变低)才将预置寄存器的初值送到减1计数器。 从第二个CLK信号的下降沿,计数器才真正开始减1计数。 实验: 计数开始的时刻 8253/8254的I/O地址 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设置计数初值 CS RD A1 A0 WR 对计数器1设置计数初值 对计数器2设置计数初值 设置控制字 从计数器0读出计数值 从计数器1读出计数值 从计数器2读出计数值 8253的计数初值编程 ;某个8253的计数器0、1、2端口和控制端口地址依次是40H~43H ;设置计数器0采用二进制计数,写入计数初值:1024(=400H) mov ax,1024 ;计数初值:1024(=400H) ;计数器0地址:40H out 40h,al ;写入低字节计数初值 mov al,ah out

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档