Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12297
  • 博文数量: 3
  • 博客积分: 225
  • 博客等级: 二等列兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-09 11:39
文章分类

全部博文(3)

文章存档

2011年(1)

2008年(2)

我的朋友
最近访客

分类:

2008-04-05 01:08:33

AM29lv320芯片应用
32 Megabit (4 M x 8-Bit/2 M x 16-Bit)
29lv320 FLASH操作(BYTE 方式)
DQ15~A20 为21位地址输入,D00~D07为8位地址输入输出,RY/BY 为忙信号
以下说明不是真正的程序,要根据你的系统需要修改
addrL(表示16位低地址端口DQ15~A14)
addrH(表示8位高地址端口A15~A20)
data(8位表示数据端口)
BUSY(1位表示忙引脚)
 
1 读
unsigned char i;
 
addrL=要读出地址低16位
addrH=要读出地址高8位
i=data
 
数据就读到i里了(和RAM操作一样)
 
2 写
unsigned char i;
 
addrH=要写入地址高8位
 
addrL=0xaaa
data=0xaa
 
addrL=0x555
data=0x55
 
addrL=0xaaa
data=0xa0
 
addrL=要写入地址高8位
data=i(要写入的数据)
while(!busy)
 
i就写入指定地址了
 
3 擦除(擦除以sector 为单位,关于sector的大小和地址见数据手册)
 
addrH=0;
 
addrL=0xaaa
data=0xaa
 
addrL=0x555
data=0x55
 
addrL=0xaaa
data=0x80
 
addrL=0xaaa
data=0xaa
 
addrL=0x555
data=0x55
 
addrH=要擦除高位地址(sector中任意地址)
addrL=要擦除的低位地址
data=0x30
 
while(!busy)
 
整个sector就被擦除了
阅读(1404) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~