;“模式2”初始化 检测数码管各段,蜂鸣器“长响 ”
MODLE2:
BSF WEI1,0 ;设置“模式选择位”
BSF WEI1,7 ;打开蜂鸣器“长响 ”
BCF WEI1,5 ;
BCF WEI1,6 ;
BCF STATUS,C ;设置“进位标志位”
MOVLW B’11111111’ ;
MOVWF WEI7 ;
RLF WEI7,F ;
MOVF WEI7,W ;
MOVWF PORTB ;设置“检测数码管段值”给PORT5
BCF PORTA,R ;开通“右数码管”
BCF PORTA,L ;开通“左数码管”
CALL DELAYP5 ;
BSF PORTA,R ;关闭“右数码管”
BSF PORTA,L ;关闭“左数码管”
MOVLW B’11111111’ ;
MOVWF PORTB ;清除给PORT5的“检测数码管段值”
BTFSC WEI7,6 ;检测是否完毕
GOTO $-D’11’ ;没有完毕 继续检测
BCF PORTA,DP ;已完毕 设置“小数点”及“1”值
BCF PORTA,R ;开通“右数码管”
BCF PORTA,L ;开通“左数码管”
CALL DELAYP5 ;
BSF PORTA,R ;关闭“右数码管”
BSF PORTA,L ;关闭“左数码管”
BSF PORTA,DP ;清除“小数点”及“1”值
BCF WEI1,7 ;关闭蜂鸣器“长响 ”
BCF WEI1,6 ;
BCF WEI1,5 ;
GOTO START ;
;------------------------------------------------------------------------
;开始工作
START:
MOVF PORTB,F ;
BTFSC PORTB,CHECK ;判断是否有断路
GOTO DUANLU ;有断路
BCF WEI1,1 ;清0断路判别位
GOTO PANZHI ;无断路
;------------------------------------------------------------------------
;断路处理
DUANLU:
BSF WEI1,1 ;设置断路判别位
BSF WEI1,6 ;
BCF WEI1,5 ;
BCF WEI1,7 ;
GOTO PANZHI ;
;------------------------------------------------------------------------
;判断电压值
PANZHI:
BSF ADCON0,ADON ;A/D处于工作状态
BSF ADCON0,GO_DONE ;A/D开始运行
BTFSC ADCON0,GO_DONE ;判A/D是否完成
GOTO $-1 ;A/D没完成
BCF ADCON0,ADIF ;
BCF ADCON0,ADON ;A/D已完成 关闭A/D
CALL CV ;
MOVF ADRES,W ;
MOVWF WEI8 ;
MOVWF WEI2 ;A/D值传给WEI2
BCF STATUS,C ;清零“进位标志位”
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页
本文关键字:检测 PIC单片机,单片机-工控设备 - PIC单片机