Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

IDT2: ACALL INDT2

SJMP MAIN2

IDT1: ACALL INDT1

SJMP MAIN2

IDTM: ACALL INDTM

MAIN2: LCALL LCD

MAIN3: MOV A, CNTSTM

JNZ MAIN4

MOV CNTSTM,#CNTSTMV

CLR TOV

MOV R3,#55 ;set T1 limit 55

LCALL READ_T1

MOV R3,#99 ;set T2,T3 limits 99

LCALL READ_T2

LCALL READ_T3

LCALL GET_VOLT

LCALL GET_CL ;get time from clock

LCALL TINC ;timer INC and alarm check

MAIN4: JNB ALS, MAIN5

MOV A, SNDSTM

JNZ MAIN5

MOV SNDSTM,#ALSTMV

SJMP DOSND

MAIN5: MOV C, TOV

ORL C, VMF

JNC MAIN6

MOV A, SNDSTM

JNZ MAIN6

MOV SNDSTM,#SNDSTMV

DOSND: CLR A

LCALL SOUND

MAIN6: LJMP MAIN

; ------ Subroutines Area ------

; ------ Keys Functions ------

; Numeric keys

NUM: MOV C, ED_CL

ORL C, ED_AL

JNC NUM1

MOV R00,R7

DEC R0 ;perform digit value

MOV A, POS ;position check

DEC A

JZ ND1

DEC A

JZ ND2

DEC A

JZ ND3

DEC A

JZ ND4

JB EDBEG, NUM1

SETB EDBEG

MOV DIG6,#CH_BL

MOV A,#CH_MN

MOV DIG4,A

MOV DIG5,A

MOV DIG7,A

MOV DIG8,A

MOV POS,#1H

ND1: MOV A, R0 ;POS=1

ADD A,#0FDH

JC NUM1 ;jump if R0>2

MOV DIG4,R0

SJMP NUME

ND2: MOV A, DIG4 ;POS=2

XRL A,#2H

JNZ ND21 ;jump if DIG4<2

MOV A, R0

ADD A,#0FCH

JC NUM1 ;jump if DIG4=2 and R0>3

ND21: MOV DIG5,R0

SJMP NUME

ND3: MOV A, R0 ;POS=3

ADD A,#0FAH

JC NUM1 ;jump if R0>5

MOV DIG7,R0

SJMP NUME

ND4: MOV DIG8,R0 ;POS=4

NUME: INC POS ;next position

NUM1: MOV CYCSTM,#0H ;display changes

RET

; Clock set function

НЕ нашли? Не то? Что вы ищете?

CLOCK: MOV A, ED_FLAGS

JNZ CLRET

SETB ED_CL ;set clock edit flag

CLR EDBEG

MOV DIG1,#CH_P ;perform DIGs

MOV DIG2,#CH_C

MOV DIG3,#CH_BL

MOV DIG4,CL1

MOV DIG5,CL2

MOV DIG6,#CH_MN

MOV DIG7,CL3

MOV DIG8,CL4

MOV POS,#5H

MOV CYCSTM,#0H ;display changes

LCALL SET_CL

CLRET: RET

; Alarm time set function

ALARM: MOV A, ED_FLAGS

JNZ ALRET

SETB ED_AL

CLR EDBEG

MOV DIG1,#CH_P

MOV DIG2,#CH_A

MOV DIG3,#CH_BL

MOV DIG4,AL1

MOV DIG5,AL2

MOV DIG6,#CH_MN

MOV DIG7,AL3

MOV DIG8,AL4

MOV POS,#5H

MOV CYCSTM,#0H

ALRET: RET

; Backspace function

BACK: MOV C, ED_CL

ORL C, ED_AL

JNC BRET

SETB EDBEG

MOV DIG6,#CH_BL

MOV A, POS

DEC A

JZ BRET ;jump if POS=1

DEC POS

DEC A

JNZ BPN2

MOV DIG4,#CH_MN

BPN2: DEC A

JNZ BPN3

MOV DIG5,#CH_MN

BPN3: DEC A

JNZ BPN4

MOV DIG7,#CH_MN

BPN4: MOV DIG8,#CH_MN

MOV CYCSTM,#0H ;display changes

BRET: RET

; Enter function

ENTER: JBC ED_TM, ENTM

MOV A, POS

CJNE A,#5H, ENRET

JBC ED_CL, ENCL

JBC ED_AL, ENAL

ENRET: RET

ENCL: MOV CL1,DIG4

MOV CL2,DIG5

MOV CL3,DIG7

MOV CL4,DIG8

LCALL SET_CL ;set clock

MOV CYCSTM,#0H

MOV INDLTM,#0H

RET

ENAL: MOV AL1,DIG4

MOV AL2,DIG5

MOV AL3,DIG7

MOV AL4,DIG8

SET_AL: MOV R0,AL1 ;save alarm values in RTC

MOV A,#B

LCALL SHWR

MOV R0,AL2

MOV A,#B

LCALL SHWR

MOV R0,AL3

MOV A,#B

LCALL SHWR

MOV R0,AL4

MOV A,#B

LCALL SHWR

SETB ALENB

SETB DP3

ENTM: MOV CYCSTM,#0H

RET

; Escape function

ESCAPE: JBC ED_TM, ES1

JBC ED_AL, ES1

JBC ED_CL, ES1

RET

ES1: MOV CYCSTM,#0H

RET

; Timer function

TIMER: SETB ED_TM

MOV CYCSTM,#0H

RET

; Timer clear function

TCLEAR: JNB ED_TM, TCRET

SET_TM: MOV R0,CL1 ;save timer values in RTC

MOV TM1,R0

MOV A,#B

LCALL SHWR

MOV R0,CL2

MOV TM2,R0

MOV A,#B

LCALL SHWR

MOV R0,CL3

MOV TM3,R0

MOV A,#B

LCALL SHWR

MOV R0,CL4

MOV TM4,R0

MOV A,#B

LCALL SHWR

MOV CYCSTM,#0H

TCRET: RET

; Alarm disable function

ALDS: CLR ALENB

CLR ALS

CLR DP3

RET

; Lock function

LOCK: CPL BIT_LK

MOV CYCSTM,#0H

RET

; List function

LIST: CLR BIT_LK

MOV CYCSTM,#0H

MOV INDLTM,#0H

RET

; ------ End Of Keys Functions ------

; T1 indication

INDT1: ACALL INDT

MOV DIG2,#1

LCALL READ_T1

ACALL INDTA

LCALL ST_T1 ;start T1 conversion

RET

INDT2: ACALL INDT

MOV DIG2,#2

LCALL READ_T2

ACALL INDTA

LCALL ST_T2 ;start T2 conversion

RET

INDT3: ACALL INDT

MOV DIG2,#3

LCALL READ_T3

ACALL INDTA

LCALL ST_T3 ;start T3 conversion

RET

INDTA: JNC FAIL

JNB MINUS, TPL1

MOV DIG4,#CH_MN

TPL1: MOV DIG5,R2

MOV DIG6,R1

RET

FAIL: MOV DIG4,#CH_BL

MOV DIG5,#CH_F

MOV DIG6,#CH_A

MOV DIG7,#CH_I

MOV DIG8,#CH_L

RET

INDT: MOV DIG1,#CH_T

MOV DIG4,#CH_BL

MOV DIG7,#CH_GR

MOV DIG8,#CH_C

RET

INDTM: MOV DIG1,#CH_BL

MOV DIG2,#CH_C

MOV DIG6,#CH_MN

CLR C

MOV A, CL4

SUBB A, TM4

JNC IDMT1

SUBB A,#5H

ANL A,#0FH

SETB C

IDMT1: MOV DIG8,A

MOV A, CL3

SUBB A, TM3

JNC IDMT2

SUBB A,#9H

ANL A,#0FH

SETB C

IDMT2: MOV DIG7,A

MOV A, CL2

SUBB A, TM2

JNC IDMT3

SUBB A,#5H

ANL A,#0FH

SETB C

IDMT3: MOV R0,A

MOV A, CL1

SUBB A, TM1

JNC IDMT4

SUBB A,#0CH

ANL A,#0FH

SWAP A

ORL A, R0

ADD A,#094H

DA A

MOV R0,A

ANL A,#0FH

XCH A, R0

SWAP A

ANL A,#0FH

IDMT4: MOV DIG5,R0

MOV DIG4,A

RET

; ------ 1-Wire thermometers support ------

; Start conversion in 1-wire thermometer DS1821.

; 1-wire port line called as THERM1.

; Calls TRESET1, TOUCHBY1

START_T1: LCALL TRESET1 ;Issue reset pulse.

JNC ACSRET1 ;Fail if no part on bus.

MOV A,#0CH ;Write status command.

LCALL TOUCHBY1 ;Send command byte.

MOV A,#00H ;Continuously conversion.

LCALL TOUCHBY1 ;Send command byte.

ST_T1: LCALL TRESET1 ;Issue reset pulse.

JNC ACSRET1 ;Fail if no part on bus.

MOV A,#0EEH ;Start convert command.

LCALL TOUCHBY1 ;Send command byte.

SETB C

ACSRET1: RET

; This procedure transmits the Reset signal to the 1-Wire

; device and watches for a presence pulse. On return,

; the Carry bit is set if a presence pulse was detected,

; otherwise the Carry is cleared. The code is timed for

; an 10 MHz crystal.

TRESET1: MOV A,#4 ;Load outer loop variable.

CLR THERM1 ;Start the reset pulse.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12