这里说明下: 硬件电路设计的不是太完善,没有象PLC样留出专门的IO口作为高速脉冲输出口;步进电机输出口与其他I/O共用,不用中断不可能弄出这么高的频率。 我用的是STC52系列,用到了其片内eeprom,我的通讯数据有十多位;通讯只好采用中断发送,通讯/步进电机输出/EEPROM的擦除都是对中断/LED显示(我这里是32位数码管显示)都有影响的。所以中断要尽量简洁。 我想fsaok的项目做到后面应该也会碰到类似问题吧。
当然常用的相与/相或/异或/等位处理肯定是会的吧,只是觉得比如像汇编里面,对位测试/带位移等比较好用的命令没发现较合适的。 我比较欣赏PLC的一些做法,每个输入点都可以单独的检测上升沿,下将沿,可以读每个输入寄存器的状态,只是PLC现在都是采用32,有足够的RAM及足够快的速度。 yzhj 的方法我现在输出也是采用这种方法,是比较方便。只是只用16个字节,sbit 变量要是能像数组样定义那就太妙了。
|