本帖最后由 wangfine1975 于 2013-12-17 15:33 编辑 不客气,电调留着你自己用吧 51单片机也是仅仅懂一点,做过的最复杂的东西也不过是个带闹钟的数码显示的电子钟。 实用的东西也是仅仅做了个定时器,用来定时煮米饭用的。 |
本帖最后由 wangfine1975 于 2013-12-17 10:36 编辑 用电平中断吧,用电平中断检测到第一次中断时,T0或T1清0,第二次中断时,记录下T的数值。比如设置个全局变量。 发射机发射两次中间的电平脉宽大于3MS。 当检测到一个大于3MS的脉宽时,下一组信号开始发送,用中断逐次检测到每个通道的值。 我估计每个通道的在0.5-3MS之间。 如果只解第三通道,那么把前两个通道舍弃就可以了 我也不怎么精通,不过这个办法肯定能解出来 |
你是准备解码接收机接收到的多通道信号,还是解码单个通道的信号,你都没说明白 |
高人!! |
18系列单片机就可以满足一般的要求了; 如果要想更好,呵呵,PIC24F系列更爽; |
本帖最后由 狐狸 于 2013-12-12 20:46 编辑 ...... PULSIN PORTB.0,1,W1 '测出B口第1脚的脉宽,数据赋值给W1变量; PULSIN PORTB.1,1,W2 '测出B口第2脚的脉宽,数据赋值给W2变量; PULSIN PORTB.2,1,W3 '测出B口第3脚的脉宽,数据赋值给W3变量; PULSIN PORTB.3,1,W4 '测出B口第4脚的脉宽,数据赋值给W4变量; ..... 后处理程序; ... |
用PIC单片机吧,PICBASIC PRO高级编程语言 一个pulsin指令就可以测出单个脉冲的宽度; |
看不到图片 52没做过,原来用PIC做过检测接收机出来的信号,做一路的时候基本没问题,做两路的时候不太好使。 |
直接检测相邻的上升沿或下降沿的脉冲宽度就可以,直接得到通道的值。 |
用查询高电平方式,高电平来后启动T0,低电平结束,然后计算电平宽度。 |