基于PT2262的无线灯控设备设计.docx

上传人:小飞机 文档编号:1941692 上传时间:2022-12-27 格式:DOCX 页数:36 大小:4.30MB
返回 下载 相关 举报
基于PT2262的无线灯控设备设计.docx_第1页
第1页 / 共36页
基于PT2262的无线灯控设备设计.docx_第2页
第2页 / 共36页
基于PT2262的无线灯控设备设计.docx_第3页
第3页 / 共36页
基于PT2262的无线灯控设备设计.docx_第4页
第4页 / 共36页
基于PT2262的无线灯控设备设计.docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《基于PT2262的无线灯控设备设计.docx》由会员分享,可在线阅读,更多相关《基于PT2262的无线灯控设备设计.docx(36页珍藏版)》请在三一办公上搜索。

1、基于PT2262的无线灯控设备设计 基于PT2262的无线灯控设备设计 指导教师 摘要:随着信息技术不断的飞速发展和社会的不断进步,人们对照明的高效控制和功能多样化要求也不断提高,智能照明系统应运而生。它是充分利用电子技术、通信技术将建筑物内的各种照明器件有机的连接在一起,实现有效的管理和控制。本论文的主要工作是设计制作了无线遥控的灯控设备,采用了以PT2262/PT2272为主控芯片来实现软件编码及解码方法。本设计课题从PT2262的波形入手,分析其编码格式,采用了单片机程序来模拟PT2272的解码,同时给出了硬件设计电路和软件结构,详细叙述系统硬件线路的设计要点和软件设计。通过对系统进行的

2、各个功能模块的软硬件调试以及系统综合调试,硬件电路的制作达到系统的总体要求,从而实现了单片机的学习功能和无线遥控的应用。关键词:无线遥控;硬件电路;软件解码;编码波形Base on PT2262 wireless light control equipment designElectronic science and technology Guiding teacher Abstract:With rapid development of information technology and progress of society, the demand on efficient contro

3、l and various function of illumination by people is improved, thus intelligent illumination system comes out. Technology of electronic should be good used, to make sure that communication and computer network and combines different lighting implements get efficient controlled and managed.The primary

4、 job of the essay is to ger the lamp of the wireless remote control based on signed chip microcomputer control equipment designed,PT2262/PT2272 is one of the most common chips at the present time, but because the chips require pairing, so this aspect influences its application in a large scale.PT226

5、2 waveform from the start,the design issues, analysis of its encoding format, the use of the mircrontroller program to simulate the PT2272 decoder, given the hardware circuit and software architecture, a detailed description of the design features of the system hardware circuit and software design.

6、Hardware and software debugging and system debugging through the various functional modules of the system, the hardware circuit of production to achieve the overall system requirements in order to achieve the learning function of the microcontroller and wireless remote control applications. Key word

7、:wireless remote control, hardware circuit, software decode,encode waveform目录摘要2Abstract3第一章 绪 论51.1课题背景51.2国内外现状以及发展前景6第二章、控制系统硬件电路设计72.1无线遥控发射器72.2 无线遥控接收系统112.3无线灯控设备发射和接收电路的实物图13第三章、PT2262/PT2272的功能和软件解码的应用153.1 PT2262/PT2272无线编解码芯片的功能153.1.1编码解码芯片PT2262/PT2272芯片原理简介:153.1.2 数据编码格式173.1.3 PT2262

8、/2272使用的原则203.2 PT2262编码芯片的软件解码203.2.1 概述203.2.2 解码原理213.3 软件解码程序的流程图分析以及实现的源程序223.3.1 同步码的识别思路233.3.2 主程序流程图263.3.3 子程序流程图273.3.4主程序流程图分析30结 束 语36参考文献:37第一章 绪 论1.1课题背景随着人类社会的进步和科学技术迅速的发展,人类开始进入以数字化和网络化为平台的智能社会,智能控制体系适应国际社会信息化、智能化发展要求,必将成为21世纪的新概念。目前通常把智能控制体系定义为利用网络、电脑和综合布线技术,通过信息管理平台将一些与工作、生活有关的各种子

