?? soc080225.asm
字號:
SETB BDB ;;;擺動標志,存在遞增或遞減時BDB=1.
RET
PXCPRR2:
CLR BDB
RET
PXCPRL: ;;;識別左邊是否遞減
MOV A,ADMIN ;;;識別左邊
CLR C
SUBB A,#06H
MOV R1,A
INC A
INC A
MOV R0,A
MOV R2,#02H
SJMP PXCPRR1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;; int0 interrupt ;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INTRR0:
PUSH ACC
PUSH PSW
SETB RS1
CLR RS0
MOV R0,#ADCD3
MOV R2,#03H
LCALL RD7799
MOV DATD1,ADCD2
MOV DATD2,ADCD3
SETB ADEN
POP PSW
POP ACC
RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;; tt0 interrupt ;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INTT0:
PUSH ACC
PUSH PSW
SETB RS0
CLR RS1
CLR SPK
MOV TH0,#0FCH
MOV TL0,#17H
LCALL DISPLAY ;;;顯示
LCALL FMQCTR
SETB TR0
POP PSW
POP ACC
RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
READKEY: ;;;功能說明:按鍵識別
CLR TDB
CLR GJB
SETB ZERO
SETB SETS
MOV R5,#0FFH
MOV R6,#0FFH
MOV R7,#0AH
JNB ZERO,RKEY1
JNB SETS,RKEY5
RET
RKEY1:
SETB SPK ;;;開蜂鳴器
SETB FMQ
RKEY01:
SETB ZERO
JB ZERO,RKEY3 ;;;按鍵釋放后有效
DJNZ R5,RKEY2
MOV R5,#0FFH
DJNZ R6,RKEY2
MOV R6,#0FFH
DJNZ R7,RKEY2
MOV R7,#0AH
SETB TDB
SJMP RKEY4
RKEY2:
SJMP RKEY01
RKEY3:
JB TDB,RKEY4
LCALL ZHILING ;;;調用置零操作
RET
RKEY4:
LCALL BIAODING ;;;標定
RET
RKEY5:
SETB SPK
SETB FMQ ;;;開蜂鳴器
RKEY05:
SETB SETS
JB SETS,RKEY7
DJNZ R5,RKEY6
MOV R5,#0FFH
DJNZ R6,RKEY6
MOV R6,#0FFH
DJNZ R7,RKEY6
MOV R7,#0AH
SETB GJB
SJMP RKEY7
RKEY6:
SJMP RKEY05
RKEY7:
JNB GJB,RKEY8
CLR NET1 ;;;軟件關機
RKEY8:
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DISPLAY: ;;;功能說明:顯示掃描.R2初始值為00H,COM初始值為01H
sjmp dsp0
mov p2,#01h
mov p0,#0fh
ret
dsp0:
MOV P0,#0FFH ;;;黑屏顯示
CJNE R2,#07H,DSP1
MOV R2,#00H ;;;判斷起始點
MOV CON,#01H
DSP1:
MOV A,CON
MOV P2,A ;;;送位碼
MOV A,#DSPL1
ADD A,R2
MOV R0,A
MOV A,@R0
MOV DPTR,#SEGTAB
MOVC A,@A+DPTR
CJNE R2,#01H,DSP2 ;;;
JNB DDT,DSP2 ;;;小數(shù)點控制標志
JNB DOT,DSP2 ;;;小于等于1t時顯示小數(shù)點
ORL A,#80H ;;;顯示小數(shù)點
DSP2:
MOV P0,A ;;;送段碼
INC R2 ;;;修正顯示位
CLR C
MOV A,CON ;;;修正位控制
RLC A
MOV CON,A
RET
SEGTAB:
DB 3FH,06H,5BH,4FH,66H,6DH ;;;0,1,2,3,4,5 (0-5)
DB 7DH,07H,7FH,6FH,77H,7CH ;;;6,7,8,9,A,b (6-B)
DB 58H,5EH,79H,71H,76H,38H ;;;C,d,E,F,H,L (C-11)
DB 5CH,54H,73H,00H,40H,7FH ;;;o,n,P,BANK,-,8 (12-17)
DB 50H,04H,01H,6EH,78H,3DH ;;;r,i,_,y,t,G (18-1D)
DB 1CH ;;;u (1E)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
FMQCTR: ;;;功能說明:控制蜂鳴器熄滅.
JNB FMQ,FMQC1 ;;;判斷蜂鳴器開否?
DJNZ R3,FMQC1
CLR SPK
CLR FMQ
MOV R3,#20H
FMQC1:
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;標定設置:先輸入密碼,再設定分度值,置0范圍;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;0跟蹤范圍,超載重量,空載重量,加載重量等;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BIAODING:
CLR DDT
MOV DSPL1,#15H ;;;第一步設定.
MOV DSPL2,#15H ;;;顯示[SEL ]
MOV DSPL3,#11H
MOV DSPL4,#0EH
MOV DSPL5,#05H
BIAO1:
SETB SETS
JNB SETS,BIAO2
SJMP BIAO1 ;;;按下[置零]進入下一步
BIAO2:
SETB SPK
SETB FMQ
LCALL DSPSCAN ;;;顯示[d **]最近設定的分度值
MOV DSPL5,#0DH
MOV DSPL4,#15H
MOV DSPL3,#15H
JNB SETS,$
LCALL DELAY1
LCALL DELAY1
BIAO3:
SETB SETS
SETB ZERO
JNB ZERO,BIAO4 ;;;按下[置零],修改分度值
JNB SETS,BIAO8 ;;;按下[開關],進入下一步
SJMP BIAO3
BIAO4:
SETB SPK
SETB FMQ
MOV A,DSPL1
CJNE A,#00H,BIAO5
MOV DSPL1,#01H
MOV DSPL2,#15H
SETB ZERO
BIAOD5:
JNB ZERO,$
LCALL DELAY1
LCALL DELAY1
SJMP BIAO3
BIAO5:
CJNE A,#01H,BIAO6
MOV DSPL1,#02H
MOV DSPL2,#15H
SJMP BIAOD5
BIAO6:
CJNE A,#02H,BIAO7
MOV DSPL1,#05H
MOV DSPL2,#15H
SJMP BIAOD5
BIAO7:
MOV DSPL1,#00H
MOV DSPL2,#01H
SJMP BIAOD5
BIAO8:
SETB SPK
SETB FMQ
LCALL SCALE ;;;保存分度值在5045中
MOV DSPL1,#15H ;;;設定小數(shù)點有無.
MOV DSPL2,#15H
MOV DSPL3,#15H ;;;顯示[C ***]
MOV DSPL4,#15H
MOV DSPL5,#0CH
LCALL DSPDOT
JNB SETS,$
LCALL DELAY1
LCALL DELAY1
BIAO9:
SETB ZERO
SETB SETS
JNB ZERO,BIAO10
JNB SETS,BIAO12
SJMP BIAO9
BIAO10:
SETB SPK
SETB FMQ
JNB DOT,BIAO11
MOV DSPL1,#12H
MOV DSPL2,#13H ;;;顯示no
MOV DSPL3,#15H
CLR DOT
BIAOD10:
JNB ZERO,$
LCALL DELAY1
LCALL DELAY1
SJMP BIAO9
BIAO11:
SETB DOT
MOV DSPL1,#05H
MOV DSPL2,#0EH ;;;顯示YES
MOV DSPL3,#1BH
SJMP BIAOD10
BIAO12:
SETB SPK
SETB FMQ
LCALL SVDOT
MOV DSPL1,#11H ;;;開始滿量程設定
MOV DSPL2,#11H
MOV DSPL3,#1EH ;;;[FuLL ]
MOV DSPL4,#0FH
MOV DSPL5,#15H
JNB SETS,$
LCALL DELAY1
LCALL DELAY1
BIAO13:
SETB SETS
JNB SETS,BIAO14
SJMP BIAO13
BIAO14:
SETB SPK
SETB FMQ
SETB DDT
LCALL DSPOVL ;;;滿量程顯示
JNB SETS,$
LCALL DELAY1
LCALL DELAY1
MOV R2,#05H
MOV R5,#0FFH
MOV R6,#20H
BIAO15:
SETB ZERO
SETB SETS
JNB SETS,BIAO16
JNB ZERO,BIAO18
DJNZ R5,BIAO15
MOV R5,#0FFH
DJNZ R6,BIAO15
MOV R6,#20H
LCALL SHANSHUO
SJMP BIAO15
BIAO16:
SETB SPK
SETB FMQ
DJNZ R2,BIAO17
SJMP BIAO19 ;;;設定完成
BIAO17:
LCALL TTOL5 ;;;更新顯示
MOV R5,#0FFH
MOV R6,#20H
JNB SETS,$
LCALL DELAY1
LCALL DELAY1
SJMP BIAO15
BIAO18:
SETB SPK
SETB FMQ
LCALL ZENGYI
JNB ZERO,$
LCALL DELAY1
SJMP BIAO17
BIAO19:
LCALL OVLOAD ;;;保存滿量程
MOV DSPL1,#0DH ;;;顯示[ LOAD]
MOV DSPL2,#0AH ;;;修正系數(shù)
MOV DSPL3,#12H
MOV DSPL4,#11H
MOV DSPL5,#15H
JNB SETS,$
LCALL DELAY1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -