⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2c.asm

📁 这是一个有关i2c介绍
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        ORG     0000H
        LJMP    0030H    ;shang xian

        ORG	0013H
        LJMP    1000H    ;zhong duan




        ORG     0030H    ;zhu cheng xu
        MOV	SP,#20H
	SETB	IT1
	CLR	EX1
        CLR	EA


;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

;        LCALL   MAIN0
;        MOV     R5,#15
;A000:   LCALL   YS1S
;        DJNZ    R5,A000
;
;        LCALL   YS1S
;        MOV     A,#9FH
;        MOV     P2,A
;
;	MOV	R5,#250    ;01
;A001:   LCALL   MAIN1
;        DJNZ	R5,A001
;        MOV     A,#9FH
;        MOV     P2,A
 ;       LCALL   YS1S
;        LCALL   YS1S
;        MOV	R5,#250    ;1--R
;A002:   LCALL   MAIN2
;        DJNZ	R5,A002
;
;        MOV     A,#9FH
;        MOV     P2,A
;        LCALL   YS1S
;        LCALL   YS1S
;        MOV	R5,#250    ;U1.00
;A003:   LCALL   MAIN3
;        DJNZ	R5,A003

;        MOV     A,#9FH     ;P.
;        MOV     P2,A
;        LCALL   YS1S
;        LCALL   YS1S
;	LCALL	MAIN4

        MOV     A,#9FH
        MOV     P2,A
        LCALL   YS1S
        LCALL   YS1S
        MOV	R5,#250    ;0000
A004:   LCALL   MAIN5
        DJNZ	R5,A004

        MOV     A,#9FH
        MOV     P2,A
        LCALL   YS1S
        LCALL   YS1S
        MOV	R5,#250    ;1000
A005:   LCALL   MAIN6
        DJNZ	R5,A005
        MOV     A,#9FH
        MOV     P2,A
        LCALL   YS1S
        LCALL   YS1S
;*************************************************

A007:   JB	P3.3,$            ;等待下降沿
        MOV	TMOD,#0D0H
	MOV	TL1,#00H
	MOV	TH1,#00H
        SETB    TR1
        JNB	P3.3,$

        SETB    IT1
        SETB    EX1
        SETB    EA

        MOV     A,#9FH
        MOV     P2,A
        LCALL   YS1S

        JB	P3.3,$            ;等待下降沿
        MOV	TMOD,#0D0H
	MOV	TL1,#00H
	MOV	TH1,#00H
        SETB    TR1
        JNB	P3.3,$

        SETB    IT1
        SETB    EX1
        SETB    EA

        MOV     A,#9FH
        MOV     P2,A
        LCALL   YS1S


A008:   JB	P3.3,$            ;等待下降沿
        MOV	TMOD,#0D0H
	MOV	TL1,#00H
	MOV	TH1,#00H
        SETB    TR1
WH1:    MOV     0EH,30H
        MOV     0FH,31H
        LCALL   XIAN
        JNB	P3.3,WH1

        SETB    IT1
        SETB    EX1
        SETB    EA

        MOV     A,#9FH
        MOV     P2,A
        MOV     R5,#120
F001:	MOV	0EH,30H
        MOV     0FH,31H
	LCALL	XIAN



        SETB    P1.6
        MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9BH
        MOV     P2,A

        MOV	A,P1
	JNB	ACC.6,KEY11             ;按功能键一次响应程序

        LJMP	F002
KEY11:	LCALL	YS12MS
	JNB	ACC.6,B001

F002:   DJNZ    R5,F001
        MOV     A,#9FH
        MOV     P2,A
        LJMP    A008
                                       
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


 ;按键响应子程序

B001:   CLR     EX1
        CLR     EA
        MOV	R4,#5
B002:	LCALL	YS1S
	DJNZ	R4,B002

        MOV     R7,#6
B005:   MOV	R5,#255

B003:   MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9BH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY12
	LJMP	B004
KEY12:	LCALL	YS12MS
	JNB	ACC.6,B006

B004:   MOV	A,#9EH    ; AL1
	MOV	P2,A
	MOV	A,#0FFH
	MOV	P0,A
        LCALL   YS1MS

	MOV	A,#9DH
	MOV	P2,A
	MOV	A,#28H
	MOV	P0,A
        LCALL   YS1MS

	MOV	A,#9BH
	MOV	P2,A
	MOV	A,#37H
	MOV	P0,A

	LCALL	YS1MS
	MOV	A,#97H
	MOV	P2,A
	MOV	A,#0EDH
	MOV	P0,A
        LCALL   YS1MS



        DJNZ	R5,B003
        DJNZ    R7,B005

        MOV     A,#0FFH
        MOV     P0,A


	LJMP	A007

