#INCLUDE "P16F877.inc" ; org 00h ; goto a1; org 0ch; ;****************************************** ; 主程序段 ;****************************************** a1 movlw 8;循環(huán)次數(shù) movwf 40h; movlw B'01111111';初顯示值 movwf 41h; a2 bsf STATUS,RP0;選擇體1 bcf STATUS,RP1; movlw 00h; movwf TRISD;設(shè)置RD口為輸出口 bcf STATUS,RP0;選擇體0 bcf STATUS,RP1; movfw 41h; movwf PORTD;輸出顯示數(shù)據(jù) RRF 41H,0;處理C rrf 41h,1;循環(huán)右移 call m001;延時(shí) decfsz 40h,1;判斷是否完成8次 goto a2;否繼續(xù) goto a1;是返回重新設(shè)置 ;************************************************ ; 延時(shí)子程序 ;************************************************ m001 movlw 4 movwf 30h m002 movlw 248 movwf 31h m003 movlw 250 movwf 32h decfsz 32h,1 goto $-1 decfsz 31h,1 goto m003 decfsz 30h,1 goto m002 return end