📄 image_3rd_computer_1012.s43
字号:
;BIS #LPM3,SR
bit #Mod_Chip_Flag,R10
jz Main_20 ;不需要修改配置
CALL #CONFIG_7620
CALL #CONFIG_ZR36060
bic #Mod_Chip_Flag,R10
jmp Main_20_2
Main_20
CALL #CONFIG_ZR36060
Main_20_2
bic.b #EN_Image,&P1OUT ;打开OV7620的3.3V和5V
bis.b #RT_7620+WEN+REN,&P4OUT ;恢复
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
NOP
CALL #COMPRESS_WORK
;bic.b #SIO_DATA+SIO_CLK,&P1DIR ;3V_Image放电
CALL #TRAN_JPEG ;向计算机发送JPEG数据,首地址为0450h,末地址为JPEG_END
;bic.b #RT_7620+WEN+REN,&P4OUT ;3V_FIFO放电
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
bic.b #DTR,&P3OUT
jmp Mainloop
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
Initial_MEM7620
;-----------------------------------------------------------------------------
push R15
mov #MEM_7620,R15
mov.b #000h,0(R15) ;00
mov.b #080h,1(R15) ;01
mov.b #080h,2(R15) ;02
mov.b #080h,3(R15) ;03
mov.b #080h,4(R15) ;04
mov.b #080h,5(R15) ;05 ;90
mov.b #080h,6(R15) ;06
mov.b #0C3h,7(R15) ;07
mov.b #0C3h,8(R15) ;08
mov.b #0C3h,9(R15) ;09
mov.b #0DBh,10(R15) ;0A ;DB
mov.b #0FFh,11(R15) ;0B ;FF
mov.b #020h,12(R15) ;0C
mov.b #020h,13(R15) ;0D
mov.b #020h,14(R15) ;0E
mov.b #020h,15(R15) ;0F ;38
mov.b #07Fh,16(R15) ;10
mov.b #082h,17(R15) ;11
mov.b #024h,18(R15) ;12
mov.b #021h,19(R15) ;13
mov.b #004h,20(R15) ;14
mov.b #001h,21(R15) ;15
mov.b #003h,22(R15) ;16
mov.b #02Fh,23(R15) ;17
mov.b #0CFh,24(R15) ;18
mov.b #006h,25(R15) ;19
mov.b #0F5h,26(R15) ;1A
mov.b #000h,27(R15) ;1B
mov.b #07Fh,28(R15) ;1C
mov.b #0A2h,29(R15) ;1D
mov.b #0A2h,30(R15) ;1E
mov.b #0A2h,31(R15) ;1F
mov.b #04Ah,32(R15) ;20
mov.b #080h,33(R15) ;21
mov.b #080h,34(R15) ;22 ;80
mov.b #000h,35(R15) ;23
mov.b #010h,36(R15) ;24 ;8
mov.b #08Ah,37(R15) ;25 ;4A
mov.b #0A2h,38(R15) ;26
mov.b #0E2h,39(R15) ;27
mov.b #020h,40(R15) ;28 ;00
mov.b #000h,41(R15) ;29
mov.b #000h,42(R15) ;2A
mov.b #000h,43(R15) ;2B
mov.b #088h,44(R15) ;2C
mov.b #095h,45(R15) ;2D
mov.b #080h,46(R15) ;2E
mov.b #027h,96(R15) ;60
mov.b #082h,97(R15) ;61
mov.b #012h,98(R15) ;62
mov.b #000h,99(R15) ;63
mov.b #059h,100(R15) ;64
mov.b #042h,101(R15) ;65
mov.b #055h,102(R15) ;66
mov.b #09Ah,103(R15) ;67
mov.b #0CCh,104(R15) ;68
mov.b #072h,105(R15) ;69
mov.b #042h,106(R15) ;6A
mov.b #000h,107(R15) ;6B
mov.b #000h,108(R15) ;6C
mov.b #000h,109(R15) ;6D
mov.b #000h,110(R15) ;6E
mov.b #03Ah,111(R15) ;6F
mov.b #083h,112(R15) ;70
mov.b #000h,113(R15) ;71
mov.b #014h,114(R15) ;72
mov.b #054h,115(R15) ;73
mov.b #0E0h,116(R15) ;74
mov.b #086h,117(R15) ;75
mov.b #000h,118(R15) ;76
mov.b #000h,119(R15) ;77
mov.b #000h,120(R15) ;78
mov.b #000h,121(R15) ;79
mov.b #000h,122(R15) ;7A
mov.b #000h,123(R15) ;7B
mov.b #000h,124(R15) ;7C
pop R15
RET
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
Initial_MEM36060
;-----------------------------------------------------------------------------
push R15
push R14
push R13
mov #MEM_36060,R15
mov.b #000h,0(R15) ;00
mov.b #001h,2(R15) ;02
mov.b #0C4h,3(R15) ;03
mov.b #080h,5(R15) ;05
mov.b #038h,6(R15) ;06
mov.b #000h,7(R15) ;07
mov.b #0FFh,9(R15) ;09
mov.b #0FFh,10(R15) ;0A
mov.b #0FFh,11(R15) ;0B
mov.b #0FFh,12(R15) ;0C
mov.b #000h,13(R15) ;0D
mov.b #008h,14(R15) ;0E
mov.b #0FFh,15(R15) ;0F
mov.b #000h,16(R15) ;10
mov.b #000h,17(R15) ;11
mov.b #001h,18(R15) ;12
mov.b #0FFh,19(R15) ;13
mov.b #0FFh,20(R15) ;14
mov.b #0FFh,21(R15) ;15
mov.b #08Eh,48(R15) ;30
mov.b #05Dh,49(R15) ;31
mov.b #000h,50(R15) ;32
mov.b #000h,66(R15) ;42
mov.b #028h,67(R15) ;43
mov.b #001h,68(R15) ;44
mov.b #0B8h,69(R15) ;45
mov.b #000h,70(R15) ;46
mov.b #0C4h,71(R15) ;47
mov.b #002h,72(R15) ;48
mov.b #0F4h,73(R15) ;49
mov.b #000h,74(R15) ;4A
mov.b #010h,75(R15) ;4B
mov.b #000h,76(R15) ;4C
mov.b #080h,77(R15) ;4D
mov.b #000h,78(R15) ;4E
mov.b #010h,79(R15) ;4F
mov.b #001h,80(R15) ;50
mov.b #020h,81(R15) ;51
mov 68(R15),R14
swpb R14
mov 66(R15),R13
swpb R13
sub R13,R14
mov.b R14,102(R15)
swpb R14
mov.b R14,101(R15)
mov 72(R15),R14
swpb R14
mov 70(R15),R13
swpb R13
sub R13,R14
mov.b R14,104(R15)
swpb R14
mov.b R14,103(R15)
pop R13
pop R14
pop R15
RET
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
COMPRESS_WORK
;-----------------------------------------------------------------------------
push R15
push R14
push R13
push R5
; CALL #RAMCLR2
clr.b &P5DIR ;数据从ZR36060出来
bis.b #RT_7620+WEN+REN,&P4OUT ;恢复端口
bic.b #EN_3V_Data,&P3OUT ;打开FIFO的电源
bic.b #WEN,&P4OUT ;允许写数据
bic.b #MRS,&P4OUT ;复位FIFO
NOP
NOP
NOP
NOP
NOP
NOP
bis.b #MRS,&P4OUT
clr.b &P2DIR ;P5口全设为输入,准备读取
bis.b #RD+WR,&P6DIR ;将RD置为输出,并设为高电平(缺省)
bis.b #ADDR0+ADDR1,&P6DIR ;将RD置为输出,并设为高电平(缺省)
bic.b #ADDR0+ADDR1,&P6OUT ;ADDR0:1置为00
bis.b #RD+WR,&P6OUT ;RD和WR置高
mov #10,&WAIT_TIME
CALL #DELAY_LOOP
bic.b #START_36060,&P6OUT ;启动START
NOP
NOP
bis.b #START_36060,&P6OUT ;启动START
R_ZR_L1
bit.b #END_36060,&P6IN ;判断END信号
jnz R_ZR_L1 ;过程尚未结束
R_ZR_L2
bis.b #START_36060,&P6OUT ;关闭START
bis.b #WEN,&P4OUT ;禁止写数据
R_ZR_END
bis.b #WR+RD,&P6OUT ;关闭WE
pop R5
pop R13
pop R14
pop R15
RET
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
TRAN_JPEG ;向计算机发送JPEG数据,首地址为0,末地址为JPEG_END
;-----------------------------------------------------------------------------
push R15
push R14
push R13
push R5
bic.b #Sleep_36060,&P1OUT ;使ZR36060休眠
bis.b #BIT5+BIT4,&P3SEL ; P3.4,5=USART0 TXD/RXD,不能删
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -