📄 dog5.lst
字号:
;向EEPROM中写入数据
;***************************
05F5 00 WRITE_TO_NVD: NOP
05F6 7860 MOV R0,#SND_BUFF ;得到需写入的地址
05F8 08 INC R0
05F9 08 INC R0
05FA E6 MOV A,@R0
05FB F533 MOV BYTE_ADDRESS,A
05FD 08 INC R0
05FE E6 MOV A,@R0
05FF F532 MOV BYTE_DATA,A
0601 08 INC R0
0602 D17E ACALL I2C_STRT
0604 74A0 MOV A,#0A0H
D:\工作备分\工作备分\报警背板\程序\报警背板程序\DOG5.ASM
页 22
10-12-05
20:47:28
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0606 D1A5 ACALL I2C_WRITE_BYTE
0608 E533 MOV A,BYTE_ADDRESS
060A D1A5 ACALL I2C_WRITE_BYTE
060C E532 MOV A,BYTE_DATA
060E D1A5 ACALL I2C_WRITE_BYTE
0610 D18F ACALL I2C_STOP
0612 7451 MOV A,#SOH_OUT1
0614 00 NOP
0615 22 RET
;***************************
;***************************
;
;***************************
0616 00 WRITE_NVD: NOP
0617 D17E ACALL I2C_STRT
0619 74A0 MOV A,#0A0H
061B D1A5 ACALL I2C_WRITE_BYTE
061D E533 MOV A,BYTE_ADDRESS
061F D1A5 ACALL I2C_WRITE_BYTE
0621 E532 MOV A,BYTE_DATA
0623 D1A5 ACALL I2C_WRITE_BYTE
0625 D18F ACALL I2C_STOP
0627 22 RET
;******************************
;***************************
;***************************
;
;***************************
0628 00 READ_BYTE: NOP
0629 D17E ACALL I2C_STRT
062B 74A0 MOV A,#0A0H
062D D1A5 ACALL I2C_WRITE_BYTE
062F E533 MOV A,BYTE_ADDRESS
0631 D1A5 ACALL I2C_WRITE_BYTE
0633 D17E ACALL I2C_STRT
0635 74A1 MOV A,#0A1H
0637 D1A5 ACALL I2C_WRITE_BYTE
0639 12063F LCALL I2C_READ_BYTE
063C D18F ACALL I2C_STOP
063E 22 RET
;***************************
;***************************
;
;***************************
D:\工作备分\工作备分\报警背板\程序\报警背板程序\DOG5.ASM
页 23
10-12-05
20:47:28
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
063F 00 I2C_READ_BYTE: NOP
0640 7400 MOV A,#00H
0642 7808 MOV R0,#8
0644 C2B5 CLR SCL
0646 00 NOP
0647 D2B5 I2C_R_BYTE1: SETB SCL
0649 A2B4 MOV C,SDA
064B 33 RLC A
064C C2B5 CLR SCL
064E 00 NOP
064F 00 NOP
0650 D8F5 DJNZ R0,I2C_R_BYTE1
0652 22 RET
;***************************
;***************************
;
;***************************
0653 00 READ_SDA: NOP
0654 7400 MOV A,#00H
0656 C2D7 CLR CY
0658 7F00 MOV R7,#00H
065A C250 CLR DATA_FLAG
065C 20B507 RD_SDA_1: JB SCL,RD_SDA_2
065F 3050FA JNB DATA_FLAG,RD_SDA_1
0662 C250 CLR DATA_FLAG
0664 C15C AJMP RD_SDA_1
0666 2050F3 RD_SDA_2: JB DATA_FLAG,RD_SDA_1
0669 D250 SETB DATA_FLAG
066B 85B4D7 MOV CY,SDA
066E 33 RLC A
066F 0F INC R7
0670 EF MOV A,R7
0671 B408E8 CJNE A,#08H,RD_SDA_1
0674 22 RET
;******************************
;***************************
;
;***************************
0675 D2B5 I2C_CLK: SETB SCL
0677 00 NOP
0678 00 NOP
0679 00 NOP
067A 00 NOP
067B C2B5 CLR SCL
067D 22 RET
;***************************
D:\工作备分\工作备分\报警背板\程序\报警背板程序\DOG5.ASM
页 24
10-12-05
20:47:28
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
;
;***************************
067E D2B4 I2C_STRT: SETB SDA
0680 D2B5 SETB SCL
0682 00 NOP
0683 00 NOP
0684 00 NOP
0685 00 NOP
0686 C2B4 CLR SDA
0688 00 NOP
0689 00 NOP
068A 00 NOP
068B 00 NOP
068C C2B5 CLR SCL
068E 22 RET
;***************************
;
;***************************
068F C2B4 I2C_STOP: CLR SDA
0691 D2B5 SETB SCL
0693 00 NOP
0694 00 NOP
0695 00 NOP
0696 00 NOP
0697 D2B4 SETB SDA
0699 22 RET
;***************************
;
;***************************
069A D2B4 I2C_ACK: SETB SDA
069C D2B5 SETB SCL
069E 00 NOP
069F 00 NOP
06A0 00 NOP
06A1 00 NOP
06A2 C2B5 CLR SCL
06A4 22 RET
;***************************
;
;***************************
06A5 00 I2C_WRITE_BYTE: NOP
06A6 7808 MOV R0,#8
06A8 33 I2C_W_BYTE1: RLC A
06A9 92B4 MOV SDA,C
06AB 00 NOP
06AC 00 NOP
06AD D175 ACALL I2C_CLK
06AF D8F7 DJNZ R0,I2C_W_BYTE1
D:\工作备分\工作备分\报警背板\程序\报警背板程序\DOG5.ASM
页 25
10-12-05
20:47:28
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
06B1 00 NOP
06B2 D19A ACALL I2C_ACK
06B4 22 RET
;***************************
;***************************
;
;***************************
06B5 00 DELAY5MS: NOP
06B6 7B19 MOV R3,#25
06B8 7AC8 DELAY5_1: MOV R2,#200
06BA DAFE DELAY5_2: DJNZ R2,DELAY5_2
06BC DBFA DJNZ R3,DELAY5_1
06BE 22 RET
;***************************
;***************************
06BF 00 DELAY50MS: NOP
06C0 7BFA MOV R3,#250
06C2 7AC8 DELAY50_1: MOV R2,#200
06C4 DAFE DELAY50_2: DJNZ R2,DELAY50_2
06C6 DBFA DJNZ R3,DELAY50_1
06C8 22 RET
;***************************
;***************************
06C9 00 DELAY500MS: NOP
06CA 7C05 MOV R4,#5
06CC 7BFA DELAY5S_0: MOV R3,#250
06CE 7AC8 DELAY5S_1: MOV R2,#200
06D0 DAFE DELAY5S_2: DJNZ R2,DELAY5S_2
06D2 DBFA DJNZ R3,DELAY5S_1
06D4 DCF6 DJNZ R4,DELAY5S_0
06D6 22 RET
;******************************
;******************************
06D7 00 DELAY100MS: NOP
06D8 7C01 MOV R4,#1
06DA 7BFA DELAY10S_0: MOV R3,#250
06DC 7AC8 DELAY10S_1: MOV R2,#200
06DE DAFE DELAY10S_2: DJNZ R2,DELAY10S_2
06E0 DBFA DJNZ R3,DELAY10S_1
06E2 DCF6 DJNZ R4,DELAY10S_0
06E4 22 RET
;*******************************
;*******************************
;16进制转换为10进制
;输入:A
;输出:A(转换后的高位),B(转换后低位)
D:\工作备分\工作备分\报警背板\程序\报警背板程序\DOG5.ASM
页 26
10-12-05
20:47:28
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
;*******************************
06E5 00 HEX_TO_ASCII: NOP
06E6 75F010 MOV B,#10H
06E9 84 DIV AB
06EA B40A00 CJNE A,#0AH,HEX_TO_ASC_1
06ED 4004 HEX_TO_ASC_1: JC HEX_TO_ASC_2
06EF 2437 ADD A,#37H
06F1 C1F5 AJMP HEX_TO_ASC_3
06F3 2430 HEX_TO_ASC_2: ADD A,#30H
06F5 C0E0 HEX_TO_ASC_3: PUSH A
06F7 E5F0 MOV A,B
06F9 B40A00 CJNE A,#0AH,HEX_TO_ASC_4
06FC 4004 HEX_TO_ASC_4: JC HEX_TO_ASC_5
06FE 2437 ADD A,#37H
0700 E104 AJMP HEX_TO_ASC_6
0702 2430 HEX_TO_ASC_5: ADD A,#30H
0704 F5F0 HEX_TO_ASC_6: MOV B,A
0706 D0E0 POP A
0708 22 RET
;*******************************
;***************************
;
;***************************
0709 00 SEND_ALARM_IN_STATE: NOP
070A 7860 MOV R0,#SND_BUFF
070C 08 INC R0
070D 08 INC R0
070E E6 MOV A,@R0
070F B40105 CJNE A,#01H,ALM_IN_STA_1 ;通道1
0712 30A07C JNB ALM_PIN_1,ALM_IN_STA_YES
0715 E18D AJMP ALM_IN_STA_NO
0717 B40205 ALM_IN_STA_1: CJNE A,#02H,ALM_IN_STA_2 ;通道2
071A 30A174 JNB ALM_PIN_2,ALM_IN_STA_YES
071D E18D AJMP ALM_IN_STA_NO
071F B40305 ALM_IN_STA_2: CJNE A,#03H,ALM_IN_STA_3 ;通道3
0722 30A26C JNB ALM_PIN_3,ALM_IN_STA_YES
0725 E18D AJMP ALM_IN_STA_NO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -