SD2068低功耗、两线接口、数字时钟调整功能、多种中断/报警系统、12字节用户RAM,并具备多种抗干扰措施
下为SD2068 AVR 单片机时钟C程序:
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
//数据sda的位设置
#define sda_in DDRC &= ~(1 << PC1) //数据设置输入
#define sda_out DDRC |= (1 << PC1) //数据设置输出
#define sda_setb PORTC |= (1 << PC1) //数据拉高
#define sda_clr PORTC &= ~(1 << PC1) //数据拉低
#define sda_r PINC & (1 << PC1) //数据读取
//时钟scl的位设置
#define scl_in DDRC &= ~(1 << PC0) //时钟设置输入
#define scl_out DDRC |= (1 << PC0) //时钟设置输出
#define scl_setb PORTC |= (1 << PC0) //时钟拉高
#define scl_clr PORTC &= ~(1 << PC0) //时钟拉低
#define scl_r PINC & (1 << PC0) //时钟读取
//===============
#define true 1
#define false 0
//===============
uchar date[7]; //日期数组
/*date[6]=year,date[5]=month,date[4]=day,date[3]=week,
date[2]=hour,date[1]=minute,date[0]=second*/
uchar bat1,bat2,temp; //电池电量和温度
uint bat; //电池电量值
uchar data1[8]; //EEPROM数据
//=================================================================== =
/*延时子程序*/
void delay_ms(uint time) //11.0592M,time=1
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示延时1ms {
uint i;
for(;time>0;time--)
for(i=0;i<1571;i++);
asm("nop");
asm("nop");
asm("nop");
}
void delay_1us(void) //11.0592M, 1us延时函数
{
asm("nop");
}
void delay_us(uint time) //11.0592M, Nus延时函数
{
uint i;
for (i=0;i