9、系统有机的结合的一个系统。也就是说,首先,它们都需要在一定范围内建立一个通讯网络,为智控信息提供必要的通路,在网络操作系统的控制下,通过相应的硬件和执行机构,实现对所有工作、生活网络上的电器、设备的控制和监测;其次,它们都要通过一定的媒介平台,构成与外界的通讯渠道,以实现与外界的世界沟通信息,满足远程监测、控制和交换信息的需求1;最后,它们最终目的都是为满足人们对安全、舒适、方便和符合绿色环境保护的要求。由此可见,智能控制系统是一个系统层次概念,它涵盖了在建筑环境层面能够影响人们生活的诸多方面。就实际应用而言往往有以下系统:(1) 可视对讲系统:如有客人访问,按动大门上的按键,主人在家里通过液

10、晶显示屏可以清晰的看到室外情况,避免陌生人的打扰。(2) 安防系统:运用现代通信、计算机等先进的技术,通过对各类探测器及相关处理设备的综合应用,达到对安全提供保障。(3) 网络通讯系统:通常语音通信系统、有线电视系统和数据通信系统统称为信息网络系统。(4) 智能照明系统:通过安装智能控制器,对客厅、起居室和卧室内的灯具开关进行遥控,或者通过通讯网络实现照明的远程遥控。(5) 电器控制系统:如空调、电热电器、煤气开关阀门及电饭煲等的远程控制。另一方面,照明作为一个产业在我国已有了充分的发展:2003年,中国电光源产量约80亿只,居世界第一,中国已有7000多家照明电器生产厂家,是目前世界上最大的

11、照明产品生产基地和出口国。照明在我国电力消费中所占比重也越来越大:2004年中国发电总量约21870亿千瓦时,照明耗电约为2187亿千瓦时,占当年发电量的10%左右。相当于三峡水力发电工程建成以后,年发电能力840亿千瓦时的近3倍2。近年来,尽管我国电力建设已经取得了较大的发展,但这并不意味着我国的电力资源己经过剩,事实上恰恰相反,电力供应不足和能源短缺现象十分严峻。因此,我国政府在呼吁节约用电。1.2国内外现状以及发展前景近年来,随着经济的发展和科技的进步,人们对照明器具节能和科学管理提出了更高的要求,使得照明控制在智能楼宇领域的地位越来越重要。而在楼宇大厦建设热潮中,各公司和企业也意识到了

12、智能照明的重要性。商业楼宇中大功率设备一般数量较少,而照明器具则比较多。使用照明控制系统,更能体现在节能与管理方面的优势,提高建筑的科学管理水平。良好的工作环境提高工作效率的一个必要条件,合理地选用光源、灯具及性能优越的照明控制系统都能提高照明质量,改善工作环境。与传统的照明系统相比,无线智能照明系统尚具有总体拥有成本低、操作安全、安装简单、维护方便、功能丰富、优异的可扩展性、便于系统集成等一系列优点。智能照明控制系统减少灯具使用时间和管理时间,能有效节约能源。中国的智能照明行业虽然起步晚,但随着经济的不断发展和技术的不断更新,无线灯控系统应用于建筑行业越来越广泛,智能照明在我们生活中起到的作

13、用越来越不容忽视,种种迹象表明,无线控制的智能照明潜力巨大,前景令人乐观3。当前,发展趋势有如下三个方面:基于GSM蜂系统的手机远程遥控、基于计算机网络的远程遥控、基于蓝牙技术的远程遥控4。第二章、控制系统硬件电路设计图3-1(a)控制系统硬件电路组成2.1无线遥控发射器PT2262和315MHz声表元件构成了无线发射模块,使用PT2262编码芯片对其编码,其中18为地址编码,D1D4为数据编码,可由按键来控制图3-1(b),18由8个按键来控制,D1D4由S1S4来控制。图2-1(b) 无线遥控发射器的设计电路我们可以看出,此时,18的地址码要么设置为0或1,或可以设置为悬空状态,所做的发射

