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

📄 main.c

📁 MEGA48单片机模拟/硬件两种方式实现TWI通讯
💻 C
字号:
/************************************************
*    文件名:main.c                              *
*    文件功能:主函数,控制电机升降、 震动电机    *
              以及加热片                        *
*    作者:xxlxws                                *
*    日期:2007-05-15                            *
*    版本号:1.0                                 *
************************************************/
#include <ioavr.h>
#include <intrinsics.h>
#include "mylib.h"
#include "common.h"
#include "main.h"
#include "init.h"
#include "iic.h"
#include "func.h"
#include "inter.h"

struct _Led   Led;
struct _Data  Data;
struct _Count Count;
struct _Moto  Moto_A,Moto_B,Moto_Mid,Moto_HT;

uint8 Mass[4] = {0x00,0x99,0xff,0xff};
uint8 LedCode[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  //LED段码
uint8 Crc[12]={0x80,0x03,0x00,0x08,0x00,0x80,0x00,0x03,0x03,0x0B,0x00,0x60};
/************************************************
*    函数名:main                                *
*    入口参数:无                                *
*    出口参数:无                                *
*    作者:xxlxws                                *
*    日期:2007-05-15                            *
*    函数功能:主函数                            *
************************************************/
int main(void)
{
  uint8 i,Temp[5];
  Init();
  cli();
  while(1)
  {
    CRC_Check();
    if(!(TESTMSK(PINB,PB2)))
    {
      Delayms(20);
      if(!(TESTMSK(PINB,PB2)))
      {
        Data.Write[2]++;
        if(Data.Write[2] >= 10)
        {
          Data.Write[2] = 0;
        }
        I2C_Write();
        for(i=0; i<5; i++)
        {
          Temp[i] = Data.Write[i];
        }
      }
      while(!(TESTMSK(PINB,PB2)));
    }

    TWAR = TWI_ADDR;
    TWCR = (BIT(TWEA)|BIT(TWEN));                   /*启动从机接收模式*/

    if(TESTMSK(TWCR,TWINT))
    {
      I2C_Read();
      for(i=0; i<5; i++)
      {
        Temp[i] = Data.Read[i];
      }
    }

    for(i=0; i<5; i++)
    {
      Led.Seg[i] = LedCode[Temp[i]];
    }
    Led_Disp();
    clrwdt();

  }
}

⌨️ 快捷键说明

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