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

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

.INCLUDE LIBREG. ASM ;8051 SFR set

; ------ Constantes ------

STACK. EQU 056H ;stack location

;SYS. EQU 01EH ;RC5 system

SYS. EQU 0H ;RC5 system

VMIN. EQU 100 ;/10 V min limit

RTCVL. EQU 0E6H ;20mS timer load value

RTCVH. EQU 0BEH

V1S. EQU 50 ;program timer RTPCS value 1S/20mS=50

INDLTMV. EQU 4 ;x1S indication timer value

CYCSTMV. EQU 25 ;x20mS cycle timer

CNTSTMV. EQU 50 ;x20mS control timer

SNDSTMV. EQU 10 ;x20mS sound timer

ALSTMV. EQU 5 ;x20mS alarm sound timer

; ------ Ports ------

SER. EQU INT0 ;RC-5 Line

THERM1 .EQU P1.4 ;1-Wire thermometer 1

THERM2 .EQU P1.3 ;1-Wire thermometer 2

THERM3 .EQU P1.2 ;1-Wire thermometer 3

THERM4 .EQU T0 ;1-Wire thermometer 4

DATA. EQU RXD ;Serial Port Data

CLK. EQU TXD ;Serial Port Clock

CS1 .EQU P1.7 ;LCD-Driver 1 CS Line

CS2 .EQU P1.6 ;LCD-Driver 2 CS Line

RST. EQU INT1 ;Real Time Clock RST Line

COMP. EQU P3.6 ;Comparator Out

RC. EQU P1.5 ;RC Network

SND. EQU T1 ;Sound Beeper Line

; ------ Variables ------

; Bit addressing memory

RTPC. EQU 020H ;Real time program counter

T040M. EQU M_20H.0 ;40mS period bit

T080M. EQU M_20H.1 ;80mS period bit

T160M. EQU M_20H.2 ;160mS period bit

T320M. EQU M_20H.3 ;320mS period bit

T640M. EQU M_20H.4 ;640mS period bit

T1S28 .EQU M_20H.5 ;1.28S period bit

T2S56 .EQU M_20H.6 ;2.56S period bit

T5S12 .EQU M_20H.7 ;5.12S period bit

RTPCS. EQU 021H ;Real time program counter (1S part)

DPS. EQU 022H ;decimal points

DP1 .EQU M_22H.0 ;decimal point 1

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

DP2 .EQU M_22H.1 ;decimal point 2

DP3 .EQU M_22H.2 ;decimal point 3

DP4 .EQU M_22H.3 ;decimal point 4

DP5 .EQU M_22H.4 ;decimal point 5

DP6 .EQU M_22H.5 ;decimal point 6

DP7 .EQU M_22H.6 ;decimal point 7

DP8 .EQU M_22H.7 ;decimal point 8

CNT1 .EQU 023H ;control byte for LCD driver 1

SEG1 .EQU M_23H.0 ;segment 1

SEG2 .EQU M_23H.1 ;segment 2

SEG3 .EQU M_23H.2 ;segment 3

SEG4 .EQU M_23H.3 ;segment 4

CNT2 .EQU 024H ;control byte for LCD driver 2

SEG5 .EQU M_24H.0 ;segment 5

SEG6 .EQU M_24H.1 ;segment 6

SEG7 .EQU M_24H.2 ;segment 7

SEG8 .EQU M_24H.3 ;segment 8

MINUS. EQU M_25H.0 ;minus temperature

SEC. EQU M_25H.1 ;second bit

BIT_LK. EQU M_25H.2 ;bit LOCK

EDBEG. EQU M_25H.3 ;begin edit flag

TOV. EQU M_25H.4 ;T overflow flag

ALENB. EQU M_25H.5 ;alarm enable flag

ALS. EQU M_25H.6 ;alarm sound flag

VCLK. EQU M_25H.7 ;voltmeter clock

ED_FLAGS. EQU 026H

ED_TM. EQU M_26H.0 ;timer edit flag

ED_AL. EQU M_26H.1 ;alarm edit flag

ED_CL. EQU M_26H.2 ;clock edit flag

VMF. EQU M_27H.0 ;voltmeter min flag

; Internal data memory

DIG1 .EQU 030H

DIG2 .EQU 031H

DIG3 .EQU 032H

DIG4 .EQU 033H

DIG5 .EQU 034H

DIG6 .EQU 035H

DIG7 .EQU 036H

DIG8 .EQU 037H

CODE. EQU 038H

INDPH. EQU 039H ;indication phase (0-T1,1-T2,2-T3,3-TM,4-VOLT)

POS. EQU 03AH

CL1 .EQU 03BH

CL2 .EQU 03CH

CL3 .EQU 03DH

CL4 .EQU 03EH

TM1 .EQU 03FH

TM2 .EQU 040H

TM3 .EQU 041H

TM4 .EQU 042H

AL1 .EQU 043H

AL2 .EQU 044H

AL3 .EQU 045H

AL4 .EQU 046H

VL1 .EQU 047H

VL2 .EQU 048H

VL3 .EQU 049H

CTMV. EQU 04AH

VCNT. EQU 04BH

VH. EQU 04CH

VL. EQU 04DH

HR. EQU 04EH

INDLTM. EQU 04FH

CYCSTM. EQU 050H

CNTSTM. EQU 051H

SNDSTM. EQU 052H

; ------ Vectors Area ------

.ORG 0000H ;reset vector

LJMP INIT

.ORG 0003H ;INT0 vector

LJMP RC5

INIT: MOV SP,#STACK

SJMP INIT1

.ORG 000BH ;INT TIMER 0 vector

LJMP RTC

; ------ Main Program ------

