自动化首页
论坛首页
游客:
注册
|
登录
|
搜索
|
统计
|
帮助
自动化在线 Autooo.net
»
单片机论坛
» [求助]如何清除变量num0=keyscan()的值?
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
繁体版
|
打印
|
推荐
|
订阅
|
收藏
标题: [求助]如何清除变量num0=keyscan()的值?
dpj
中级工程师
UID 688
精华 0
积分 2228
帖子 2228
威望 9
金钱 4454
阅读权限 30
注册 2008-4-20
状态 离线
#1
使用道具
发表于 2008-4-21 23:03
资料
短消息
加为好友
[求助]如何清除变量num0=keyscan()的值?
[求助]如何清除变量num0=keyscan()的值?各位老师, 你们好!有个问题小的思考了很久了还是不得其解。如下图所示,我想控制电机,让物件从A端到B端,电机启动,物件从A→B,电机停止,物件自动从B→A;A、B两端均有检测开关。我的程序中,键盘采用查询方式的函数返回值num0=keyscan(),x1代表A端开关,x2代表B端开关,y12代表电机,数字1代表有效(电机启动或物件到位),数字0代表无效(电机停止或物件未到位);我希望实现的动作是,当物件在A时,我按下按键,物件往B走,到B后自动返回到A,停止。由于我程序采用是先扫描输入端,将传感器信号送入bit变量Xn保存,再进行处理,处理完后结果送入bit变量Yn保存,最后将Yn结果刷新到输出端,所以程序中不能有延时等待的情况出现,例如while(x2!=1);这种语句。我写的程序如下: while(1) { num0=keyscan(); 输入扫描程序…… if(num0==1&&x1==1) y12=1; if(x2=1) { y12=0; num0=0; } 输出刷新程序…… } 但实际上的结果是当物件回到A后,又往B走,也就是说,num0并没有被清除为0;当我按下其它按键时,num0才等于其它值(不为1),此时物件回A后才停下来。 请问各位老师有没有什么比较好的办法能够解决这个自动清零的问题啊?我已经试了很多方法了,都不行!谢谢了! 500)this.width=500">
[广告]
投票
交易
悬赏
活动
自动化在线 Autooo.net
自动化在线
> PLC论坛
> 变频器
> 电工电气论坛
> 传感器与仪表
> 电机控制
> PC-Based论坛
> 嵌入式系统论坛
> DCS论坛
> 工业以太网
> 现场总线
> 通讯技术
> 自动化软件
> 人机界面
> 机械传动
> 流体控制
> 电器元件
> 资料交流
> 自由灌水
专业论坛
> 西门子论坛
> 三菱论坛
> 单片机论坛
> 论坛事务
输入您的搜索字词
提交搜索表单
当前时区 GMT+8, 现在时间是 2008-10-11 04:37
粤ICP备07500170号
By
Discuz!
5.5.0
© 2007-2008
Processed in 0.103017 second(s), 6 queries , Gzip enabled
TOP
清除 Cookies
-
联系我们
-
Autooo! Inc.
-
Archiver
-
繁体中文