btfsc status, z ;
goto dpln_cv0 ;
;
MOV wf I ;
dpln_trim ;
call div_xy ;
;
decfsz I ;
goto dpln_trim ;
; *** Convert data to string ***
dpln_cv0
MOV f X+0, w ; Y <- X.
MOV wf Y+0 ; (Y: frequency in kHz)
MOV f X+1, w ;
MOV wf Y+1 ;
MOV f X+2, w ;
MOV wf Y+2 ;
MOV f X+3, w ;
MOV wf Y+3 ;
iorwf Y+2, w ; Display "Too Long !!"
iorwf Y+1, w ; if value = 0.
iorwf Y+0, w ; (Less than 1 kHz)
btfss status, z ;
goto dpln_cv1 ;
;
MOV lw s_over ;
MOV wf LCD_FXMPTR ;
call dsp_fixstr ;
goto end_dpln ;
dpln_cv1
MOV lw 00h ; X <- 300000000 / Y
MOV wf X+0 ; (X: wave length in mm)
MOV lw 0A3h ; & convert to string.
MOV wf X+1 ;
MOV lw 0E1h ;
MOV wf X+2 ;
MOV lw 11h ;
MOV wf X+3 ;
call div_xy ;
call x_to_str ;
; *** Display wave length ***
MOV lw 3 ; Set decimal point location.
MOV wf LCD_DPOINT ; (X.XXX m)
call dsp_value ; Display value.
end_dpln
MOV lw s_m ; Add unit. (m)
MOV wf LCD_FXMPTR ;
call dsp_fixstr ;
; *** Return from subroutine ***
return
;-------------------------------------------------------------------------
; Display value. (With 0 suppless & decimal point)
; Input : LCD_STRBUF (String buffer)
; LCD_DPOINT (Decimal point from right side)
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] 下一页
本文关键字:单片机 PIC单片机,单片机-工控设备 - PIC单片机