📄 global.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 + -