#INCLUDE 'P16F877.inc ';
org 00h;
goto a1;
org 0ch;
; * * * * * * * * * * * * * * * * *
; 主程序段
; * * * * * * * * * * * * * * * * *
a1
movlw 8; 循环次数
movwf 40h;
movlw B'01111111 '; 初始显示值
movwf 41h;
A2 Bsf状态,RP0; 选择体1
Bcf状态、RP1;
movlw 00h;
movwf三项; 将RD端口设置为输出端口
BCf状态,RP0; 选择体0
Bcf状态、RP1;
movfw 41h;
movwf端口; 输出显示数据
RRF 41H,0; 处理c
射频41h,1; 循环右移
呼叫m001; 延迟时间
decfsz 40h,1; 判断是否完成了8次
goto a2; 不,继续
goto a1; 返回复位
; * * * * * * * * * * * * * * * * * *
; 延迟子程序
; * * * * * * * * * * * * * * * * * *
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
返回
结束