當前位置:首頁 » 網頁前端 » 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;
}
}
死循環,退出忘了,樓下回答吧