14、板最终还是悬空了,并且只用了1到4四个引脚最为悬空按键。是为了更好操作;另一个原因是做实验没有必要实现上几百米的远程控制。编码芯片PT2262 发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272 接收到信号后,其地址码经过两次比较核对后,VT 脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262 不接通电源,其17 脚为低电平,所以315MHz 的高频发射电路不工作,当有按键按下时,PT2262 得电工作,其第17 脚输出经调制的串行数据信号,当17 脚为高电平期间315MHz 的高频

15、发射电路起振并发射等幅高频信号,当17 脚为低平期间315MHz 的高频发射电路停止振荡,所以高频发射电路完全受控于PT2262 的17 脚输出的数字信号,从而对高频电路完成幅度键控(ASK 调制)相当于调制度为100%的调幅。早期的发射机较多使用LC震荡器,频率漂移较为严重。声表元件的出现解决了这一问题,其频率稳定性与晶体大体相同,而其基频可达几百甚至上千兆赫兹。无需倍频,与晶体相比电路极为简单。图3-1(b)电路为常见的发射机电路。其中315MHz的高频作为载波,把 PT2262发射的矩形波脉冲发射出去。由于声表元件的使用,电路工作非常稳定,即使手抓天线、声表或其他部位,发射频率均为不会漂

16、移。为了以下的软件解码,我不得不需要用硬件实验测试PT2262的编码波形,于是使用图2-1(b)把18引脚地址编码直接悬空设置,可以用示波器测量它的发射编码波形。于是分别按住K0,K1,K2,K3 可看到波形,便是PT2262发射的编码,知道正、负脉冲的宽度对于软件解码来说是必备的条件。下图是在示波器上截下的波形图。(1)当仅有 S1按下时,在示波器上复制下来的波形如下:图2-2(a) 按键码 D1=1,即S1按下(2)当仅有S2按下时,在示波器上复制下来的波形:图2-2(b)按键码 D2=1,即S2按下(3)当仅有S3按下时,在示波器上复制下来的波形如下:图2-2(c)按键码 D3=1,即S

17、3按下(4)当仅有S4按下时,在示波器上复制下来的波形如下:图2-2(d)按键码 D4=1,即S4按下(5)当其中有一个按键按下时,可测得同步码的波形,从而也可以测出它的宽度:图2-2(e)同步码波形实验测试结论:综上所述5种波形,我很容易可以得出在PT2262的编码波形,一组字码有25个矩形脉冲,有宽和窄脉冲,发射时数码的顺序是D4D3D2D1,其中同步码的低电平可以从光标1和光标2之间的时间间隔计算出:t=11.6-4.7,得t =6.9s多次测得波形可取的平均数为6.95s。下面为同步码头波形: PT2262 有三种编码形式:0,1,和悬空(表示为f)。(1)数据“0”发送的码位如下:(

18、2)数据“1”发送的码位如下: (3)数据“f”发送的码位如下: 图2-3 同步码和数据码的编码格式2.2 无线遥控接收系统 2262每次发射时至少发射4组字码,2272只有在连续两次检测到相同的地址码加数据码才会把数据码中的“1”驱动相应的数据输出端为高电平和驱动VT端同步为高电平。因为无线发射的特点,第一组字码非常容易受零电平干扰,往往会产生误码,所以程序可以丢弃处理。 PT2272解码芯片有不同的后缀,表示不同的功能,有L4/M4/L6/M6之分,其中L表示锁存输出,数据只要成功接收就能一直保持对应的电平状态,直到下次遥控数据发生变化时改变。M表示非锁存输出,数据脚输出的电平是瞬时的而且

19、和发射端是否发射相对应,可以用于类似点动的控制。后缀的6和4表示有几路并行的控制通道,当采用4路并行数据时(PT2272-M4),对应的地址编码应该是8位,如果采用6路的并行数据时(PT2272-M6),对应的地址编码应该是6位。图2-5 无线遥控接收电路设计2.3无线灯控设备发射和接收电路的实物图图2-6无线发射电路的实物模型图2-7 无线发射电路色实物模型图2-8 无线接收电路的实物模型第三章、PT2262/PT2272的功能和软件解码的应用3.1 PT2262/PT2272无线编解码芯片的功能3.1.1编码解码芯片PT2262/PT2272芯片原理简介:PT2262/2272是台湾普城公