;______________________


B006:   MOV     A,#0FFH                  ;按功能键二次响应程序
        MOV     P0,A
        MOV	R4,#5

B007:	LCALL	YS1S
	DJNZ	R4,B007

        MOV     R7,#6
        MOV	R0,#00		;00H
        LCALL	RDDATA
        LCALL   YS12MS      ;+++++++++++++++++++++
        MOV     30H,A
        MOV     R0,#01         ;01H
        LCALL	RDDATA
        LCALL   YS12MS
        MOV     31H,A

B009:   MOV     R5,#255

B008:   MOV     A,30H
        MOV	0EH,A           ;R6
        MOV     A,31H
        MOV	0FH,A           ;R7
        LCALL	XIAN           ;shang xian

                                   ;修改第一报警值
	SETB	P1.6               ;按增加键响应程序
        MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#97H
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY3
	LJMP	B110
KEY3:	LCALL	YS1S
        LCALL   YS1S
	JNB	ACC.6,ZJ1
	LJMP	B110
ZJ1:	LJMP	XIU1

B110:	SETB	P1.6               ;按减少键响应程序
        MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9DH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY2
	LJMP	B112
KEY2:	LCALL	YS1S
        LCALL   YS1S
	JNB	ACC.6,ZJ2
	LJMP	B112
ZJ2:	LJMP	XIU2


B112:   MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9BH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY13
	LJMP	B111
KEY13:	LCALL	YS12MS
	JNB	ACC.6,B011



B111:   DJNZ	R5,B008
        DJNZ    R7,B009
        LJMP    A007
;________________________

                                  ;按功能键三次响应程序

B011:   MOV     A,#0FFH         ;写入数据
        mov     p0,A
        CLR     P1.2
        MOV     R0,#00H
        MOV     A,30H
        MOV     R6,A
        LCALL   WRDATA
        LCALL   YS12MS
        LCALL   YS12MS
        MOV     R0,#01H
        MOV     A,31H
        MOV     R6,A
        LCALL   WRDATA
        LCALL   YS12MS
        LCALL   YS12MS
        SETB    P1.2



        MOV	R4,#5
B012:	LCALL	YS1S
	DJNZ	R4,B012

        MOV     R7,#6
B015:   MOV	R5,#255
B013:   MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9BH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY14
	LJMP	B014
KEY14:	LCALL	YS12MS
        JNB	ACC.6,B016

B014:   MOV	A,#9EH
        MOV	P2,A             ;AL2
	MOV	A,#0FFH
	MOV	P0,A
        LCALL   YS1MS

	MOV	A,#9DH
	MOV	P2,A
	MOV	A,#28H
	MOV	P0,A
        LCALL   YS1MS

	MOV	A,#9BH
	MOV	P2,A
	MOV	A,#37H
	MOV	P0,A

	LCALL	YS1MS
	MOV	A,#97H
	MOV	P2,A
	MOV	A,#0B0H
	MOV	P0,A
        LCALL   YS1MS

        DJNZ	R5,B013
        DJNZ    R7,B015
        MOV     A,#0FFH
        MOV     P0,A

	LJMP	A007

;______________________


B016:   MOV     A,#0FFH                      ;按功能键四次响应程序
        MOV     P0,A
        MOV	R4,#5

B017:	LCALL	YS1S
	DJNZ	R4,B017

        MOV     R7,#6
        MOV	R0,#00H		;82H
        LCALL	RDDATA
        LCALL   YS12MS
        MOV     30H,A

        MOV     R0,#01H         ;83H
        LCALL	RDDATA
        LCALL   YS12MS
        MOV     31H,A

B019:   MOV     R5,#255
B018:   MOV     A,30H
        MOV	0EH,A           ;R6
        MOV     A,31H
        MOV	0FH,A           ;R7
	LCALL	XIAN           ;shang xian


                                    ;修改第二报警值
	SETB	P1.6               ;+
        MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#97H
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY31
	LJMP	B1110
KEY31:	LCALL	YS1S
        LCALL   YS1S
	JNB	ACC.6,ZJ11
	LJMP	B1110
