基于USB有线鼠标设计(毕业论文).doc_第1页
基于USB有线鼠标设计(毕业论文).doc_第2页
基于USB有线鼠标设计(毕业论文).doc_第3页
基于USB有线鼠标设计(毕业论文).doc_第4页
基于USB有线鼠标设计(毕业论文).doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录一单片机21.1单片机的发展21.2单片机的现状31.3单片机的内部结构3一SPI通信协议42.1 SPI概述42.2接口定义52.3内部结构52.4传输时序6三USB通信协议73.1 USB通信系统的描述73.2 USB电气特性93.3数据流种类103.3.1 控制数据传送103.3.2 批量数据传送103.3.3 中断数据传输103.7.4 同步传输103.4 USB总线枚举过程10四传感器SENSOR114.1 PAN3102概况114.2 芯片管脚:124.3寄存器:134.4写时序:134.5 读时序:134.6 SENSOR应用电路图:144.7 组装结构图:15五鼠标滚轮编码器165.1 编码器结构图165.2 编码器引脚165.3 时序:165.4 算法流程图:185.5程序算法实现19六鼠标设计236.1鼠标设计结构图:236.2 程序模块:236.2.1主程序模块:main()246.2.2传感器SENSOR扫描模块266.2.3 滚轮扫描模块336.2.4按键扫描模块34附录:有线鼠标设计原理图45参考文献:47鸣谢:47【摘要】 A computer mouse with the most common standard features: two buttons and a scroll wheel, which can also act as a third button In computing, a mouse (plural mice, mouses, or mouse devices.) is a pointing device that functions by detecting two-dimensional motion relative to its supporting surface. Physically, a mouse consists of an object held under one of the users hands, with one or more buttons. It sometimes features other elements, such as wheels, which allow the user to perform various system-dependent operations, or extra buttons or features can add more control or dimensional input. The mouses motion typically translates into the motion of a cursor on a display, which allows for fine control of a Graphical User Interface.The name mouse, originated at the Stanford Research Institute, derives from the resemblance of early models (which had a cord attached to the rear part of the device, suggesting the idea of a tail) to the common mouse.The first marketed integrated mouse shipped as a part of a computer and intended for personal computer navigation came with the Xerox 8010 Star Information System in 1981. However, the mouse remained relatively obscure until the appearance of the Apple Macintosh; in 1984 PC columnist John C. Dvorak ironically commented on the release of this new computer with a mouse: “There is no evidence that people want to use these thingsA mouse now comes with most computers and many other varieties can be bought separately。The first known publication of the term mouse as a pointing device is in Bill Englishs 1965 publication Computer-Aided Display Control.4The Compact Oxford English Dictionary (third edition) and the fourth edition of The American Heritage Dictionary of the English Language endorse both computer mice and computer mouses as correct plural forms for computer mouse. Some authors of technical documents may prefer either mouse devices or the more generic pointing devices. The plural mouses treats mouse as a headless noun.Two manuals of style in the computer industry Sun Technical Publications Read Me First: A Style Guide for the Computer Industry and Microsoft Manual of Style for Technical Publications from Microsoft Press recommend that technical writers use the term mouse devices instead of the alternatives.Douglas Engelbart at the Stanford Research Institute invented the first mouse prototype in 19635 with the assistance of his colleague Bill English. Engelbart never received any royalties for it, as his patent ran out before it became widely used in personal computers.6The invention of the mouse was just a small part of Engelbarts much larger project, aimed at augmenting human intellect.7Eleven years earlier, the Royal Canadian Navy had invented the trackball using a Canadian five-pin bowling ball as a user interface for their DATAR system.8Several other experimental pointing-devices developed for Engelbarts oN-Line System (NLS) exploited different body movements for example, head-mounted devices attached to the chin or nose but ultimately the mouse won out because of its simplicity and convenience. The first mouse, a bulky device (pictured) used two gear-wheels perpendicular to each other: the rotation of each wheel translated into motion along one axis. Engelbart received patent US3541541 on November 17, 1970 for an X-Y Position Indicator for a Display System.9 At the time, Engelbart envisaged that users would hold the mouse continuously in one hand and type on a five-key chord keyset with the other.10 The concept was preceded in the 19th century by the telautograph, which also anticipated the fax machine.【Key Words】:MCU Mouse SPI USB【教师点评】1单片机1.1单片机的发展通常按单片机数据总线的位数,将单片机分为4位,8位,16位和32位机。1975年,世界上第一个4位单片机在德谢州仪器(TI)公司诞生。后来陆续出现了OKI公司的MSM64164,MSM64481;NEC公司的75006XX系列;EPSON公司的SMC62系列等4位单片机。1976的9月INTEL公司推出MCS-48系列单片机;1978年月10月ZUKIG公司推出Z-8系列单片机;同时MOTOROLA公司推出指令系统与68000系列微处理机兼容的单片机6801;1980年INTER公司又推出了高性能的8位MCS-51,它采用CMOS工艺替代了以8048为代表的NMOS工艺,使得单片机发展到第二代,至今,MCS-51仍然是市场上主流产品之一。1983年,INTEL公司16位单片机MCS-96研发成功。些后,各大公司的16位单片机相继问世,如TI的MSP430系列及MOTOROLA的68HC11系列。32位单片机是近年来发展起来的,它顺应了基于Internet,无线数字传输的嵌入式应用领域的需求,目前各主要半导体生产商(如MOTOROLA,TOSHIBA,HITACH,NEC,EPSON,SAMSUNG等都有32位单片机产品,其中又以32位ARM单片机及MOTOROLA的MC683XX,68K系列应用相对广泛。从以上单片机的发展时间来看,其发展经历了四代。20世纪70年代后期,4位逻辑控制器发展到8位。使用NMOS工艺,速度低,功耗大,集成度低,通常称这一时期的单片机为第一代单片机。20世纪80年代初,采用CMOS工艺,并逐渐被高速,低功耗的HMOS工艺代替。代表品有MC146805,INTEL8051,这标志着第二代单片机的问世。近10年代来第三代MCU的发展出现了一些新一特点:(1) 在技术上,由可扩展总线型向纯单片型发展,即只能工作在单片方式。(2) MCU的扩展方式从并行总线型发展出各种串行总线。(3) 将多个CPU集成到一个MCU中。(4) 功耗更低,可靠性更高,MCU工作电压已降至3.3V。FLASH的使用,标志着MCU技术进入了第四代。从20多年来的单片机发展历程可以看出,单片机技术的发展以微处理技术和大规模集成电路发展为基础,以广泛的市场需求为动力,其特点表现在以下几个方面:(1)单片机的生命周期长。与MCU相比,CPU更新换代的速度越来越快,从386,486,586到P4,几乎每隔不到两年,微处理器就有一次换代。而传统的单片机(如8051,68HC05)已有近20年,产量仍处于上升势头。(2)接口功能的不断丰富。这里说的接口是指各种传感器接口,工业对象的电气接口,驱动的功率接口,通信网络接口,这是单片机的应用日益广泛的结果,如今,单片机可以轻松地和一些工业总线(如RS232,RS485)接口。(3)单片机的速度越来越快。一方面在软件设计上,通过改善单片机的内部时序,在不提高时钟频率的条件下,运算速度得到了提高;另一方面。随着硬件技术的进步,高速单片机不出现,迄今为止,高版本的ARM处理器内核已经达到了1GHZ以上的时钟频率。(4)低电压与低功耗。几乎所有的单片机都有Wait,Stop等省电运行方式,允许使用的电源电压范围也越来越宽。一般单片机的工作电压都在,由电池供电的单片机不再需要对电源采取稳压措施。低电压供电的单片机电源下限已由2.7降至1。8V。还有0.9V供电的单片机也已经问世。1.2单片机的现状总的来说,单片机的发展与PC机不同,后者是不断淘汰落后的,而单片机能否生存则关键看其是否方便实用,而不是单纯以速度快,位数高,功能全来提高市场占有率,因此不同档次和性能的单片机均占有一定的市场份额,目前,单片机产量仍以每年27%的速度递增。据不完全统计,全世界嵌入式单片机的品种总量已经超过1000多种,主流的体系结构有30多种。随着集成工艺水平的不断提高,单片机的发展逐渐形成两趋势:一是功能不断完善,在实现相同功能的前提下减下外围电路。比如集成A/D转换器,就不需要外按专用的A/D转换芯片;自带WDT看门狗,也不需要设计专门的看门狗电路。二是高速的海量数据处理。在图像处理,雷达系统等对数据处理速度和实时性要求高的场合,专用的数字信号处理芯片DSP应运而生。专门的硬件设计以及指令系统,大大缩短了运算的指令周期,使得DSP的数据处理能力可以达到PC机的机。除此之外,近年来还出现了神经元单片机,用于计算机网络和并行处理的信息驱动处理器(MDP)等新型单片机,它们都是基于提高单片机速度和处理能力的思想而产生的。单片机已渗透到我们生活的各个领域。从军事上导弹的导航装置,各种航空仪表,到工业中实时控制和数据处理,计算机网络通信,汽车的电子系统,工业机器人,智能仪表,以及日常生活中使用的智能IC卡,数码相机,全自动洗衣机等都离不开单片机。作为主流单片机的8位机仍将在多个领域扮演重要角色。1.3单片机的内部结构1.3.1 MCS-51单片机的CPU1算术逻辑单元MCS-51的算术逻单元可以实现加减乘除四则运算,也可以实现与,或,非,异或等逻辑运算,同时也能完成程序控制功能,实现程序的调用与转移。2内部寄存器(1)程序计数器PC程序计算器PC是一个16位的寄存器,用于存放下一个机器周期读出的指令字节的地址,并且每从内存中读出一个指令字节,其内容会自动加1。改变PC的内容会使程序产生转移。(2)累加器A累加器A是一个8位的寄存器。在CPU完成某种操作前,它存放一个操作数;操作后存放操作的结果。(3)通用寄存器这是一个8位的寄存器,专门为乘除运算而设置。乘除执行前,该寄存器存放乘数或除数,在乘除法结束后用于存放乘或除法的高8位或除法的余数。(4)程序状态字PSW程序状态PSW又称为标志寄存器(或条件寄存器),是一个8位的寄存器,用于存放指令执行所产生的状态。PSW各位定义如图所示7 6 5 4 3 2 1 0CYACF0RS1RS0OVP(5)堆栈指针SP这是一个8位的寄存器。堆栈是在单片机内部RAM中定义的一个存储区域,用于临时存放数据。由于8051中RAM的地址在为00H7FH,堆栈只能在此范围内定义,而且,堆栈操作总是遵循“先进后出”的原则,堆栈指针SP总是指向堆栈的顶。当堆栈中无数据时,堆栈顶与堆栈底重合。(5) 数据指针DPTR数据指DPTR是一个16位的寄存器,又可分两个8位寄存器DPH和DPL。该寄存器可用于存放单片机片外ROM地址或片外RAM地址的读写。1.3.2 MCS-51的输入输出接口MCS-51的4个并行的I/O接口分别为P0,P1,P2,P3。2.SPI通信协议2.1 SPI概述SPI:高速同步串行口。是一种标准的四线同步双向串行总线。SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如AT91RM9200.SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。 要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从设备的系统中,每个从设备需要独立的使能信号,SS硬件上比I2C系统要稍微复杂一些。2.2接口定义SPI接口共有四根线:分别:设备选择线,时钟线,串行输出数据线,串行输入数据线。图2-1 SPI接口图(1)MOSI:主器件数据输出,从器件数据输入(2)MISO:主器件数据输入,从器件数据输出(3)SCLK :时钟信号,由主器件产生(4)/SS:从器件使能信号,由主器件控制2.3内部结构图2-2 SPI内部结构2.4传输时序SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变上升沿一位数据被存入移位寄存器。图2-1SPI输传时序3USB通信协议3.1 USB通信系统的描述USB系统主要包括三个部分1USB的互连2USB的设备3USB的主机 当设备被连接,编号后,该设备就拥有一个惟一的USB地址。设备是通过该USB地址被操作的,每一个USB设备通过一个或多个通道与主机通信。所有USB设备必须在零号端口上有一个指定的通道,每个USB设备的USB控制通道将与之相连。通过此控制通道,所有的USB设备都列入一个共同的准入机制,以获得控制操作的信息。在零号端口上,控制通道中的信息应完整地描述USB设备。此类信息主要有以下几类1标准信息:这类信息对所有USB设备的共同性的定义,包括一些如厂商识别,设备种类,电源管理之类的项目。2类别信息:此类信息给出了不用USB的设备类的定议,主要反映其不同点。3USB厂商信息:USB设备的厂商可自由地提供各种有关信息,其格式不受该规范制约。此外每个USB设备均提供USB的控制和状态信息。在即插即用的USB的结构系中,集线器是一种重要的设备。如图所示是一种典型的信线器。从用户的观点出发,集线器(如图3-1)极大地简化了USB的互连复杂性,而且以很低的价格和高易用性提供了设备的健壮性。图3-1 集线器集线器串接在集中器上,可让不同性质的设备连接在USB上。连接点称做端口。每个集线器将一个连接点转化成许多的连接点,并且该体系结构支持多个集线器的连接。每个集线器的上游端口向主机方向进行连接,下游端口允许连接另外的集线器或功能部件,集线器可检测每个下游端口的设备的安装或拆卸,并可对下游端口的设备分配能源。每个下端口都具有独立的能力,不论高速或低速设备均可连接。集线器可将低速和高速端口的信号分开。集线器包括两部分:集线控制器和集线放大器。集线放大器是一种位于上游端口下游端口之间的协议控制开关,在硬件上支持复位,挂起,唤醒的信号。集线控制器提供了接口寄存器用于与主机之间的通信,集线器允许主机对其特定状态和控制命令进行设置,并监视和控制其端口。功能部件是一种通过总线进行发送/接收数据和控制信息的USB设备,通过一根电线连接在集线器的某个端口上。功能设备一般是一种相互无关的外设。一个物理单元中可以有多个功能部件和一个内置集线器,利用一根USB电缆相连,即一个集线器连向主机,并有一个或多个不可拆卸的USB设备连在其上。每个功能设备都包含设置信息,来描述该设备的性能和所需资源。主机要在功能部件使用前对其进行设置。设置信息包括USB带宽分配,选择设备的设置信息等。台式机环境下的集线器如图图323.2 USB电气特性图3-3USB 的电缆USB传送信号和电源是通过一种四线的电缆,图3-2中的两根线是用于发送信号。 存在两种数据传输率USB的高速信号的比特率定为12Mbps; 低速信号传送的模式定为1.5Mbps;3.3数据流种类 数据和控制信号在主机和USB设备间的交换存在两种通道:单向和双向。USB的数据传送是在主机软件和一个USB设备的指定端口之间。这种主机软件和USB设备的端口间的联系称作通道。总的来说,各通道之间的数据流动是相互独立的。一个指定的USB设备可有许多通道。例如,一个USB设备存在一个端口,可建立一个向其它USB设备的端口,发送数据的通道,它可建立一个从其它USB设备的端口接收数据的通道。USB的结构包含四种基本的数据传输类型:控制数据传送:在设备连接时用来对设备进行设置,还可对指定设备进行控制,如通道控制; 批量数据传送:大批量产生并使用的数据,在传输约束下,具有很广的动态范围; 中断数据的传送:用来描述或匹配人的感觉或对特征反应的回馈。 同步数据的传送:由预先确定的传送延迟来填满预定的USB带宽。 对于任何对定的设备进行设置时一种通道只能支持上述一种方式的数据传输,数据流模式的更多细节在第四章中详述。3.3.1 控制数据传送 当USB设备初次安装时,USB系统软件使用控制数据对设备进行设置,设备驱动程序通过特定的方式使用控制数据来传送,数据传送是无损性的。3.3.2 批量数据传送 批量数据是由大量的数据组成,如使用打印机和扫描仪时,批量数据是连续的。在硬件级上可使用错误检测可以保证可靠的数据传输,并在硬件级上引入了数据的多次传送。此外根据其它一些总线动作,被大量数据占用的带宽可以相应的进行改变。3.3.3 中断数据传输 中断数据是少量的,且其数据延迟时间也是有限范围的。这种数据可由设备在任何时刻发送,并且以不慢于设备指定的速度在USB上传送。 中断数据一般由事件通告,特征及座标号组成,只有一个或几个字节。匹配定点设备的座标即为一例,虽然精确指定的传输率不必要,但USB必须对交互数据提供一个反应时间的最低界限。3.7.4 同步传输 同步数据的建立、传送和使用时是连续且实时的,同步数据是以稳定的速率发送和接收实时的信息,同步数据要使接收者与发送者保持相同的时间安排,除了传输速率,同步数据对传送延迟非常敏感。所以同步通道的带宽的确定,必须满足对相关功能部件的取样特性。不可避免的信号延迟与每个端口的可用缓冲区数有关。 一个典型的同步数据的例子是语音,如果数据流的传送率不能保持,数据流是否丢失将取决于缓冲区的大小和损坏的程度。即使数据在USB硬件上以合适的速率传送,软件造成的传送延迟将对那些如电话会议等实时系统的应用造成损害。实时的传送同步数据肯定会发生潜在瞬时的数据流丢失现象,换句话说,即使许多硬件机制,如重传的引入也不能避免错误的产生。实际应用中,USB的数据出错率小到几乎可以忽略不计。从USB的带宽中,给USB同步数据流分配了专有的一部分以满足所想得到的传速率,USB还为同步数据的传送设计了最少延迟时间。3.4 USB总线枚举过程当USB设备接入或者断开USB连接后,USB主机通过总线枚举过程确定和组织设备状态的转换。当设备接入USB总线后,USB主机将通过下面的步骤完成USB设备的枚举过程。(1).USB设备插入的HUB通知主机有USB设备连接到USB总线上,这时USB设备处于供电状态。(2).USB主机通过查询HUB来获得准确的信息。(3).当USB主机得到准确的设备信息后,USB主机将等待到少100MS,让设备的总线供电处于稳定状态,然后USB设备使能端口,并向USB设备发送复位请求。(4).HUB执行必要的复位过程,当复位过程结束后,端口处于使能状态,USB设备的寄存器被初始化,USB设备通过默认的地址对总线标准请求进行响应。(5).USB主机为USB设备分配一个设备地址。(6).在设备获得指定地址之前,USB主机仍然可以按默认地址和USB设备的控制端口进行通信。USB主机通过读设备描述符来获得设备端口的最大载荷。(7).USB主机获得设备的配置信息。(8).根据获得的设备配置信息,主机向设备发送设备配置请求,设备完成响应后,USB设备的配置过程就正确完成了。4传感器SENSOR4.1 PAN3102概况PAN3102:PAN3102台湾原相科技推出的光学SENSOR鼠标传感器。CMOS工艺,自带DSP导航,具有高分辩率的CMOS芯片。电压:4.25V5.5V光学透镜:1:1速率:28inches/sec分辨率:800/1000(默认)/1200/1600CPI帧速:3000frames/sec电流:10MA(鼠标移动) 5MA(鼠标停止) 100UA (省电模式)封装:DIP84.2 芯片管脚:图4-1 芯片引脚 图4-2 鼠标结构图序号名称类型描述1OSC_RESIN内部RC振荡,系统时钟2NC_不连接3SDIOI/O串口双向数据线4SCLKIN串口时钟控制线5LEDOUTLED控制6VSSGND地7VDDPWR电源8VREEBYPASS电压调制表4-1 芯片引脚4.3寄存器:表4-24.4写时序:数据传输从主控到SENSOR,由主控初始化,第一字节7位地址(“1”)表明数据方向,第二字节包括要写的数据。时钟钱SCLK由主控控制,在SCLK下降沿主控变化SDIO,在SCLK上升沿SENSOR读取数据。图4-3 写时序4.5 读时序:数据传输从SENSOR到主控,由两字节组成,由主控初始化,第一字节(7位)包含地址(0)表示数据方向,第二字节包含要读取的数据。时钟线SCLK由主控控制。SDIO在SCLK下降沿变化,主控在上升沿读取SDIO状态。图4-3 读时序4.6 SENSOR应用电路图:*X1由PAN3101 使用 图4-4 应用电路图4.7 组装结构图:图4-4 组装结构图5鼠标滚轮编码器5.1 编码器结构图图5-1 结构图5.2 编码器引脚:滚轮每转一小格A和B脚先后和C脚接触。图5-2 结构图5.3 时序:5.3.1逆时针 图5-35.3.2顺时针:图5-45.4 算法流程图:图5-55.5程序算法实现Wheel_Scan_Process():通过Wheel_Scan_Flag标致位1ms扫描一次滚轮数据,2ms判断是否有滚轮数据,有则发送滚轮数据。在Wheel_Scan()中,通过Wheel_Status各标致位滚轮是否为正转或反转。ZWH_A_Status_Nonce,ZWH_B_Status_Nonce为当前滚轮状态。开始扫描该位清零,并扫描判断滚轮当前状态。如果为不稳定状态时保存不稳定状态(Last_Variety_Status 0: 0x10; 1: 0x01)并致位Variety_Status_Valid后退出。如果扫描为稳定状态则应判断,稳定状态是否发生改变(00变为11或11变为00),没有改变则退出,改变则根据上次稳定状态和上次不稳定状态标志为判断滚轮是正转还是反转。/* Copyright (c) 2009, SHENZHEN SEMITEK Co.,LTD.* All rights reserved.* 文件名称: Wheel_Scan_Process.c* 文件描述: 滚轮扫描程序处理* 版 本: * 作 者: * 日 期: 2009-10-11* 功能说明: 滚轮扫描* 适用环境: 适用于WT6517系列MCU,鼠标键盘应用项目* 修改说明:*/#include #include REG52.H#include MEMALLOC.h/-;/外部变量定义extern unsigned char idata Mouse_Data_Z;extern bit Mouse_Data_Send;/-;/变量定义unsigned char idata Wheel_Data;unsigned char idata Wheel_Time;unsigned char bdata Wheel_Status;/ sbit Variety_Status_Valid = Wheel_Status7; sbit Last_Stably_Status = Wheel_Status5; sbit Last_Variety_Status = Wheel_Status4; sbit ZWH_A_Status_Nonce = Wheel_Status1; sbit ZWH_B_Status_Nonce = Wheel_Status0;/bit bdata Wheel_Scan_Flag;sbit ZWH_A_Pin = P33;sbit ZWH_B_Pin = P32;/-;/* 函数名称: Wheel_Scan()* 功能描述: 滚轮扫描解码程序* 说 明: Wheel_Status:全局变量,用于保存滚轮解码器的相关状态* Wheel_Status的0x00位为ZWH_B的当前状态位* Wheel_Status的0x01位为ZWH_A的当前状态位* Wheel_Status的0x04位为上一次不稳定状态位,0: 0x10; 1: 0x01* Wheel_Status的0x05位为上一次稳定状态位,0: 0x00; 1: 0x11* Wheel_Status的0x07位为ZWH_A的不稳定状态有效位* Wheel_Data:全局变量,用于保存滚轮解码的数据* 扫描时间间隔4)&0x03) = 0x00)|(Wheel_Status4)&0x03) = 0x03) Wheel_Data+; else if(Wheel_Status4)&0x03) = 0x01)|(Wheel_Status4)&0x03) = 0x02) Wheel_Data-; Last_Stably_Status = 0; /滚轮状态发生变化时,保存扫描到的滚轮状态 if(ZWH_B_Status_Nonce) Last_Stably_Status = 1; 图5-6/* 函数名称: Wheel_Scan_Process()* 功能描述: 滚轮扫描处理程序* 说 明: * */void Wheel_Scan_Process(void) if(!Wheel_Scan_Flag) /1ms扫描一次滚轮 Wheel_Time+; Wheel_Scan_Flag = 1; Wheel_Scan(); if(0x02 = Wheel_Time) /2ms发送一次滚轮数据 Wheel_Time = 0; if(0 != Wheel_Data) Mouse_Data_Z = Wheel_Data; Mouse_Data_Send = 1; Wheel_Data = 0; 6鼠标设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论