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

📄 spi_main.c

📁 利用805151单片机实现spi总线模拟。
💻 C
字号:

#define	uchar	unsigned char
#define uint	unsigned int
#define ulong 	unsigned long
//---------------------------
#include <REG52.H>	
#include<STDIO.H>

 //---------------------------
sbit	SPICLK	=	P1^0;
sbit	MOSI	=	P1^1;
sbit	MISO	=	P1^2;
sbit	SS		=	P1^3;
//---------------------------
void	Nop(void)
	{
		;
	}
void	Delay(uchar t)
	{
		while(t--){;}
	}

uchar	Data_Receive(void)
	{
		uchar	i,dat=0,temp;
		bit		bt;		
		SPICLK=1;
		MISO=1;
		SS=0; 			//选中器件
		Nop();
		Nop();
		for(i=0;i<8;i++)
			{	
				SPICLK=1;
				Nop();
				Nop();
				Nop();
				SPICLK=0;
				Nop();
				Nop();				
				bt=MISO;
				if(bt)
					temp=0x01;
				else	temp=0x00;
				dat=(dat<<1);				
				dat=(dat|temp);				
			}
		SS=1;
		SPICLK=1;		
		return	dat; 
	}
void	main(void)
	{
		uchar	exdat;
		uchar	i=0;
		uchar	code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
                          0x7F,0x6F};
		P2=0;			
		while(1)
			{
				exdat=Data_Receive();
				P0=table[exdat];
				for(i=0;i<200;i++)			
				Delay(200);			
						
			}
	}

⌨️ 快捷键说明

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