📄 核终.asm
字号:
;
mov com, #0a7h
lcall pr12
mov com, #80H ;#83h
lcall pr12
mov com, #9ch
lcall pr12
ret
;*****
CcTAB2:
DB 00H 10H 10H 12H 22H 2BH 7AH 13H ;"编"
DB 23H 7BH 23H 0BH 75H 25H 09H 00H
DB 00H 40H 20H 0FCH 04H 0FCH 00H 0FCH
DB 54H 54H 0FCH 54H 54H 54H 0CH 00H
DB 00H 00H 0FH 08H 08H 0FH 00H 7FH ;"号"
DB 04H 07H 0CH 00H 00H 01H 00H 00H
DB 00H 10H 0F8H 10H 10H 0F0H 00H 0FEH
DB 00H 0F0H 10H 10H 10H 20H 0C0H 00H
DB 00H 00H 1FH 10H 17H 10H 10H 13H ;"质"
DB 12H 12H 12H 12H 20H 23H 4CH 00H
DB 00H 1CH 0E0H 40H 0FCH 40H 40H 0F8H
DB 08H 48H 48H 48H 0B0H 0CH 02H 00H
DB 00H 00H 1FH 10H 0FH 10H 7FH 00H ;"量"
DB 1FH 11H 1FH 11H 3FH 01H 7FH 00H
DB 00H 10H 0F8H 10H 0F0H 10H 0FCH 00H
DB 0F0H 10H 0F0H 10H 0F8H 00H 0FCH 00H
DB 00H 01H 01H 02H 05H 18H 60H 0FH ;"含"
DB 00H 00H 0FH 08H 08H 0FH 08H 00H
DB 00H 00H 80H 40H 20H 9EH 84H 0E0H
DB 20H 40H 0F0H 10H 10H 0F0H 10H 00H
DB 00H 00H 20H 18H 0BH 42H 22H 26H ;"油"
DB 0AH 0BH 12H 72H 12H 13H 12H 00H
DB 00H 20H 20H 24H 0FEH 24H 24H 24H
DB 24H 0FCH 24H 24H 24H 0FCH 04H 00H
DB 00H 01H 00H 3FH 01H 22H 17H 09H ;"率"
DB 12H 27H 01H 7FH 01H 01H 01H 00H
DB 00H 00H 88H 0FCH 00H 48H 90H 10H
DB 48H 0E4H 00H 0FEH 00H 00H 00H 00H
DB 00H 00H 00H 3CH 25H 24H 24H 3CH ;"时"
DB 24H 24H 24H 3CH 24H 20H 00H 00H
DB 00H 10H 10H 10H 0FEH 10H 10H 90H
DB 50H 50H 10H 10H 10H 50H 20H 00H
DB 00H 10H 1bH 28H 20H 23H 22H 22H ;"间"
DB 23H 22H 22H 23H 20H 20H 20H 00H
DB 00H 04H 0FEH 04H 04H 0E4H 24H 24H
DB 0E4H 24H 24H 0E4H 04H 14H 08H 00H
DB 00H 01H 01H 02H 04H 08H 17H 60H ;"命"
DB 1EH 12H 12H 12H 1EH 12H 00H 00H
DB 00H 00H 00H 80H 40H 30H 0CEH 00H
DB 78H 48H 48H 48H 68H 50H 40H 00H
DB 00H 01H 01H 02H 04H 09H 10H 60H ;"令"
DB 0FH 00H 00H 06H 01H 00H 00H 00H
DB 00H 00H 00H 80H 40H 20H 98H 86H
DB 0F0H 10H 20H 40H 80H 80H 40H 00H
DB 00H 10H 10H 10H 7CH 11H 12H 3AH ;"检"
DB 34H 51H 51H 10H 10H 10H 07H 00H
DB 00H 40H 40H 0A0H 90H 08H 06H 0F8H
DB 00H 48H 28H 0A8H 90H 10H 0FEH 00H
DB 00H 00H 00H 3FH 02H 04H 08H 3FH ;"查"
DB 08H 08H 0FH 08H 0FH 00H 3FH 00H
DB 00H 80H 84H 0FEH 0A0H 90H 88H 0F6H
DB 10H 10H 0F0H 10H 0F0H 00H 0FCH 00H
DB 00H 08H 08H 09H 7EH 08H 08H 0EH ;"打"
DB 18H 68H 08H 08H 08H 28H 10H 00H
DB 00H 00H 04H 0FEH 10H 10H 10H 10H
DB 10H 10H 10H 10H 10H 50H 20H 00H
DB 00H 02H 07H 38H 20H 20H 20H 3EH ;"印"
DB 20H 20H 23H 2CH 30H 00H 00H 00H
DB 00H 00H 00H 7CH 44H 44H 44H 44H
DB 44H 44H 54H 48H 40H 40H 40H 00H
DB 00H,08H,08H,08H,10H,15H,36H,54H ;"修"
DB 17H,14H,15H,14H,14H,11H,10H,13H
DB 00H,80H,80H,0FCH,88H,50H,20H,0D8H
DB 17H,60H,88H,30H,44H,88H,30H,0C0H
DB 00H,00H,3FH,00H,00H,00H,00H,08H ;"正"
DB 08H,08H,08H,08H,08H,08H,08H,7FH
DB 00H,04H,0FEH,80H,80H,80H,80H,88H
DB 0FCH,80H,80H,80H,80H,80H,82H,0FFH
; DB 00H,00H,00H,00H,00H,00H,00H,00H
; DB 00H,00H,00H,00H,00H,00H,00H,00H
; DB 00H,00H,00H,00H,00H,00H,00H,00H
; DB 00H,00H,00H,00H,00H,00H,00H,00H
;==========================================================
;*** 计算含油率
ADDSHUJU: ORL P1,#0FFH ; 计算面积,累计十次采样值
ANL P1,#3FH ;片选 RAM6264 0011,1111 Y1
MOV R4,CAI_SHU_D
MOV RAM_ADRH,#00H
MOV RAM_ADRL,#00H
;*********************求采样点最大值点
JIEGOU1:
MOV DPH,RAM_ADRH ;取 RAM 地址
MOV DPL,RAM_ADRL
MOVX A,@DPTR ;读高位字节
MOV AD_8,A ;AD_4=MMMM,LLLL . AD_8=0000,HHHH
INC DPTR
MOVX A,@DPTR
MOV AD_4,A
INC DPTR
MOV RAM_ADRH,DPH
MOV RAM_ADRL,DPL
CLR C
MOV A,AD_4
SUBB A,#0FFH
MOV A,AD_8
SUBB A,#07H
JNC SHANGBAN ;(AD_8AD_4)>7FFH 上半圆
;*********下半圆处理
CLR C
MOV A,#0FFH
SUBB A,AD_4
MOV AD_4,A
MOV A,#07H
SUBB A,AD_8
MOV AD_8,A
LJMP MAINJI
;**********上半圆处理
SHANGBAN: MOV A,AD_4
SUBB A,#0FFH
MOV AD_4,A
MOV A,AD_8
SUBB A,#07H
MOV AD_8,A
MAINJI: MOV DPTR,#0400H ;计算波形面积
MOVX A,@DPTR
CLR C
ADD A,AD_4
MOVX @DPTR,A
INC DPTR
MOVX A,@DPTR
ADDC A,AD_8
MOVX @DPTR,A
INC DPTR
MOVX A,@DPTR
ADDC A,#00H
MOVX @DPTR,A
DJNZ R4,JIEGOU1
RET
;************************
;**
JIEGOU: ORL P1,#0FFH
ANL P1,#3FH ;片选 RAM6264 0011,1111 Y1
MOV DPTR,#0410H ;低位
MOVX A,@DPTR
MOV BDIV,A
MOV DPTR,#0411H
MOVX A,@DPTR
MOV BDIV+1,A
MOV DPTR,#0412H
MOVX A,@DPTR
MOV BDIV+2,A ;结果数据/10
MOV BDIV+3,#00H ;最高位
MOV PDIV,#0AH
MOV PDIV+1,#00H
MOV PDIV+2,#00H
MOV PDIV+3,#00H
LCALL DIV32 ; 得平均值
MOV A,BDIV
MOV DPTR,#0410H
MOVX @DPTR,A
MOV A,BDIV+1
INC DPTR
MOVX @DPTR,A
MOV A,BDIV+2
INC DPTR
MOVX @DPTR,A
MOV A,NUMBER_HAO
CJNE A,#00H,JHANGYOULV ;当前编号是 0 吗? N 转
LJMP BIAOYAN_P
JHANGYOULV: LJMP HANGYOULV
;标样处理 只显示测量数据值
BIAOYAN_P:
MOV DPTR,#0400H
MOVX A,@DPTR
MOV DPTR,#0410H
MOVX @DPTR,A
MOV DPTR,#0401H
MOVX A,@DPTR
MOV DPTR,#0411H ;标样测量值
MOVX @DPTR,A
MOV DPTR,#0402H ;高位
MOVX A,@DPTR
MOV DPTR,#0412H
MOVX @DPTR,A
MOV DPTR,#0410H ;低位
MOVX A,@DPTR
MOV BDIV,A
MOV DPTR,#0411H
MOVX A,@DPTR
MOV BDIV+1,A
MOV DPTR,#0412H
MOVX A,@DPTR
MOV BDIV+2,A ;结果数据/100000
MOV BDIV+3,#00H ;最高位
MOV PDIV,#40H
MOV PDIV+1,#86H
MOV PDIV+2,#01H
MOV PDIV+3,#00H
LCALL DIV32
MOV A,BDIV
ADD A,#10H
MOV LCD_BUFFER,A
MOV BDIV,DIV_C ;结果数据/10000
MOV BDIV+1,DIV_C+1
MOV BDIV+2,DIV_C+2
MOV BDIV+3,DIV_C+3
MOV PDIV,#10H
MOV PDIV+1,#27H
MOV PDIV+2,#00H
MOV PDIV+3,#00H
LCALL DIV32
MOV A,BDIV
ADD A,#10H
MOV LCD_BUFFER+1,A
MOV BDIV,DIV_C ;结果数据余数/1000
MOV BDIV+1,DIV_C+1
MOV BDIV+2,DIV_C+2
MOV BDIV+3,DIV_C+3
MOV PDIV,#0E8H
MOV PDIV+1,#03H
MOV PDIV+2,#00H
MOV PDIV+3,#00H
LCALL DIV32
MOV A,BDIV
ADD A,#10H
MOV LCD_BUFFER+2,A
MOV BDIV,DIV_C ;结果数据余数/100
MOV BDIV+1,DIV_C+1
MOV BDIV+2,DIV_C+2
MOV BDIV+3,DIV_C+3
MOV PDIV,#64H
MOV PDIV+1,#00H
MOV PDIV+2,#00H
MOV PDIV+3,#00H
LCALL DIV32
MOV A,BDIV
ADD A,#10H
MOV LCD_BUFFER+3,A
MOV BDIV,DIV_C ;结果数据余数/10
MOV BDIV+1,DIV_C+1
MOV BDIV+2,DIV_C+2
MOV BDIV+3,DIV_C+3
MOV PDIV,#0AH
MOV PDIV+1,#00H
MOV PDIV+2,#00H
MOV PDIV+3,#00H
LCALL DIV32
MOV A,BDIV
ADD A,#10H
MOV LCD_BUFFER+4,A
MOV A,DIV_C ;结果数据余数
ADD A,#10H
MOV LCD_BUFFER+5,A
ORL P1,#0FFH
LCALL CLR_LCDDAT
mov o_x,#57h
mov o_y,#01h
LCALL WRI_DATA
RET
HANGYOULV: MOV R1,#BMUL ; (R试*M标*100)/(R标*M试)=含油率%
MOV R0,#PMUL
MOV R2,#03H
MOV R3,#01H
MOV R4,#MULJI
MOV R5,#00H
MOV DPTR,#0400H ;低位
MOVX A,@DPTR
MOV @R1,A
INC R1
INC DPTR
MOVX A,@DPTR ;0401H
MOV @R1,A
INC R1
INC DPTR
MOVX A,@DPTR ;0402H 试样测量值
MOV @R1,A
MOV A,#100
MOV @R0,A
MOV R1,#BMUL ; (R试*M标*100)/(R标*M试)=含油率%
MOV R0,#PMUL
MOV R2,#03H
MOV R3,#01H
MOV R4,#MULJI
MOV R5,#00H
LCALL DOMUL ;多字节乘法 (R*100)
MOV BMUL,MULJI
MOV BMUL+1,MULJI+1
MOV BMUL+2,MULJI+2
MOV BMUL+3,MULJI+3
MOV BMUL+4,MULJI+4
MOV BMUL+5,MULJI+5
MOV R1,#BMUL
MOV R0,#PMUL
MOV R2,#03H
MOV R3,#01H
MOV R4,#MULJI
MOV R5,#00H
MOV DPTR,#0509H
MOVX A,@DPTR
MOV PMUL+1,A
MOV DPTR,#050AH
MOVX A,@DPTR
MOV PMUL,A ;;多字节乘法 (R*100)*M
MOV R1,#BMUL ; (R试*M标*100)/(R标*M试)=含油率%
MOV R0,#PMUL
MOV R2,#06H
MOV R3,#02H
MOV R4,#MULJI
MOV R5,#00H
LCALL DOMUL ;多字节乘法 (R*100)*M
MOV DPTR,#1800H
MOV A,R4
MOV R0,A
LILOOP: MOV A,@R0 ;存 (R试*M标*100)
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R5,LILOOP
;*
MOV DPTR,#0410H
MOVX A,@DPTR
MOV BMUL,A
INC DPTR
MOVX A,@DPTR
MOV BMUL+1,A
INC DPTR
MOVX A,@DPTR
MOV BMUL+2,A
MOV DPTR,#0509H
LCALL RAM_ADR
MOVX A,@DPTR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -