Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
CLR RST
RET
;Data write via serial port
;Input: A = address, R0 = data
SHWR: SETB RST
MOV R1,#8H ;bit counter load
SHWR1: RRC A
MOV DATA, C
SETB CLK
CLR CLK
DJNZ R1,SHWR1
MOV R1,#8H ;bit counter load
MOV A, R0
SHWR2: RRC A
MOV DATA, C
SETB CLK
CLR CLK
DJNZ R1,SHWR2
CLR RST
RET
; Timer INC
TINC: MOV A, CL4
CJNE A, CTMV, DOTINC
RET ;return if CTMV=CL4
DOTINC: MOV CTMV, A
MOV A, CL1
SWAP A
ORL A, CL2
CJNE A, HR, DOBEEP
SJMP GOON
DOBEEP: MOV HR, A
CLR A
LCALL SOUND ;beep per HR
GOON: SETB ALS
JNB ALENB, NOAL
MOV A, AL1
CJNE A, CL1,NOAL
MOV A, AL2
CJNE A, CL2,NOAL
MOV A, AL3
CJNE A, CL3,NOAL
MOV A, AL4
CJNE A, CL4,NOAL
CLR ALS
NOAL: CPL ALS
RET
; Get volmeter value
GET_VOLT: MOV A, VCNT
JNZ GVR ;ret if voltmeter not ready
MOV VCNT,#16
CLR VCLK
MOV A, VL
SWAP A
ANL A,#0FH
MOV R0,A
MOV A, VH
SWAP A
ANL A,#0F0H
ORL A, R0
CJNE A,#VMIN, GV1
GV1: MOV VMF, C
MOV B,#100
DIV AB
MOV VL1,A
MOV A, B
MOV B,#10
DIV AB
MOV VL2,A
MOV VL3,B
CLR A
MOV VH, A
MOV VL, A
GVR: RET
;LCD driver load
;Input: DIG1..DIG8, CNT1, CNT2
LCD: MOV DIG3,#CH_BL
JNB BIT_LK, NOLK
MOV DIG3,#CH_L
NOLK: MOV DPTR,#FONT
CLR CS1
CLR CS2
MOV A, DIG1
MOVC A,@A+DPTR
LCALL SHIFT
MOV A, DIG2
MOVC A,@A+DPTR
LCALL SHIFT
MOV A, DIG3
MOVC A,@A+DPTR
MOV C, DP3
MOV ACC.0,C
LCALL SHIFT
MOV A, DIG4
MOVC A,@A+DPTR
LCALL SHIFT
MOV A, CNT1
LCALL SHIFT
SETB CS1
SETB CS2
NOP
CLR CS2
MOV A, DIG5
MOVC A,@A+DPTR
MOV C, DP5
MOV ACC.0,C
LCALL SHIFT
MOV A, DIG6
MOVC A,@A+DPTR
LCALL SHIFT
MOV A, DIG7
MOVC A,@A+DPTR
LCALL SHIFT
MOV A, DIG8
MOVC A,@A+DPTR
LCALL SHIFT
MOV A, CNT2
LCALL SHIFT
SETB CS2
RET
;Data shift into serial port
;Input: A = data
SHIFT: MOV R1,#8H ;bit counter load
SH1: RRC A
MOV DATA, C
SETB CLK
CLR CLK
DJNZ R1,SH1
RET
SOUND: CLR EA ;makes sound with freq. from A
CPL A
ANL A,#0FH
RL A
RL A
ADD A,#060H
MOV R1,#0AFH
SO1: MOV R0,A
DJNZ R0,$
CPL SND
DJNZ R1,SO1
SETB SND
SETB EA
RET
; ------ Interrupt Holders ------
; TIMER 0 Interrupt
; System clock 20mS
RTC: PUSH PSW
PUSH ACC
CLR TR0 ;timer 0 stop
MOV TH0,#RTCVH ;timer 0 load for 20 mS
MOV TL0,#RTCVL
SETB TR0 ;timer start
INC RTPC ;Real Time Program Counter INC
DJNZ RTPCS, RTC1
MOV RTPCS,#V1S
; 1S program counters
MOV A, INDLTM
JZ RTC1
DEC INDLTM
; 20mS program counters
RTC1: MOV A, CYCSTM
JZ RTC2
DEC CYCSTM
RTC2: MOV A, CNTSTM
JZ RTC3
DEC CNTSTM
RTC3: MOV A, SNDSTM
JZ RTC4
DEC SNDSTM
RTC4: SETB VCLK
POP ACC
POP PSW
RETI
; ------RC5 Program Decoder------
; RC5 program decoder is interrupt holder.
; Input - bit SER (interrupt line), low active level.
; Out - byte R37 (register R7 in bank 3),
; D0-D5 - command bits
; D6 - control bit of local keyboard
; (D6 does not change)
; D7 - control bit RC
; Uses register bank 3
RC5: PUSH PSW ;RC5-code program decoding
PUSH DPH
PUSH DPL
SETB RS0
SETB RS1 ;bank 3
MOV R5,A
MOV R6,#1H
MOV R2,#2H
MOV R3,#4H
WLOW: JNB SER, WLOW
MOV R0,#1AH
MOV R1,#0F6H
SAMPLE: MOV A, R6
NOP
JB ACC.1,THIGH
JNB SER, TRANS
NOTRAN: DJNZ R1,SAMPLE
NORC5: MOV A, R5
POP DPL
POP DPH
POP PSW
RETI
THIGH: JNB SER, NOTRAN
TRANS: XRL A,#2H
MOV R6,A
MOV A, R1
ADD A,#46H
JC NORC5
MOV A, R1
ADD A,#87H
MOV A, R6
JNC T2
XRL A,#1H
MOV R6,A
MOV R1,#0F4H
JB ACC.0,SAMPLE
STDATA: CLR C
CPL C
JB ACC.1,DAT1
CLR C
DAT1: MOV A,@R0
RLC A
MOV @R0,A
MOV R1,#0F3H
JNC SAMPLE
INC R0
MOV A, R0
CPL A
MOV R1,#0F2H
JB ACC.2,SAMPLE
WLW: JNB SER, WLW
MOV R0,#0FAH
TERM: JNB SER, NORC5
INC DPTR
INC DPTR
INC DPTR
NOP
DJNZ R0,TERM
MOV A, R2 ;system nom. and control bit in R2
ANL A,#1FH
CJNE A,#SYS, NORC5 ;system number check
MOV DPTR,#RCTAB ;table address load
MOV A, R3 ;command code load
MOVC A,@A+DPTR ;recoding
MOV R3,A ;new code store
MOV A, R2 ;system nom. and control bit in R2
ANL A,#20H ;control bit separating
RL A
RL A ;D7-control bit RC
ORL A, R3 ;combine command code and control bit
MOV R7,A ;store
SJMP NORC5 ;go to return
T2: JB ACC.0,NORC5
SJMP STDATA
;RC Recoding Table
RCTAB. DB COD_TM ;key code 000H, key function - TIMER
.DB COD_CL ;key code 001H, key function - CLOCK
.DB COD_AL ;key code 002H, key function - ALARM
.DB COD_LK ;key code 003H, key function - LOCK
.DB 000H ;key code 004H, key function - none
.DB 000H ;key code 005H, key function - none
.DB 000H ;key code 006H, key function - none
.DB 000H ;key code 007H, key function - none
.DB COD_7 ;key code 008H, key function - 7
.DB COD_8 ;key code 009H, key function - 8
.DB COD_9 ;key code 00AH, key function - 9
.DB COD_LS ;key code 00BH, key function - LIST
.DB 000H ;key code 00CH, key function - none
.DB 000H ;key code 00DH, key function - none
.DB 000H ;key code 00EH, key function - none
.DB 000H ;key code 00FH, key function - none
.DB COD_4 ;key code 010H, key function - 4
.DB COD_5 ;key code 011H, key function - 5
.DB COD_6 ;key code 012H, key function - 6
.DB COD_ES ;key code 013H, key function - ESCAPE
.DB 000H ;key code 014H, key function - none
.DB 000H ;key code 015H, key function - none
.DB 000H ;key code 016H, key function - none
.DB 000H ;key code 017H, key function - none
.DB COD_AD ;key code 018H, key function - ALARM DISABLE
.DB 000H ;key code 019H, key function - none
.DB COD_TC ;key code 01AH, key function - TIMER CLEAR
.DB 000H ;key code 01BH, key function - none
.DB 000H ;key code 01CH, key function - none
.DB 000H ;key code 01DH, key function - none
.DB 000H ;key code 01EH, key function - none
.DB 000H ;key code 01FH, key function - none
.DB COD_0 ;key code 020H, key function - 0
.DB 000H ;key code 021H, key function - none
.DB COD_BK ;key code 022H, key function - BACKSPACE
.DB 000H ;key code 023H, key function - none
.DB 000H ;key code 024H, key function - none
.DB 000H ;key code 025H, key function - none
.DB 000H ;key code 026H, key function - none
.DB 000H ;key code 027H, key function - none
.DB COD_1 ;key code 028H, key function - 1
.DB COD_2 ;key code 029H, key function - 2
.DB COD_3 ;key code 02AH, key function - 3
.DB COD_EN ;key code 02BH, key function - ENTER
; Functions codes
COD_NO. EQU 000H ;UNUSED
COD_0 .EQU 001H ;0
COD_1 .EQU 002H ;1
COD_2 .EQU 003H ;2
COD_3 .EQU 004H ;3
COD_4 .EQU 005H ;4
COD_5 .EQU 006H ;5
COD_6 .EQU 007H ;6
COD_7 .EQU 008H ;7
COD_8 .EQU 009H ;8
COD_9 .EQU 00AH ;9
COD_EN. EQU 00BH ;ENTER
COD_TM. EQU 00CH ;TIMER
COD_CL. EQU 00DH ;CLOCK
COD_AL. EQU 00EH ;ALARM
COD_LK. EQU 00FH ;LOCK
COD_LS. EQU 010H ;LIST
COD_ES. EQU 011H ;ESCAPE
COD_BK. EQU 012H ;BACKSPACE
COD_TC. EQU 013H ;TIMER CLEAR
COD_AD. EQU 014H ;ALARM DISABLE
;Font table
; ABCDEFGH
FONT. DB B ;code 00H, character 0
.DB B ;code 01H, character 1
.DB B ;code 02H, character 2
.DB B ;code 03H, character 3
.DB B ;code 04H, character 4
.DB B ;code 05H, character 5
.DB B ;code 06H, character 6
.DB B ;code 07H, character 7
.DB B ;code 08H, character 8
.DB B ;code 09H, character 9
.DB B ;code 0AH, character blank
.DB B ;code 0BH, character -
.DB B ;code 0CH, character Gr
.DB B ;code 0DH, character C
.DB B ;code 0EH, character t
.DB B ;code 0FH, character F
.DB B ;code 10H, character A
.DB B ;code 11H, character I
.DB B ;code 12H, character L
.DB B ;code 13H, character U
.DB B ;code 15H, character P
; Characters Codes Table
CH_BL. EQU 00AH ;character blank
CH_MN. EQU 00BH ;character -
CH_GR. EQU 00CH ;character Gr
CH_C. EQU 00DH ;character C
CH_T. EQU 00EH ;character T
CH_F. EQU 00FH ;character F
CH_A. EQU 010H ;character A
CH_I. EQU 011H ;character I
CH_L. EQU 012H ;character L
CH_U. EQU 013H ;character U
CH_P. EQU 014H ;character P
.TEXT DEVICES
.END
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 |


