导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→小弟写的FLASH块檫除、块写、块读程序(C)大家给点意见

* 47662: 小弟写的FLASH块檫除、块写、块读程序(C)大家给点意见

   linkaimu 
linkaimu发表的帖子 

 小弟写的FLASH块檫除、块写、块读程序(C)大家给点意见
各位大哥看看程序是否有毛病。谢谢了!void Flash_Erase()
{
AUXR1=0x20h;   //ENBOOT置位,寻址固件
R0=18;         //18.432M晶振
R1=0x01;      //檫除块4内容
DPH=0xc0;
DPL=0;
pgm_mip();    //调用BOOTROM子程序
//AUXR1=0;      //清ENBOOT  此语句是否有必要???????
}

/*********************************************
*选中的flash 有16K字节
*传进写的地址和数据
**********************************************/
void Flash_Write(unsigned int add,unsigned char num)
{
unsigned char address1;
unsigned char address2;
unsigned char  number;
address1=add/256;
address2=add%256;
number=num;
AUXR1=0x20;   //ENBOOT置位,寻址固件
R0=18;         //18.432M晶振
R1=0x02;      //把数据写到块4
DPH=0xc0+address1;
DPL=0+address2;
ACC=number;
pgm_mip();    //调用BOOTROM子程序
//AUXR1=0;      //清ENBOOT

/*********************************************
*选中的flash 有16K字节
*传入需要读出数据的地址,返回读出的数据
**********************************************/
unsigned char Flash_Read(unsigned int add)
{
unsigned char address1;
unsigned char address2;
address1=add/256;
address2=add%256;
ACC=0;
AUXR1=0x20;   //ENBOOT置位,寻址固件
R0=18;         //18.432M晶振
R1=0x03;      //把块4内容
DPH=0xc0+address1;
DPL=0+address2;
pgm_mip();    //调用BOOTROM子程序
//AUXR1=0;      //清ENBOOT
}


发表时间:2004年1月15日16:06:53

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  47713.[详细]正确还是错误,大家给点意见。有用过flash芯片的吗??谢谢了!
摘要:正确还是错误,大家给点意见。有用过flash芯片的吗??谢谢了!......(59字)
- [linkaimu][863次] 2004年1月16日

  58517.[详细]你好,你的问题有没有解决哦?
摘要:我也想用FLASH,32M的,正苦于没有参考可借鉴,能否帮个忙? rain_cxp@hotmail.com或者QQ-21764567。MSN也可以。先谢谢了......(114字)
- [rain_cxp][906次] 2004年7月20日

[上一篇帖子]:多谢了,还有一点想请教[color=#000000]是说我的C51的片内程序存储器空间不够么? BR
[下一篇帖子]:是把反汇编程序变成C。