智能车制作

标题: 一个按键的汇编源程序,51 [打印本页]

作者: xxh8086    时间: 2010-4-6 13:32
标题: 一个按键的汇编源程序,51
呵呵,自己以前编的主要是注意要有防抖动的延迟,以及自循环等待按键的弹起

         ID EQU 30H
  
K1 BIT P1.4
K2  BIT P1.5
K3 BIT P1.6
K4 BIT P1.7
L1 BIT P1.0
L2 BIT P1.1
ORG 0000H
CLR P1.0           
MOV ID,#01H
LJMP START
ORG 0100H

START:   
CPL L1            
LCALL DELAY  
CPL L1
LCALL DELAY
SJMP START

KK:   JB K1,REL     ;K1没闭合转
LCALL DELAY10MS      ;K1闭合,延时消抖动
JB K1,REL   ;           :再判断
MOV ID,#01H           ;k1闭合了执行的程序
REL: JNB K1,$  ;      ;等待开关弹起
  JB K2,REL2
  LCALL DELAY10MS
  JB K2,REL2
  MOV ID,#02H
REL2:JNB K2,$
  JB K3,REL3
  LCALL DELAY10MS
  JB K3,REL3
  MOV ID,#03H
  REL3:JNB K3,$
RET

DELAY10MS:
MOV R6,ID ;延时10MS子程序
LOOP1: MOV R7,#248
DJNZ R7,$
DJNZ R6,LOOP1
RET
DELAY:
MOV R5,#250      ;延时20MS子程序
LOOP2: LCALL DELAY10MS
LCALL KK
DJNZ R5,LOOP2
RET
END




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2