pdf

阐述用AT89S51单片机软件解码PT2262的C程序

  • 1星
  • 日期: 2018-03-16
  • 大小: 86.19KB
  • 所需积分:1分
  • 下载次数:1
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: PT2262AT89S51单片机

用AT89S51单片机软件解码PT2262的C程序。

文档内容节选

用 AT89S51 单片机软件解码 PT2262 的 C 程序 作者jdzj868 来源机电之家下载站 录入jdzj868 更新时间20091028 145917 点击数0 字体 编码芯片 PT2262 发出的编码由地址码数据码同步码组成地址码和数据码都用宽度不同的脉冲 来表示两个窄脉冲表示0两个宽脉冲表示1一个窄脉冲和一个宽脉冲表示F也就是地址码的悬 空同步码为时间较长的低电平间隔下图为 PT2262 编码图 从图中可以看出发送码的周期是相等的只是脉冲宽度不同宽脉冲与窄脉冲之比为 31而同步码的 低电平时间约为这个周期的 8 倍 解码的关键是识别同步码然后对后面的字码的脉冲宽度进行识别就可以解出这个编码pt2262 每 次发射时至少发射 4 组字码每组字码由 25 个脉冲组成前 24 个脉冲为地址和数据最后一个脉冲和 一低电平间隔组成同步码下面我们来说说如何用 51 单片机对其进行解码由于程序结构不复杂就不 再画流程图首先我们让 Timer0 工作在定时状态初始化值使其能在同步码未结束时溢出利用 Timer0 的溢出中断来初始化准备接收后来数据......

用 AT89S51 单片机软件解码 PT2262 的 C 程序 作者:jdzj868 来源:机电之家下载站 录入:jdzj868 更新时间�2009-10-28 14:59:17 点击数�0 【字体� 】 编码芯片 PT2262 发出的编码由�地址码、数据码、同步码组成。地址码和数据码都用宽度不同的脉冲 来表示�两个窄脉冲表示“0”�两个宽脉冲表示“1”�一个窄脉冲和一个宽脉冲表示“F”,也就是地址码的“悬 空”�同步码为时间较长的低电平间隔�下图为 PT2262 编码图� 从图中可以看出�发送码的周期是相等的�只是脉冲宽度不同(宽脉冲与窄脉冲之比为 3:1)。而同步码的 低电平时间约为这个周期的 8 倍. 解码的关键是识别同步码�然后对后面的字码的脉冲宽度进行识别�就可以解出这个编码。pt2262 每 次发射时至少发射 4 组字码�每组字码由 25 个脉冲组成�前 24 个脉冲为地址和数据�最后一个脉冲和 一低电平间隔组成同步码。下面我们来说说如何用 51 单片机对其进行解码。由于程序结构不复杂�就不 再画流程图�首先我们让 Timer0 工作在定时状态�初始化值使其能在同步码未结束时溢出,利用 Timer0 的溢出中断来初始化,准备接收后来数据,同时将 Timer0 设为门控定时,也就是 TMOD 的 GATE0 位为 1,此 模式下,只有 TR0=1 并且 INT0=1 才计数,此模式可以用来测量脉冲宽度.这样就识别出了同步码.数据由 INT0 输入�INT0 设为跳变触发,每中断一次就取 TH0 和 TL0 之和�这个和就是前一个的脉冲宽度.判断 出是宽脉冲还是窄脉冲.由于上述的同步码周期与地址数据周期都远小于定时器 0 的定时时间,所在定时器 0 正常工作时,是不会溢出的.以下为程序,程序的功能是分别解出地址码与按键码(也就是数据码),然后用串 口输出.解码时宽脉冲为 1,窄脉冲为 0.低位放到接收码的最高位,也就是解码结果与原数据位颠倒了.至于 想要什么结果,可以做相应的处理,当然包括变换成地址的三进制格式.因为宽脉冲的脉宽与低脉冲的脉宽 相差很大,所以解码很容易,下面为振荡电阻为 1M 时的程序,同样可用来解码振荡电阻为 1.2M 的编码.振荡 电阻决定脉冲的宽度�可以修改程序来适应不同的震荡电阻�下面是 c 程序代码� //测试条件�单片机为 AT89S51�晶振 12M,振荡电阻 1MΩ #include< AT89X51.h> #include< stdio.h> unsigned int addr,key; unsigned char cntint;//外部中断 0 计数 void eint0(void) interrupt 0//外部中断 0 { static unsigned int tempaddr;//接收地址缓存 static unsigned int tempkey;//接收数据缓存 unsigned int timecnt; timecnt=TH0*256+TL0; TH0=0; TL0=0; if(cntint<16)//接收地址码 { tempaddr=tempaddr<<1;//将接收的到最低位移到最高位 if(timecnt>210)//210 为宽脉冲与低脉冲界线�当振荡电阻为 1M 时�窄脉冲为 110uS�宽脉冲为 320uS { tempaddr|=1;//宽脉冲为 1 } cntint++;//中断次数加 1 } else if(cntint<24)//接收数据码 { tempkey=tempkey<<1; if(timecnt>120) { tempkey|=1; } cntint++; } else//cntint 大于 24 也就是中断了 25 次时�关闭外部中断 0�等待同步码 { TMOD&=0xf0;//设定时器 0 为定时方式 TMOD|=0x01; TH0=0xf9; TL0=0x66; cntint=0; EX0=0;//关外部中断 0 addr=tempaddr; key=tempkey; tempaddr=0; tempkey=0; } } void timer0(void) interrupt 1//定时器 0 中断,只有初始化时�空闲时和同步码到来时才中断 { TMOD&=0xf0;//将定时器 0 的工作方式设为门控定时�用以检测脉宽。 TMOD|=0x09; cntint=0;//外部中断 0 中断次数设为 0 TH0=0;//设定时器 0 定时初值为 0 TL0=0; EX0=1;//允许外部中断 0 IE0=0;//清除外部中断 0 标志 } void main(void) { void sendd(unsigned int intnum); unsigned int i; TMOD=0x21;//设定定时器 0 和定时器 1�定时器 1 用来驱动串口 TH0=0xf9;//设定定时器的初始值�这个值必小于同步码 TL0=0x66; TH1=243;//12M 晶振时�串口波特率为 2400 TL1=243; SCON=0x50;//设定串口工作方式 TI=1;//要用 printf 就将其设为 1 EA=1;//开所有中断 ET0=1;//开定时器 0 中断 EX0=0;//关外部中断 0�在 Timer0 中断里面将其打开 IT0=1;//外部中断 0 设为跳变触发 TR0=1;//定时器 0 启动 TR1=1;//定时器 1 启动 while(1) { printf("%u\n",addr);//输出解码地址 printf("%u\n\n",key);//输出解码数据 for(i=0;i<3000;i++);//这个用来防止串口不同步 } }
更多简介内容

