这是一个很简单的问题。以下为我建议的方案。
首先按键控制LED这样的代码例程比比皆是,无序赘述,在这边外加一个松手检测的代码应该也不难。定义一个标志位flag,如果flag=0为按下检测,flag=1为松手检测。问题分为2个状态按下和松手分别用2个变量表示,这两个变量必须互斥,确保不出bug。然后根据情况写出代码,你可以在while中写扫描按键,如果按下,修改对应的变量亮灯,进入松手检测中,当松手的时候修改变量关灯。
思路这样,如何写出合格清晰的代码,是否考虑中断时间问题,是否考虑多线程(估计你用不到),以及其他具体工程问题,还得多努力。