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

📄 bc7281._h

📁 基于ATMEGA16的温度传感器原代码
💻 _H
字号:

#define uchar  unsigned char
#define clk1   PORTA|=BIT(7)
#define clk0   PORTA&=~BIT(7)
#define clkout  DDRA|=BIT(7)
#define clkin   DDRA&=~BIT(7)
#define data1  PORTA|=BIT(6)
#define data0  PORTA&=~BIT(6)
#define dataout  DDRA|=BIT(6)
#define datain  DDRA&=~BIT(6)
unsigned char key_number;

////**********************延时*************************//////
void delay(unsigned int time)
   {
    while(time--)
    asm("nop");
   }
////*********************初始化************************//////
void  chushihua_bc7281()
  { 
   delay(1000);
   xie_bc7281(0x12,0x80);  //164模式不反相 
  }	
  
////********************写bc7281*********************//////
void xie_bc7281(uchar add ,uchar data)
  {  
   chuangsong_bc7281(add);
   chuangsong_bc7281(data);
  }
////********************读bc7281********************//////
uchar du_bc7281(uchar add)
  {
   chuangsong_bc7281(add|0x80);      ///////????
   return(jieshou_bc7281());
  }
////********************传送***********************//////
void chuangsong_bc7281(uchar temp)
  { 
   unsigned char i;
   data1;
   datain;
    do
    {
	clk0;
	clk1;
    }while((PINA&0x40)==0x40);  //直到低电平
    clk0;
	clk1;
    while(!((PINA&0x40)==0x40));  //直到高电平
    delay(1000);
	dataout;
	for(i=0;i<8;i++)
	   {
	    if((temp&0x80)==0)
		data0;
		else
		data1;
		temp=temp*2;
		clk0;
		delay(5);
		clk1;
	   }
	 data1;
	delay(10);
  }
uchar jieshou_bc7281()
 {
   uchar i,j;
   datain;
   clk0;
   clk1;
   while((PINA&0X40)==0X40);
   clk0;
   clk1;
 for(i=0;i<8;i++)
   {
    delay(10);
	j=j*2;
	if((PINA&0x40)==0x40)
     {
	 j=j|0x01;
	  }
	clk0;
	clk1;  
    }
   clk0;
   clk1;
   return(j);
 
 }

⌨️ 快捷键说明

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