91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-13
  • 語言: 其他
  • 標簽: ds3231??C_CODE??

資源簡介

DS3231是低成本,高精度I2C實時時鐘(RTC),具有集成的溫補晶體振蕩器(TCXO)和1個32.768kHz的晶體。該晶體包含電池輸入端,斷開主電源仍可保持精確計時。

資源截圖

代碼片段和文件信息

#include?“ds3231.h“
#include?“delay.h“
#include?“usart.h“
#include?“string.h“

u8 Week;
static?u8?sec_tempday_temptem_temp;

//BCD轉換為Byte
u8?BCD2_Hex(u8?val)
{
????????u8?temp;
????????temp?=?val?&?0x0f;
????????val>>=?4;
????????val?&=?0x0f;
????????val?*=?10;
????????temp+=?val;
????????return?temp;
}

//B轉換為BCD
u8?HEX2_Bcd(u8?val)
{
????????u8?ijk;
????????i?=?val/10;
????????j?=?val%10;
????????k?=?j+(i<<4);
????????return?k;
}



//初始化IIC
void?IIC_Init(void)
{?????????????????????????????????????????????
????????GPIO_InitTypeDef?GPIO_InitStructure;
????????//RCC->APB2ENR|=1<<4;//先使能外設IO?PORTB時鐘?
????????RCC_APB2PeriphClockCmd(????????RCC_APB2Periph_GPIOA?ENABLE?);????????
???????????
????????GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_6|GPIO_Pin_7;
????????GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_Out_PP?;???//推挽輸出
????????GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
????????GPIO_Init(GPIOA?&GPIO_InitStructure);

????????IIC_SCL=1;
????????IIC_SDA=1;

}
//產生IIC起始信號
void?IIC_Start(void)
{
????????SDA_OUT();?????//sda線輸出
????????IIC_SDA=1;????????????????????
????????IIC_SCL=1;
????????delay_us(5);
????????IIC_SDA=0;//START:when?CLK?is?highDATA?change?form?high?to?low?
????????delay_us(5);
????????IIC_SCL=0;//鉗住I2C總線,準備發送或接收數據?
}??????????
//產生IIC停止信號
void?IIC_Stop(void)
{
????????SDA_OUT();//sda線輸出
????????delay_us(5);
????????IIC_SCL=0;
????????delay_us(5);
????????IIC_SDA=0;//STOP:when?CLK?is?high?DATA?change?form?low?to?high
????????delay_us(5);
????????IIC_SCL=1;?
????????delay_us(5);
????????IIC_SDA=1;//發送I2C總線結束信號
????????delay_us(5);???????????????????????????????????????????????????????????????????
}
//等待應答信號到來
//返回值:1,接收應答失敗
//????????0,接收應答成功
u8?IIC_Wait_Ack(void)
{
????????u8?ucErrTime=0;
????????SDA_IN();??????//SDA設置為輸入??
????????IIC_SDA=1;delay_us(2);???????????
????????IIC_SCL=1;delay_us(2);?????????
????????while(READ_SDA)
????????{
????????????????ucErrTime++;
????????????????if(ucErrTime>250)
????????????????{
????????????????????????IIC_Stop();
????????????????????????return?1;
????????????????}
????????}
????????IIC_SCL=0;//時鐘輸出0????????????
????????return?0;??
}?
//產生ACK應答
void?IIC_Ack(void)
{
????????IIC_SCL=0;
????????SDA_OUT();
????????IIC_SDA=0;
????????delay_us(5);
????????IIC_SCL=1;
????????delay_us(5);
????????IIC_SCL=0;
}
//不產生ACK應答????????????????????
void?IIC_NAck(void)
{
????????IIC_SCL=0;
????????SDA_OUT();
????????IIC_SDA=1;
????????delay_us(5);
????????IIC_SCL=1;
????????delay_us(5);
????????IIC_SCL=0;
}??????????????????????????????????????????????????????????????????????????????
//IIC發送一個字節
//返回從機有無應答
//1,有應答
//0,無應答??????????????????????????
void?IIC_Send_Byte(u8?txd)
{????????????????????????
????u8?t;???
????SDA_OUT();?????????????
????IIC_SCL=0;//拉低時鐘開始數據傳輸
????for(t=0;t<8;t++)
????{??????????????
????????IIC_SDA=(txd&0x80)>>7;
????????txd<<=1;???????????
??????????????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-08-15?08:39??DS3231\
?????文件????????3594??2018-08-09?21:13??DS3231\DS3231.h
?????文件????????8898??2018-08-09?23:09??DS3231\DS3232.c

評論

共有 條評論