ZJ11:	LJMP	XIU11

B1110:	SETB	P1.6               ;-
        MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9DH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY21
	LJMP	B1112
KEY21:	LCALL	YS1S
        LCALL   YS1S
	JNB	ACC.6,ZJ12
	LJMP	B1112
ZJ12:	LJMP	XIU12



B1112:  MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9BH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY15
	LJMP	B020
KEY15:	LCALL	YS12MS
	JNB	ACC.6,B021

B020:   DJNZ	R5,B018          ;
        DJNZ    R7,B019
        LJMP    A007
;________________________


B021:   MOV     A,#0FFH                    ;按功能键五次响应程序
        MOV     P0,A

         CLR     P1.2                    ;写入数据
        MOV     R0,#80H
        MOV     A,30H
        MOV     R6,A
        LCALL   WRDATA
        LCALL   YS12MS
        LCALL   YS12MS
        MOV     R0,#81H
        MOV     A,31H
        MOV     R6,A
        LCALL   WRDATA
        LCALL   YS12MS
        LCALL   YS12MS

        MOV	R4,#5
B022:	LCALL	YS1S
	DJNZ	R4,B022

        MOV     R7,#6
B025:   MOV	R5,#255
B023:   MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9BH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY16
	LJMP	B024
KEY16:	LCALL	YS12MS
	JNB	ACC.6,B026

B024:   MOV	A,#9EH    ; AH1
	MOV	P2,A
	MOV	A,#0FFH
	MOV	P0,A
        LCALL   YS1MS

	MOV	A,#9DH
	MOV	P2,A
	MOV	A,#28H
	MOV	P0,A
        LCALL   YS1MS

	MOV	A,#9BH
	MOV	P2,A
	MOV	A,#29H
	MOV	P0,A

	LCALL	YS1MS
	MOV	A,#97H
	MOV	P2,A
	MOV	A,#0EDH
	MOV	P0,A
        LCALL   YS1MS

        DJNZ	R5,B023
        DJNZ    R7,B025
        MOV     A,#0FFH
        MOV     P0,A

	LJMP	A007

;______________________


B026:   MOV     A,#0FFH                      ;按功能键六次响应程序
        MOV     P0,A
        MOV	R4,#5

B027:	LCALL	YS1S
	DJNZ	R4,B027

        MOV     R7,#6
        MOV	R0,#00H		;84H
        LCALL	RDDATA
        LCALL   YS12MS
        MOV     30H,A

        MOV     R0,#01H         ;85H
        LCALL	RDDATA
        LCALL   YS12MS
        MOV     31H,A

B029:   MOV     R5,#255
B028:   MOV     A,30H
        MOV	0EH,A           ;R6
        MOV     A,31H
        MOV	0FH,A           ;R7
	LCALL	XIAN           ;shang xian

                                    ;修改第一回差
	SETB	P1.6               ;+
        MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#97H
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY32
	LJMP	B2110
KEY32:	LCALL	YS1S
        LCALL   YS1S
	JNB	ACC.6,ZJ21
	LJMP	B2110
ZJ21:	LJMP	XIU21

B2110:	SETB	P1.6               ;-
        MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9DH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY22
	LJMP	B2112
KEY22:	LCALL	YS1S
        LCALL   YS1S
	JNB	ACC.6,ZJ22
	LJMP	B2112
ZJ22:	LJMP	XIU22




B2112:  MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9BH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY17
	LJMP	B030
KEY17:	LCALL	YS12MS
	JNB	ACC.6,B031

B030:   DJNZ	R5,B028
        DJNZ    R7,B029
        LJMP    A007
;________________________



B031:   MOV     A,#0FFH           ;按功能键七次响应程序
        MOV     P0,A

        CLR     P1.2             ;写入数据
        MOV     R0,#80H
        MOV     A,30H
        MOV     R6,A
        LCALL   WRDATA
        LCALL   YS12MS
        LCALL   YS12MS
        MOV     R0,#81H
        MOV     A,31H
        MOV     R6,A
        LCALL   WRDATA
        LCALL   YS12MS
        LCALL   YS12MS
        SETB    P1.2


        MOV	R4,#5
B032:	LCALL	YS1S
	DJNZ	R4,B032

        MOV     R7,#6
B035:   MOV	R5,#255
B033:   MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9BH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY18
	LJMP	B034
