51单片机和PLD的PROTEUS电路仿真
是否完全接收无法保证,把得到第一个码丢弃,把第二码中接收到的高、低电平的记数值进行比较,取较小的那个作为波特率的标准,把该记数值乘
人工智能及识别技术
计算,要保证能够接收到一个完整的编码必须要63T,所以在程序中要给出一个宽度为63T的时间窗口来保证正确解码。
4键识别
在遥控使用的过程中常常有短按键和长按键以及双击的情况。短按键处理很简单,可以直接使用前面的流程来编写程序。下面来分析下长按键和双击的识别方法。
4,得到的结果就是1个T对应计数值C_BAUD,这个C_BAUD是用来捕捉编码中
同步头的关键。
本文的解码方法中把同步头的捕捉放到了解码程序中,图4是解码的流程。在每次进行计数加一后都把
4.1长按键
使用2260编码芯片的遥控器,只要按键引脚上有高电平就会持续发码。利用这一点,只要在N个连续的63T时间窗口内都接收到了同一个码便可以识别为是一个长按键动作。N值的大小
决定了长按键的时间阀值。
4.2双击
双击动作实际就是一个的过程。在正确接收到了“通-断-通”一组编码后等待键释放,键释放就是在一个64T的窗口中没有成功解码,检测到按键键释动作放后再给N个连续的64T的时间窗口进行解码,在这N个64T的时间窗口中只要出现一次解码成功则识别为双击,否则识别为普通的短按键,N值的大小决定了双击的最大时间间隔。
C_HBIT或C_LBIT与
C_BAUD进行了一次比较,因
为同步头的低电平时间宽度为7.75T远大于一个码的周期
T,若C_LBIT大于C_BAUD
则说明接收到的是同步头,而
5结束语
文中提出的2260编码芯片的软件解码方法,长键及双击按键的识别方法在笔者近期开发的一个项目得到了应用,实际效果非常好,解码距离不逊于专用解码芯片2272。另外本解码方式还可以对1527、527、2240等同类型的编码芯片进行解码。
参考文献:
C_HBIT大于C_BAUD则说明
接收到的是误码,都必须重新开始解码。在接收到同步头后解码的正确率可达百分之百。
需要注意的是在对2260进行解码时必须要保证解码的时间窗口要大于一组完整的编码的时间。这个时间窗口可以根据前面得到的波特率的记数值C_BAUD来计算,一个完整的编码要接收24码和一个同步头,既32T,按照最坏
图4
软件解码流程
[1]李广弟,朱月秀,王秀山.单片机基础[M].北京:北京航空航天大学出版社,2001.
[2]邬伟奇.PT2262编码芯片的软件解码[J].微计算机信息,2004.07.
[3]PT2262、PT2272和P87LPC764单片机的接口设计[EB/OL].http://www.zlgmcu.com/philips/yingrong/51lpc/PT2262-PT2272-
764jiekou.pdf
情况接收是从第二码开始来
(上接第417页)
表1
3-8译码器真值表
在Proteus中点击Play键观看电路仿真结果:当改变输入端的值时,输出端对应的值按真值表中的对应关系改变。
5结语
利用Proteus做单片机仿真实验有如下特点:
编译后马上就可以看到效果,提高效率。(1)速度快。程序修改、
直观形象。硬件电路随时可进行更改,电路修改非(2)方便、常容易。
科学、有效地培养设(3)可自主设计和验证方案,有利于系统、计者的专业实践能力和创新能力。
图7
译码电路对应输入/输出截图
程宝典[M].北京航空航天大学出版社.2003(6).
——一种集单片机模拟和SPICE分析[2]倪升跃.PROTEUS—
于一身的软件.电子世界.2004(12).
[3]房泽平,赵淑霞.用PROTEL99设计开发GAL器件[J].中原工学院学报增刊:167126906(2002)增刊
20068203.
(4)使用Proteus对PLD进行电路仿真,可以直观得观察电路
的运行情况,提前发现设计的错误,可以极大的提高开发效率。
参考文献:
[1]马忠梅,刘滨,戚军,马岩.单片机C语言Windows环境编