clock.h

来自「基于msp430f149的智能温度控制系统」· C头文件 代码 · 共 84 行

H
84
字号
void Delay(int i)
{
  for(;i>=0;i--);
}
void CLK_ByteWrite(char Data)//写入1Byte信息
{
  unsigned char i;
  P6DIR|=BIT0;//IO
  P6OUT&=~BIT1;//SCLK=0
  for(i=0;i<8;i++)
  {
    if(Data&0x01)//判断发送位
    {
      P6OUT|=BIT0;//发送1
    }
    else 
    {
      P6OUT&=~BIT0;//发送0
    }
    P6OUT|=BIT1;//SCLK=1
    P6OUT&=~BIT1;//SCLK=0
    Data=Data>>1;
  }
}
char CLK_ByteRead(void)//读1Byte信息
{
  unsigned char i;
  unsigned int TempBit=0;
  volatile unsigned int TempData=0x36;
  P6DIR&=~BIT0;//IO
  P5DIR=0xFF;
  for(i=0;i<8;i++)
  {
    P6OUT&=~BIT1;//SCLK=0
    if(P6IN&BIT0)
    {
      TempBit=0x80;
      P5OUT=0xF0;
    }
    else 
    {
      TempBit=0x00;
      P5OUT=0x00;
    }
    P6OUT|=BIT1;//SCLK=1
    TempData=(TempData>>1)|TempBit;
  }
  return TempData;
}
void CLK_DataWrite(char Address,char Data)
{
  P6DIR|=BIT1;
  P6DIR|=BIT2;
  P6OUT&=~BIT2;//RST=0
  P6OUT&=~BIT1;//SCLK=0
  P6OUT|=BIT2;//RST=1
  CLK_ByteWrite(Address);//写地址
  CLK_ByteWrite(Data);//写1Byte数据
  P6OUT&=~BIT2;//RST=0
}
char CLK_DataRead(char Address)
{
  volatile unsigned char Data=0x24;
  P6DIR|=BIT1;
  P6DIR|=BIT2;
  P6OUT&=~BIT1;//SCLK=0
  Delay(2);
  P6OUT|=BIT2;//RST=1
  Delay(2);
  P6OUT&=~BIT1;//SCLK=0  
  CLK_ByteWrite(Address);
  Data=CLK_ByteRead();
  P6OUT&=~BIT2;//RST=0
  return Data;
}
void CLK_Init()
{
  P6OUT|=BIT2;
  P6OUT&=~BIT2;//RST=0
  CLK_DataWrite(0x8e,0x00);//打开写保护
  CLK_DataWrite(0x90,0x00);//设置是否充电及电阻
  CLK_DataWrite(0x80,0x00);//启动及时
}

⌨️ 快捷键说明

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