20、司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码与数据码从17引脚串行输出,可用于无线遥控发射电路9。编码芯片PT2262发出的编码信号由地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果一直按住发送端,编码芯片也会连续发射。当发射机无按键按下时,PT2262不接通电源,其17脚为低电

21、平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全受控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100的调幅。PT2262/2272特点:CMOS工艺制造,低功耗,外部元器件少,RC振荡电阻,工作电压范围宽:2.615v,数据最多可达6位,地址码最多可达531441种。如图 3-1为其引脚图名称管脚说 明A0-A111-8、10-13地址

22、管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),D0-D57-8、10-13数据输入端,有一个为“1”即有编码发出,内部下拉 VCC18电源正端()VSS9电源负端()/TE14编码启动端,用于多数据的编码发射,低电平有效;OSC116振荡电阻输入端,与OSC2所接电阻决定振荡频率;OSC215振荡电阻振荡器输出端; Dout17编码输出端(正常时为低电平)图3-1 PT2272(DIP20)的芯片外形图及引脚图10表3-2 PT2262的极限参数和电气参数 图3-2 PT2272(DIP20)的芯片外形图及引脚图10表3-3 PT2272引脚说明名称管脚说 明A0-A111-8

23、、10-13地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),必须与2262一致,否则不解码 D0-D57-8、10-13地址或数据管脚,当做为数据管脚时,只有在地址码与2262一致,数据管脚才能输出与2262数据端对应的高电平,否则输出为低电平,锁存型只有在接收到下一数据才能转换 Vcc18电源正端()Vss9电源负端()DIN14数据信号输入端,接收来自模块输出端OSC116振荡电阻输入端,与OSC2所接电阻决定振荡频率;OSC215振荡电阻振荡器输出端; VT17解码有效确认 输出端(常低)解码有效变成高电平(瞬态)673.1.2 数据编码格式例如在画电路板的过程中,使用

24、4位数据码,地址码就是8位,发射的格式如图3-3(a)所示:8位地址码4个数据码1个同步码图3-3(a)字码的组成 图3-3(b)PT2262发射一次的几组波形上面是从接收模块信号RXD和GND引脚截获的一段波形,可以明显看到,图3-3(a)是一组一组的字码,每组字码之间有同步码隔开,所以我们如果用单片机软件解码时,程序只要判断出同步码,然后对后面的字码进行脉冲宽度识别即可。图3-4(a)、(b)是放大的一组字码:一个字码由12位AD码(地址码加数据码,比如8位地址码加4位数据码)组成,每个AD位用两个脉冲来代表:两个窄脉冲表示“0”;两个宽脉冲表示“1”;一个窄脉冲和一个宽脉冲表示“F”也就

25、是地址码的“悬空”。图3-4(a)(1)数据“0”发送的位码如下:(2)数据“1”发送的位码如下:(3)数据“f”发送的位码如下:670s图 3-4(b)编码格式2262每次发射时至少发射4组字码,2272只有在连续两次检测到相同的地址码加数据码才会把数据码中的“1”驱动相应的数据输出端为高电平和驱动VT端同步为高电平。由于无线发射的特点,第一组字码非常容易受零电平干扰,往往会产生误码,所以程序可以丢弃处理。图3-5 PT2272检测信号VT信号端的变化 PT2272解码芯片有不同的后缀,表示着不同的功能,有L4、M4、L6、M6之分,其中L表示锁存输出,数据只要成功接收就能一直保持对应的电平

26、状态,直到下次遥控数据发生变化时改变。M表示非锁存输出,数据脚输出的是瞬时电平而且和发射端是否发射相对应,可以用于类似点动的控制。后缀的6和4表示有几路并行的控制通道,当采用4路并行数据时(PT2272-M4),对应的地址编码应该是8位,如果采用6路的并行数据时(PT2272-M6),对应的地址编码应该是6位。图3-6 瞬态型和锁存型的区别3.1.3 PT2262/2272使用的原则设置地址码的原则是:同一个系统地址码必须一致;不同的系统可以依靠不同的地址码加以区分。至于设置什么样的地址码完全随个人喜欢。PT2262和PT2272除地址编码必须完全一致外,振荡电阻还必须匹配,否则接收距离变近甚

