电子信息工程毕业论文1 .doc

上传人:仙人指路1688 文档编号:4029517 上传时间:2023-04-01 格式:DOC 页数:29 大小:1.66MB
返回 下载 相关 举报
电子信息工程毕业论文1 .doc_第1页
第1页 / 共29页
电子信息工程毕业论文1 .doc_第2页
第2页 / 共29页
电子信息工程毕业论文1 .doc_第3页
第3页 / 共29页
电子信息工程毕业论文1 .doc_第4页
第4页 / 共29页
电子信息工程毕业论文1 .doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《电子信息工程毕业论文1 .doc》由会员分享,可在线阅读,更多相关《电子信息工程毕业论文1 .doc(29页珍藏版)》请在三一办公上搜索。

1、电 子 科 技 大 学毕 业 设 计(论 文)论文题目: 单片机控制的遥控器设计 学习中心(或办学单位): 重庆信息技术职业学院指导老师: 唐玉萍 职 称: 副教授 学生姓名: 夏青 学 号: V10710742130专 业: 电子信息工程 电子科技大学继续教育学院制网络教育学院2011年 04月 2日电 子 科 技 大 学毕业设计(论文)任务书题目: 单片机控制的遥控器设计任务与要求: 1) 能实现对15路电器的遥控开、关操作。 2)能实现对电灯亮度的遥控调整时间: 2011 年 1 月5 日 至 2011 年 5月 5 日 共 16 周学习中心:(或办学单位) 重庆信息技术职业学院学生姓名

2、: 夏青 学 号: V10710742130专业: 电子信息工程指导单位或教研室: 重庆信息技术职业学院指导教师:唐玉萍 职 称: 副教授电子科技大学继续教育学院制网络教育学院2011年 03月 12日毕业设计(论文)进度计划表日 期工 作 内 容执 行 情 况指导教师签 字1月5日至1月20日准备良好*教师对进度计划实施情况总评 签名 年 月 日 本表作评定学生平时成绩的依据之一。 摘要 随着电子信息技术的不断发展,智能家居已经进入大家的视野当中,本设计基于51单片机的遥控器实现,为家庭电器的使用,楼宇设备管理等提供了便捷的操作方式。本文提出了遥控器的几种实现方案并且择优选择了最佳的设计方案

3、。对此方案给出了软、硬件设计做了分析。硬件方面给出了硬件原理图。软件方面设计了主要算法,给出了软件流程图。本系统通过红外远程遥控实现了对多路电器的控制。关键词:电器控制 红外遥控 单片机AbstractWith the continuous development of electronic information technology, intelligent home into everyones vision of the design 51 microcontroller-based remote control, provides a convenient mode of opera

4、tion for the use of household electrical appliances, building equipment management.In this paper, several implementations of the remote control andchoose the best of the best design. This program gives software and hardware design analysis. Hardware hardware schematic.The software design of the main

5、 algorithm, and gives the software flow chart.The system through the infrared remote control to control multipleappliances. KEY WORD electrical control Infrared remote control microcontroller 目录1.引言21.1课题背景21.2国内外红外遥控器的现状及发展情况21.3红外通信技术31.4课题研究的目的和意义42.总体方案设计42.1方案一:简易红外遥控电路42.2方案二:利用红外遥控开关电路52.3方案三

6、:利用红外遥控开关电路62.4方案比较73.系统硬件电路的设计83.1器件选择83.2电路设计103.3系统功能实现方法144.系统的软件设计164.1遥控发射部分164.2遥控接收部分18结束语19谢辞20参考文献21 1.引言1.1课题背景随着电子技术的飞速发展,新型大规模遥控集成电路的不断出现,使遥控技术有了日新月异的发展。遥控装置的中心控制部件已从早期的分立元件、集成电路逐步发展到现在的单片微型计算机,智能化程度大大提高。近年来,遥控技术在工业生产、家用电器、安全保卫以及人们的日常生活中使用越来越广泛。1.2国内外红外遥控器的现状及发展情况上世纪60年代,一些发达国家开始研究民用产品的

