当前位置:首页 » 网页前端 » c动作按下为1松开位0脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c动作按下为1松开位0脚本

发布时间: 2022-06-08 02:57:34

❶ 在WINCC中如何实现按钮点一下为1再点一下为0

{
#pragma option(mbcs)
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
#define Tag ".ManPermit"
// WINCC:TAGNAME_SECTION_END

// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END

SetTagBit(Tag,!GetTagBit(Tag));

}

❷ 求个按键精灵脚本。要求是按住按键1时一直执行按1的操作,松开按键1后就不在执行按1。

按键精灵后面的版本我都没用了,我用的是9.55版本,不会出现那种情况,不过,如果按键精灵热键会影响脚本执行时间,你可以换一个方法,写下面代码
While True
WaitKey()
If 48 Then
For i=1 To 10
KeyPress 65,1
Next
Wend
脚本启动热键不用设1,你先启动脚本,然后每按一次数字1,就会马上按10个a。

❸ 怎么用c语言编写一个秒表,这个秒表按1停止,按0清零,求大神教!!

用到time.h文件
里面有个clock();函数,返回一个clock_t类型的数字,表示从程序运行开始,CPU的"滴答"数
而在time.h里有个常量CLOCKS_PER_SEC表示每秒钟有多少个"滴答".
这样,(((float)clock())/CLOCKS_PER_SEC)*1000这样的表达式就能得到从程序运行开始到现在的经过的时间.
程序的大致思路是这样的,程序按下1的时候记下当时的程序运行时间.
从这时起,每时刻捡取程序运行时间,然后减去先前的值,就可以得到已经计时的时间了.
只要让用户按下0结束计时就好了
在conio.h文件里,有个函数kbhit()是个非阻塞函数,用来检查键盘缓冲里有没有按键按下,若有,则返回1,若没有,则返回0,以此来作为判断,若返回1,则捡取按键,测试它是不是0或者1,若返回0,则表示用户没有动作,继续原来的工作,即继续计时或等待命令.

❹ wincc7.0上做一个按下为1,松开为0的按钮怎么做

按钮属性,事件-->鼠标-->按左键,“来源”选择常数1,“目标”选择变量(所需置位的变量),“确定”。选择“释放左键”,“来源”选择常数0,“目标”选择变量(所需置位的变量),“确定”。

❺ 在WINCC中如何实现按钮击一下为1再击一下为0

楼上是对的,这条语句的功能是把“1-当前值”的结果赋值到当前值中

如果原来是1,按一下 新的 值为 1-1=0
如果原来是0,按一下 新的值为 1-0=1
实现了循环bool值的变换

改变值得变量你自己定义,需要改变什么 值 点编程界面中的上方黄色“变量选择”方框添加进来

❻ 按键精灵想做个单键C的连发脚本,理想效果是‘按住C键开始连发,松开C键停止’

直接下个多键连发啊,挺方便的。

❼ 如何在组态王中制作一个按一次置位为1,再按一次复位为0的按钮

双击按钮,在“按下时”里面用if语句写,如下
if (\\本站点\按钮变量==0)
\\本站点\按钮变量=1;
else \\本站点\按钮变量=0;

❽ C语言实现按一个键1灯亮,松开后1灯灭,1灯灭10s后2灯亮1s后2灯灭。如果这期间还按1键,1灯重新亮,循环

楼上说的对,如果简单的就是延迟多少秒后,依次的亮灭就不需要中断, 但是你提到在正常的延迟期间如果手动打断这种定制的规则的话,那么就必须要添加中断,来挂起除因中断而插入当前操作外的所有操作,在当前操作完毕后再在原来的中断处进行原来中断前挂起的操作!
不知道你明白了没,中断很好写!网上一查就有范例,这里我就不给你写了。

❾ 请教如何用C语言实现: On健,当按下此健时数码管每隔1秒显示1, 另一个为Off健,按下此健时数码管停住

#include<iom8v.h>

#include"user_define.h"

#defineSYSCLK 1000000 //ϵͳʱÖÓ1MHZ

#defineOFF 0x00

#defineON 0x01

constunsignedcharcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};

//constunsignedcharcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};

volatileunsignedcharcount=0;//·¶Î§0~99

volatileunsignedcharswitch_status=OFF; //¿ª¹Ø״̬

voidTimer1_Init(void) //¶¨Ê±8ms

{

TCCR1A=(0<<WGM11)|(0<<WGM10);

TCCR1B=(1<<WGM12)|(0<<WGM13);//;

TCCR1B|=(0<<CS12)|(1<<CS11)|(1<<CS10); //fINT=SYSCLK/64

TCNT1=0x00; //Clearcount;

OCR1A=125; //timing64us*125=8ms;

TIMSK|=(1<<OCIE1A); //;

TIFR|=(1<<OCF1A);//ClearOCIF1A;

}

voidKey_Init(void)

{

PORTB|=0x03;

DDRB=0x00;

}

voidKey_Scan(void)

{

unsignedcharkey_value=0;

staticunsignedcharstatus=0;

key_value=PINB;

switch(status)

{

case0://¼ì²â°´¼ü

if((key_value&0x03)!=0x03)

{

status=1;

}

break;

case1://Óмü

//status=2;

if((key_value&0x03)==0x02)

{

status=2;

switch_status=ON;

}

elseif((key_value&0x03)==0x01)

{

status=2;

switch_status=OFF;

}

break;

case2://µÈ´ý°´¼üÊÍ·Å

if((key_value&0x03)==0x03)

{

status=0;

}

break;

}

}

voidDisplay_Init(void)

{

PORTC=0x00;

PORTD=0x00;

DDRD=0xFF;

DDRC=0x03;

}

voidDisplay(void)

{

staticunsignedcharflag=0;

unsignedchartemp1=0;

unsignedchartemp2=0;

temp1=count/10;

temp2=count%10;

PORTC|=0x03;

switch(flag)

{

case0://ÏÔʾʮλ

flag=1;

PORTC&=~0x01;

PORTD=code[temp1];

break;

case1://ÏÔʾ¸öλ

flag=0;

PORTC&=~0x02;

PORTD=code[temp2];

break;

}

}

voidmain(void)

{

Display_Init();

Timer1_Init();

Key_Init();

asm("sei");

while(1)

{

;

}

}

#pragmainterrupt_handlerTimer1_COMPA_ISR:7

voidTimer1_COMPA_ISR(void)

{

staticunsignedchartime_1s_cnt=0;//1s¶¨Ê±¼ÆÊý

Key_Scan();

switch(switch_status)

{

caseON:

if(++time_1s_cnt>125)

{

time_1s_cnt=0;

count++;

if(count>100)

{

count=0;

}

}

break;

caseOFF:

default:

time_1s_cnt=0;

break;

}

Display();

}

❿ 如何用C语言写一个按键按一次数值就加一的程序一直加到99然后变为0

void main()
{
int k=0;
while(k<0)
{
bioskey(0);
k++;
if(k==100)
k=0;
}
}
死循环,退出忘了,楼下回答吧