;e ublic subsysetm
;uzba1,uzbb1,uzbc1
;uzba2,uzbb2,uzbc2
;izba1,izbb1,izbc1
;izba2,izbb2,izbc2
;t1,t2,rh,wd
baud EQU 0cH
ADFLAG EQU 1;1=AC(U,I),0=T,DC
KCJ1GH EQU 07FFEh ;0
KCJ1GT EQU 0FDF7H ;1
KCJ2GH EQU 0DFEFH ;2
KCJ2GT EQU 0EFBFH ;3
KCJ3GH EQU 0F77FH ;4
KCJ3GT EQU 0FBDFH ;5
KCJ4GH EQU 0BFFBH ;6
KCJ4GT EQU 0FEFDH ;7
;
;inti sport
INI485: ldb 0eh,#baud
ldb 0eh,#80h
ldb spcon,#0ah
;SET HZ MEASURE MODE
LDB IOC0,#081H;081H
LDB HSIMOD,#01H
LDB INTMAS,#0edh;6DH ;TOTAL 6 INT
LDB INTPEN,00H
LDB HSOCOM,#38H
ADD HSOTIM,TIMER1,#611
EI
;INI END
LOOP: JBS FLAGP4,4,LOOP1
LD ADDRBR1,#SUREP1
CMPB CLKAXH,R0
JNE LOOP1
LDB MAX,TEMP6[0]
AND MAX,#7
cmpb max,#05
jnh looop
clrb max
;SERIAL PORT INTERRUPT SERVICE PROGRAM
;SPORT INTTERUPT
SPORT: PUSHF
jbc spstat,6,spret
ANDB SAL,SBUF,#07FH
CMPB SAL,SADDR
JE SP1 ;IF ADDR.CODE EQU JMP
spret: POPF
RET
SP1: EI
LDB INTMAS,#00100001B ;enable other int (NO HZINT)
LDB SAL,SBUF
LDB SPCON,#0BH ;CHANGE SERIAL PORT MODE TO 3
JBS SAL,7,SPLTA ;IF SHORT TEXT JMP
SJMP SPWT1
;LONG TEXT
SPLTA: LDB INTMAS,#25H
LD PSBUF,#SBUFR ;SBUFR RX BUFFER SUM 256 BYTE
STB SAL,[PSBUF]+ ;addr. code
SPLT: LDB SAH,SPSTAT
JBC SAH,6,SPLT
LDB SAH,SBUF ;GET TEXTHEAD CODE
STB SAH,[PSBUF]+
;'A5H' VSET & CTANDPTBL SET COMMAND
SPLT5: XORB SAL,SAH
SPLT2: LDB SAH,SPSTAT
JBC SAH,6,SPLT2
LDB SCNT,SBUF ;GET TEXTLENGTH CODE
STB SCNT,[PSBUF]+
XORB SAL,SCNT
INCB SCNT
SPLT3: LDB SAH,SPSTAT
JBC SAH,6,SPLT3 ;WAIT FOR SPORT DATA
LDB SAH,SBUF ;GET TEXT CODES SUM 30 BYTE
STB SAH,[PSBUF]+
XORB SAL,SAH
DJNZ SCNT,SPLT3
JE SPLT3A ;XOR RESULT IS NOT 0 JMP
sjmp sprt
splt3a: LD PSBUF,#SBUFR
LD SAX,[PSBUF]+
CMPB SAH,#05AH
JE SCOMSWS
JSDATA: SJMP SDATA
SCOMSWS:LD SAX,[PSBUF]+
CMPB SAL,#6
JNE JSDATA
ANDB SAL,SAH,#0D0H
CMPB SAL,#0C0H
JNE JSDATA
LD SBX,[PSBUF]+
CMPB SAH,SBH
JNE JSDATA
NOTB SAH
CMPB SAH,SBL
JNE JSDATA
LD SAX,[PSBUF]+
CMPB SAL,SBL
JNE JSDATA
CMPB SAH,SBH
JNE JSDATA
CMPB SBL,[PSBUF]
JNE JSDATA
SCMSW: ANDB SAL,SAH,#0FH
CMPB SAL,#00H
JNE SCMSWA
LD SBX,#KCJ1GT
SJMP SCMSWH
SCMSWA: CMPB SAL,#03H
JNE SCMSWB
LD SBX,#KCJ1GH
ORB FLAGP6,#02H
SJMP SCMSWH
SCMSWB: CMPB SAL,#04H
JNE SCMSWC
LD SBX,#KCJ2GT
SJMP SCMSWH
SCMSWC: CMPB SAL,#07H
JNE SCMSWD
ORB FLAGP6,#02H
LD SBX,#KCJ2GH
SJMP SCMSWH
SCMSWD: CMPB SAL,#08H
JNE SCMSWE
LD SBX,#KCJ3GT
SJMP SCMSWH
SCMSWE: CMPB SAL,#0BH
JNE SCMSWF
LD SBX,#KCJ3GH
ORB FLAGP6,#02H
SJMP SCMSWH
SCMSWF: CMPB SAL,#0CH
JNE SCMSWG
LD SBX,#KCJ4GT
SJMP SCMSWH
SCMSWG: CMPB SAL,#0FH
JNE SCMSW3
LD SBX,#KCJ4GH
ORB FLAGP6,#02H
SCMSWH: DI
LDB HSOCOM,#22H
ADD HSOTIM,TIMER1,#0003H
ORB BA7FC2,#05H
STB BA7FC2,ADKB1[R0]
STB sbX,ADSWOL[R0]
STB sbXH,ADSWOH[R0]
LDB HSOCOM,#12H
ADD HSOTIM,TIMER1,#0000H
LDB TTZ,#TTZ1
EI
SCMSW3: LD SBX,#SBUFR
LD PSBUF,#SBUFS
LDB SCNT,#5
SCMLP: LD SAX,[SBX]+
ST SAX,[PSBUF]+
DJNZ SCNT,SCMLP
LJMP SPFS
SCMSW2: ANDB SAH,#0FEH
ORB SAH,#02H ;10-D1D0 CONTROL ABORT
SJMP SCMSW3
;SPRET1: SJMP SPWT5
;SHORT TEXT
SPWT1: LD SBX,#3000H
SPWT1A: LDB SAH,SPSTAT
DEC SBX
JE SPRET1
JBC SAH,6,SPWT1A
LDB SAH,SBUF ;GET COMMAND
LD SBX,#1000
SPWT2: LDB SCHECK,SPSTAT
DEC SBX
JE SPRET1
JBC SCHECK,6,SPWT2
LDB SBL,SBUF
XORB SBL,SAL
XORB SBL,SAH
JE SP3 ;CHECK OK JMP
;check result error
;NEED to RETRANSMITT
;SPRT: JBC FLAGP1,1,RSM485
; ;ENABLE BACK485 TX
; ORB BA7fc2,#07H
; SJMP RSMS485
; ;ENABLE MAIN485 TX
;RSM485: ANDB BA7fc2,#11111001B ;ENABLE M485 TX
;RSMS485:STB BA7fc2,ADKB1[R0]
; LDB SAL,#30
;RSMAAA: DJNZ SAL,RSMAAA
; LDB SBUF,Saddr ;RETRANSMIT ADDR.
SPRT: ORB BA7FC2,#40H;#07H
STB BA7FC2,ADKB1[R0]
LDB SBUF,SADDR ;RETRANSMIT ADDR.
SPWT3: LDB SAL,SPSTAT
JBC SAL,5,SPWT3
LDB SBUF,R0
SPWT4: LDB SBL,SPSTAT
JBC SBL,5,SPWT4
LDB SBUF,Saddr ;XOR RESULT EQU ADDRess code
SPWT5: NOP
SPWT5A: LDB SBL,SPSTAT
JBC SBL,5,SPWT5A
;SPRET1: LDB SPCON,#00001010B ;SET MODE 2
; ;ANDB INTPEN,#0BFH ;CLEAR SERIAL PORT INTERRUPT
; JBC FLAGP1,1,SPWT5B
; ANDB BA7fc2,#11111010B
; ORB BA7fc2,#02H
; SJMP SPWT5C
;SPWT5B: ANDB BA7fc2,#11111011B ;DESABLE B485 TX
;; ORB BA7fc2,#00000011B
;SPWT5C: STB BA7fc2,ADKB1[R0]
; POPF
; RET
SPRET1: LDB SPCON,#00001010B ;SET MODE 2
ANDB BA7fc2,#00011111B
STB BA7fc2,ADKB1[R0]
POPF
RET
;SHORT TEXT OK,COMMAND IN SAH
SP3: NOP ;CLEAR DELAY
LDB SBL,FEF[R0] ;sss
CMPB SBL,#00H ;FEF=1 EVENT SEND STATE
JE SP3S ;
CMPB SAH,#44H ;44H=EVT RESERVED
JE SP3B
SJMP SPFS
SP3B: STB R0,FEF[R0]
CMP PEVENT,#EVTTOP
JNE SP3C
;NO EVT
SJMP SDATA
SP3C: SJMP SCM031
SP3S: CMPB SAH,#00H
JE SPFS
SJMP SCOM01
;SPFS: JBC FLAGP1,1,SM485
; ;ENABLE BACK485 TX
; ORB BA7fc2,#00000111B
; SJMP SMS485
; ;ENABLE MAIN485 TX
;SM485: ANDB BA7fc2,#11111001B ;ENABLE M485 TX
;SMS485: STB BA7fc2,ADKB1[R0]
; LDB SAL,#30
SPFS: ORB BA7fc2,#40H;#00000111B
STB BA7fc2,ADKB1[R0]
LDB SAL,#30
SMAAA: DJNZ SAL,SMAAA
LDB INTMAS,#25H
LD PSBUF,#SBUFS
LDB SAL,[PSBUF]+
LDB SBUF,SAL ;ADDR.CODE
LDB SBH,[PSBUF]+
SPWT6: LDB SBL,SPSTAT
JBC SBL,5,SPWT6
LDB SBUF,SBH ;ZT CODE/COMM CODE
LDB SAH,[PSBUF]+ ;
SPWT7: LDB SBL,SPSTAT
JBC SBL,5,SPWT7
LDB SBUF,SAH ;IF SHORT TEXT SAH IS CHECK CODE
JBS SAL,7,SPCP05
SJMP SPWT5 ;SHORT TEXT JMP
;LONG TEXT DATA LENGTH IN SAH
;SBH IS COMMAND CODE
SPCP05: CMPB SBH,#05H
JE SP4A
CMPB SBH,#04H
JNE SP4C
;PRECESS '04H'OR '05H'
SP4A: XORB SAL,SBH
XORB SAL,SAH
LDB SAH,[PSBUF]+
XORB SAL,SAH
SPWT7A: LDB SBL,SPSTAT
JBC SBL,5,SPWT7A
LDB SBUF,SAH ;RELAY TYPE OR STATE AND SWITCH NUMBER
SPWT7B: LDB SBL,SPSTAT
JBC SBL,5,SPWT7B
SP4B: LDB SAH,CLOCKL
LD SBX,TIMER1
LDB SBL,SBH
CMPB SAH,CLOCKL
JNE SP4B
DI
LDB SBH,SAH
SUB SBX,[PSBUF]+
LDB SBUF,SBL ;ACTIVITY TIME LOW
EI
XORB SAL,SBH
XORB SAL,SBL
SPWT7C: LDB SBL,SPSTAT
JBC SBL,5,SPWT7C
LDB SBUF,SBH ;TIME HIGH
LDB SBH,[PSBUF]+
XORB SAL,SBH
SPWT7D: LDB SBL,SPSTAT
JBC SBL,5,SPWT7D
LDB SBUF,SBH ;ACT.VALUE LOW
LDB SBH,[PSBUF]+
SPWT7E: LDB SBL,SPSTAT
JBC SBL,5,SPWT7E
LDB SBUF,SBH ;ACT.VALUE HIGH
XORB SBH,SAL
SPWT7F: LDB SBL,SPSTAT
JBC SBL,5,SPWT7F
LDB SBUF,SBH ;CHECK CODE
LDB SAL,#01H
STB SAL,FEF[R
zz.zip_80c196_c196
版权申诉
114 浏览量
2022-09-20
13:49:13
上传
评论
收藏 18KB ZIP 举报
我虽横行却不霸道
- 粉丝: 75
- 资源: 1万+
最新资源
- 蓝zapro.apk
- chromedriver-linux64.zip
- 基于Python和PyTorch框架完成的一个手写数字识别实验源码(带MINIST手写数字数据集)+详细注释(高分项目)
- 基于Matlab在MNIST数据集上利用CNN完成手写体数字识别任务,并实现单层CNN反向传播算法+源代码+文档说明(高分项目)
- NVIDIA驱动、CUDA和Pytorch及其依赖
- html动态爱心代码一(附源码)
- c40539bc-071a-486c-9d52-9d0c18d62dac 4.html
- 基于物理的非视域成像(NLOS)算法,利用了nerf+python源码+文档说明
- yuluer知更鸟.7z(1).001
- python课程设计-基于tensorflow实现的图文生成程序,数据集flickr30k-images+源代码+文档说明+截图
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