博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

学习心得

Posted on 2011-04-29 11:09  Code_HXH  阅读(217)  评论(0编辑  收藏  举报

单片机学习心得:

按键延迟:

MAIN: ;初始化
MOV A,#00H


START:
ACALL SCAN_KEY
JC START;c为1是没有按键按下,跳到开头
ACALL DEL10MS
ACALL SCAN_KEY
JC START;c为1是没有按键按下,跳到开头
;键盘抖动去除完毕,现在开始进行正式判断
MOV C,P2.0
JC START
CPL A
MOV P1,A
;等到按键松开的时候才返回start
UNTIL: MOV C,P2.0
ACALL DEL10MS
JNC UNTIL
AJMP START
可以看出来,因为我们少了一个until语句,会使得他一直重复循环,p2.0信号口一直处于低电平状态,这时候的就很严重了,一会儿关闭,一会儿开启,所以你如果少了untile语句话,会发现这时候的处于极度闪烁状态,而且当你停止按键的时候等是随机的,因为他会停在某一个状态.同理,当你加上until语句之后,他会在until语句那边死循环,直到你放开它,这时候就会结束,同时也不用担心按键抖动,因为这时候的按键放开的时候是稳定的,而且我们在一开头也有防按键抖动了.所以这个程序几乎是完美的.