⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 x5045.c

📁 微波治疗仪的源程序
💻 C
字号:
#include "x5045.h"
#include "intrins.H"
//-----------读一字节------------------
unsigned char _r_byte(void)
{
     unsigned char i,result;
     result=0;
     for(i=0;i<8;i++)
     {
        SCK=1;
        SCK=0;
        _nop_();
        result=result<<1;
        if(SO) result|=0X01;
        _nop_();
     }
     return(result);
}
//--------------写一字节---------------
void _w_byte(unsigned char mdata)
{
   unsigned char i;
//   SCK=0;
   _nop_();
   for(i=0;i<8;i++)
   {
      SCK=0;
      if(mdata & 0x80) SI=1;
      else SI=0;
      SCK=1;
      _nop_();
      mdata=mdata<<1;
   }
}
//----------------清看门狗----------外部调用-----
void clr_wchdog(void)
{
     CS=0;
     CS=1;
}
//----------------写状态寄存器-----外部调用------
void write_status(unsigned char mcode)
{
    CS=0;
    _w_byte(WREN);
    CS=1;
    _nop_();
    CS=0;
    _w_byte(WRSR);
    _w_byte(mcode);
    _nop_();
    CS=1;
}
//-----------读EEPROM----外部调用----------------
unsigned char read_byte(unsigned int address)
{
    unsigned char result;
    CS=0;
    _nop_();
    _w_byte((char)(address>255 ? (0x08|READ): READ)); //是否翻页
    _w_byte((char)(address & 0x00ff));
    result=_r_byte();
    _nop_();
    CS=1;
    return(result);
	  wipchk();                   //此处延时根据实际情况,如果不延时,可能会不正常

}
//-----------写EEPROM-----外部调用-------------
void write_byte(unsigned int address,unsigned char udata)
{
   CS=0;
   _w_byte(WREN);
   CS=1;
   _nop_();
   CS=0;
   _w_byte((unsigned char)(address>255 ? (0x08|WRITE): WRITE));
   _w_byte((unsigned char)(address & 0x00ff));
   _w_byte(udata);
   _nop_();
   CS=1;
	 wipchk();                //此处延时根据实际情况,如果不延时,可能会不正常
}
void wipchk(void) //reentrant //检查WIP位,判断是否写入完成
{
	unsigned char Temp,TempCyc;

	for(TempCyc=0;TempCyc<50;TempCyc++)
	{
		Temp = RSDR(); //读状态寄存器
		if (Temp&0x01==0)
		TempCyc = 50; 
	}
}
unsigned char RSDR(void) //读状态寄存器
{
	unsigned char Temp;
	SCK=0;
	CS=0;
	_w_byte(0x05);      //发送05H读状态寄存器命令字
	Temp = _r_byte(); //读状态寄存器值
	SCK=0;
	CS=1;
	return Temp;
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -