pt2262解码学习总结
用软、硬件结合的方法实现对PT2262的解码

2 所不。
硬件解码和软件解 码。硬件解码 是采用 f 7 , y 22 当发射端 T 与接收端采用相 同的地 址编码 , 在有效 的通信距 离 内, 接收
端可正确收到发射端 的信号 , 硬件解码速度快 , 使用方便 , 在
大部分应用场合采用这种方法 。软件解码 是通过对发送 波 形的分析 , 由计算机来进行解码 , 软件解码 的优点是能对 发 射端的多种编码进行解 码 , 配置 灵活 , 不受发 射端地址 的影
20 年第5 08 期
山西 电子技术
应 用 实 践
用软 、 件 结合 的 方 法 实现 对 P 2 6 硬 T 2 2的解 码
王 晓东
( 国营 7 5厂 , 8 山西 太原 0 0 2 ) 3 0 4
摘 要: 在红外/L线遥控 领域 , T 22 2 7 目前最常用的芯片之一 , P 2 6 ; P 2 6 /2 2是 从 T 22的编码原理、 波形特征入
『 = 1
4 01s 9 x
1 5x 6 1s
l・ 码
1 1 65  ̄s
1 ps 65 .
1 5. 6 ps
l
外和无线遥控的集成电路 , 它将载波振荡 、 编码 、 发射部分集 于一身。具有价格低 、 功耗小 、 抗扰 性好 、 电阻振荡 、 单 适用
。 码
1 65
次编码都 由 5 宽度的低电平分开 , 1m ms 而 6 s的编码是 由
15 6 s 4 0L 9 ‘s 49 L 0ls 49 L Ols
A ~A¨ 十二个码组成 , 0 低位在前 , 高位在后。
悬空
1 P 26 r 2 2编 码 原 理
P 26 T 22是 Pict eh o g r e nT cn l y公 司 的 一 款 适 用 于 红 n o o
PT2262使用原理

编码解码芯片PT2262/PT2272芯片原理简介:PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz 的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。
PT2262特点l CMOS工艺制造,低功耗l 外部元器件少l RC振荡电阻l 工作电压范围宽:2.6-15v l 数据最多可达6位l 地址码最多可达531441种应用范围l 车辆防盗系统l 家庭防盗系统l 遥控玩具l 其他电器遥控引脚图:管脚说明:名称管脚说 明A0-A111-8、10-13地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),D0-D57-8、10-13数据输入端,有一个为“1”即有编码发出,内部下拉Vcc18电源正端(+)Vss9电源负端(-)编码启动端,用于多数据的编码发射,低电平有TE14效;振荡电阻输入端,与OSC2所接电阻决定振荡频OSC116率;OSC215振荡电阻振荡器输出端;Dout17编码输出端(正常时为低电平)在具体的应用中,外接振荡电阻可根据需要进行适当的调节,阻值越大振荡频率越慢,编码的宽度越大,发码一帧的时间越长.网站上大部分产品都是用2262/1.2M=2272/200K组合的,少量产品用2262/4.7M=2272/820K。
PT2262PT2272组合使用介绍 -pt2262