7、遥控技术,但是由于受当时技术条件的限制,遥控技术发展很缓慢。70年代末随着大规模集成电路和计算机技术的发展,遥控技术才得到快速的发展。在遥控方式上大体经历了有线到无线的超声波,从振动子到红外线再到使用总线的微机红外遥控这样几个阶段。无论采用何种方式,准确无误的传输信号,最终达到满意的控制效果是非常重要的。最初的无线遥控装置采用的是电磁波传输信号。与红外线相比,超声波传感器频带窄,所能携带的信息少,易受干扰而引起误动作。较为理想的是光控方式,逐渐采用红外线的遥控方式取代了超声波遥控方式,出现了红外线多功能遥控器,成为当今时代的主流。随着单片机等技术的广泛应用,促使红外遥控技术也得到空前的发展,越

8、来越多的功能强大,操作简便的实用性红外遥控接收器出现在市场上。 红外线技术是通过数据电脉冲和红外光脉冲之间的相互转换实现无线的数据收发的。由于红外线在频谱上居于可见光之外,所以抗干扰性强,具有光波的直线传播特性,不易产生相互间的干扰,是很好的信息传输媒体。信息可以直接对红外光进行调制传输,例如,信息直接调制红外光的强弱进行传输,也可以用红外线产生一定频率的载波,再用信息对载波进行调制,接收端再去掉载波,取到信息。从信息的可靠常数来说,后一种方法更好,这就是我们今天看到的大多红外遥控器所采用的方法。1.3红外通信技术常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外发光二极管。

9、它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量的使用的红外发光二极管发出的红外线波长为940mm左右,外形与普通5发光二极管相同,只是颜色不同。红外发光二极管一般有黑色、深蓝、透明三种颜色。判断红外发光二极管好坏的办法与判断普通二极管一样;用万用表电阻挡量一下红外发光二极管的正、反向电阻即可。红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件下只能用拉锯法来粗略判判定。接收部分的红外接收管是一种光敏二极管。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用

10、时是反向运用,这样才能获得较高的灵敏度。 由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。因此,现在红外遥控在加用电器、室内近距离(小于10米)遥控中得到了广泛的应用。多路控制的红外发射部分一般有许多按键,代表不同的控制功能。当发射端按下某一按键时,相应地接收端有不同地输出状态。接收端地输出状态大致可分为脉冲、电平、自馈、互锁、数据五种形式。“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。“电平”输出是指发射端按下键时,接收端对应输出端输出“有效电平”消失。此处的“有效脉冲”和“有效电平”,可能是高、也可能是低,取决于相应输出脚

11、的静态状况,如静态时为低,则“高”为有效;如静态时为高,则“低”为有效。大多数情况下“高”为有效。“自锁”输出是指发射端每按一次某一个键,接收端对应输出端改变一次状态,即原来为高电平变为低电平,原来低电平变为高电平。此种输出适合用作电源开关、静音控制等。有时亦称这种输出形式为“反相”。“互锁”输出是指多个输出互相清除,在同一时间内只有一个输出有效。电视机的选台就属此种情况,其他如调光、调速、音响的输入选择等。“数据”输出是指把一些发射键编上号码,利用接收端的几个输出形成一个二进制数,来代表不同的按键输入。一般情况下,接收端除了几位数据输出外,还应有一位“数据有效”输出端,以便以后适时地来取数据

12、。这种输出形式一般用于与单片机或微机接口。除以上输出形式外,还有“锁存”和“暂存”两种形式。所谓“锁存”输出是指对发射端每次发的信号,接收端对应输出予以“储存”,直至收到新的信号为止;“暂存”输出与上述介绍的“电平”输出类似。1.4课题研究的目的和意义本课题的目的是通过对设计要求地认真分析和研究,拿出了几种可行方案,最终选定了一个最佳方案。该方案是采用先进的单片机技术实现遥控的主要手段。我们所设计的遥控器能控制5个电器的电源开关,并且可对一路电灯进行亮度的调节。由于红外遥控不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调

