关于单片机按键处理和蜂鸣器,该如何处理

关于单片机按键处理和蜂鸣器
小弟初学单片机,现在在编一个跑马灯的实验,在按键那一块徘徊了好久,总是得不到自己满意的结果,我的处理思想是检测电平变化-按键延时-按键释放判断-程序处理,再按键延时那一块我不希望MCU一直盯着按键,要去处理其他事情,我没有使用外部中断,而是普通的I/O口,也没有用定时器中断去扫描,只是想通过设置标志位来处理,不知道我的想法对不对,希望高手不吝赐教,我迷糊好几天了,特别是关于按键释放判断,总是做不好,按一次按键,程序来回处理了好几次,松手后是一个随机值,希望高手赐教,有资料可发至我的邮箱hxm915@yeah.net,谢谢了
  还有一个蜂鸣器的设计,也遇到一些问题,达人们提供一点思路。

------解决方案--------------------
设计一个定时器中断定时调用键盘扫描键盘程序,当定时器中断标志没清楚的时候再按键也不会响应的,你不设置中断,会一直去扫描,浪费CPU资源。具体细节不清楚可以加我QQ:760407512 注明****