请51单片机高手指点个题目

lj0303076 2009-06-19 12:58:35
命题: 利用4个感应触头接受动作信号,输入到P0口 判断后输出动作方向。

我不知道该如何解决 请高手指点,最好能给出具体C程序。谢谢
...全文
51 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lj0303076 2009-06-21
  • 打赏
  • 举报
回复
我现在有新问题: 在判断P0口输入的4个信号算法上 请高手给点意见。 我现在是用左移或者右移来判断 如果2S[i]=s[i-1] 那么P1=0X01 如果 S[i]=2s[i-1] 那么P1=0X02 就是做了连续2个状态值比较,S[i]就是当前PO口状态值。 我觉得这种算法有漏洞,但是为了赶时间 我将就这么用。 请高手说下存在什么问题吗 ?
lj0303076 2009-06-21
  • 打赏
  • 举报
回复
只需要做2个方向的判断就好了 比如左右方向, 4个触发器放置在一排上
agaric 2009-06-21
  • 打赏
  • 举报
回复
我觉得,这个和键盘驱动差不太多吧
congyue123 2009-06-19
  • 打赏
  • 举报
回复
首先:你的四个探头的输出可以共同触发单片机的中断。然后,通过P0口来检测四个探头的状态。
具体的软件流程:当探头有动作时,触发单片机的中断,在中断服务例程当中,来检测四个探头的状态,也就能确定方向了。
还得注意的方向的实时性的问题,比如说哪个方向的优先级高,就在中端服务里程当中先判断哪个。
jxc25 2009-06-19
  • 打赏
  • 举报
回复
p0做输出口
p1做输入口
h_x_zhong 2009-06-19
  • 打赏
  • 举报
回复
4个感应触头接受动作信号 是不是来判断东南西北四个方向的动作信号?
1个外中断来判断动作信号输入,P0来判断动作信号输入方向。1定时器T0中断是做时间计时。

lj0303076 2009-06-19
  • 打赏
  • 举报
回复
中间用了1个外中断 1定时器T0中断
zeerd 2009-06-19
  • 打赏
  • 举报
回复
信息太少了,至少要给出有几种方向需要监控什么的

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