英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: 键控流水灯ZHUAN [打印本页]

作者: star    时间: 2012-8-21 17:22
标题: 键控流水灯ZHUAN
;
; 键控流水灯,
; MCUIC16F877A
; 日期:2008.12.2
; 文件名:lsd.asm
; 利用PORTB<1>上的一个开关,控制PORTD上的8个LED流水灯的流动方向.
;
;********************************************************
   #include "16F877A.INC"    ORG      0000H
    GOTO     MAIN
     ORG      0005H
MAIN
     NOP                                       ;ICD2必须的NOP指令
     BSF      STATUS, RP0              ;置为体1,设置PORTB,PORTD状态
     MOVLW  0FFH                        ;
     MOVWF  TRISB                   ;设PORTB为全部输入
     CLRF  TRISD                           ORTD为输出
     BCF      STATUS, RP0                  ;回到体0
     BSF   STATUS,C                 ;设C为1
     CLRF  PORTD                 ;清PORTD
FLAG
     BTFSC  PORTB,1                      ;测试PORTB<1>是否闭合
     GOTO  DISPLY_R                   ;是,转到DISPLY_L,否.转到DISPLY_R
DISPLY_L
     CALL  DELAY10MS  
     BTFSS  PORTB,1                       ;开头防抖检测
     GOTO  DISPLY_R
     CALL  DELAY1                           ;延时
     RLF   PORTD,1                          ;左移一位
     GOTO  DISPLY_L
DISPLY_R
     CALL  DELAY10MS
     BTFSC  PORTB,1
     GOTO  DISPLY_L
     CALL  DELAY1    ;延时
     RRF   PORTD,1   ;右移一位
     GOTO  DISPLY_R
;;;;;;;;;延时程序;;;;;;;;
DELAY1
     MOVLW   D'255'
     MOVWF 30H
LOOP1_1
     MOVLW   D'255'
     MOVWF 31H
LOOP1_2
     DECFSZ 31H,1
     GOTO LOOP1_2
     DECFSZ 30H,1
     GOTO LOOP1_1
     MOVLW   00H
     RETURN
DELAY10MS                                ;10ms延时程序
     MOVLW   D'100'
     MOVWF 30H
LOOP2_1
     MOVLW   D'32'
     MOVWF 31H
LOOP2_2
     DECFSZ 31H,1
     GOTO LOOP2_2
     DECFSZ 30H,1
     GOTO
LOOP2_1
     MOVLW   00H
     RETURN
     END





欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/) Powered by Discuz! X3.2