#INCLUDE”P16F877.inc”
ORG 000HGOTO A1ORG 0CHA1 MOVLW 1;位1显现数MOVWF 50H; MOVLW 2;位2显现数MOVWF 51H;MOVLW 3;位3显现数MOVWF 52H;MOVLW 4;位4显现数MOVWF 53H;MOVLW 4;显现位数MOVWF 40H;MOVLW B00000001;位码MOVWF 41H;MOVLW 50H;MOVWF FSR ;直接寻址A2 BSF STATUS,RP0;体1BCF STATUS,RP1;MOVLW 0;MOVWF TRISB;RB口设为输出口MOVWF TRISD;RD口设为输出口BCF STATUS,RP0;体0BCF STATUS,RP1;MOVLW 0FFH;MOVWF PORTB;RB口输出高电平MOVLW 0MOVWF PORTD;RD口输出低电平起清屏效果MOVFW INDF;直接寻址显现数据 CALL Q1;查数据表MOVWF PORTB;显现断码输出到RB口INCF FSR,1;直接寻址地址加1MOVFW 41H ;位码MOVWF PORTD;位码输出到RD口RLF 41H,0;处理CRLF 41H,1;左移位码CALL M001;延时DECFSZ 40H,1;判别是否显现完4位GOTO A2;不然持续显现GOTO A1;是回来;*********************************************; 延时子程序;*********************************************M001MOVLW 2MOVWF 30HM002 MOVLW 250MOVWF 31HDECFSZ 31H,1GOTO $-1DECFSZ 30H,1GOTO M002RETURN;********************************************; 数据表;******************************************** Q1 ADDWF PCL,1 RETLW 00C0H ;0RETLW 00F9H ;1RETLW 00A4H ;2RETLW 00B0H ;3RETLW 0099H ;4RETLW 0092H ;5RETLW 0082H ;6RETLW 00F8H ;7RETLW 0080H ;8RETLW 0090H ;9RETLW 0088H ;ARETLW 0083H ;BRETLW 00C6H ;CRETLW 00A1H ;DRETLW 0086H ;ERETLW 008EH ;FEND