PT2262/PT2272 是台湾普城公司生产的一种CMOS 工艺制造的低功耗低价位通用编解码电路,PT2262/PT2272 最多可有12 位(A0-A11)三态地址端管脚(悬在空中,接高电平,接低电平),任意组合可提供531441 地址码,PT2262 最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17 脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262 发出的编码信号由:地址码、数据码、同步码组成一个完备的码字,解码芯片PT2272 接收到信号后,其地址码经过两次比较核对后,VT 脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262 不接通电源,其17 脚为低电平,以是315MHz 的高频发射电路不工作,当有按键按下时,PT2262 患上电工作,其第17 脚输出经调制的串行数据信号,当17 脚为高电平时期315MHz 的高频发射电路起振并发射等幅高频信号,当17 脚为低平时期315MHz 的高频发射电路停止振动,以是高频发射电路完全收控于PT2262 的17 脚输出的数字信号,从而对高频电路完成幅度键控(ASK 调制)相当于调制度为100%的调幅。
PT2262/PT2272 特点CMOS 工艺制造,低功耗外部元器件少RC 振动电阻工作电压范围宽:2.6-15v数据最多可达6位地址码最多可达531441 种PT2262引脚功能图:PT2262常用震荡电阻(直接接在OSC1-OSC2端):1.2M 1.5M2.2M3.3M4.7M与编码芯片PT2262相对应的解码芯片PT2272震荡电阻参见百度词条PT2272PT2272 解码芯片有不同的后缀,表示不同的功能,有L4/M4/L6/M6 之分,其中L 示锁存输出,数据只要成功接收就能一直保持对应的电平状态,直到下次遥控数据变样时改变。
M 表示非锁存输出,数据脚输出的电平是瞬时的而且和发射端是否发射相对应,可以用于类似点动的控制。
编码解码芯片PT2262。PT2272芯片原理简介

编码解码芯片PT2262/PT2272芯片原理简介:PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。
PT2262/2272特点:CMOS工艺制造,低功耗,外部元器件少,RC振荡电阻,工作电压范围宽:2.6~15v ,数据最多可达6位,地址码最多可达531441种。
应用范围:车辆防盗系统、家庭防盗系统、遥控玩具、其他电器遥控。
名称管脚说明A0-A11 1-8、10-13地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),D0-D5 7-8、10-13 数据输入端,有一个为“1”即有编码发出,内部下拉Vcc 18 电源正端(+)Vss 9 电源负端(-)TE 14 编码启动端,用于多数据的编码发射,低电平有效;OSC1 16 振荡电阻输入端,与OSC2所接电阻决定振荡频率;OSC2 15 振荡电阻振荡器输出端;Dout 17 编码输出端(正常时为低电平)在具体的应用中,外接振荡电阻可根据需要进行适当的调节,阻值越大振荡频率越慢,编码的宽度越大,发码一帧的时间越长。
pt2662

PT2262/PT2272 是台湾普城公司生产的一种CMOS 工艺制造的低功耗低价
位通用编解码电路,PT2262/PT2272 最多可有12 位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441 地址码,PT2262 最多
可有 6 位(D0-D5)数据端管脚,设定的地址码和数据码从17 脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262 发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272 接收到信号后,其地址码经过两次比较核对后,VT 脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262 不接通电源,其17 脚为低电平,所以315MHz 的高频发射电路不工作,当有按键按下时,PT2262 得电工作,其第17 脚输出经调制的串行数据信号,当17 脚为高电平期间315MHz 的高频发射电路起振并发射等幅高频信号,当17 脚为低平期间315MHz 的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262 的17 脚输出的数字信号,从而对高频电路完成幅度键控(ASK 调制)相当于调制度为100%的调幅。
单片机模拟PT2262编码,软件模拟PT2262发射

