⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 image_3rd_computer_1012.s43

📁 采用msp430中汇编语言编写的
💻 S43
📖 第 1 页 / 共 5 页
字号:

          ;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 + -