推荐帖子

TI - HEV/EV电池管理系统中的标准放大器功能
         混合动力电动汽车(HEV)和电动汽车(EV)之所以备受欢迎,是因为它们具有低(零)排放和低维护要求,同时提供了更高的效率和驱动性能。新的HEV/EV公司方兴未艾,而且现有的汽车制造商正大举投资HEV/EV市场,以争夺市场份额。   HEV/EV动力总成的核心在于系统。该系统从电网获取电力,将其存储在电池中(静止时),并从电池获取能量以转动电机并移动车辆。该系统主要包括四个子系统
Aguilera 【模拟与混合信号】
采用分级字线结构可提高SRAM读写速度及降低电路动态功耗
  采用分级字线结构的存储器将整个存储阵列划分为若干个相同的子阵列。与非分级字线结构相比,它需要采用多级的字线译码才能完成对存储单元的寻址。如图1所示,整个电路采用层次化字线的多分割阵列结构。     图1 分级字线结构   采用层次化字线分割结构不仅能提高工作速度,而且能大大降低功耗。这是因为字线分割结构使原本同时被激活的存储单元变为只有被选中的块内的存储单元
是酒窝啊 【其他嵌入式操作系统】
D类功率放大器是什么?
丁类放大电路用来放大脉冲(数字)信号,这种信号通常持续时间较短。使用数字技术可以通过输入信号的许多样值在输出端将其再现(使用抽样保持电路),来获得完整周期的信号。丁类放大器的主要优势在于放大器只在比较短的时间内“开启”(消耗功率),所以整个电路的实际效率比较高。   丁类功率放大器也称为D类功率放大器。   丁类功率放大器适用于数字信号和脉冲信号。超过90%的功率效率使其成为了一种相当
火辣西米秀 【模拟与混合信号】
随机函数:rand和srand的用法
首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明。 rand(产生随机数) 表头文件: #include 定义函数 :int rand(void) 函数说明 : 因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()
fish001 【微控制器 MCU】
单片机中,6种常见的报警程序
常见的报警方式有6种 (1)指示灯或数码管显示出数据,以提醒操作人员注意。 (2)采用声、光及语音进行报警。其中,光效果通常取自发光二极管LED或其他光源器件;声效果可取自电铃、电笛、蜂鸣器、或音乐(语音)芯片等。 (3)合成语音报警。采用这种方式进行报警时,单片机应用系统将对语音信号进行采集、处理、合成和识别,使报警系统的功能更加完善,报警信息更加具体、生动、准确,直至给出报警
Aguilera 【微控制器 MCU】
解决对讲机盲区通信的方法
      在超短波常规无线通信中,经常面临手持机通信距离短的问题。因为手持机受体积、重量和耗电等多方面制约,不可能大幅提高功率和使用高增益天线来扩大通信范围。通常解决这个问题是利用转发台来扩大手持机的通信距离。由于超短波是属于视距传播,只要将转发台置于高处,   在超短波常规无线通信中,经常面临手持机通信距离短的问题。因为手持机受体积、重量和耗电等多方面制约,不可能大幅提高功率和使用高增益
Jacktang RF/无线

评论

登录/注册

意见反馈

求资源

回顶部

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })