计数与鉴向部分的总结

    通过C8051F020来计数是很简单的事情,至少在理论分析上是这样的。只要使用中断的方式来对脉冲进行计数,通过变量或寄存器累加就可以了。外部中断要选择边沿触发的模式。而鉴向的实现方法就是根据A和B两路信号的相位关系来判断偏转的方向。相关论文已经将正反转情况下AB信号状态的变化规律列成表格,可以根据查表法或者根据真值表推导出的逻辑函数计算正反转情况。这部分的算法流程图已经画出来了。

    昨天还将计算机与单片机通信的方案设计了一下。如果让人工参与干涉的话,数据的采集和通信都比较容易,也不需要判别传感器是否已经采集完数据,只要把寄存器中的数值传递到计算机上即可。但是如果不允许人工参与的话,这是一个比较难办的问题。

    首先要把时序问题搞清楚。硬件设计上是采用基于RS485的总线方式来进行多机通信,这就决定了只能采用半双工的方式读取数据。由计算机来控制单片机来发送数据,这就牵扯到一个时序的问题。计算机通知单片机发送数据的方式是用UART0中断来告知单片机的。在中断优先级上,外部中断在UART0中断之前,也就是单片机在外部中断处理完之后才能处理UART0中断。这里关键是计算机访问单片机的频率问题,如果过于频繁,就会使UART0的中断累加,增加单片机负担。因此,每次访问单片机的周期必须大于要计数的脉冲的周期,也就是外部中断的周期。

    另外还要把外部中断和UART0中断之间的先后关系搞清。比如说,当UART0中断正在执行时,这是外部中断发生后必然先处理外部中断。处理完后才会继续处理UART0中断。

    周末争取把这想清楚吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值