INIT1: CLR RST

CLR CLK ;clock line init

CLR A

MOV VH, A

MOV VL, A

MOV R37,A

MOV CODE, A

MOV VCNT, A

MOV INDPH, A ;set indication phase 0

MOV INDLTM, A ;indication timer clear

MOV CYCSTM, A ;cycle timer clear

MOV CNTSTM, A ;control timer clear

MOV ED_FLAGS, A

CPL A

MOV CTMV, A

MOV HR, A

MOV R3,#99 ;set T limit

CLR BIT_LK ;lock off

SETB ALENB ;alarm enable

CLR ALS ;clear alarm sound flag

LCALL GET_VOLT

CLR VMF ;clear voltmeter min flag

; LCD clear

MOV A,#CH_BL

MOV DIG1,A

MOV DIG2,A

MOV DIG3,A

MOV DIG4,A

MOV CNT1,#0F0H

MOV DIG5,A

MOV DIG6,A

MOV DIG7,A

MOV DIG8,A

MOV CNT2,#0H

MOV DPS,#0H

LCALL LCD

SETB DP3

LCALL GET_CL

; Get alarm values from RTC

MOV A,#B

LCALL SHRD

MOV AL1,A

MOV A,#B

LCALL SHRD

MOV AL2,A

MOV A,#B

LCALL SHRD

MOV AL3,A

MOV A,#B

LCALL SHRD

MOV AL4,A

; Get timer values from RTC

MOV A,#B

LCALL SHRD

MOV TM1,A

MOV A,#B

LCALL SHRD

MOV TM2,A

MOV A,#B

LCALL SHRD

MOV TM3,A

MOV A,#B

LCALL SHRD

MOV TM4,A

LCALL START_T1

LCALL START_T2

LCALL START_T3

MOV TMOD,#11H ;timer 0 and timer 1 init

CLR TR0 ;timer 0 stop

CLR TR1 ;timer 1 stop

MOV TL0,#RTCVL ;timer 0 load

MOV TH0,#RTCVH

MOV RTPC,#0H ;program counter load

MOV RTPCS,#V1S ;1S value load

SETB PX0 ;high INT0 priority

SETB IT0 ;fall INT0 activating

SETB EX0 ;enable INT0

CLR PT0 ;timer 0 int low priority

SETB ET0 ;timer 0 int enable

SETB TR0 ;timer 0 start

SETB EA ;interrupts enable

MAIN: CLR EX0 ;RC int disable

MOV A, R37 ;command code load

ANL R37,#0C0H ;clear com. bits

SETB EX0 ;RC int enable

MOV R0,A

ANL A,#3FH ;control bits clear

JNZ PRESS

SJMP MAIN1 ;no press or unused code

PRESS: MOV A, R0

CJNE A, CODE, DIF ;jump if new command

SJMP MAIN1

DIF: MOV CODE, A ;new press, store code

ANL A,#3FH ;control bits clear

MOV R7,A

LCALL SOUND

;Control Functions Analysis and Processing

CJNE R7,#COD_EN, LB2

ACALL ENTER ;enter function

SJMP LB1

LB2: JNC LB1

ACALL NUM ;0..9 functions

LB1: CJNE R7,#COD_ES,$+5H

ACALL ESCAPE

CJNE R7,#COD_BK,$+5H

ACALL BACK

CJNE R7,#COD_LK,$+5H

ACALL LOCK

CJNE R7,#COD_LS,$+5H

ACALL LIST

CJNE R7,#COD_AL,$+5H

ACALL ALARM

CJNE R7,#COD_TM,$+5H

ACALL TIMER

CJNE R7,#COD_TC,$+5H

ACALL TCLEAR

CJNE R7,#COD_AD,$+5H

ACALL ALDS

CJNE R7,#COD_CL,$+5H

ACALL CLOCK

MAIN1: JNB VCLK, SKIPV

CLR VCLK

MOV A, VCNT

JZ SKIPV

; Analog to digital conversion

CLR A

CLR RC

MOV R0,#10

DJNZ R0,$

V_UP: INC A

JZ OUTOFR

JB COMP, V_UP

OUTOFR: DEC A

SETB RC

ADD A, VL

MOV VL, A

MOV A, VH

ADDC A,#0H

MOV VH, A

DEC VCNT

SKIPV: MOV A, CYCSTM

JNZ MAIN3

MOV CYCSTM,#CYCSTMV ;cycle timer load

MOV A, INDLTM

JNZ SPHASE

MOV INDLTM,#INDLTMV ;indication timer load

MOV A, INDPH

JB BIT_LK, PHM5

INC A

CJNE A,#5H, PHM5

CLR A

PHM5: MOV INDPH, A

SPHASE: CLR DP5

JB ED_TM, IDTM

MOV A, ED_FLAGS

JNZ MAIN2

MOV A, INDPH

JZ IDT1

DEC A

JZ IDT2

DEC A

JZ IDT3

DEC A

JZ IDCL

IDVL: SETB DP5

MOV A,#CH_BL

MOV DIG1,A

MOV DIG2,#CH_U

MOV DIG4,VL1

MOV DIG5,VL2

MOV DIG6,VL3

MOV DIG7,A

MOV DIG8,A

SJMP MAIN2

IDCL: CPL SEC

MOV DIG1,#CH_C

MOV DIG2,#CH_L

MOV DIG4,CL1

MOV DIG5,CL2

MOV DIG6,#CH_MN

JB SEC, INDCL1

MOV DIG6,#CH_BL

INDCL1: MOV DIG7,CL3

MOV DIG8,CL4

SJMP MAIN2

IDT3: ACALL INDT3

SJMP MAIN2

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