13、试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。而现代红外线应用非常广泛,红外线遥控的研究能是人们的生活更加方便快捷。2. 总体方案设计2.1、红外遥控电路设计 方案一:简易红外遥控电路在不需要多路控制的应用场合,可以使用由常规集成电路组成的单通道红外遥控电路。这种遥控电路不需要使用较贵的专用编译码器,因此成本较低。红外发射部分图1.1考虑到本方案电路是简单的单通道遥控器,可直接产生一个控制功能的震荡频率,再通过红外发光二极管发射出去。红外接收部分图1.2当红外接收头接收到控制频率时,由一个电路对其进行解调并产生相应的控制功能。方案二:利用红外遥控开关

14、电路红外线发射/接收控制电路均采用单片机来实现,输出控制方式可选择,实用性强。方案结构图:红外发射部分:图1.3当按下遥控按钮时,单片机产生相应的控制脉冲,由红外发光二极管发射出去。红外接收部分:图1.4当红外接收器接收到控制脉冲后,由控制方式选择开关选择是“互锁”还是单路控制,再由单片机处理后,对相应的受控电器产生控制。方案三:利用红外遥控开关电路用单片机制作一个红外电器遥控器,可以分别控制5个电器的电源开关,和一个电灯开关,并且可以对电灯进行亮度的调光控制。红外发射部分结构图如下:图1.5当按下遥控按钮时,单片机产生相应的控制脉冲,由红外发光二极管发射出去。红外接收部分结构如下:图1.6当

15、红外接收器接收到控制脉冲后,经单片机处理由显示设备显示出当前受控电器的序号,并判断是否对电灯进行调光,如需调光则经调光电路处理后实现调光功能。方案比较综上所述通过比较三套方案,方案一未采用单片机控制,功能过于单一,仅能对一路电器进行简单的遥控;方案二和方案三的红外线发射/接收控制电路采用单片机来实现,电路简单,实用性强。方案二虽可虽可控制多个电器,但控制功能过于单调,仅能实现电器开关的控制,实用价值不大;方案三不仅可用控制键实现对电器的控制,而且可对一路电灯进行亮度控制,方便实用。且本设计用到的元器件较少,电路相对简单实用。所以本设计采用方案三作为设计蓝本。2.2 多路电器开关电路设计 方案一

16、:独立开关 图1.7 独立开关如图1.7所示。每个IO口接一个电器控制开关。通过定时读取IO口的数据来判断是否有开关按下。若按下开关,则相应IO口为低电平。否则为高电平。方案二:矩阵开关 图1.8 矩阵开关如图1.8所示。通过软件对键盘的行列扫面来判断是否有按键按下。 方案比较 综上两种方案比较,虽然方案一的硬件连接简单且软件实现也方便但考虑到本设计需要控制15路开关,为了节省硬件资源,选择方案二 。 3.系统硬件电路的设计3.1器件选择单片机的选择 本设计所用的单片机可以用C31, AT89C51,羚羊单片机等多种单片机来实现。但是C31没有内部存储器,本设计需要编写程序,那么就要用外部扩展

17、,比较麻烦。本设计所编写的程序比较简单,功能也比较少,如用羚羊单片机过于麻烦,大材小用,本设计所用到的输入输出端口也不是很多,所以我们决定用AT89C51单片机来完成本设计,及方便也很实用。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 ? 指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高

18、效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 主要特性:与MCS-51 兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道 低功耗的闲置和掉电模式片内振荡器和时钟电路 显示器件选择在单片机应用系统中,使用的显示器主要有LED(发光二极管)和LCD(夜晶显示器)。这两种显示器成本低廉,配置灵活,与单片机接口方便。但是他们也是各有特点的:LED接口非常简单,不需要专用的驱动程序,在设计程序时也非常的简单;LCD显示的字比较丰

19、富,也比较清楚,给人的感觉很好,但是他接口复杂,且要自己造字库,难度不小。对于万用表来说,在配置一些指示灯的前提下,只显示数字就够了,故没必要采用LCD,用LED就够了。调光器件选择因为本设计所用到的调光功能仅仅是调节电灯的亮暗,所以无需使用复杂的调光控制系统,可直接使用一个光电藕合器,来实现此功能。光电耦合器具有体积小、使用寿命长、工作温度范围宽、抗干扰性能强。无触点且输入与输出在电气上完全隔离等特点,因而在各种电子设备上得到广泛的应用。光电耦合器可用于隔离电路、负载接口及各种家用电器等电路中。光电耦合器的种类较多,但在家电电路中,常见的只有4种结构:1.第一类,为发光二极管与光电晶体管封装

