- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 鼠标接口 7.1 鼠标的工作原理 1. 鼠标分机械式鼠标和光电式鼠标两类。如果从按键的数量来分,又可分为二键鼠标和三键鼠标。 1.1 机械式鼠标带滚轮球,通过RS-232C串行口连接在微机上,通过转动滚球,产生X、Y方向移动的信号,由信号线传送到计算机的串口,操作系统收到鼠标的信号后产生图标并显示在屏幕上。当用户按鼠标左键、右键和中间键时,操作系统根据鼠标光标的位置决定执行相应的命令。 在鼠标的驱动程序中,左键为0,右键为1,中键为2。 1.2 光电鼠标是通过光电二极管照射在一块 由红绿网格线组成的板上,当鼠标移动时,通过感应红绿线数来计算鼠标移动的位置,然后反馈给操作系统。 鼠标驱动程序大多数是遵照Microsoft提出的调用系统标准, 1.3 鼠标驱动程序: 1. 基于文本模式和基于图形模式的两种鼠标驱动程序。在文本模式下,光标在不连续的行和列位置间跳动,光标的形状为整个字符大小的方块,光标热点只能定位在80 x 24的一个点上。精度差。在图形模式下,光标在屏幕上可连续地通过,光标形状可由使用者自己设计为任何形状。光标的热点位置是一个象素点。精度高。 2. 鼠标驱动程序 下拉菜单的选择:通过对屏幕上的窗口、标签和连接等的组合操作来完成所希望的工作。 最复杂的程序是用鼠标在屏幕上作图和编辑图象。 3. 鼠标驱动程序的安装:需要Windows支持实模式和虚模式的设备驱动程序,具体为Mouse.bin、M、或Mouse.drv等。 软件安装之后,IRQ4(COM1口)或IRQ3(COM2口)提供硬件中断服务程序。INT 33h是鼠标的应用程序界面,提供一组子功能,向应用程序报告按键情况并设置内部工作状态。 4.鼠标的硬件支持 常由下列事件导致它向CPU发硬件中断请求: (1)鼠标移动的单位:米基(Mickey) 1Mickey = 1/200英寸 (2)鼠标移动的方向:左移、右移、上移、下移、左键按下和放开、右键按下和放开等。 (3)CPU响应的断口地址:串行口RBR寄存器其地址为3F8H或2F8H,在此取出一个字节的数据,该数据的编码置反映事件中的中断,不同的中断事件导致硬件中断服务程序作出不同的处理。 (4)鼠标驱动程序是通过中断号INT 33h来工作的。各鼠标的功能是通过在AX寄存器设置功能号来调用。先启动M或Mouse.bin;再调用INT 33h。 7.2 鼠标操作方式 本书用汇编语言对鼠标的各项操作进行描述的,也可以用C、C++等其他语言来描述。 1. 初始化鼠标驱动程序: 例如:中断号INT33h 功能16h 子功能17h 中断号:用于请求服务 功能号:用于确定用户期望获取哪种服务 子功能号:进一步指定所希望的服务 调用寄存器:设置被调用的服务功能所要求的参数 返回寄存器:返回服务功能执行结果 调用的进程:设置参数 中断号INT33h 功能15h BX寄存器 ES:DX 功能16h 功能17h ES:DX 2. 显示或隐藏鼠标光标 中断33h的功能1和2分别置鼠标光标为“打开”和“关闭”。而鼠标驱动程序一直跟踪鼠标的移动,当鼠标移动时就更新它在屏幕的位置。 鼠标的程序从开始通常在打开光标,一直到程序结束。 鼠标驱动程序采用光标标记,用做显示和隐藏光标的分层方法。初次打开光标标记设为-1;功能1将标记加至0,使光标出现。功能2将标记减1,当标记为负值时就隐藏光标。 3. 设置文本鼠标光标的形状 在以视频文本模式工作时,鼠标驱动程序生成两类光标: (1)硬件光标,由视频硬件所产生的常规屏幕光标,由水平扫描线组成。 (2)软件或属性光标,这种情况下,鼠标驱动程序在光标出现的屏幕位置写数据。驱动程序在改变此位置显示的字符或改变字符属性,使它闪烁、背景色等。 (3)中断33h的功能Ah设置文本光标的类型:AX存放功能号;BX存放应光标或软件光标选择;CX存放起始扫描线;DX存放终止扫描线。 4. 设置图形鼠标光标的形状 中断33h的功能9h设置图形模式下的鼠标光标的形状,并定义光标里的一个点为热点。光标由16 x 16位的视频掩码和16 x 16位的光标掩码组成。 5. 取得或设置鼠标光标的位置 中断33h的功能4h用于设置鼠标光标位置,功能3h则用于报告光标的位置。AX存放功能号,CX被赋予X坐标,DX被赋予Y坐标。P200例7-4 6. 将鼠标光标限定在屏幕的一部分 将鼠标光标可以限制在屏幕的一个矩形区域内,由中断33h的功能7h设置鼠标光
文档评论(0)