如何用c語言編寫可暫停的程序
調用bioskey()函數
/*
bioskey函數介紹
函數原型:int bioskey (int cmd)
說明:bioskey()的函數原型在bios.h中
bioskey()完成直接鍵盤操作,cmd的值決定執行什么操作。
cmd = 0:
當cmd是0,bioskey()返回下一個在鍵盤鍵入的值(它將等待到按下一個鍵)。它返回一個16位的二進制數,包括兩個不同的值。當按下一個普通鍵時,它的低8位數存放該字符的ASCII碼;對于特殊鍵(如方向鍵、F1~F12等等),低8位為0,高8位字節存放該鍵的掃描碼。
cmd = 1:
當cmd是1,bioskey()查詢是否按下一個鍵,若按下一個鍵則返回非零值,否則返回0。
cmd = 2:
當cmd是2,bioskey()返回Shift、Ctrl、Alt、ScrollLock、NumLock、CapsLock、Insert鍵的狀態。各鍵狀態存放在返回值的低8位字節中。
字節位 含義
0 右邊Shift鍵狀態
1 左邊Shift鍵狀態
3 Ctrl鍵狀態
4 Alt鍵狀態
5 ScrollLock鍵狀態
6 NumLock鍵狀態
7 CapsLock鍵狀態
8 Insert鍵狀態
*/
#include
#include
#include
int main()
{
char c;
while(1)
{
if(bioskey(1)!=0){c=getch();if(c=='q')break;system("pause");}
printf("Hello world!\n");
}
}
單片機 C語言的暫停指令
while(1)
{
你要執行的語句;空的話就停在這了
}
干嘛非得用中斷呢!
我可以用個判斷語句就行啊!給個按鍵掃描你看看
/* void keyscan()//按鍵函數 { P3=0xfe;//P3口賦個值 a=(P3==0xfe)?0:1;//如果沒有按鍵按下P3口就不變a=0,否者a=1; if(a==1) { delay(5);//去抖 a=(P3==0xfe)?0:1;//再次判斷,如果確實有按鍵按下就執行下面的語句 }*/ /* if(a==1) { num=P3; switch(num)//判斷按下的是哪個按鍵,在做出相應的處理 { case 0xee:num1=1*1; case 0xde:num1=2*2; case 0xce:num1=3*3; case 0x7e:num1=4*4; } } }*/