📄 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 + -