程序清单:
TMR0 EQU 01H ;定义寄存器的位置
PCL EQU 02H ;定义程序计数器低字节寄存器地址
STATUS EQU 03H ;定义状态寄存器地址
OPTION EQU 81H ;定义选项寄存器位置
INTCON EQU 0BH ;定义中断寄存器位置
PORTC EQU 07H ;定义PORTC的存储位置
TRISC EQU 87H
TMR0B EQU 6 ;定义TMR0寄存器初始值
COUNT EQU 20H ;定义一个计数器变量
RP0 EQU 5 ;定义RAM的页选位RP0
ORG 000H
BSF STATUS, RP0 ;转向RAM的体1
MOVLW 00H ;将端口C设为输出
MOVWF TRISC
;**********TMR0延时子程序(64 MS)*************
DELAY BCF INTCON,2 ;清除TMR0溢出标志位
MOVLW TMR0B ;TMR0赋初值
MOVWF TMR0 ; <strong><span style="color:#ff0000;">并重新启动定时计数</span></strong>
LOOP1 BTFSS INTCON,2 ;检测TMR0溢出标志位
GOTO LOOP1 ; 没有溢出,循环检测
RETURN ; 子程序返回
;********** 读取显示信息的查表子程序************
READ
ADDWF PCL,1 ; 地址偏移量加当前PC值
RETLW B'00000001' ;显示信息码,下同
RETLW B'00000011'
RETLW B'00000111 '
RETLW B'00001111'
RETLW B'00011111'
RETLW B'00111111'
RETLW B'01111111'
RETLW B'11111111'
RETLW B'11111110'
RETLW B'11111100'
RETLW B'11111000'
RETLW B'11110000'
RETLW B'11100000'
RETLW B'11000000'
RETLW B'10000000'
RETLW B'00000000'
END
|