单片机模拟PT2262编码,软件模拟PT2262发射发布者:aoyux 发布时间:2010-8-27 8:08:12 阅读:3次在无线遥控领域, PT2262/2272 是目前最常用的芯片之一,但由于芯片要求配对使用,在很大程度上影响了该芯片的使用,我们从 PT2262 波形特征入手,结合应用实际,提出软件解码/编码的方法和具体措施。
关键词 PT2262 软件解码/编码一、概述PT2262/2272 是一种 CMOS 工艺制造的低功耗低价位通用编解码电路,是目前在无线通讯电路中作地址编码识别最常用的芯片之一。
PT2262/2272 最多可有 12 位 (A0-A11) 三态地址端管脚 ( 悬空 , 接高电平 , 接低电平 ), 任意组合可提供531441 地址码 ,PT2262 最多可有 6 位 (D0-D5) 数据端管脚 , 设定的地址码和数据码从 17 脚串行输出。
PT2262/2272 必须用相同地址码配对使用,当需要增加一个通讯机时,用户不得不求助于技术人员或厂家来设置相同地址码,客户自己设置相对比较麻烦,尤其对不懂电子的人来说。
随着人们对操作的要求越来越高,PT2262/2272 的这种配对使用严重制约着使用的方便性,人们不断地要求使用一种无须请教专业人士,无须使用特殊工具,任何人都可以操作的方便的手段来弥补 PT2262/2272 的缺陷,这就是 PT2262 软件解码/编码。
二、解码/编码原理振荡频率f=2*1000*16/Rosc(k Ω ) kHz 其中 Rosc 为振荡电阻这里我们选用的是一种比较常用的频率 f ≈ 10 kHz, Rosc=3.3M Ω(以下同)。
下图是振荡频率与码位波形的对应关系:PT2262 有三种编码: 0 , 1 ,和悬空 ( 表示为 f) 。
有了以上具体的波形,我们就可以进行软件编码了。
PT2262每次至少发送4次编码,首先我们把地址码+数据码+11ms宽度的同步码头发射出去,作个循环4次后结束。
pt2262_pt2272中文资料
PT2262/PT2272编码解码芯片中文资料PT2262/PT2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/PT2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间3 15MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。
PT2262/PT2272特点l CMOS工艺制造,低功耗l 外部元器件少l RC振荡电阻l 工作电压范围宽:2.6-15vl 数据最多可达6位l 地址码最多可达531441种PT2262/PT2272应用范围l 车辆防盗系统l 家庭防盗系统l 遥控玩具l 其他电器遥控PT2262 引脚图:PT2262管脚说明:名称管脚说明A0-A11 1-8、10-13 地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),D0-D5 7-8、10-13 数据输入端,有一个为“1”即有编码发出,内部下拉Vcc 18 电源正端(+)Vss 9 电源负端(-)TE 14 编码启动端,用于多数据的编码发射,低电平有效;OSC1 16 振荡电阻输入端,与OSC2所接电阻决定振荡频率;OSC2 15 振荡电阻振荡器输出端;Dout 17 编码输出端(正常时为低电平)在具体的应用中,外接振荡电阻可根据需要进行适当的调节,阻值越大振荡频率越慢,编码的宽度越大,发码一帧的时间越长.PT2262参数PT2272 解码电路引脚图:名称管脚说明A0-A11 1-8、10-13 地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),必须与2262一致,否则不解码D0-D5 7-8、10-13 地址或数据管脚,当做为数据管脚时,只有在地址码与2262一致,数据管脚才能输出与2262数据端对应的高电平,否则输出为低电平,锁存型只有在接收到下一数据才能转换Vcc 18 电源正端(+)Vss 9 电源负端(-)DIN 14 数据信号输入端,来自接收模块输出端OSC1 16 振荡电阻输入端,与OSC2所接电阻决定振荡频率;OSC2 15 振荡电阻振荡器输出端;VT 17解码有效确认输出端(常低)解码有效变成高电平(瞬态)PT2272解码芯片有不同的后缀,表示不同的功能,有L4/M4/L6/M6之分,其中L表示锁存输出,数据只要成功接收就能一直保持对应的电平状态,直到下次遥控数据发生变化时改变。
编码解码芯片PT
编码解码芯片PT2262/PT2272芯片原理2009-03-18 08:27PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK 调制)相当于调制度为100%的调幅。
PT2262/2272特点:CMOS工艺制造,低功耗,外部元器件少,RC振荡电阻,工作电压范围宽:2.6~15v ,数据最多可达6位,地址码最多可达531441种。
应用范围:车辆防盗系统、家庭防盗系统、遥控玩具、其他电器遥控。
外形及引脚功能在具体的应用中,外接振荡电阻可根据需要进行适当的调节,阻值越大振荡频率越慢,编码的宽度越大,发码一帧的时间越长。
网站上大部分产品都是用2262/1.2M =2272/200K 组名称 管脚说 明 A0-A11 1-8、10-13地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空), D0-D5 7-8、10-13 数据输入端,有一个为“1”即有编码发出,内部下拉Vcc 18 电源正端(+)Vss 9 电源负端(-)TE 14编码启动端,用于多数据的编码发射,低电平有效;OSC1 16振荡电阻输入端,与OSC2所接电阻决定振荡频率;OSC215 振荡电阻振荡器输出端; Dout 17编码输出端(正常时为低电平)合的,少量产品用2262/4.7M=2272/820K。
2262资料
PT2262/2272红外遥控集成电路PT2262/2272是一对带地址、数据编码功能的红外遥控发射/接收芯片。
其中发射芯片PT2262-IR将载波振荡器、编码器和发射单元集成于一身,使发射电路变得非常简洁。
接收芯片PT2272的数据输出位根据其后缀不同而不同,数据输出具有“暂存”和“锁存”两种方式,方便用户使用。
后缀为“M”为“暂存型”,后缀为“L”为“锁存型”,其数据输出又分为0、2、4、6不同的输出,例如:PT2272-M4则表示数据输出为4位的暂存型红外遥控接收芯片。
PT2262-IR引脚功能说明:Pin1-Pin6(A0-A5):地址输入端,可编成“1”、“0”和“开路”三种状态。
Pin7、Pin8、pin10-Pin13(A6/D0-A11/D5):地址或数据输入端,地址输入时用Pin1-Pin6,做数据输入时只可编成“1”、“0”两种状态。
Pin14(TE):发射使能端,低电平有效。
Pin15、Pin16(OSC1、OSC2):外接振荡电阻,决定振荡的时钟频率。
Pin17(Dout):数据输出端,编码由此脚串行输出。
Pin9、Pin18(VDD,Vss):电源+,-输入端。
PT2272引脚功能说明:Pin1-Pin6(A0-A5):地址输入端,可编成“1”、“0”和“开路”三种状态。
要求与PT2262设定的状态一致。
Pin7、Pin8、pin10-Pin13(D0-D5):数据输出端,分暂存和锁存两种状态。
Pin14(DI):脉冲编码信号输入端。
Pin15、Pin16(OSC1、OSC2):外接振荡电阻,决定振荡的时钟频率。
Pin17(VT):输出端,接收有效信号时,VT端由低电平变为高电平。
Pin9、Pin18(VDD,Vss):电源+,-输入端。
PT2262/PT2272电气参数参数名称符号工作条件最小值典型值最大值单位工作电压VDD-3-15V工作电流IDD VDD=12V停振A0-A11开路-0.020.03uA输出驱动电流(Dout)IOHVDD=5V,VOH=3VVDD=8V,VOH=4VVDD=12V,VOH=6V3610--mA输出驱动电流(Dout)IOLVDD=5V,VOL=3VVDD=8V,VOL=4VVDD=12V,VOL=6V259--mA PT2262/PT2272极限参数参数名称符号极限值单位工作电压VDD-0.3-+16V V输入电压VI -0.3-VDD+0.3V V输出电压VO -0.3-VDD+0.3V V功耗PD 300(VDD=12V)mW工作温度TOPT-20-+70℃存储温度Tstg-40-+125℃PT2262/PT2272工作原理:PT2262-IR发射芯片地址编码输入有“1”、“0”和“开路”三种状态,数据输入有“1”和“0”两种状态。
(整理)PT2262芯片使用手册.
PT2272 应用(2008-11-28 20:10:20)标签:pt2262pt2272应用it分类:Hardware Circuit 以前一直用的是VD5026配合VD5027因为成本的原因希望改成大众的PT2262 PT22722262作为发送端有这样一些特性1. 编码由地址码+数据码+同步码组成。
具体可以参见PDF所有码都按照顺序连续发送4遍 2272接受到2个同样的码便解码获得数据2. 编码频率是这样算的32000除以外接的频率电阻的阻值,单位是K欧姆,得出基本频率单位K赫兹例如,外接3.3M电阻。
则32000除以3300 约等于10K赫兹3. 10K赫兹什么概念,就是基本频率高低高低1秒钟变化10000次则每次变换为100微秒。
设A=100us2262中的0表示为 4A时间的高电平12A时间的低电平+4A时间的高电平12A时间的低电平1表示为 12A时间的高电平4A时间的低电平+12A时间的高电平4A时间的低电平f(空)表示为 4A时间的高电平12A时间的低电平+12A时间的高电平4A时间的低电平查看文章编码解码芯片PT2262/PT2272芯片原理简介:2009-04-14 20:43PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz 的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
芯片资料:http://wenku.baidu.com/view/dbedded43186bceb19e8bb2e.html?from=rec&pos=0 网上有几个用51的做pt2262的软件解码。但我做了实验并不成功。怀疑原因在于: 1、 跟遥控器的发射频率有关,他们写的程序都没有注明遥控器的发射频率。很有可能就是因为他们只是解码了他使用的那个遥控器。而无法解码用了其他频率的遥控器。Pt2262芯片的发射频率跟p15和p16脚之间的电阻有关。关系式为: 振荡频率f=2*1000*16/Rosc(单位k欧) kHz 其中Rosc为振荡电阻 参考资料: 1、 http://wenku.baidu.com/view/8c7b8ec78bd63186bcebbcc4.html?from=related&hasrec=1 2、 http://wenku.baidu.com/view/0d81a38ca0116c175f0e4859.html
这里的一般电阻值不用去理它。可以根据实际来选择合适的电阻。 3、 厂里有一款遥控的振荡电阻是4.7M欧。 用公式 振荡频率f=2*1000*16/Rosc(单位k欧) kHz 其中Rosc为振荡电阻 求得:f=6.8085kHz 约等于 6.8kHZ。 周期为:1.468752294e-4 s 0.000146875s 即a=147us
4、 用51解码程序参考资料 例程一: http://blog.csdn.net/jh_zzz/article/details/5904888 /****************************************** ******* 文件名:Decode.c ******* 描 述:对PT226的编码信号进行解码 ******* PT2262的输出信号经三极管 ******* 反向后送入单片机的中断引脚 ******* 代 码:A0 -- A11 中的每bit用2bit表示:0码:00 ;1码:11 ******* 硬 件:AT89S52 、S9013 ******* 晶 振:11.0592 ******* 日 期:2008-08-02 ******* 备 注:PT2262输出数据的顺序:A0 A1 -- A10 A11+同步码+A0 A1 -- A10 A11+同步码,连续发四次 *******************************************/ #include //51系列头文件 #include //方便调用_nop_();做延时用; unsigned char Receive[3] ; //解码缓冲区:Receive[0]:A0 A1 A2 A3 ; Recdive[1]:A4 A5 A6 A7 ; Receive[2]: D3 D2 D1 D0 //Recdive[x]:xx xx xx xx 代表 4bit bit flag = 0 ; //解码完成标志位 sbit RemPin = P3^2 ; //编码信号输入脚 /*************************************** ******* 函数名:IntInitial( ) ******* 描 述:中断系统初始化 ******* 参 数:输入参数:无 输出参数:无 ****************************************/ void IntInitial( void ) { IT0 = 1 ; //外部中断0下降沿有效 EX0 = 1 ; //开外部中断0 EA = 1 ; //开全局中断 } /****************************************************** ******* 函数名:INT0_ISR( ) ******* 描 述: 外部中断0服务函数,实现对PT2262的解码 ******* 参 数:输入参数:无 输出参数:无 *******************************************************/ void INT0_ISR(void) interrupt 0 using 1 { unsigned char i = 0 ; unsigned char j = 0 ; unsigned int temp = 0x0000; EA = 0 ; TH0 = 0 ; TL0 = 0 ; //11.0592 最大值 71111us while( !RemPin) ; //等待高电平的到来,检测同步头 TR0 = 1 ; //启动定时器0,开始测量高电平的宽度 while( RemPin) { if( TF0 == 1 ) { goto RemExit; //定时器超时溢出则退出 } } TR0 = 0 ; temp = TH0 ; temp = temp << 8 ; temp = temp + TL0 ; //取得高电平的宽度 if( ( 0x0D8F /*3471*/ < temp ) && ( temp < 0x0F8F /*3983*/) ) //检测到同步头 { for( j = 0 ; j < 3 ; j ++) //循环3次 { for( i = 0 ; i < 8; i ++ ) { TH0 = 0 ; TL0 = 0 ; while( !RemPin); //等待高电平到来 TR0 = 1 ; //开启定时器0 ,测量高电平的宽度 while( RemPin) { if( TF0 == 1 ) { goto RemExit; //定时溢出则退出 } } TR0 = 0 ; temp = TH0 ; temp = temp << 8 ; temp = temp + TL0 ; //取得高电平的宽度 if( ( 0x60 /*96*/ < temp ) && (temp< 0x90 /*144*/ ) ) //判断得窄脉冲:1表示 { Receive[j] = Receive[j] << 1 ; Receive[j] = Receive[j] + 0x01 ; } else if( ( 0x0100 /*256*/ 冲:0表示 { Receive[j] = Receive[j] << 1 ; } else return; } } flag = 1 ; //表示已解码完毕 return; } else { goto RemExit; } RemExit: { TR0 = 0 ; EA = 1 ; TF0 = 0 ; RemPin = 1 ; return; } } void main( void ) { unsigned char i = 0 ; unsigned int j = 0 ; unsigned char Dat = 0x00; unsigned char RemDat = 0x00 ; //解码后数据寄存器 IntInitial( ); //中断系统初始化 //Init_uart(); //串口初始化 while(1) { if( flag ) //解码完毕 { flag = 0 ; RemDat = 0x00; for( i = 0 ; i < 4 ; i ++) { Dat = Receive[2]; Receive[2] = Receive[2] << 2 ; Dat = Dat & 0xC0; //判断高2bit if( Dat == 0xC0 ) //高2bit:11 ;则为1码 ;否则为0码 { RemDat = RemDat << 1 ; RemDat = RemDat + 0x01; } else { RemDat = RemDat << 1 ; } } P0 = RemDat ; //将解码后的数据送入P0口,通过开发板上的LED显示出来 for( i = 0 ; i < 2 ; i ++) //普通延时 { for( j = 0 ; j < 0xFFFF ; j ++ ) { _nop_(); } } TF0 = 0 ; EA = 1 ; //重开中断 } } } 例程二: http://wenku.baidu.com/view/b1b8e31e59eef8c75fbfb3db.html?from=rec&pos=0
例程三: /*------------------------------------------------------------------------------ ; Copyright (C) 2006 WangChanghong INTEGRATED PRODUCTS, INC. ; All rights reserved. ; MCU:AT89s52 ,晶体频率:12MHz : 作者:汪长洪 : 时间:2006年08月01日 ; 地点:威海 ;----------------------------315M无线遥控解码程序------------------------------*/ #include #define uchar unsigned char #define uint unsigned int
/*---------------------------------变量列表------------------------------------*/ uchar ReadCode[3],GetCode;
/*---------------------------------函数列表------------------------------------*/ void delay_200(void); //200us精确延时 void delay_250(void); //250us精确延时 void delay_131(void); //131ms精确延时 void init(void); //初始化子程序 void INT0_intrupt(); //中断处理子程序(解码程序)
/*-----------------------------主程序入口--------------------------------------*/ main() { init(); while(1) { P2=~GetCode|0xf0; } }
/*---------------------------------初始化子程序--------------------------------*/ void init(void) { EA=1; //打开CPU总中断请求 EX0=1; //打开INT0中断请求 IT0=1; //设定INT0的触发方式为脉冲负边沿触发