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

📄 global.c

📁 Tea5767的3线控制程序
💻 C
字号:
//global.c
#include "global.h"
#include <iom8.h>

void delay_us(unsigned int i)
{
  int j ;
  for (j = 0; j<i; j++)
  {
      asm("nop");
  }
}

void delay_ms(unsigned int i)
{
  int j;
  for (j=0;j<i;j++)
      delay_us(1024);
}

void EEPROM_write(unsigned int uiAddress, unsigned char ucData)
{
    /*等待上一次写操作结束 */
    while(EECR & (1<<EEWE));
    
    /*设置地址和数据寄存器*/
    EEAR = uiAddress;
    EEDR = ucData;

    /* 置位EEMWE */
    EECR |= (1<<EEMWE);

    /* 置位EEWE以启动写操作*/
    EECR |= (1<<EEWE);
}

unsigned char EEPROM_read(unsigned int uiAddress)
{
  /*等待上一次写操作结束 */
  while(EECR & (1<<EEWE));
  
  /*设置地址寄存器*/
  EEAR = uiAddress;

  /*设置EERE以启动读操作*/
  EECR |= (1<<EERE);

  /*自数据寄存器返回数据 */
  return EEDR;
}

void Save_Freq(unsigned long Freq)
{
  unsigned char tmp,tmp1;
  Freq /= 100;
  tmp = (Freq/1000)%10;
  tmp1 = tmp<<4;
  
  tmp = (Freq/100)%10;
  tmp1 |= (tmp&0x0F);
  
  EEPROM_write( 1,tmp1 );

  tmp = (Freq/10)%10;
  tmp1 = tmp<<4;
  
  tmp = Freq%10;
  tmp1 |= (tmp&0x0F);
  
  EEPROM_write( 0,tmp1 );

}

unsigned long Load_Freq(void)
{
  unsigned long f;
  unsigned char tmp;
  tmp = EEPROM_read( 1 );

  f = (tmp & 0x0F)*100;
  tmp = (tmp >>4)&0x0F;
  f += tmp*1000;
  
  tmp = EEPROM_read( 0 );

  f += tmp & 0x0F;
  tmp = (tmp >>4)&0x0F;
  f += tmp*10;
  
  return f*100;

}

void sleep(void)
{
    MCUCR |= 0x80;//(1<<SE);
    MCUCR &= 0x8F;//~((1<<SM2)&(1<<SM1)&(1<<SM0));
    asm("SLEEP");
}



⌨️ 快捷键说明

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