27、至于无法接受,随着兼容芯片的出现,在实际使用中只需对振荡电阻稍做改动就可配套使用,根据我在网站查的资料可知,下面的表3-5参数匹配效果较好:表3-5 PT2262/2272电阻的最佳配对编码发射芯片振荡的电阻配套的解码接收芯片振荡电阻PT2262SC2260R4PT2272/SC22721.2M200K1.5M5.1M270K2.2M390K3.3M12M680K4.7M20M820K3.2 PT2262编码芯片的软件解码3.2.1 概述PT2262/2272 是一种CMOS 工艺制造的低价位低功耗的通用编解码电路,是目前在无线通讯电路中作地址编码识别最常用的芯片之一。PT2262/2272

28、最多可有12 位(A0A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441 地址码。PT2262 最多可有6 位(D0D5)数据端管脚,设定的地址码和数据码从17 脚串行输出。PT2262/2272 必须与相同地址码配对使用,当需要增加一个通讯机时,用户不得不求助于技术人员或厂家来设置相同地址码,客户自己设置相对比较麻烦,尤其对不懂电子的人来说,随着人们愈来愈高的操作要求,PT2262/2272 的这种配对使用严重制约着使用的方便性,人们迫切地要求使用一种无须请教专业人士,无须使用特殊工具,任何人都可以操作的方便手段来弥补PT2262/2272 的不足,这就是PT22

29、62 软件解码11。3.2.2 解码原理图3-7 PT2262发射的波形图3-7是PT2262 的一段波形,可以看到一组一组的字码,每组字码之间有同步码隔开,所以如果我们用单片机软件解码时,程序只要判断出同步码,然后对后面的字码进行脉冲宽度识别即可。2262 每次发射时至少发射4 组字码,2272 只有在连续两次检测到相同的地址码加数据码时才会把数据码中的“1”驱动相应的数据输出端为高电平和驱动VT 端同步为高电平。因为无线发射的特点,第一组字码非常容易受零电平干扰,往往会产生误码,所以程序可以丢弃处理。下面我们来仔细看一下PT2262 的波形特征:振荡频率 其中Rosc 为振荡电阻这里我们选

30、用的是一种比较常用的频率(以下同)。同步码头波形:PT2262 有三种编码:0,1,和悬空(表示为f)。(1) 数据“0”发送的位码如下:(2) 数据“1”发送的位码如下: (3)数据“f”发送的位码如下:图3-8 编码格式有了以上具体的波形,我们就可以进行软件解码了。T2262 每次至少发送4 次编码,我们可以通过检测6.95ms 宽度的同步码头,有码头才开始进行编码解码,无码头则继续等待。当收到码头时,还要检测是否已经收到过码头,若无,则丢弃第一次编码的信号,防止误码。从编码图中可以看出,每一位码字都是开始从低电平到高电平,到低电平,再到高电平。从编码图中还可以看出,每一位码字都可以分成两

31、段,我们以每段中的电平宽度来描述码位:码位第一段第二段数值表示0窄窄001宽宽11f窄宽01无效码宽窄10对于接收模块的RXD和GND之间用示波器观察可以看出,该无线接收模块用的是原码位接收,因为在示波器上的接收的波形与PT2262发射的完全一致。这样我们就可以进行以下的解码了。3.3 软件解码程序的流程图分析以及实现的源程序 软件解码主要是:同步码、地址码和按键码的识别。其中地址码和按键码的格式相同,可以同等地对待进行解码,只不过对于按键码来说必须进行存储,而地址码只要解码宽度在允许的范围内,就可以不需要存储。所以在解码之前,必须熟悉编码格式,才能解码。 在3.2.2节,我说到了解码的原理,

32、给出了具体的编码格式。3.3.1 同步码的识别思路解码需要注意的是:因无线接收干扰大,所以不适用中断处理解码程序,所以软件设计中采用查询方式进行解码。图3-9为同步码流程图。 初始化:选定时器0方式1,置位P1.7,选工作寄存器1 开始延时2.5ms时间P3.2=0?NY 写T0控制字,限时7.5ms,清零TF0,置位TR0,开始计数P3.2=0?NYTF0=1?YN读出此时TH0,TL0判断同步码高电平宽度150s300s吗?NYP3.2=1?NTF0=1?NYY读出此时TH0,TL0判断同步码低电平宽度大于6ms吗? 同步码已检测到了,清零P1.7 灯亮起来YN图3-9 同步码流程图为了理

33、解解码程序的方法,这里我重点介绍一下检测同步码的思路与程序,因为后面附录的程序也是按着类似的思路和方法来编写的。同步码检测的汇编源程序:ORG 0000AJMP MAINMAIN:MOV TMOD,#1;选定时器T0,方式1SETB P1.7 ;使灯不亮MOV PSW,#08H ;选工作寄存器1区MOV R6,#50 ;延时2.5ms的时间,防止刚上电的干扰信号DEL1:MOV R7,#50 DEL0:DJNZ R7,DEL0DJNZ R6,DEL1AGAIN:JNB P3.2,$ ;等待接收有效信号 CLR TF0 ;关T0溢出标志位MOV TH0,#0F6H ;限时7.5ms的时间,超时为

34、误码MOV TL0,#3BHSETB TR0 ;置1运行标志位,开始定时 AA3: JNB P3.2,AA2JB TF0,EXIT ;溢出,则重新检测同步码头 AJMP AA3EXIT:CLR TF0AJMP AGAIN AA2:MOV A, TH0CJNE A,#0F6H,AGAIN/* CLR P1.7 ;灯在这亮起来,而且置1后依然是亮的 */MOV A, TL0CLR CCJNE A, #9FH, $+3JNC AGAIN ;太宽,大于300us,退出CLR C CJNE A, #6DH, $+3JC AGAIN ;太窄,小于150us,退出AA5:JB P3.2, AA4JB TF0

35、, EXITAJMP AA5AA4:CLR TR0CLR TF0MOV A, TH0CJNE A, #0FEH, BB0/* CLR P1.7 */MOV A, TL0CLR CCJNE A, #0BH, $+3JC AGAIN ;同步码小于6ms,退出 LJMP DISPLAYBB0: CJNE A, #0FFH, AGAINDISPLAY: CLR P1.7 CPL P3.3LJMP AGAINEND 3.3.2 主程序流程图 开始初始化:DATDA0=0,选定时器T0,方式1,指示灯不亮有学习键按下吗?5S后,学习键还按下吗?YN指示灯亮起Y调用解码程序,有溢出或中途误码吗?置为P1.7

36、,使灯灭掉,存储此次的键值到程序存储单元KEYDATANNY调用解码程序,有溢出或误码吗?NNY 保留本次的键值在存储 单元DATA0 CPL P3.3继电器做取反动作来控制设备的灯泡KEYDATA =DATA0 ?YNWW图3-10 主程序流程图3.3.3 子程序流程图开始YN同步码高电平在150s-300s之间吗?清TF0,T0初始化,同步码限时8.5ms,置位TR0=1P3.2=1?TF0=1?YNYNP3.2=0?YTF0=1?NYN清TR0,清TF0同步码宽度大于6ms?YN NEXT PAGE地址码检测P3.7=0?NWWYDECODE图4-11 子程序流程图(同步码的检测子程序)

37、NEXT PAGE地址码检测NUM1=16码字清零TF0,初始化T0,TH0=0FEH,TL0=6FH定时1200us,置位TR0,开始计数P3.2=0?NNTF0=1?DECODEYNY把TH0送A,0FEH为窄脉冲,0FFH为宽脉冲A=0FEH?Y窄脉冲在150us300us之间吗?YNA=0FFH?YNDECODE宽脉冲在500us850us之间吗?YNP3.2=1?NTF0=1?NY清零TR0,TF0高低电平总宽度大于750us?YNNUM1-1=0?YNBB1NEXT PAGE,数据码检测BB1图3-12 子程序流程图(16位地址码的检测子程序)NEXT PAGE,数据码检测NUM2

38、=8位码字清零TF0,初始化T0,限时1200us,置位TR0P3.2=0?YTF0=1?DECODEYN把A=TH0,0FFH为宽脉冲,0FEH为窄脉冲A=0FEH?YNA=0FFH?NDECODEY窄脉冲在150us300us之间?吗?YN C=0宽脉冲在500us850us之间吗?YNC=1DATA0A,RLC ADATA0A,存储数据位P3.2=1?NTF0=1?NYY清零TF0.TR0 CONTINUECC0N 图3-13(a) 子程序流程图(8位数据码的检测子程序)CONTINUE高低电平总宽度大750us?YNDECODENUM2-1=0?CC0NYRET 图3-13(b) 子程

39、序流程图(8位数据码的检测子程序)3.3.4主程序流程图分析图3-10为主程序流程分析图,把同步码和地址码以及数据码的检测程序作为一个子程序;图3-11到图3-13(a)、(b)为解码子程序。STC12CXXXX系列单片机解码源程序:主程序:DAT0 EQU 30HNUM1 EQU 45HNUM2 EQU 46HKEYDATA EQU 48HORG 0000AJMP MAINMAIN:MOV TMOD, #1SETB P1.7 ;灯不亮SETB P3.3MOV PSW, #08HMOV R6,#50 ;延时2.5ms的时间;防止刚上电带来的脉冲干扰DEL1:MOV R7,#50 DEL0:DJ

40、NZ R7,DEL0DJNZ R6,DEL1 WAIT:NB P3.7,CONT ;等待学习键按下MOV R5,#200DEL7:MOV R6,#200 ;延时5s的时间,看学习键是否是干扰信号DEL6:MOV R7,#125 DEL5:DJNZ R7,DEL5DJNZ R6,DEL6DJNZ R5,DEL7JB P3.7,WAITCLR P1.7 ;灯亮,学习键按下有效 LCALL DECODE MOV A,DAT0MOV KEYDATA,A SETB P1.7 ;灯灭掉,存储键值成功MOV R5, #200DEL4:MOV R6,#100 ; 延时1.5s的时间,等待上一次的按键释放DEL

41、3:MOV R7, #100 DEL2:DJNZ R7,DEL2DJNZ R6,DEL3DJNZ R5,DEL4CONT:LCALL DECODEDISPLAY:MOV A,DAT0CJNE A,KEYDATA,AA0CPL P3.3 ; 被控设备的灯会亮AA0:LJMP WAIT.子程序DECODE:MOV NUM2, #10H ; 此处开始为解码程序,地址码16位JNB P3.7,WAIT JNB P3.2, $CLR TF0MOV TH0,#0F6H ;限时7.5ms的时间,超时为误码MOV TL0,#3BHSETB TR0 AA3:JNB P3.2,AA2JB TF0,EXITAJMP

42、 AA3EXIT :CLR TF0AJMP DECODE AA2: MOV A, TH0CJNE A,#0F6H,DECODE MOV A,TL0CLR CCJNE A,#9FH,$+3JNC DECODE ;太宽,大于300us,退出CLR C CJNE A,#6DH,$+3JC DECODE ;太窄,小于150us,退出AA5:JB P3.2,AA4JB TF0,EXITAJMP AA5AA4:CLR TR0CLR TF0MOV A, TH0CJNE A, #0FEH, BB0MOV A, TL0CLR CCJNE A, #0BH, $+3JC DECODE ;同步码小于6ms,退出 BB

43、0:CJNE A, #0FFH, DECODE LOOP1: CLR TF0MOV TH0,#0FEH ;限时1200usMOV TL0, #6FHSETB TR0AA7:JNB P3.2, AA6JB TF0, EXIT1 ;超过间隔1200us,误码AJMP AA7EXIT1: LJMP DECODE AA6:MOV A, TH0CJNE A, #0FEH, AA8MOV A,TL0CLR CCJNE A,#0A1H,$+3JC DECODE ;地址码窄脉冲太窄,小于150us退出CLR CCJNE A,#0D3H,$+3JNC EXIT1 ;地址码太宽,大于300us,退出AJMP AA10 AA8: CJNE A,#0FFH,DECODEMOV A,TL0CLR CCJNE A,#021H,$+3JC EXIT1 ;宽脉冲小于534us,退出CLR CCJNE A, #8AH, $+3JNC EXIT1

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号