51单片机的问题,请帮我看下

我想要使51单片机任意一个灯闪烁,周期为2S(1S亮1S灭),用一个按键切换灯,我如何做到能够在任何时候读取我的按键输入,并且换灯呢?

可以用中断的方式处理按键;如果单片机除了点灯没什么事干,也可以在主循环里一直查询按键状态。点灯是在定时器中断里处理。