请教老师

[复制链接]
2133|6
 楼主| hongweizy 发表于 2007-5-9 09:43 | 显示全部楼层 |阅读模式
&nbsp;我写一个小程序:在开始时,定义了两个独立位变量OPEN与MOTO1,在程序执行过程中根据TEMP的内容,须要将两个独立的变量等效(每个变量变化均可引出同一结果)。我初学单片机,没有经验,无法实现这种功能。请老师们帮小弟指教一下,我这里多谢了。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OPEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BIT&nbsp;&nbsp;&nbsp;&nbsp;20H.1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOTO1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BIT&nbsp;&nbsp;&nbsp;&nbsp;P0.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TEMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;40H<br />---------------------开始执行---------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,TEMP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,#79H,NEXT<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEXT:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(将OPEN与MOTO1等效)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
maychang 发表于 2007-5-9 12:06 | 显示全部楼层

不明白“将两个独立的变量等效(每个变量变化均可引出同一结果)”是什么意思。<br />“变量变化”应该是指由1变为0或者由0变为1,两个位变量同时变化或向相反方向变化(共四种情况)怎么办?如何“等效”?
 楼主| hongweizy 发表于 2007-5-9 14:24 | 显示全部楼层

再说明一下我的意图

我在两个不同的场合用到两对变量,分别是CLOSE、OPEN和MOTO1、MOTO2<br />这两对变量要实现同一种效果,即:电机的正、反转。在没有断定MOTO1和MOTO2哪一个为正转时,用了CLOSE和OPEN替代。程序运行,当TEMP中为#79H时,OPEN与MOTO1均为正转,CLOSE与MOTO2均为反转。<br />&nbsp;&nbsp;还望老师教我,小弟不胜感激!<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLOSE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BIT&nbsp;&nbsp;&nbsp;&nbsp;20H.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OPEN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BIT&nbsp;&nbsp;&nbsp;&nbsp;20H.1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOTO1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BIT&nbsp;&nbsp;&nbsp;&nbsp;P0.0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOTO2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BIT&nbsp;&nbsp;&nbsp;&nbsp;P0.1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TEMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;40H<br />---------------------开始执行---------------------<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,TEMP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CJNE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,#79H,NEXT<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(OPEN与MOTO1等效,CLOSE与MOTO2等效)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NEXT:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(将OPEN与MOTO2等效,CLOSE与MOTO1等效)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......
maychang 发表于 2007-5-9 15:21 | 显示全部楼层

那么这里没有“变化”

“OPEN与MOTO1均为正转,CLOSE与MOTO2均为反转”<br />OPEN为1,MOTO1为0,CLOSE为0,MOTO2为1,怎么办?<br /><br />四个位变量,共16种情况,你要合并成几种?
 楼主| hongweizy 发表于 2007-5-9 16:26 | 显示全部楼层

对不起 maychang老师,我上传的内容书写有误

对不起&nbsp;maychang老师,我上传的内容书写有误,MOTO1与MOTO2的定义应该是这样的:&nbsp;&nbsp;&nbsp;MOTO1&nbsp;&nbsp;&nbsp;BIT&nbsp;&nbsp;P0.0&nbsp;&nbsp;&nbsp;&nbsp;MOTO2&nbsp;&nbsp;&nbsp;BIT&nbsp;&nbsp;&nbsp;P0.1<br />我在原贴上修改一下,请您再帮小弟看一看。
杨真人 发表于 2007-5-9 19:35 | 显示全部楼层

楼主自己都不知所云。

  
conwh 发表于 2007-5-9 19:47 | 显示全部楼层

这样的帖不好回

<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

157

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部