KEY18:	LCALL	YS12MS
	JNB	ACC.6,B036

B034:   MOV	A,#9EH       ; AH2
	MOV	P2,A
	MOV	A,#0FFH
	MOV	P0,A
        LCALL   YS1MS

	MOV	A,#9DH
	MOV	P2,A
	MOV	A,#28H
	MOV	P0,A
        LCALL   YS1MS

	MOV	A,#9BH
	MOV	P2,A
	MOV	A,#29H
	MOV	P0,A

	LCALL	YS1MS
	MOV	A,#97H
	MOV	P2,A
	MOV	A,#0B0H
	MOV	P0,A
        LCALL   YS1MS

        DJNZ	R5,B033
        DJNZ    R7,B035
        MOV     A,#0FFH
        MOV     P0,A

	LJMP	A007

;______________________


B036:   MOV     A,#0FFH                     ; ;按功能键八次响应程序
        MOV     P0,A
        MOV	R4,#5

B037:	LCALL	YS1S
	DJNZ	R4,B037

        MOV     R7,#6
        MOV	R0,#00H		;86H
        LCALL	RDDATA
        LCALL   YS12MS
        MOV     30H,A

        MOV     R0,#01H         ;87H
        LCALL	RDDATA
        LCALL   YS12MS
        MOV     31H,A

B039:   MOV     R5,#255
B038:   MOV     A,30H
        MOV	0EH,A           ;R6
        MOV     A,31H
        MOV	0FH,A           ;R7
	LCALL	XIAN           ;shang xian

                                   ;修改第二回差
	SETB	P1.6               ;+
        MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#97H
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY33
	LJMP	B3110
KEY33:	LCALL	YS1S
        LCALL   YS1S
	JNB	ACC.6,ZJ31
	LJMP	B3110
ZJ31:	LJMP	XIU31

B3110:	SETB	P1.6               ;-
        MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9DH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY23
	LJMP	B3112
KEY23:	LCALL	YS1S
        LCALL   YS1S
	JNB	ACC.6,ZJ32
	LJMP	B3112
ZJ32:	LJMP	XIU32


B3112:  MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9BH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY19
	LJMP	B040
KEY19:	LCALL	YS12MS
	JNB	ACC.6,B041

B040:   DJNZ	R5,B038
        DJNZ    R7,B039
        LJMP    A007
;________________________


B041:   MOV     A,#0FFH              ;按功能键九次响应程序
        MOV     P0,A

        CLR     P1.2            ;写入数据
        MOV     R0,#80H
        MOV     A,30H
        MOV     R6,A
        LCALL   WRDATA
        LCALL   YS12MS
        LCALL   YS12MS
        MOV     R0,#81H
        MOV     A,31H
        MOV     R6,A
        LCALL   WRDATA
        LCALL   YS12MS
        LCALL   YS12MS
        SETB    P1.2

        MOV	R4,#5
 B042:	LCALL	YS1S
	DJNZ	R4,B042

        MOV     R7,#6
B045:   MOV	R5,#255
B043:   MOV     A,#0FFH
        MOV     P0,A
        MOV     A,#9BH
        MOV     P2,A
	MOV	A,P1
	JNB	ACC.6,KEY20
	LJMP	B044
KEY20:	LCALL	YS12MS
	JNB	ACC.6,B046

B044:   MOV	A,#9EH       ; CLR
	MOV	P2,A
	MOV	A,#0FFH
	MOV	P0,A
        LCALL   YS1MS

	MOV	A,#9DH
	MOV	P2,A
	MOV	A,#36H
	MOV	P0,A
        LCALL   YS1MS

	MOV	A,#9BH
	MOV	P2,A
	MOV	A,#37H
	MOV	P0,A

	LCALL	YS1MS
	MOV	A,#97H
	MOV	P2,A
	MOV	A,#31H
	MOV	P0,A
        LCALL   YS1MS

        DJNZ	R5,B043
        DJNZ    R7,B045
        MOV     A,#0FFH
        MOV     P0,A

	LJMP	A007

;______________________


B046:   MOV     A,#0FFH                     ;按功能键十次响应程序
        MOV     P0,A
        MOV	R4,#5

B047:	LCALL	YS1S
	DJNZ	R4,B047

        MOV     R7,#6
        MOV	R0,#80H		;88H
        LCALL	RDDATA
        LCALL   YS12MS
        MOV     30H,A

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -