📄 initiate.asm
字号:
;;/********************************************
IT_710E:
PUSH PSW
PUSH ACC
WR710E:
LCALL STA11 ;START IIC BUS
NOP
MOV A,#48H ;#48H=SLAVE DEVICE ADRESS(W)
LCALL WRBYT11 ;SEND SLA
NOP
LCALL CACK11 ;CHECK ANSWER BIT
JB FLAG,WR710E
MOV A,#0EH ;SUBADRESS
LCALL WRBYT11 ;SEND SBA
NOP
LCALL CACK11 ;CHECK ANSWER BIT
JB FLAG,WR710E
MOV A,#81H
LCALL WRBYT11
LCALL CACK11
JB FLAG,WR710E
LCALL STOP11
POP ACC
POP PSW
RET
;********************************************
IT1_7114RST:
PUSH PSW
PUSH ACC
WR7114RST:
LCALL STA14 ;START IIC BUS
NOP
MOV A,#42H ;#48H=SLAVE DEVICE ADRESS(W)
LCALL WRBYT14 ;SEND SLA
NOP
LCALL CACK14 ;CHECK ANSWER BIT
JB FLAG,WR7114RST
MOV A,#88H ;SUBADRESS
LCALL WRBYT14 ;SEND SBA
NOP
LCALL CACK14 ;CHECK ANSWER BIT
JB FLAG,WR7114RST
MOV A,#0F4H
LCALL WRBYT14
LCALL CACK14
JB FLAG,WR7114RST
LCALL STOP14
POP ACC
POP PSW
RET
DISSCALER:
PUSH PSW
PUSH ACC
DISSCALER0:
LCALL STA14 ;START IIC BUS
NOP
MOV A,#42H ;#48H=SLAVE DEVICE ADRESS(W)
LCALL WRBYT14 ;SEND SLA
NOP
LCALL CACK14 ;CHECK ANSWER BIT
JB FLAG,DISSCALER0
MOV A,#88H ;SUBADRESS
LCALL WRBYT14 ;SEND SBA
NOP
LCALL CACK14 ;CHECK ANSWER BIT
JB FLAG,DISSCALER0
MOV A,#0D4H
LCALL WRBYT14
LCALL CACK14
JB FLAG,DISSCALER0
LCALL STOP14
POP ACC
POP PSW
RET
;*********************************************
;INITIALIZE SAA7111
;*********************************************
IT1_7111:
PUSH PSW
PUSH ACC
WR7111:
LCALL STA11 ;START IIC BUS
NOP
MOV A,#48H ;#48H=SLAVE DEVICE ADDRESS(W)
LCALL WRBYT11 ;SEND SLA
NOP
LCALL CACK11 ;CHECK ANSWER BIT
JB FLAG,WR7111
MOV A,#00H ;SUBADRESS
LCALL WRBYT11 ;SEND SBA
NOP
LCALL CACK11 ;CHECK ANSWER BIT
JB FLAG,WR7111
MOV COUNTER,#13H ;???
MOV DPTR,#SAA7111
WRDA11: CLR A
MOVC A,@A+DPTR
LCALL WRBYT11
LCALL CACK11
JB FLAG,WR7111
INC DPTR
DJNZ COUNTER,WRDA11
LCALL STOP11
POP ACC
POP PSW
RET
;---------------------------------------------
;读SAA7111一个寄存器
;INPUT=SUBAD; OUTPUT=REGDATA
;---------------------------------------------
RAREG7111:
PUSH PSW
PUSH ACC
RAREG171:
LCALL STA11 ;SEND START BIT
MOV A,#48H ;SEND DEVICE ADDRESS (WRITE OPERATION)
LCALL WRBYT11
LCALL CACK11
JB FLAG,RAREG171
MOV A,SUBAD ;SUBAD ;SEND WORD ADDRESS
LCALL WRBYT11
LCALL CACK11
JB FLAG,RAREG171
LCALL STA11 ;SEND START BIT
MOV A,#49H ;SEND WORD ADDRESS (READ OPERATION)
LCALL WRBYT11
LCALL CACK11
JB FLAG,RAREG171
LCALL RDBYT11
MOV REGDATA,A
LCALL MNACK11
LCALL STOP11
POP ACC
POP PSW
RET
;
;-----------------------------------------------------------------
;--------------------------------------------------------------------
;写SAA7111一个寄存器(SUBAD=SUBADDRESS;REGDATA)
;--------------------------------------------------------------------
WAREG7111:
PUSH PSW
PUSH ACC
WAREG17111:
LCALL STA11 ;START IIC BUS
NOP
MOV A,#48H ;SLA=SLAVE DEVICE ADRESS
LCALL WRBYT11 ;SEND SLA
NOP
LCALL CACK11 ;CHECK ANSWER BIT
JB FLAG,WAREG17111
MOV A,SUBAD ;#02=INDEX REGISTER SUB ADRESS
LCALL WRBYT11 ;
NOP
LCALL CACK11 ;CHECK ANSWER BIT
JB FLAG,WAREG17111
MOV A,REGDATA ;REGDATA=REGISTER DATA
LCALL WRBYT11 ;SEND REG
NOP
LCALL CACK11 ;CHECK ANSWER BIT
JB FLAG,WAREG17111
LCALL STOP11
POP ACC
POP PSW
RET
;***************************************************
;*********************************************
;INITIALIZE SAA7114
;*********************************************
IT1_7114:
PUSH PSW
PUSH ACC
WR7114:
LCALL STA14 ;START IIC BUS
NOP
MOV A,#42H ;#42H=SLAVE DEVICE ADRESS(W)???????
LCALL WRBYT14 ;SEND SLA
NOP
LCALL CACK14 ;CHECK ANSWER BIT
JB FLAG,WR7114
MOV A,#00H ;SUBADRESS
LCALL WRBYT14 ;SEND SBA
NOP
LCALL CACK14 ;CHECK ANSWER BIT
JB FLAG,WR7114
MOV COUNTER,#0F0H ;???
MOV DPTR,#SAA7114
WRDA14: CLR A
MOVC A,@A+DPTR
LCALL WRBYT14
LCALL CACK14
JB FLAG,WR7114
INC DPTR
DJNZ COUNTER,WRDA14
LCALL STOP14
POP ACC
POP PSW
RET
;--------------------------------------------------------------------
;写SAA7114一个寄存器(SUBAD=SUBADDRESS;REGDATA)
;--------------------------------------------------------------------
WAREG7114:
PUSH PSW
PUSH ACC
WAREG17114:
LCALL STA14 ;START IIC BUS
NOP
MOV A,#42H ;SLA=SLAVE DEVICE ADRESS
LCALL WRBYT14 ;SEND SLA
NOP
LCALL CACK14 ;CHECK ANSWER BIT
JB FLAG,WAREG17114
MOV A,SUBAD ;#02=INDEX REGISTER SUB ADRESS
LCALL WRBYT14 ;
NOP
LCALL CACK14 ;CHECK ANSWER BIT
JB FLAG,WAREG17114
MOV A,REGDATA ;REGDATA=REGISTER DATA
LCALL WRBYT14 ;SEND REG
NOP
LCALL CACK14 ;CHECK ANSWER BIT
JB FLAG,WAREG17114
LCALL STOP14
POP ACC
POP PSW
RET
;***************************************************
;---------------------------------------------
;读SAA7114一个寄存器
;INPUT=SUBAD; OUTPUT=REGDATA
;---------------------------------------------
RAREG7114:
PUSH PSW
PUSH ACC
RAREG14:
LCALL STA14 ;SEND START BIT
MOV A,#42H ;SEND DEVICE ADDRESS (WRITE OPERATION)
LCALL WRBYT14
LCALL CACK14
JB FLAG,RAREG14
MOV A,SUBAD ;SUBAD ;SEND WORD ADDRESS
LCALL WRBYT14
LCALL CACK14
JB FLAG,RAREG14
LCALL STA14 ;SEND START BIT
MOV A,#43H ;SEND WORD ADDRESS (READ OPERATION)
LCALL WRBYT14
LCALL CACK14
JB FLAG,RAREG14
LCALL RDBYT14
MOV REGDATA,A
LCALL MNACK14
LCALL STOP14
POP ACC
POP PSW
RET
;
;-----------------------------------------------------------------
;*********************************************
;INITIALIZE SAA7121
;*********************************************
;to display the chart some register should be changed
IT1_7121:
PUSH PSW
PUSH ACC
WR7121:
LCALL STA21 ;START IIC BUS
NOP
MOV A,#8CH ;#8CH=SLAVE DEVICE ADRESS(W)?????????
LCALL WRBYT21 ;SEND SLA
NOP
LCALL CACK21 ;CHECK ANSWER BIT
JB FLAG,WR7121
MOV A,#00H ;SUBADRESS
LCALL WRBYT21 ;SEND SBA
NOP
LCALL CACK21 ;CHECK ANSWER BIT
JB FLAG,WR7121
MOV COUNTER,#80H ;???
MOV DPTR,#SAA7121
WRDA21: CLR A
MOVC A,@A+DPTR
LCALL WRBYT21
LCALL CACK21
JB FLAG,WR7121
INC DPTR
DJNZ COUNTER,WRDA21
LCALL STOP21
POP ACC
POP PSW
RET
;***************************************************
;---------------------------------------------
;读SAA7121一个寄存器
;INPUT=SUBAD; OUTPUT=REGDATA
;---------------------------------------------
RAREG7121:
PUSH PSW
PUSH ACC
RAREG21:
LCALL STA21 ;SEND START BIT
MOV A,#8DH ;SEND WORD ADDRESS (READ OPERATION)
LCALL WRBYT21
LCALL CACK21
JB FLAG,RAREG21
LCALL RDBYT21
MOV REGDATA,A
LCALL MNACK21
LCALL STOP21
POP ACC
POP PSW
RET
;
;--------------------------------------------------------------------
;写SAA7121一个寄存器(SUBAD=SUBADDRESS;REGDATA)
;--------------------------------------------------------------------
WAREG7121:
PUSH PSW
PUSH ACC
WAREG17121:
LCALL STA21 ;START IIC BUS
NOP
MOV A,#8CH ;SLA=SLAVE DEVICE ADRESS
LCALL WRBYT21 ;SEND SLA
NOP
LCALL CACK21 ;CHECK ANSWER BIT
JB FLAG,WAREG17121
MOV A,SUBAD ;#02=INDEX REGISTER SUB ADRESS
LCALL WRBYT21 ;
NOP
LCALL CACK21 ;CHECK ANSWER BIT
JB FLAG,WAREG17121
MOV A,REGDATA ;REGDATA=REGISTER DATA
LCALL WRBYT21 ;SEND REG
NOP
LCALL CACK21 ;CHECK ANSWER BIT
JB FLAG,WAREG17121
LCALL STOP21
POP ACC
POP PSW
RET
;***************************************************
;+++++++++++++++++++++++++++++++++++++++++++++++++++
;SAA7111寄存器值表
;+++++++++++++++++++++++++++++++++++++++++++++++++++
SAA7111:DB 000H ;0 0 0 0 0 0 0 0 00
DB 000H ;0 0 0 0 0 0 0 0 01
DB 0D8H ;1 1 0 0 0 0 1 1 02
DB 033H ;0 0 1 0 0 0 1 1 03
DB 000H ;0 0 0 0 0 0 0 0 04
DB 000H ;0 0 0 0 0 0 0 0 05
DB 006H ;1 1 1 0 1 0 1 1 06
DB 0f6H ;1 1 1 0 0 0 0 0 07
DB 088H ;1 0 0 0 1 0 0 0 08
DB 073H ;0 0 0 0 0 0 0 1 09
DB 080H ;1 0 0 0 0 0 0 0 0A
DB 047H ;0 1 0 0 0 1 1 1 0B
DB 040H ;0 1 0 0 0 0 0 0 0C
DB 000H ;0 0 0 0 0 0 0 0 0D
DB 001H ;0 0 0 0 0 0 0 1 0E
DB 000H ;0 0 0 0 0 0 0 0 0F
DB 048H ;1 0 0 0 0 0 0 0 10
DB 00DH ;0 0 0 1 1 1 0 1 11
DB 081H ;0 0 0 0 0 0 0 1 12
;+++++++++++++++++++++++++++++++++++++++++++++++++++
;SAA7121寄存器值表
;+++++++++++++++++++++++++++++++++++++++++++++++++++
;to desplay the chart some register should be change
SAA7121:
DB 000H,000H,000H,000H,000H,000H,000H,000H ;00-07
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H ;10-17
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,00dH,000H ;20-27;;;;00H——25H全为00H;
DB 09fH,01fH,075H,03fH,006H,03fH,000H,000H ;28,29,2A
DB 000H,000H,000H,000H,000H,000H,000H,000H ;30-37
DB 01aH,01aH,003H,000H,000H,000H,000H,000H ;//3AH控制行场触发分别由RCV2和RCV1得到而或由MP口得到//org wei 1aa
DB 000H,000H,000H,068H,010H,097H,04cH,018H ;40-47
DB 09bH,093H,09fH,0ffH,07cH,034H,03fH,017H
DB 000H,083H,083H,080H,08cH,00fH,0c3H,006H ;50-57
DB 002H,080H,0beH,07DH,0AFH,033H,075H,03fH ;5D(2d->2f),5E(7f->6f),5A,5e,5f
DB 000H,002H,02fh,0CBH,08AH,009H,02AH,077H ;60h=NULL/insync:62h(2f->45h),6bh(32h)//60--67
DB 041H,088H,041H,032H,08aH,000H,024H,014H ;;;/exsync:62h(c6hh),6bh(20h)//68--6f,原来6c=02,6d=20
;6BH控制RCV2和RCV1分别输出为HS和VS信号
DB 085H,007H,010h,03eH,0b8H,01eH,015H,016H ;70-77,70=81,71=03
DB 015H,016H,007H,038H,040H,000H,000H,000H
;+++++++++++++++++++++++++++++++++++++++++++++++++++
;SAA7114寄存器值表
;+++++++++++++++++++++++++++++++++++++++++++++++++++
SAA7114:
DB 000H,008H,0C0H,010H,090H,090H,0E1H,0d7H ;01-07
DB 088H,040H,081H,043H,03bH,000H,081H,02AH
DB 007H,000H,0C9H,09AH,010H,011H,038H,060H ;10-17
DB 040H,080H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H ;20-27 20-2F为保留位
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 0BCH,0DFH,002H,000H,0CDH,0CCH,03AH,000H ;30-37 30-3F为音频设置
DB 003H,010H,000H,000H,000H,000H,000H,000H
DB 000H,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;40-47 40-7F为VBI设置
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,05FH,0FFH,0FFH,0FFH ;50-57
DB 000H,047H,003H,003H,000H,03EH,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H ;60-67
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H ;70-77
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 010H,000H,000H,001H,0A0H,000H,040H,001H ;80-87 83设为001H,开放X-PORT口
DB 0c6H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,010H,000H,000H,000H,0D0H,002H ;90-97
DB 000H,000H,022H,000H,0D0H,000H,022H,000H
DB 001H,001H,000H,000H,080H,040H,040H,000H ;A0-A7
DB 000H,004H,020H,000H,000H,001H,000H,000H
DB 000H,004H,020H,000H,000H,000H,000H,000H ;B0-B7
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 010H,000H,000H,000H,0A0H,000H,040H,001H ;C0-C7
DB 000H,000H,000H,000H,000H,000H,000H,000H
DB 000H,000H,010H,000H,000H,000H,0D0H,002H ;D0-D7
DB 000H,000H,022H,000H,0D0H,000H,022H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H ;E0-E7
DB 000H,000H,000H,000H,000H,000H,000H,000H
;************************************
DELAY7F7F0F: MOV R6,#7FH
DLY1: MOV R5,#7FH
DLY2: MOV R4,#0FH
DLY3: DJNZ R4,DLY3
DJNZ R5,DLY2
DJNZ R6,DLY1
RET
DELAY4MS:
MOV R6,#0AH
DLAY1: MOV R5,#7FH
DLAY2: MOV R4,#10H
DLAY3: DJNZ R4,DLAY3
DJNZ R5,DLAY2
DJNZ R6,DLAY1
RET
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -