机电控制技术第二章概论.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 计算机接口基础 端口操作 中断与DMA 定时器、计数器 串行接口 并行接口(打印口) A/D、D/A 总线 网络 计算机与外设交换数据的方式 查询方式 需要交换数据时,先查询标志,判断是否有数据交换 中断方式 一旦有数据可以交换,马上通知应用程序进行数据交换 DMA方式 有一批数据可以交换时,通知应用程序进行交换 端口与端口操作 计算机与外设交换数据的接口 接收外设数据、把数据送外设 控制外设的工作方式 接收外设的状态信息 端口地址 接口中的数据、控制、状态寄存器 统一编址(8051)与单独编址(PC) 端口操作(PC) 汇编:IN、OUT Turbo C/C++ Builder:inportb、outportb MS C/VC:_inp、_outp DOS/Windows9X Windows2000/Windows XP(VIOPort类) 端口地址选择 中断 PC机的硬件中断系统 PC机硬件中断资源分配 中断向量表(中断描述符表) 中断处理的过程 外设通过中断控制器向CPU请求中断 CPU执行完当前指令,给中断控制器发送中断响应信号 中断控制器把中断类型号发送给CPU CPU进行入栈处理,保护现场 CPU根据中断类型号,从中断向量表或中断描述符表中查出中断处理程序的入口地址 将入口地址赋值给程序计数器(CS、IP),转去执行中断处理程序 处理完中断,恢复现场,CPU继续从断点处执行其它指令 8259A中断控制器 PC机中断程序的编写 中断程序示例-主程序 串口接收数据 中断程序示例-中断程序 Windows系统中断程序处理 Windows系统虚拟设备管理程序 Windows系统中断程序示例1 Windows系统中断程序示例2 ptEvent.Enabled = 1 ptEvent.EventType=DS_EVT_INTERRUPT ptEvent.Count = txtInterruptCount.Text ErrCde = DRV_EnableEvent(Handle, ptEvent) ThreadHandle = CreateThread(0, 0, AddressOf EventThread, vbNullString, CREATE_SUSPENDED, ThreadID) ….. ptCheckEvent.EventType =RV_GetAddress(lngEventType) ptCheckEvent.Milliseconds = 1000 lngError = DRV_CheckEvent(Handle, ptCheckEvent) 8051单片机的中断系统 西门子S7300的中断系统 DMA (Direct Memory Access) 一次可以传输一批数据 不经过CPU,速度快 不需要利用CPU的寄存器,不必保护现场和恢复现场 是外设与内存直接交换数据最快的方法 DMA数据传送过程 外设向DMA控制器发一个DMA请求信号 DMA控制器收到请求后,向CPU发总线请求信号,CPU处理完当前指令,给DMA控制器发送总线允许信号,DMA控制器就获得了总线的使用权 将DMA控制器中地址寄存器中内容送到地址总线上 DMA控制器向外设发送一个确认DMA传输的信号,通知外设将数据送到数据总线上 数据送入地址总线所指向的内存单元 地址寄存器值+1、字节计数器值-1 重复5、6、7至字节计数器值为0 DMA传输结束,DMA控制器向CPU发结束信号,将总线控制权交还给CPU 可编程DMA控制器8237A Windows系统DMA程序处理 Windows系统DMA程序示例 定时器/计数器 定时方法 软件定时 硬件定时 作用 定时:提供恒定的时间基准 延时:等待指定的时间 计数:对外部脉冲计数 控制:输出指定宽度的脉冲(PWM);按照一定的频率输出脉冲 8253/8254芯片 特点 每片具有3个独立的16位计数通道 每个计数器可以单独作为计数或定时使用,都可以按照二进制或BCD码计数 每个计数器的计数速率达2MHz 6种工作方式 8253/8254应用 编程 控制字:确定工作方式,计数方式(基地址+3) 计数初值和当前计数值:基地址+0,1,2 微机上的应用 一片8253,其输入时钟频率为1193180Hz(固定),端口地址40H到43H 通道0:定时器,计数初值为65535,时间间隔为1/18.2秒 产生中断1CH和08H 改变这个初值,则定时间隔变化,如初值为1193,则间隔1毫秒 8253程序示例 outportb(0x43,0x36); /*以下设置1000Hz频率*/ outportb(0x40,0xA9); outportb(0x40,0x04); setvect(0x1c,g

文档评论(0)

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

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

1亿VIP精品文档

相关文档