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

📄 93c46.c

📁 强联单片机W804开发板C源码 可在强联的多种开发板上运行
💻 C
字号:
/*-----------------------------------------------------
SPI93cXX系列时序函数调用(PDIP普通封装)八位 
//-----------------------------------------------------*/
#include<reg51.h>
#include<intrins.h>
#include<stdio.h>
#include<string.h>

#define UN  unsigned char
 
 
void high46(void);
void low46(void);
void wd46(unsigned char dd);
unsigned char rd46(void);
void ewen46(void);
unsigned char read93c46_word(unsigned char address);
write93c46_word(unsigned char address,unsigned char dat);
void earal(void);
////#define di_93 dip3
//#define sk_93 dip2
//#define cs_93 dip1
//#define do_93 dip4
//#define gnd_93 dip5
//#define org_93 dip6
sbit di_93=P2^5;
sbit do_93=P2^4;
sbit sk_93=P2^6;
sbit cs_93=P3^5;
  

sbit    ACC0=ACC^0;
sbit    ACC1=ACC^1;
sbit    ACC2=ACC^2;
sbit    ACC3=ACC^3;
sbit    ACC4=ACC^4;
sbit    ACC5=ACC^5;
sbit    ACC6=ACC^6;
sbit    ACC7=ACC^7;
 
void main(void)

{    
         cs_93=0;sk_93=0;
         ewen46();
  while(1)
       {

         ;;;
       

        }

}
 

//发送高电平1涵数
//-----------------------------------------------------
void high46(void)
{
di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
}
//-----------------------------------------------------
//发送低电平0涵数
//-----------------------------------------------------
void low46(void)
{
di_93=0;sk_93=1;_nop_();sk_93=0;_nop_();
}
//----------------------------------------------------- 
//写操作允许涵数
//-----------------------------------------------------
void ewen46(void)
{
 cs_93=1;_nop_(); 
 high46();low46();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_(); 
cs_93=0;
}

//-----------------------------------------------------
//从指定的地址中读出一个字节数据(八位)涵数
//-----------------------------------------------------
unsigned char read93c46_word(unsigned char address)
{
	
 cs_93=1;_nop_(); 
 ACC=address;
 high46();high46();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC6;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC5;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC4;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC3;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC2;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC0;sk_93=1; _nop_();sk_93=0;_nop_(); 
 
   
 sk_93=1; _nop_(); ACC7=do_93;sk_93=0;_nop_(); 
 sk_93=1; _nop_(); ACC6=do_93;sk_93=0;_nop_(); 
 sk_93=1; _nop_(); ACC5=do_93;sk_93=0;_nop_(); 
 sk_93=1; _nop_(); ACC4=do_93;sk_93=0;_nop_(); 
 sk_93=1; _nop_(); ACC3=do_93;sk_93=0;_nop_(); 
 sk_93=1; _nop_(); ACC2=do_93;sk_93=0;_nop_(); 
 sk_93=1; _nop_(); ACC1=do_93;sk_93=0;_nop_(); 
 sk_93=1; _nop_(); ACC0=do_93;sk_93=0;_nop_(); 
 cs_93=0;   
return(ACC);
}
//-----------------------------------------------------
//向指定的地址中写入一个字节数据(八位)涵数
//-----------------------------------------------------
write93c46_word(unsigned char address,unsigned char dat)
{cs_93=1;_nop_(); 
 ACC=address;
 high46();low46();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC6;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC5;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC4;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC3;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC2;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=ACC0;sk_93=1; _nop_();sk_93=0;_nop_(); 
 ACC=dat; 
 di_93=ACC7;sk_93=1;_nop_();sk_93=0;_nop_(); 
 di_93=ACC6;sk_93=1;_nop_();sk_93=0;_nop_();  
 di_93=ACC5;sk_93=1;_nop_();sk_93=0;_nop_();  
 di_93=ACC4;sk_93=1;_nop_();sk_93=0;_nop_();  
 di_93=ACC3;sk_93=1;_nop_();sk_93=0;_nop_();  
 di_93=ACC2;sk_93=1;_nop_();sk_93=0;_nop_();  
 di_93=ACC1;sk_93=1;_nop_();sk_93=0;_nop_();  
 di_93=ACC0;sk_93=1;_nop_();sk_93=0;_nop_();  
 while(do_93==0){;}
 cs_93=0;   
 
}
//-----------------------------------------------------
//擦除所有单元涵数
//-----------------------------------------------------
void earal(void){  	
cs_93=1;_nop_();  
 high46();low46();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=0;sk_93=1; _nop_();sk_93=0;_nop_();
 di_93=1;sk_93=1; _nop_();sk_93=0;_nop_(); 	
	
 while(do_93==0){;}
 cs_93=0;  		
	
	}

⌨️ 快捷键说明

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