20、的光电耦合器,结构为双列直插4引脚塑封,内部电路见表一,主要用于开关电源电路中。 2.第二类,为发光二极管与光电晶体管封装的光电耦合器,主要区别引脚结构不同,结构为双列直插6引脚塑封,内部电路见表一,也用于开关电源电路中。 3.第三类,为发光二极管与光电晶体管(附基极端子)封装的光电耦合器,结构为双列直插6引脚塑封,内部电路见表一,主要用于AV转换音频电路中。 4.第四类,为发光二极管与光电二极管加晶体管(附基极端子)封装的光电耦合器,结构为双列直插6引脚塑封,内部电路见表一,主要用于AV转换视频电路中。本设计采用的就是第二类的一个型号为PS2019。3.2电路设计用单片机制作一个红外电器遥控

21、器,可以分别控制15个电器的电源开关。并且可以对其中一路电灯进行亮度的调节控制。发射电路部分本遥控发射器采用码分制遥控方式,码分制红外遥控就是指令信号产生电路以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令。当不同的指令键被按下时,指令信号电路产生不同脉冲编码的指令信号,也就是进行编码,然后经调制电路调制,变为编码脉冲编码脉冲调制信号,再由驱动电路驱动红外发射器发射红外信号。整体过程如下:图2.1本发射电路采用一个12M的晶体振荡器,产生相对应受控开关的脉冲频率,通过红外发射管发射出去。发射电路图如下:图2.2其中第9脚(RST)所接的是一个最简单的RC上电复位电路。P3.5接一个三

22、级管发光二级管利用红外光为介质,将控制信以红外光脉冲的形式发射出去,由接收电路再进行放大,解调,信号还原。晶体三极管主要用于放大电路中起放大作用,本设计采用的是一个NPN型的三级管9013,为了得到更大的放大倍数,采用了类似共射级接法。因为从p3.5口出来的为高电压,而三级管9013不能承受此电压,所以采用了一个阻值较大的电阻来起分压作用,从而缓冲了加到三级管上的电压。9013的工作特性如下:极限值:(Ta=25)电特性:(Ta=25)红外发射管的工作电压一般为1.5至1.7v,不能直接用5V的电压加在上面,所以又接了一个39的电阻,起分流作用,以保证红外发射管正常工作。本设计采用的红外发射管

23、为J16TE2-8A6R01M-SC其具体参数如下:型号:公司:EG&G Judson相应度Re Min(A/W):600m相应度Re (m):1.3暗电流ID(A)光普范围()Min:800n光普范围()Max:1.8说明:相应时间tResp(s):反应电压VR(v):总电容CT(F):2.0n材料:Ge下图为该系统遥控发射器电路原理图,其中第1脚至第7脚接7个点触式的开关,第1脚至第5脚用来遥控电器电源开关,第6脚为可调光电灯的开关,第7脚,第8脚为调节电灯亮度的控制开关,当按第7脚开关时,电灯增亮,当按下第8脚时电灯减暗,第9脚为单片机的复位脚,采用简单的RC上复位电路,15脚作为红外线

24、遥控码的输出口,用于输出40kHz载波编码,18,19脚接12MHz晶振图2.3接收电路部分 图2.4由上述可见,红外遥控系统中的指令信号及检出电路,在码分制系统中由编码电路和解码电路构成,而且要有调制和解调的过程,因为码分制系统编码脉冲的频率极低,为超低频,如果不用调制与解调电路,外界突然的光线变化可能会对接收电路造成干扰,产生误动作,系统的抗干扰能力及可靠性就难以保证。以下是为该系统的遥控接收器电原理图。第1至8接数码管,用来显示被控电灯开关的亮度,显出数字0至8,显0时最暗,显8时最亮。第35至39口接作为5个电器的电源控制输出。其中第34口为可调节亮度的电灯。第28脚为光电耦合调光灯的

