联系我们
发送邮箱
主页 › 新闻资讯公司公告 › AT45DB161B存储器读/写子程序

AT45DB161B存储器读/写子程序

2017-10-24 14:32:50

DataFlash系列存储器可以按地址从低到高顺序读写,也可以随机读写任一字节的数据。对于顺序读数据,可以使用连续读主存页阵列命令(操作码68H或E8H)从给定的起始地址开始连续读出,中间不需用户干预,也可使用读单页主存命令(操作码52H或D2H),自行提供页地址读取数据。对于顺序写数据,可以使用通过缓存写主存页命令(操作码82H或85H),直接将数据写入主存;也可以先使用写缓存命令(操作码84H或87H),将数据写入缓存,在适当的时刻再使用缓存写主存页命令(操作码83H或86H),将缓存中的数据写入主存。

使用何种方式读写取决于特定的应用场合与要求。 下面的子程序为顺序读/写存储器的例子。子程序spiwt采用了通过缓存写主存页的方法,向存储器写入1字节数据。顺序读存储器子程序spicrd采用了边疆读主存页阵列命令。从给定地址处连续读出数据,用图5所示的PIC16LC73B单片机汇编语言编写,使用MPLAB5.4.00编译器编译通过并烧写入单片机,按下图所示系统实测通过。



顺序写子程序,用spiwt名称调用
 
spiwt bcf STATUS,RP0
 
bcf PORTB,SCK ;模式0
 
bcf PORTB,cs ;片选
 
movlw 82H ;加载操作码
 
movwf spi_out ;置入寄存器
 
call spiout ;调用子程序输出操作码
 
movf PA1,w ;加载第一字节地址
 
movwf spi_out ;置入寄存器
 
call spiout ;调用子程序输出
 
movf BA1,w
 
xorwf PA2,w ;获得第二字节地址
 
movwf spi_out ;置入寄存器
 
call spiout ;调用子程序输出
 
movf BA2,w ;加载第三字节地址
 
movwf spi_out ;置入寄存器
 
call spiout ;调用子程序输出
 
movf spi_wt,w ;加载待写数据
 
movwf spi_out ;置入寄存器
 
call spiout ;调用子程序输出
 
bsf PORTB,cs ;触发写入操作
 
nop ;延时
 
retlw 0 ;从子程序返回
 
;输出子程序,用spiout名称调用
 
spiout movlw 0x08 ;加载输出位数
 
movwf spi_cnt ;置入寄存器
 
nspiout rlf spi_out ;先输出最高位
 
btfsc STATUS,C ;是否为1
 
bsf PORTB,SDO ;输出1
 
btfss STATUS,C ;是否为0
 
bcf PORTB,SDO ;输出0
 
nop ;延时
 
bsf PORTB,SCK ;时钟信号上升沿
 
nop ;延时
 
bcf PORTB,SCK ;时钟信号下降沿
 
decfsz spi_cnt ;检查输出位数
 
goto nspiout ;输出下一位
 
retlw 0 ;从子程序返回
 
;顺序读子程序,用名称spicrd调用
 
spicrd bcf STATUS,RP0
 
bcf PORTB,cs ;片选
 
bcf PORTB,SCK ;模式0
 
movlw E8H ;加载操作码
 
movwf spi_out ;置入寄存器
 
call spiout ;调用子程序输出
 
movf PA1,w ;加载第一字节地址
 
movwf spi_out ;置入寄存器
 
call spiout ;调用子程序输出
 
movf BA1,w
 
xorwf PA2,w ;获得第二字节地址
 
movwf spi_out ;置入寄存器
 
call spiout ;调用子程序输出
 
movf BA2,w ;加载第三字节地址
 
movwf spi_out ;置入寄存器
 
call spiout ;调用子程序输出
 
movf DCRE,w ;加载任意位字节
 
movwf spi_out ;置入寄存器
 
call spiout ;调用子程序输出
 
movf DCRE,w ;共需4个任意位字节
 
movwf spi_out
 
call spiout
 
movf DCRE,w
 
movwf spi_out
 
call spiout
 
movf DCRE,w
 
movwf spi_out
 
call spiout
 
retlw 0 ;从子程序返回



本文关键词:DataFlash

相关文章:DataFlash存储器命令接口与状态机



深圳市英尚微电子有限公司,十年来专业致力代理分销存储器芯片IC, SRAM、MRAM、pSRAM、 FLASH芯片、SDRAM(DDR1/DDR2/DDR3)等,为客人提供性价比更高的产品及方案。
 
了解更多关于存储芯片知识,请关注英尚微电子:https://www.sramsun.com
 

展开