网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 超前科技开发网 >> 下载中心 >> 源程序 >> 51源程序 >> 软件下载信息
专 题 栏 目
热 门 软 件
推 荐 软 件
STC 单片机开发例程(IAP,ISP,KEIL工程)
运行环境: Win9x/NT/2000/XP/2003 文件大小: 39 K
软件等级: ★★★ 软件类别: 国产软件
开 发 商: 佚名 软件语言: 英文
相关链接: 软件下载演示地址  软件下载注册地址 软件属性:       
下载次数: 本日:   本周:  
       本月:   总计:
授权方式: 免费版
解压密码: 
软件添加: 审核:armopen 录入:armopen 添加时间: 2006-8-29 12:04:56

::下载地址::
下载地址1  
全功能JLINK V6 ARM仿真器(优惠促销中,3年质保,电话:020-31913273).
LPC2378开发板(支持USB下载程序).
LPC2368开发板(LPC2364/LPC2368).
LM3S6916开发板.
LM3S8962开发板(支持串口下载程序).
LPC2148开发板(可播放MP3).
KEIL ULINK2仿真器(优惠中.电话:020-31913273)
===版权声明!===
::版权归原作者所有,请尊重知识版权!软件仅供测试评估之用,请勿用于商业用途!电子书仅供学习之用.有能力购买的单位或个人建议购买.::

共享你的资料(datasheet,芯片应用,源程序等)  资料上传
::软件简介::

STC 单片机开发例程(IAP,ISP,KEIL工程)

部份内容

/****************************************************************
//MCS-51单片机底层EEPROM操作库。
//只在STC89C52单片机上实验过


****************************************************************/

//#include "define_stc_flash.h"
#include "../inc/MCS_X51.H"
#include<intrins.h>
bit gint;
/*************************************************
//-----使能IAP----------------
*************************************************/
void flsh_en()
{
 gint = EA;
 INT_GLOBAL(0); //DISABLE INTERUPT

 set_flsh_wait; //set wait time
 set_flsh_en; //enable flash operate
}
/**************************************************
//停止IAP
**************************************************/
void flsh_ds()
{
 set_flsh_ds;  //disable flash operate
 set_flsh_trig(0); //dis trig
 INT_GLOBAL(gint); //return global int
}

/*从flash中读出一个字节返回*/ 
UINT8 flsh_rd_byte(UINT16 addx)
{
 set_flsh_addr(addx);
 flsh_wr_cmd(CMD_READ);
    set_flsh_trig(TRIG1);
 set_flsh_trig(TRIG2);
 _nop_;
 return(flsh_rd_data);
}
/******************************************
//从一个扇区内读出一串数据。
//传送参数:扇区内地址,读出个数,读出地址
********************************************/
bit flsh_sector_rd(UINT16 addx,UINT8 num,UINT8 *p)
{
UINT8 i;
 if(num > USED_SPACE)
   return(0);   //超出扇区范围,退出
 flsh_en();
 for(i = 0;i < num;i++)
 {
  *p=flsh_rd_byte(addx + i); 
  p++;
 }
 flsh_ds();  //禁止iap操作
 return(1);
}

/***********************************************
//扇区擦除
***********************************************/
void flsh_sector_earse(UINT16 addx)
{
UINT16 sec_addr = 0xfe00;
 sec_addr &= addx;  //取得扇区首地址
 
 set_flsh_addr(sec_addr);
 flsh_en();
 flsh_wr_cmd(CMD_SES); //扇区擦除命令
 set_flsh_trig(TRIG1);
 set_flsh_trig(TRIG2);
 _nop_;
 flsh_ds();
}
/***********************************************************
// 写一个字节并校验,如果写正确,返回1,否则返回0
***********************************************************/
bit flsh_wr_verify(UINT16 addx,UINT8 dax)
{
 set_flsh_addr(addx);
 flsh_wr_cmd(CMD_PGM);
 flsh_wr_data(dax);    //写数据到iap的数据寄存器。
 set_flsh_trig(TRIG1);
 set_flsh_trig(TRIG2);
 _nop_;
 flsh_wr_data(0);     //使iap的数据寄存器改变,以便回读。
 flsh_wr_cmd(CMD_READ);
 set_flsh_trig(TRIG1);
 set_flsh_trig(TRIG2);
 _nop_;
 if(flsh_rd_data == dax)
  return(1);
 else
  return(0);
}
/**************************************************************************
//写一个扇区 
//传送16位的目的地址,最好从扇区首地址开始,8位的数据长度,源数据的指针
**************************************************************************/
bit flsh_sector_wr(UINT16 addx,UINT8 num,UINT8 * pdax)
{
UINT8 i;
UINT16 addr;
 if(num > USED_SPACE)
  return(0);    //超出扇区范围退出
 addr = addx;
 flsh_sector_earse(addx); //擦除目的扇区
 flsh_en();
 for(i=0;i<num;i++)
 {
  if(!flsh_wr_verify(addr,*pdax))
  {
   flsh_ds(); //操作出错,返回前禁止flash操作
   return(0);
  }
  addr++;
  pdax++;
 }
 flsh_ds();  //写完毕禁止FLASH 操作
 return(1);
}


::相关软件::
没有相关软件下载
::下载说明::
为了达到最快的下载速度,推荐使用网际快车下载本站软件。
如果您发现该软件不能下载,请通知管理员或点击【此处报错】,谢谢!
未经本站明确许可,任何网站不得非法盗链及抄袭本站资源;如引用页面,请注明来自本站,谢谢您的支持!
本站内所有资料仅限学习、交流,禁止用于任何商业用途!
站内提供的资料均来自网络以及注册用户自行上传,若侵犯了您的权益,敬请来信通知我们!
若您的资料希望能与大家分享,我们愿意和您一起宣传!投稿请点击这里。
推荐使用电信,网通,铁通网络,本站不支持多线程下载。
      网友评论:(评论内容只代表网友观点,与本站立场无关!) 发表评论
Copyright 2003-2006 www.mcu123.com© All Rights Reserved
版权所有 © 超前科技开发网
粤ICP备05005262号