?? project based on embeded system(c51).txt
字號:
break;
}
break;
case 4://第四個實驗頁面
switch(KeyTemp[1])
{
case KEYJIAWEN:
serial[0]=CYEMIAN;
serial[1]=10;
OSQIntPost(CommandData, serial[0]);
serial[0]=CYEMIAN;
serial[1]=9;
OSQIntPost(CommandData, serial[0]);
serial[0]=CWENDU;
serial[1]=wendu;
serial[2]=1;
OSQIntPost(CommandData, serial[0]);
break;
default:
break;
}
break;
case 5://第五個實驗頁面
switch(KeyTemp[1])
{
case KEYJIA:
wendu++;
serial[0]=CWENDU;
serial[1]=wendu;
serial[2]=1;
OSQIntPost(CommandData, serial[0]);
break;
case KEYJIAN:
wendu--;
serial[0]=CWENDU;
serial[1]=wendu;
serial[2]=1;
OSQIntPost(CommandData, serial[0]);
break;
default:
break;
}
break;
case 6://第六個實驗頁面
break;
case 7://第七個實驗頁面
break;
case 8://第八個實驗頁面
switch(KeyTemp[1])
{
case KEYSHEZHI:
serial[0]=CYEMIAN;
serial[1]=5;
OSQIntPost(CommandData, serial[0]);
serial[0]=CYEMIAN;
serial[1]=6;
OSQIntPost(CommandData, serial[0]);
serial[0]=CSHEDING;
serial[1]=sheding/256;
serial[2]=sheding%256;
serial[3]=1;
OSQIntPost(CommandData, serial[0]);
serial[0]=CSUDU;
serial[1]=sudu/256;
serial[2]=sudu%256;
serial[3]=0;
OSQIntPost(CommandData, serial[0]);
test=3;
break;
default:
break;
}
break;
default:
break;
}
break;
case KEY_ALWAYS:
switch(test)
{
case 3:
switch(KeyTemp[1])
{
case KEYJIA:
if(yeup==0)
{
if(keytime>9)
{
sheding=sheding+10;
}
else
{
sheding++;
keytime++;
}
serial[0]=CSHEDING;
serial[1]=sheding/256;
serial[2]=sheding%256;
serial[3]=1;
OSQIntPost(CommandData, serial[0]);
}
else
{
if(keytime>9)
{
sudu=sudu+10;
}
else
{
sudu++;
keytime++;
}
serial[0]=CSUDU;
serial[1]=sudu/256;
serial[2]=sudu%256;
serial[3]=1;
OSQIntPost(CommandData, serial[0]);
}
break;
case KEYJIAN:
if(yeup==0)
{
if(keytime>9)
{
sheding=sheding-10;
}
else
{
sheding--;
keytime++;
}
serial[0]=CSHEDING;
serial[1]=sheding/256;
serial[2]=sheding%256;
serial[3]=1;
OSQIntPost(CommandData, serial[0]);
}
else
{
if(keytime>9)
{
sudu=sudu-10;
}
else
{
sudu--;
keytime++;
}
serial[0]=CSUDU;
serial[1]=sudu/256;
serial[2]=sudu%256;
serial[3]=1;
OSQIntPost(CommandData, serial[0]);
}
break;
default:
break;
}
break;
case 5:
switch(KeyTemp[1])
{
case KEYJIA:
if(keytime>9)
{
wendu=wendu+10;
}
else
{
wendu++;
keytime++;
}
serial[0]=CWENDU;
serial[1]=wendu;
serial[2]=1;
OSQIntPost(CommandData, serial[0]);
break;
case KEYJIAN :
if(keytime>9)
{
wendu=wendu-10;
}
else
{
wendu--;
keytime++;
}
serial[0]=CWENDU;
serial[1]=wendu;
serial[2]=1;
OSQIntPost(CommandData, serial[0]);
break;
default:
break;
}
break;
default:
break;
}
break;
case KEY_UP:
keytime=0;
break;
default:
break;
}
// OSWait(K_TMO,OS_TICKS_PER_SEC / 10);
}
}
/*********************************************************************************************************
** 函數名稱: Motorrun(void)
** 功能描述: 電機運行任務,主要控制電機的運行和停止的時間,來控制流量的大小
并不是控制電機的轉速
** 輸 入: 無
** 輸 出: 無
** 全局變量: run,
** 調用模塊: OSSemCreate(),OSQPend()
** OSQIntPost(),
** 作 者: 陳杰峰 wishercjf@163.com
** 日 期: 2004年5月15日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void Motorrun(void)
{
uint16 i;
while (1)
{
if(run==1)
{
//電機運行的控制算法程序已省略
}
else
{
OSWait(K_TMO,OS_TICKS_PER_SEC/ 10 );
}
}
}
/*********************************************************************************************************
** 函數名稱: INT_0(void) interrupt 0
** 功能描述: 控制電機開/關的中斷,外部連接了一個按鍵
** 輸 入: 無
** 輸 出: 無
** 全局變量: run,
** 調用模塊:
** OSQIntPost(),
** 作 者: 陳杰峰 wishercjf@163.com
** 日 期: 2004年5月15日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#if EN_OS_INT_ENTER >0
#pragma disable /* 除非最高優先級中斷,否則,必須加上這一句 */
#endif
void INT_0(void) interrupt 0
{
#if EN_OS_INT_ENTER >0
OS_INT_ENTER(); /* 進入中斷處理 */
#endif
if(run==0)
{
if(test==4)
{
serial[0]=CYEMIAN;
serial[1]=11;
OSQIntPost(CommandData, serial[0]);
serial[0]=CYEMIAN;
serial[1]=13;
OSQIntPost(CommandData, serial[0]);
serial[0]=CSHEDING;
serial[1]=sheding/256;
serial[2]=sheding%256;
serial[3]=0;
OSQIntPost(CommandData, serial[0]);
serial[0]=CYIJING;
serial[1]=yijing/256;
serial[2]=yijing%256;
serial[3]=0;
OSQIntPost(CommandData, serial[0]);
serial[0]=CSUDU;
serial[1]=sudu/256;
serial[2]=sudu%256;
serial[3]=0;
OSQIntPost(CommandData, serial[0]);
test=7;
run=1;
}
if(test==5)
{
serial[0]=CYEMIAN;
serial[1]=11;
OSQIntPost(CommandData, serial[0]);
serial[0]=CYEMIAN;
serial[1]=12;
OSQIntPost(CommandData, serial[0]);
serial[0]=CSHEDING;
serial[1]=sheding/256;
serial[2]=sheding%256;
serial[3]=0;
OSQIntPost(CommandData, serial[0]);
serial[0]=CYIJING;
serial[1]=yijing/256;
serial[2]=yijing%256;
serial[3]=0;
OSQIntPost(CommandData, serial[0]);
serial[0]=CSUDU;
serial[1]=sudu/256;
serial[2]=sudu%256;
serial[3]=0;
OSQIntPost(CommandData, serial[0]);
serial[0]=CWENDU;
serial[1]=wendu/256;
serial[2]=wendu%256;
serial[3]=0;
OSQIntPost(CommandData, serial[0]);
test=6;
run=1;
}
}
else
{
run=0;
test=8;
serial[0]=CYEMIAN;
serial[1]=14;
OSQIntPost(CommandData, serial[0]);
serial[0]=CYEMIAN;
serial[1]=10;
OSQIntPost(CommandData, serial[0]);
}
OSIntExit(); /* 退出中斷處理 */
}
/*********************************************************************************************************
** 函數名稱: da5615(unsigned int da)
** 功能描述: da5615的驅動程序,本程序是從c51bbs上找到的
** 輸 入: 溫度值
** 輸 出: 無
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -