MTR 指令是欧姆龙 CP1H 系列 PLC 的矩阵键盘输入指令,用于将矩阵键盘的输入信号转化为通用寄存器的数值,可以在 PLC 程序中使用 MTR 指令进行矩阵键盘的输入读取。
使用 MTR 指令的具体方法如下:
1,在 PLC 程序中定义一个通用寄存器,用于存储矩阵键盘的输入值。
例如,定义 D100 为矩阵键盘的输入值的存储寄存器。
2,在 PLC 程序中使用 MTR 指令进行矩阵键盘的输入读取。
例如,使用 MTR 100,K1 语句进行矩阵键盘的 K1 键的输入读取,将 K1 键的输入状态(按下或松开)转化为 D100 寄存器的值(1 或 0)。
3,在 PLC 程序中根据矩阵键盘的输入值进行相应的处理。
例如,使用 IF 语句根据 D100 的值进行分支处理。
示例代码如下:
MTR 100,K1 // 读取 K1 键的输入状态
IF D100=1 THEN // 判断 D100 的值是否为 1
// 执行相应的处理
ELSE
// 执行其他处理
END_IF
希望这些信息能帮助你。
下面这个 Keyscan(void) 程序,是我以前写的。
uchar Keyscan(void)
{
uchar i, j, temp, Buffer[4] = {0xef, 0xdf, 0xbf, 0x7f};
for(j = 0; j < 4; j++) { //循环四次
P2 = Buffer[j]; //在P1高四位分别输出一个低电平
temp = 0x01; //计划先判断P10位
for(i = 0; i < 4; i++) { //循环四次
if(!(P2 & temp)) //从P1低四位,截取1位
return (i + j 4); //返回取得的按键值
temp <<= 1; //判断的位,左移一位
} }
return 16; //判断结束,没有键按下,返回16
}
程序,用了一个 8 位的并口:P1,或 P2,都行。
改成28的,就要使用两个接口了,用什么?楼主应该指定出来。
当然清零不管用,因为你没做任何处理,遇到清零键你只是简单的返回了。
if(temp==0xeb)
{
/这里加入清零处理程序/
return;
}
以上就是关于欧姆龙CP1H plc矩阵键盘输入MTR指令怎么使用全部的内容,包括:欧姆龙CP1H plc矩阵键盘输入MTR指令怎么使用、单片机简易计算器的设计要求用2*8矩阵键盘,程序如下,求大神把下面4*4键盘程序改成2*8的,可追加分数、[单片机]我做了一个用矩阵键盘来开始暂停清零控制时钟的程序,但是清零不管用,跪求帮助等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)