登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

了解遥控器的请帮忙:PIC能定义一个32个字节的变量吗?

作者:music513 栏目:单片机
了解遥控器的请帮忙:PIC能定义一个32个字节的变量吗?
我要作一个遥控器,要存遥控编码,我找了一些资料,红外的好象都有32位码和两位引导码,我想用一个32位的变量来表示一组编码,然后通过移位输出。对应的1,0用相应采集到的格式输出,
这只是我的一个设想,我感到我的压力挺大的,请各位大侠多多指点!
还有:大家有没更好的办法来解决这个自学习遥控器。程序也好,流程也好!

2楼: >>参与讨论
etter
你可以用c来定义
 
3楼: >>参与讨论
imwangyi
32位不就是4个8位么?
很简单的,就是用移位就可以了,很简单的,无需用C语言。

4楼: >>参与讨论
Wxy8030
晕——C能做到的,汇编就不能做到?
楼主的题目没看明白——到底是32个字节,还是32个位?

5楼: >>参与讨论
chinasg001
C51系列可以用 LONG 来定义一个32位的变量
 
6楼: >>参与讨论
music513
32位啊!我知道了,用指针来定义!
 
7楼: >>参与讨论
PIIICPU
到底用什么进行PIC单片机编程呀?
 
8楼: >>参与讨论
music513
我是用汇编!PIC特有的那种
 
9楼: >>参与讨论
zwn001
不比烦恼
红外编码芯片你不管它它有多少为编码,它的0和1的编码方式一般如下
1----用3个连续高脉冲和一个低脉冲表示
0----用3个连续低脉冲和一个高脉冲表示
这种方式也可以理解为占空比为4/1数字调制,你只需用启用中断,红外接受引脚联MCU某一下降延中断引脚即可,中断后打开计数器,每次电平翻转时把计数器的值入寄存器保护,所有接收后,可以通过串口松给计算机分析得出他的编码就可

10楼: >>参与讨论
liuming

 
11楼: >>参与讨论
music513
zwn001,我想再和你聊一下!
好象很多红外的编解码芯片的0,1是不一样的。我见过的还有:
0:高低,1:高低低低    如:UPD6121G
0:1/3占空比,1:2/3占空比   如:HT6P20
还有你说在每次电平翻转时把计数器的值入寄存器保护,那不是一串编码就要32*2=64个字节,好像是很占空间啊!有没有一个办法收集到0和1的编码,然后用8位*4=4个字节来表示一串编码呢?
请不吝赐教!

12楼: >>参与讨论
wpyan
你可以这样的~
你可以只是在开始时候识别引导码,然后只要分析高电平或低电平,这样就可以做到一位代表一个码了,那就是32位了,我的6121就是这样解码的,呵呵


13楼: >>参与讨论
zwn001
大胆做
要了解一个未知的遥控器,首先要分析其脉冲流,从而了解其脉冲波形特征(以何种方式携带“0”、“1”信息),进而了解其编码规律 就向你说的不管那一种器件,0和1的表示方式如何,但他的原理都是以样的。脉冲流的分析应从分析脉冲的高、低电平宽度入手如果没有红外遥控信号到来,接收器的输出端口PO保持高电平;当接收到红外遥控信号时,接收器件信号转换成脉冲序列加到CPU的中断输入引脚。用软件测试引脚的逻辑电平,同时启动TC计时器,测量该引脚分别为逻辑“0”和逻辑“1”情况下的时间值,存储起来,然后打印、分析;或者一个解码工装,可以显示解码结果或带有串口,把数据存到计算机,然后根据新片资料的出每一中按键的解码,在正式的应用中只需把解码列表,同样的解码程序,这时只要把接收的信息同列表对比是那一编码就去执行相应命令。
例:有一款红外编码芯片1用3个高脉冲1个低脉冲
                    0用1个高脉冲3个低脉冲
一个脉冲的时间位42us  

14楼: >>参与讨论
zongyi
?
  做自学习红外遥控器最需要了解两点:
  1、用什么MCU ?
  2、需要学习固定格式的红外遥控码还是万能遥控?
  固定格式的码好办解码存储就可以了(占很少的RAM和EEROM).
万能红外学习遥控如果MCU资源比较好的话也很好办一般是通过学习脉宽的办法
我以前用PIC12CE518作了一个万能红外学习遥控调光调速开关(并不是所有的遥控码比如自定义的>64BIT的码等),由于RAM和EEROM有限,学习的数据经过了压缩,实际上效果还不是很好.我想改成PIC12F629可能好做一点!

15楼: >>参与讨论
MUSIC513
再问一下!
我很急的,我答应别人11号之前要写完程序,AD转换,键盘扫描我都完成了,就是编码采集这一块还是不太清楚。比如UPD6121G是用10表示0,1000表示1,那具体要怎么采集和压缩呢?先谢了!我用的是PIC16F877

16楼: >>参与讨论
MUSIC513
谢谢大家的帮忙!
 
17楼: >>参与讨论
music513
vb yu !
vb yu !

18楼: >>参与讨论
wuliao
wpyan
wpyan 你好!!能把你的遥控解码程序给我一分吗?谢谢!!romking@163.com

参与讨论
昵称:
讨论内容:
 
 
相关帖子
晶振要用33PF的电容,能用30PF或40PF的代替吗?
请教关于pic16F87X的基准
mplab IDE 最新版本还支持 ICD吗?
高手请帮我看一个16f87x的timer1程序,怎么不好用!?谢谢
PIC16C5X系列是不是没有电平变化唤醒功能?
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号