C语言程序转为51汇编语言

来源:百度知道 编辑:UC知道 时间:2024/06/13 22:35:49
void ScanKey()
{

bit P_i ; 定义IO
int oldRA ; 定义静态RA
static int oldIRdata;
P_i=RA
if(P_i!=oldRA) IO口的值有变化
{
if(P_i.0!=oldRA.0){ IO.0 有变化
{key=KEY_POWER}; 则按了KEY_POWER键
}
if(P_i.1!=oldRA.1){
key=KEY_DW;
}
}
return;
}

翻译成汇编,不难,但是觉得该C程序还不成熟。

1. oldIRdata,是静态变量,应该是保存上次按键信息的,怎么没有用到?
2. 如果没有按下键,返回值的何值?
3. 按键松开,其状态应该保存,以确认下次的按下,如何保存?

程序还有其它一些不足,...