25、调光脉冲输出,第10脚为50Hz交流市电相位基准输入,第12脚为中断输入口,第11脚用于接收红外遥控码输入信号。图2.53.3系统功能实现方法遥控码的编码格式 该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为9个脉冲,为了使接收可靠,第一位码宽为3ms,其余为1ms,遥控码数据帧间隔大于10ms,如下图所示:第10脚输出编码波形图2.6遥控码的发射当某个被控电器的电源开关被按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成40kHz方波由红外线发光管发身出去。发射电路的第15脚的输出调制波如下图所示:图2.7数据帧的接收处理当红外线接收器输出脉冲帧

26、数据时,第一位码的低电平将启动中断程序,实时接收数据帧.在数据帧接收时,将对第一位(起始位)码的码宽进行验证.若第一位低电平码的脉宽小于2ms,将作为错误码处理.当间隔位的高电平脉宽大于3ms时,结束接收,然后根据累加器A中的脉冲个数,执行相应输出口的操作.下图为红外线接收器输出的一帧遥控码波形图.图2.84.系统的软件设计4.1遥控发射部分图2.9上图是遥控发射的主程序,首先初始化程序,然后调用键扫描处理子程序.图2.10扫键过程:首先判断控制键是否按下,若有控制键按下则进行逐行扫描,按照P口值查找键号.最后按照键号转至相应的发射程序如下所示.图2.11红外信号发射过程:首先装入发射脉冲个数

27、(发射时为3ms脉冲,停发时为1ms脉冲),此时若发射脉冲个数为1则返回主程序,若不为1则发1ms脉冲,然后停发1ms脉冲,这样便结束整个发射过程.在实践中,采用红外线遥控方式时,由于受遥控距离,角度等影响,使用效果不是很好,如采用调频或调幅发射接收码,可提高遥控距离,并且没有角度影响4.2遥控接收部分图2.12遥控接收部分的主程序及初始化及延时过程如上:首先初始化,然后按照显示亮度数据设定调光脉冲延时值,看P3.0口的脉冲是否为0,若不为0则调入延时程序,此时P2.7口输出调光脉冲然后返回;若为0则直接返回.图2.13中断过程:首先判断低电平脉宽度是否大于2ms,若脉宽不到2ms,则中断返回

28、;若低电平大于2ms,则接收并地低电平脉冲计数,接下来看判断高电平脉宽度冲是否大于3ms,若脉宽不到3ms,则返回上一接收计数过程;若高电平脉宽大于3ms,则按照脉冲个数至对应功能程序.此时中断返回.结束语完成情况:基本完成了题目要求。所得收获:熟悉了单片机的编程以及其与外设的通信与控制。 谢辞经过努力,我们在唐老师的耐心帮助和自己的努力下终于完成了此次设计,并按设计要求实现了遥控器的各项功能。本实验对红外遥控进行了详细的分析,设计了红外遥控的硬件与软件,实现了对15个电器开关和一个电灯亮度的红外遥控。先对硬件系统的设计提供理论依据和设计思想,接着详细介绍了红外遥控的硬件实现部分,包括单片机的

29、选择、红外发射方式和接收方式。然后设计软件部分,使这个系统得以运行。无论是在硬件还是软件设计上,我都遇到了不少的问题,在克服困难的过程中,我学到了许多,特别是在课堂上学不到的东西,了解了红外遥控器的现状和发展趋势,并学会了用单片机开发产品的完整的过程,明白了设计的概念。通过自己亲自去动手和调试我明白的实践的重要性,明白了理论结合实践的含义,同时也大大的提高了自己的动手能力和团队合作能力,这在我以后的工作中都是非常有用的。在这次设计中,唐老师不厌其烦的给我讲解问题和修正错误,在此表示衷心的感谢!参考文献1李建华. 实用遥控器原理与制作.北京: 人民邮电出版社,20082苏长赞. 红外线与超声波遥

