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

📄 spi_ram.asm

📁 通过单片机灵活控制曝光机的曝光时间
💻 ASM
字号:
;FM25c164 test program useing 89C51
;Made by SSZ 
;data:2005/09/16
;email:BDSSZ@SOHU.COM
;Read	
;**************************
;************采光时间倒记数
rush_lcd:     mov     a,count1
              cjne    a,count1_b,rush_lcd_1
              ret
rush_lcd_1:   mov     count1_b,count1
              dec     lcd_e
              mov     a,lcd_e
              cjne    a,#2fh,rush_lcd_ov
              mov     lcd_e,#39h
              dec     lcd_d
              mov     a,lcd_d
              cjne    a,#2fh,rush_lcd_ov
              mov     lcd_d,#39h
              dec     lcd_c
              mov     a,lcd_c
              cjne    a,#2fh,rush_lcd_ov
              mov     lcd_c,#39h
              dec     lcd_b
              mov     a,lcd_b
              cjne    a,#2fh,rush_lcd_ov
;**************
              clr     CTRL_2      ;启动暴光机
              mov     LCD_A,#42h    ;"B"
              mov     LCD_B,#26h    ;"&"
              mov     LCD_C,#47h    ;"G"
              mov     LCD_D,#20h    ;" "
              mov     LCD_E,#4fh    ;"O"
              mov     LCD_F,#4bh    ;"K"
;*************
              mov     cg_flag,#00h  ;清除采光标志
              setb    CTRL_2      ;关闭暴光机
              nop
rush_lcd_ov:  ret
;**************************
;**************************
rd_tm_tb:     MOV     ADHIGH,#00H       ;是,则将输入值写入存储器(连同序号)
              clr     ea
              mov     a,lcd_9
              swap    a
              anl     a,#0f0h        ;设置存储位置的低字节(段地址)
              add     a,#80h
              MOV     ADLOW,a
              mov     r0,#04h        ;读出四个字节
              mov     r1,#lcd_b      ;读出内容首地址
              CALL    read_1
              setb    ea
              mov     cg_flag,#36h   ;设置读取定时标志
              ret
;****************************************************
read_r_a:     MOV     ADHIGH,#00H       ;是,则将输入值写入存储器(连同序号)
              clr     ea
              mov     a,lcd_9
              swap    a
              anl     a,#0f0h        ;设置存储位置的低字节(段地址)
              MOV     ADLOW,a            ;加上序号偏移量
              mov     r0,#03h        ;写三个字节
              mov     r1,#bg_cs1      ;写入内容首地址
              CALL    read_1
              setb    ea
              ret
;****************************************************
;****************************************************
;Write 	status register
WRSR:	        CLR     CS
              MOV     BUFFER,#001H
              CALL    WR_MOVE	
              MOV     A,FMDATA
              MOV     BUFFER,A
              CALL    WR_MOVE	
              SETB    CS
              RET
;Read status register
RDSR:         CLR	    CS
              MOV     BUFFER,#005H
              CALL    WR_MOVE
              CALL    RD_MOVE
              SETB    CS
              RET
;Write disable	
WRDI:         CLR	    CS
              MOV     BUFFER,#004H
              CALL    WR_MOVE
              SETB    CS
              RET
;Write enable	
WREN:         CLR     CS
              MOV     BUFFER,#006H
              CALL    WR_MOVE
              SETB    CS
              RET
;*****************	
RD_MOVE:      MOV     b,#08H
RD_MOVE1:     SETB    SCK		;
              MOV     A,BUFFER
RD_MOVEA:     JB      SO,RD_MOVE2
              CLR     C
              SJMP    RD_MOVE3
RD_MOVE2:     SETB    C
RD_MOVE3:     RLC     A
              MOV     BUFFER,A
              CLR     SCK		;
              DJNZ    b,RD_MOVE1
              RET	
;****************
WR_MOVE:      MOV     b,#08H
              MOV     A,BUFFER
WR_MOVE1:     CLR     C
              RLC     A
              JC      WR_MOVE2
              CLR     SI
              SJMP    WR_MOVE3
WR_MOVE2:     SETB    SI
WR_MOVE3:     SETB    SCK
              nop
              CLR     SCK	
              DJNZ    b,WR_MOVE1
              RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -