ASM 板


LINE

看板 ASM  RSS
各位前辈好: 小弟目前在写一个以8051纪录红外线HI-LO时间的code 打算将波形时间纪录之後 可以再完整发送出去 类似红外线 repeater 目前是以NEC Code 为纪录项目 高准位 +低准位 约134byte 但是在纪录方面就出了一些问题 都只会记录到第76byte就没了 想请前辈帮我看一下 是哪里出了问题,有其他可以更简化的方法吗? #include <C8051F340.h> #include <intrins.h> // nop指令需要引用 #define uchar unsigned char #define uint unsigned int void exint0(); void IR_repeat(void); void TT0(bit BT,TH0,TL0); void interrupt_int(void); sbit IR_IN = P0^2;//红外线接收电路端 sbit IR_OUT = P1^1; uchar i; idata uchar IR_code_time[134];//识别码,操作码存放 /****************** 主函数 *******************/ void main(void) { OSCICN = 0x80; //0x80=1.5Mhz 0x81=3Mhz 0x82=6Mhz 0x83-12Mhz PCA0MD &= 0X9F; //看门狗OFF P1MDOUT = 0x02;//Push Pull P2MDOUT = 0xff;//pp XBR1 = 0x40;//致能crossbar TMOD=0X01;//timer0工作在模式1 16bit计数器 interrupt_int(); for (i=0;i<=133;i++)初始值IR_code_time 以便除错 { IR_code_time[i]=0xaa; } i=1; TH0=0; TL0=0; while(1) { if((TH0==0xFF)|(i==134)){ TR0=0; IE=0x80; break;}//讯号超时 关闭计时器、外部中断,跳出回圈 } IR_code_time[0]=i-1;//纪录byte数 } /********************** 中断函数初始************************/ void interrupt_int(void) { IT01CF= 0x82; //设定LOW中断脚=P0^2 HIGHT中断脚P0^4 IT0=0; //外部中断0边缘触发 IE = 0x81; } /********************** 外部中断函数************************/ void exint0() interrupt 0 { IR_code_time[i+1]=TL0; IR_code_time[i]=TH0; TR0=1; TL0=0; TH0=0; IT01CF^=0x08; //将IN0PL反向 调整HI-LO触发转换 i++; } --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.251.222.115
1F:→ cortex1234:你的8051用哪一颗?基本款只有128byte RAM喔! 07/27 11:57
2F:→ Deltaguita:我是用c8051f340这颗 变数我有宣告为idata 07/27 12:02
3F:→ cortex1234:exint0()里面一次存两个byte但是i只有加1 07/27 12:28
4F:→ Deltaguita:!!! 07/27 12:30
谢谢前辈提醒我这个盲点 我等等有空就马上来去测试! ※ 编辑: Deltaguita 来自: 60.251.222.115 (07/27 12:31)
5F:推 lion21:如果你知道格式 其实 16 bit 就可存了 07/27 13:00
6F:→ Deltaguita:我知道格式 可是repeater并不能只限定NEC码可以使用 07/27 13:03
7F:→ Deltaguita:要有通用性的 所以以最长的NEC码来当作实验对象 07/27 13:04
8F:→ cortex1234:我不是前辈 我是新来的单晶片业余爱好者而已 :D 07/27 17:34
9F:→ WolfLord:用100uS去切割,直接纪录Bit Stream如何? 07/27 19:33
10F:→ Deltaguita:请问Bit Stream 我刚刚查了网路 都是讲影音的@@ 07/27 19:45
11F:→ lion21:如果你不用编码固定格式.. 你连续按键机制要怎样做? 07/27 21:12
12F:→ WolfLord:就是位元流啊~ 遥控器的编码一样可以当做多煤体的位元流 07/27 23:33
13F:→ WolfLord:来看待啊~ 只是遥控器的位元流只有十分之一秒上下,音乐 07/27 23:34
14F:→ WolfLord:、影像的位元流都上小时的。差别就这样而已啊~ 07/27 23:34
15F:→ WolfLord:Lion21: Time Space Mark 07/27 23:35
16F:→ Deltaguita:请问W前辈 有具体的做法可以参考吗@@? 我会尽量google 07/28 00:19
17F:→ Deltaguita:相关做法的 07/28 00:20
18F:推 WolfLord:位元流的格式:BitRate/pre Second我上面不是说100uS为 07/28 00:21
19F:→ WolfLord:单位吗? 换成BitStream的说法就是10Kb/S:每100uS取样一 07/28 00:22
20F:→ WolfLord:次,每800uS为一个Byte这样储存,播放时也这样播放。 07/28 00:24
21F:→ WolfLord:每100uS取出一个位元来播放... 07/28 00:24
22F:推 WolfLord:我没记错的话F340的XRAM打开有4KB 用10Kb记,每一段1/10 07/28 00:29
23F:→ WolfLord:秒的话应该可以纪录32组讯号 07/28 00:30
24F:→ Deltaguita:我大概懂了 是类似MP3取样这样吗? 07/28 00:36
25F:推 WolfLord:yeah,不过不必压缩 07/28 00:46
26F:推 lion21:我说的"连续按键".是比如你按着音量键连续2秒的状况 07/28 11:26
27F:推 WolfLord:lion21 IR是有time space的,wkup+cod+spc+cod+cpc+cod.. 07/28 19:45
28F:推 WolfLord:wkup+cod+spc+cod+spc+cod+spc+cod+spc+cod...直到你放开 07/28 19:46
29F:→ WolfLord:如果要记忆後发伪造指令需要解析WKUP後区分出CODE 07/28 19:48
30F:→ WolfLord:如果是REPEAT 那就很单纯的中实转发bit stream就可以了 07/28 19:49
31F:→ Deltaguita:最终目标 还是要做出具有学习功能的遥控器XD 07/28 20:17
32F:推 WolfLord:所以纪录後写段程式把Wakeup跟code区分出来就好了,其实 07/28 20:43
33F:→ WolfLord:不难判断:Space 10ms以下为连续码,连续码的bitStream 07/28 20:44
34F:→ WolfLord:减去开头的持续状态就能分辨Wakeup了,另外也可以单纯 07/28 20:45
35F:→ WolfLord:以超过2mS的0或1为Wakeup(一般通用)然後後面的波动CUT 07/28 20:46
36F:→ WolfLord:开来当DATA。总之方法很多,简单的根超级聪明的都可以:P 07/28 20:47
37F:→ WolfLord:340可以跑很快,所以不用担心CPU速度不够用 07/28 20:48
38F:→ lion21:我的资讯.持续按压为wkup+cod+spc+cne+spc+cne+spc+cne+... 07/28 22:37
39F:→ lion21:cne是每个按键都相同的 持续码.. 与第一个资料码无关 07/28 22:38
40F:→ lion21:我只是说出我看到的东西 不代表每个遥控器都相同 07/28 22:39
41F:推 WolfLord:不管是怎样的format,码段中间还是有space可以区分啊~ 07/28 22:53
42F:→ WolfLord:不管怎样的format,在Btistream模式下还是都可以复制的。 07/28 22:54
43F:→ WolfLord:除非你拿到一个滚码发射器....那就只能repeat无法伪造了 07/28 22:56
44F:→ Deltaguita:如果是有toggle的要怎麽处理阿? 07/28 23:01
45F:推 WolfLord:那就得写例外了,反正遇山炸山遇水架桥就是了 07/28 23:20
46F:推 lion21:我想表达的意思是.不解码直接存再重发不会比较好做 07/28 23:57
47F:推 WolfLord:我想,这中间有点分歧的是:如何泛用 如果能全部都懂格式 07/29 00:00
48F:→ WolfLord:自然会比教友效率,但是,如果是不特定对象呢?这时候 07/29 00:01
49F:→ WolfLord:记忆猪(Memo-Pig)反而是比较好的方法,只要把一般泛用的 07/29 00:02
50F:→ WolfLord:分析方法放进去,然後把讯号全部展开在记忆体里面。这样 07/29 00:03
51F:→ WolfLord:即使碰到不懂的讯号最多多用些记忆还是可以复制与伪造, 07/29 00:04
52F:→ WolfLord:坊间很多可烧录的无线遥控器就是采用这种模式复制的 07/29 00:06
53F:→ WolfLord:密码遥控器百百种,每一家都有独特的编码法。你要如何 07/29 00:07
54F:→ WolfLord:JUST IN TIME的替每一种新编码推出复制工具? 这时候,仅 07/29 00:08
55F:→ WolfLord:分析共通特徵,讯号完全录制的方式就会通用许多(当然 07/29 00:08
56F:→ WolfLord:有些连基本共通模式都修改的编码法无法复制)不过也够用 07/29 00:09
57F:推 WolfLord:我之前有写一个可以使用红外线遥控器遥控的装置,因为允 07/29 00:12
58F:→ WolfLord:许用户拿自己的遥控器(不特定)来定义功能,所以我的解 07/29 00:13
59F:→ WolfLord:码程式就很OX的用了比较慢得解码速度(会漏BIT)把所有 07/29 00:14
60F:→ WolfLord:的遥控器讯号都作成16BIT的模式,然後我只记忆这个特徵码 07/29 00:15
61F:→ WolfLord:而不是完整的OEM+KEY+SHADOW码。那个产品至今还没碰到 07/29 00:16
62F:→ WolfLord:客户抱怨哪一只遥控器不能用。我觉得通用的方法不一定要 07/29 00:17
63F:→ WolfLord:是最正确的解码,但是只要能用,应该就是个解(我在说啥? 07/29 00:18
64F:→ Deltaguita:我照原来的方式写出来了 虽然照前辈的建议走 07/31 18:37
65F:→ Deltaguita:还是感谢 07/31 18:37







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP