stc15f104 单片机实现EEPROM的读写复制测试程序,支持24C01-24C512,支持串口命令控制


stc15f104 作为主控的EEPROM读写测试程序,可以外接两个24C01-24C512系列芯片实现复制功能,支持串口命令控制,里面包括源代码,和硬件原理图图片, 非常合适初学者参考
资源截图
代码片段和文件信息

/*------------------------------------------------------------------*/
/* --- STC MCU International Limited -------------------------------*/
/* --- STC 1T Series MCU RC Demo -----------------------------------*/
/* --- Mobile: (86)13922805190 -------------------------------------*/
/* --- Fax: 86-0513-550129565501294755012969 ---------------------*/
/* --- Tel: 86-0513-550129285501292955012966 ---------------------*/
/* --- Web: www.GXWMCU.com -----------------------------------------*/
/* --- QQ:  800003751 ----------------------------------------------*/
/* If you want to use the program or the program referenced in the  */
/* article please specify in which data and procedures from STC    */
/*------------------------------------------------------------------*/

/************* 功能说明 **************

本文件为STC15xxx系列的端口初始化程序用户几乎可以不修改这个程序.


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

#include “GPIO.h“


//========================================================================
// 函数: u8 GPIO_Inilize(u8 GPIO GPIO_InitTypeDef *GPIOx)
// 描述: 初始化IO口.
// 参数: GPIOx: 结构参数请参考timer.h里的定义.
// 返回: 成功返回0 空操作返回1错误返回2.
// 版本: V1.0 2012-10-22
//========================================================================
u8 GPIO_Inilize(GPIO_TypeDef GPIO GPIO_Pin_TypeDef GPIO_Pin GPIO_Mode_TypeDef GPIO_Mode)
{
if(GPIO > GPIO_P5) return 1; //空操作
if(GPIO_Mode > GPIO_MODE_OUT_PP) return 2; //错误
if(GPIO == GPIO_P0)
{
if(GPIO_Mode == GPIO_MODE_PullUp) P0M1 &= ~GPIO_Pin P0M0 &= ~GPIO_Pin;  //上拉准双向口
if(GPIO_Mode == GPIO_MODE_HighZ) P0M1 |=  GPIO_Pin P0M0 &= ~GPIO_Pin;  //浮空输入
if(GPIO_Mode == GPIO_MODE_OUT_OD) P0M1 |=  GPIO_Pin P0M0 |=  GPIO_Pin;  //开漏输出
if(GPIO_Mode == GPIO_MODE_OUT_PP) P0M1 &= ~GPIO_Pin P0M0 |=  GPIO_Pin;  //推挽输出
}
if(GPIO == GPIO_P1)
{
if(GPIO_Mode == GPIO_MODE_PullUp) P1M1 &= ~GPIO_Pin P1M0 &= ~GPIO_Pin;  //上拉准双向口
if(GPIO_Mode == GPIO_MODE_HighZ) P1M1 |=  GPIO_Pin P1M0 &= ~GPIO_Pin;  //浮空输入
if(GPIO_Mode == GPIO_MODE_OUT_OD) P1M1 |=  GPIO_Pin P1M0 |=  GPIO_Pin;  //开漏输出
if(GPIO_Mode == GPIO_MODE_OUT_PP) P1M1 &= ~GPIO_Pin P1M0 |=  GPIO_Pin;  //推挽输出
}
if(GPIO == GPIO_P2)
{
if(GPIO_Mode == GPIO_MODE_PullUp) P2M1 &= ~GPIO_Pin P2M0 &= ~GPIO_Pin;  //上拉准双向口
if(GPIO_Mode == GPIO_MODE_HighZ) P2M1 |=  GPIO_Pin P2M0 &= ~GPIO_Pin;  //浮空输入
if(GPIO_Mode == GPIO_MODE_OUT_OD) P2M1 |=  GPIO_Pin P2M0 |=  GPIO_Pin;  //开漏输出
if(GPIO_Mode == GPIO_MODE_OUT_PP) P2M1 &= ~GPIO_Pin P2M0 |=  GPIO_Pin;  //推挽输出
}
if(GPIO == GPIO_P3)
{
if(GPIO_Mode == GPIO_MODE_PullUp) P3M1 &= ~GPIO_Pin P3M0 &= ~GPIO_Pin;  //上拉准双向口
if(GPIO_Mode == GPIO_MODE_HighZ) P3M1 |=  GPIO_Pin P3M0 &= ~GPIO_Pin;  //浮空输入
if(GPIO_Mode == GPIO_MODE_OUT_OD) P3M1 |=  GPIO_Pin P3M0 |=  GPIO_Pin;  //开漏输出
if(GPIO_Mode == GPIO_MODE_OUT_PP) P3M1 &= ~GPIO_Pin P3M0 |=  GPIO_Pin;  //推挽输出
}
if(GPIO == GPIO_P4)
{
if(GPIO_Mode == GPIO_MODE_PullUp) P4M1 &= ~GPIO_Pin P4

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1568  2014-07-12 15:00  stc_eepromeeprom.opt.bak
     文件         171  2014-06-18 10:55  stc_eepromeeprom.plg
     文件        2294  2014-07-04 19:59  stc_eepromeeprom.Uv2.bak
     文件       71484  2016-05-27 21:14  stc_eepromeeprom.uvgui.lenovo
     文件       71510  2016-05-27 16:17  stc_eepromeeprom.uvgui_lenovo.bak
     文件        7856  2016-05-27 21:14  stc_eepromeeprom.uvopt
     文件       14320  2016-05-27 16:17  stc_eepromeeprom.uvproj
     文件        1568  2014-07-09 22:18  stc_eepromeeprom_Opt.Bak
     文件        2301  2014-07-02 23:55  stc_eepromeeprom_Uv2.Bak
     文件        7856  2016-05-27 16:17  stc_eepromeeprom_uvopt.bak
     文件       14312  2015-02-02 14:13  stc_eepromeeprom_uvproj.bak
     目录           0  2016-05-27 21:04  stc_eepromList
     文件        1002  2014-06-18 10:55  stc_eepromList24Cxxx.lst
     文件       41850  2016-05-27 21:04  stc_eepromListeeprom.m51
     文件       14134  2016-05-27 21:04  stc_eepromListmain.lst
     文件       17950  2016-05-27 21:04  stc_eepromListRW24Cxxx.lst
     文件         561  2014-07-02 21:38  stc_eepromListsimUARI.lst
     文件       15128  2016-05-27 21:04  stc_eepromListsimUART.lst
     文件        7027  2014-07-02 21:45  stc_eepromListstc_eeprom.lst
     文件        8470  2016-05-27 21:04  stc_eepromListSTCIIC.lst
     目录           0  2016-05-27 21:04  stc_eepromOutput
     文件       65536  2014-07-06 23:39  stc_eepromOutput24c512-0xff.bin
     文件         343  2014-06-18 10:55  stc_eepromOutput24Cxxx.obj
     文件          64  2014-07-07 00:16  stc_eepromOutput6400.bin
     文件          64  2014-07-07 00:15  stc_eepromOutput64ff.bin
     文件      119424  2016-05-27 21:04  stc_eepromOutputeeprom
     文件         569  2016-05-27 21:14  stc_eepromOutputeeprom.build_log.htm
     文件        9604  2016-05-27 21:04  stc_eepromOutputeeprom.hex
     文件         146  2016-05-27 21:04  stc_eepromOutputeeprom.lnp
     文件         171  2014-07-12 15:00  stc_eepromOutputeeprom.plg
     文件       38062  2016-05-27 21:04  stc_eepromOutputmain.obj
............此处省略26个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)