30、控. 北京: 人民邮电出版社,20073舒经文. 最新彩电机芯及其遥控系统的原理与维修. 北京: 电子工业出版社, 20094王明亮等. 广播.电视调频发送技术,上、下册. 北京: 中国广播电视出版社,20085梁延贵. 遥控电路可控硅触发电路语音电路分册 北京: 科学技术文献出版社,20096 李华. MCS-51系列单片机实用接口技术. 北京: 航天航空大学出版社,20077 邱关源.电路.高等教育出版社.2008.第五版.8 焦李成.电流模式信号处理的进展与展望.电子学报.20079 张肃文,陆兆文. 高频电子电路.高等教育出版社.2007.第四版.10 康光华,陈大钦. 电子技术基础(

31、模拟部分).高等教育出版社.2009.第四版.11 陈汝全. 电子技术常用器件手册.北京:机械工业出版社,200812 鲁兵,杨楚民. 基于单片机系统的显示接口.机械与电子出版社,200913 孙函芳,徐爱卿. MCS-51系列单片机原理及应用.北京:北京航天航空大学,2009附录A部分代码static uchar GetKeyStatus();/$bit KeyProcess() / 为程序方便而设的返回值 uchar i,j; void (*pFunction)(); / 定义函数指针 void (*code TabmHorizontalNumbermVerticalNumber)()=

32、/ 定义函数表 ZeroKey, OneKey, FourKey, SevenKey , DotKey, TwoKey, FiveKey, EightKey , NegativeKey, ThreeKey, SixKey, NineKey , EnterOrShiftKey, CancelKey, OptionKey, PauseKey ; / 二维数组,对对应16个按键 NOP(); NOP(); if(!bScanKey) return 0; / 扫描时间未到,返回(时间值在定时器中设定) bScanKey=0; NOP(); NOP(); j=GetKeyStatus(); / 取键值,

33、0xff为无效键,即无按键 NOP(); NOP(); if(bKeyDown|bKeyPress|bKeyUp) i=j4; j=j&0x0f; / 高半字节为行,低半字节为列 if(imHorizontalNumber)&(jmVerticalNumber) pFunction=Tabj; / 指向函数入口地址 (*pFunction)(); / 调用函数 /$/ 判断按键状态:KeyFree,KeyDown,KeyPress,KeyUp,并返回键值/$static uchar ucKey1,ucKey2,ucKeyBak;static uchar GetKeyCode();static

34、uchar GetKeyStatus() uchar c; NOP(); NOP(); mHorizontalAllLow; / 行输入全为0 mJugeVertical(c); / 判断是否有按键 NOP(); NOP(); if(ucKey1=0xff)&(ucKey2=0xff)&(c=0xff) / 三个值均为0xff,无按键 bKeyDown=bKeyPress=bKeyUp=0; bKeyFree=TRUE; return 0xff; / 没按键 else bKeyFree=0; if(c!=0xff) c=GetKeyCode(); / 扫描键值 if(ucKey1=0xff)&

35、(ucKey2=c) ucKey1=ucKey2; ucKey2=c; bKeyDown=TRUE; return c; / 键被按下 if(ucKey1=ucKey2)&(ucKey2=c) NOP(); if(bKeyDown) bKeyPress=TRUE; / 键被按住 bKeyDown=0; return c; if(ucKey1!=0xff)&(ucKey2=0xff)&(c=0xff) ucKeyBak=ucKey1; ucKey1=ucKey2; ucKey2=c; if(bKeyPress) bKeyUp=TRUE; / 键弹起 bKeyPress=0; return ucK

36、eyBak; ucKey1=ucKey2; ucKey2=c; return 0xff;static uchar GetKeyCode() uchar i,j,ucTemp,ucH_Value; NOP(); NOP(); ucH_Value=mH_InitValue; for(i=0;imHorizontalNumber;i+) j=ucH_Value; mReadVertical(j); / 输出一行低电平后,读列值 NOP(); if(j1)0); i=4; / 把行值移到高四位 return(i|ucTemp); / 返回高四位行值,低四位列值 ucH_Value=1; ucH_Value|=0x01; / 下一行输出低电平 return 0xff;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号