實現代碼分為3部分。復制代碼
- unsigned char Data1=0,Data2=0,Data3=0;
- unsigned char Handle = 1 ; //Handle 1:操作Data1,2:操作Data2,3:操作Data3
復制代碼
- if(Exit==0) //切換按鍵按下,操作位標志改變
- {
- while(Exit == 0);//等待松手
- if(Handle ==1)
- {
- Handle=2;
- }
- else if(Handle == 2)
- {
- Handle=3;
- }
- else if(Handle == 3)
- {
- Handle=1;
- }
- }
switch(Handle) //選擇修改指向
{
case 1:KeyAlterValue(&Data1);break; //Handle = 1,按鍵修改操作指針指向Data1
case 2:KeyAlterValue(&Data2);break; //Handle = 2,按鍵修改操作指針指向Data2
case 3:KeyAlterValue(&Data3);break; //Handle = 3,按鍵修改操作指針指向Data3
}
復制代碼
- void KeyAlterValue(unsigned char *Variate)
- {
- if(Add==0)
- {
- while(Add ==0); //等待松手,如果要長按快速加,則注釋此句
- if((*Variate)<20) //設置調節上限為20
- (*Variate)++; //值加1
- }
- if(Sub==0)
- {
- while(Sub ==0); //等待松手,如果要長按快速減,則注釋此句
- if(*Variate!=0) //設置調節下限為0,
- {
- (*Variate)--; //值減1
- }
- }
- }
復制代碼
- void T0Service() interrupt 1
- {
- ET0 = 0; //關閉定時器0中斷
- TR0 = 0; //定時器0開始計時
- KeyAction(); //修改參數
- TL0 = 0x00; //設置定時初值
- TH0 = 0x70; //設置定時初值
- TR0 = 1; //定時器0開始計時
- ET0 = 1; //開啟定時器0中斷
- }
50.43 KB, 下載次數: 40, 下載積分: 黑幣 -5
45.82 KB, 下載次數: 52, 下載積分: 黑幣 -5
denny1011 發表于 2018-7-13 09:23
這里的代碼如何寫?請教!
歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |