娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年11月13日(星期三)

正在發生

2019年11月13日 | PCF8563 時鐘芯片驅動程序 (STM8S/STM8L)

發布者:夢回歸處 來源: eefocus關鍵字:PCF8563  時鐘芯片  驅動程序  STM8S  STM8L 手機看文章 掃描二維碼
隨時隨地手機看文章

模擬I2C讀取時鐘芯片PCF8563中的日期時間 


#define SCLK_Clr() GPIO_ResetBits(GPIOD, GPIO_PIN_1)//SDA IIC接口的時鐘信號

#define SCLK_Set() GPIO_SetBits(GPIOD, GPIO_PIN_1)

#define SDIN_Clr() GPIO_ResetBits(GPIOD, GPIO_PIN_2)//SCL IIC接口的數據信號

#define SDIN_Set() GPIO_SetBits(GPIOD, GPIO_PIN_2)


u8 buf[7];


void SDA_IN(u8 in) 

{

  if(in)

     GPIO_Init(GPIOD, GPIO_PIN_2,  GPIO_Mode_In_PU_IT );         //輸入

  else

     GPIO_Init(GPIOD, GPIO_PIN_2, GPIO_Mode_Out_OD_HiZ_Slow);   //輸出

}


void delay_u()    

{

while(--10);

}

/**************************************************

**************************************************/

void Start()

{

SCLK_Set();     

        SDIN_Set();

        delay_u();

SDIN_Clr();

        delay_u();

SCLK_Clr();

}

/**********************************************

//IIC Stop

**********************************************/

void Stop()

{

        SCLK_Clr();

        delay_u();

SDIN_Clr();

        delay_u();        

        SCLK_Set();

        delay_u();

SDIN_Set();

        delay_u();

}




void WriteACK(u8 ack)

{

  if(ack)        SDIN_Set();

  else           SDIN_Clr();

  

    delay_u();

    SCLK_Set();

    delay_u();

    SCLK_Clr();

}




void WaitACK()

{  

   u8 errtime;

   errtime = 0;

   SDA_IN(1);

   SCLK_Set();

   delay_u();

   while(SDA_READ)

   {  errtime++;

      if(errtime==20)

      {Stop();

      break;}

   }

   SCLK_Clr();

   SDA_IN(0);

}

/**********************************************

// IIC Write byte

**********************************************/

void writebyte(u8 IIC_Byte)

{

u8 i;

u8 m,da;

da=IIC_Byte;

        SDA_IN(0);

SCLK_Clr();

for(i=0;i<8;i++) 

{

m=da;

m=m&0x80;

if(m==0x80)

{SDIN_Set();}

else SDIN_Clr();

da=da<<1;

SCLK_Set();

                delay_u();

SCLK_Clr();

}

        WaitACK();              //關鍵問題

}


u8 Readbyte()

{

   u8 i,bytedata;

   SDA_IN(1);

   delay_u(); 

   SDIN_Set();

   for(i=0;i<8;i++)

   {

      SCLK_Set(); 

      bytedata<<=1;

      if(SDA_READ)

      {

         bytedata++;

      }

      SCLK_Clr();

      delay_u();

   }

   SDA_IN(0);

   return(bytedata);

}

/**********************************************

// IIC Write Command

**********************************************/

void writeData(u8 address,u8 mdata)

{

Start();

writebyte(0xa2); /*寫命令*/

writebyte(address); /*寫地址*/

writebyte(mdata); /*寫數據*/ 

Stop();

}

/********************************************

輸入數據<-pcf8563

********************************************/

u8 ReadData(u8 address) /*單字節*/

{  u8 rdata =0;

   Start();

   writebyte(0xa2); /*寫命令*/

   writebyte(address); /*寫地址*/

   Start();   

   writebyte(0xa3); /*讀命令*/

   rdata=Readbyte();

   WriteACK(1);

   Stop();

   return(rdata);

}


void ReadData1(u8 address,u8 count,u8 * buff) /*多字節*/

{  

   u8 i;

   Start();

   writebyte(0xa2); /*寫命令*/

   writebyte(address); /*寫地址*/

   Start();

   writebyte(0xa3); /*讀命令*/

   for(i=0;i   {

        buff[i]=Readbyte();

        if(i   }

  WriteACK(1);

  Stop();

}

/********************************  

 讀入時間到內部緩沖區  

*********************************/ 

void P8563_Read(void)  

{

    buf[0]=ReadData(0x02);

    buf[1]=ReadData(0x03);   

    buf[2]=ReadData(0x04);   

    buf[3]=ReadData(0x05);   

    buf[4]=ReadData(0x06);   

    buf[5]=ReadData(0x07);   

    buf[6]=ReadData(0x08);   

    Stop();  

    buf[0]=buf[0]&0x7F;//秒

    buf[1]=buf[1]&0x7F;//分

    buf[2]=buf[2]&0x3F;//時

    buf[3]=buf[3]&0x3F;//日

    buf[4]=buf[4]&0x07;//星期

    buf[5]=buf[5]&0x1F;//月  

    delay_u();

    buf[0]=HexToBcd(buf[0]);

    buf[1]=HexToBcd(buf[1]);

    buf[2]=HexToBcd(buf[2]);

    buf[3]=HexToBcd(buf[3]);

    buf[5]=HexToBcd(buf[5]);

    buf[6]=HexToBcd(buf[6]);     

}  

/*******************  

 寫時間修改值  

*******************/  

void RTC_Set_Time(u8 sec,u8 min,u8 hour,u8 day,u8 week,u8 month,u8 year)  

{  

    sec=BcdToHex(sec);

    min=BcdToHex(min);

    hour=BcdToHex(hour);

    day=BcdToHex(day);

    week=week;

    month=BcdToHex(month);

    year=BcdToHex(year);

    delay_u();

    

    writeData(0x02,sec);

    writeData(0x03,min);

    writeData(0x04,hour);

    writeData(0x05,day);

    writeData(0x06,week);

    writeData(0x07,month);

    writeData(0x08,year); 

}  

/****************************  

 P8563的初始化   

********************************/  

void P8563_init(void)  

{  

  writeData(0x00,0x20); //時鐘停止  

  RTC_Set_Time(30,12,12,1,5,12,17);  //秒,分,時,天,星期,月,年   

  delay_u();

  writeData(0x00,0x00); //時鐘開始  

}  

/********************************************************************/

關鍵字:PCF8563  時鐘芯片  驅動程序  STM8S  STM8L 引用地址:PCF8563 時鐘芯片驅動程序 (STM8S/STM8L)

上一篇:STM8L051F3_01_GPIO應用
下一篇:STM8L 151G6U6 驅動RW1820溫度傳感器

推薦閱讀

集微網消息,昨天,統一推送聯盟官方微信公眾號發文稱,經過與國內主流終端廠商溝通,聯盟已初步確定后續工作的時間表,從明年3月1日起,開始統一推送標準符合性測試,到明年12月31日,現有各推送通道兼容統一推送標準,也就意味著首批支持統一推送標準的國產智能安卓移動智能終端有望將于2019年第一季度與消費者見面。? ? ? ? 可能有的消費者不明...
摘要:提出了一種在線監測凝汽器污臟程度的新方法。該方法將傳熱端差作為研究對象,綜合考慮各因素對端差的影響,運用神經網絡建模技術成功地實現了凝汽器污臟、工況參數變化對端差影響的分離,可準確地在線監測凝汽器污臟程度。介紹了根據此方法研制的以DSP為核心的監測儀,并進行了現場試驗,試驗結果證明了該儀器的有效性。 凝汽器是火力發電廠的大型換...
11月12日,廈門狄耐克智能科技股份有限公司(下稱“狄耐克”)在深交所創業板上市,公司證券代碼為300884,發行價格24.87元/股,發行市盈率26.11倍。截止上午收盤,狄耐克股價漲幅達210.62%,報收77.25元/股,總市值達92.7億元。資料顯示,狄耐克成立于2005年04月29日,主營樓宇對講、智能家居等智慧社區安防智能化設備的研發設計、生產制造和銷售。自成...
廣告摘要聲明廣告【文/伍不易】“大周期,大機遇?,這其實是一個特別宏大的命題。“周期?就是規律,春種夏長秋收冬藏是周期,人從嬰兒到中年到老去也是規律,企業從發展壯大到衰退也是規律,萬事萬物都有它的生命周期。在當前新產業、新物種激蕩變革的新時代,新技術風起云涌,新業態浪潮迭起,大“機遇?必然蘊含其中。后疫情時代,中國制造業分化式恢...

史海拾趣

問答坊 | AI 解惑

半導體三極管及其應用(1)

5.1半導體三極管的基本結構 5.1.1 三極管內部結構 半導體二極管內部只有一個PN結,若在半導體二極管P型半導體的旁邊,再加上一塊N型半導體如圖5-1(a)所示。由圖5-1(a)可見,這種結構的器件內部有兩個PN結,且N型半導體和P型半導體交錯排列 ...…

查看全部問答∨

變頻器發展趨勢探討分析

變頻器是運動控制系統中的功率變換器。當今的運動控制系統包含多種學科的技術領域,總的發展趨勢是:驅動的交流化,功率變換器的高頻化,控制的數字化、智能化和網絡化。因此,變頻器作為系統的重要功率變換部件,提供可控的高性能變壓變頻的交流電 ...…

查看全部問答∨

QT4編寫的程序Qte不能編譯通過

#include #include #include #include #include #include class MyWidget:public QWidget { public: MyWidget(); protected: void paintEvent(QPaintEvent *event); QTimer *timer; }; MyWidget::MyWidget() { timer=new QTi ...…

查看全部問答∨

我的PXA270的板子晶振不動,請幫忙解決

大家好,我仿照北京奧爾斯的pxa270開發板做了一個板子。按照他們的開發板,電源沒有用任何電源管理芯片,全都是LDO直接恒定輸出各個電壓(不用PWR_EN和SYS_EN控制),他的開發板能跑,按道理來說這種設計應該沒有問題。 現在我的板子能JTAG燒寫boo ...…

查看全部問答∨

單片機RS232怎么收不到數據!!

我用PIC18F248做CPU想與PC機實現RS232通訊,現在PIC18F248發出去的數據是對的, 但是收不到PC機發過來的數據! 我用了MAX232A做PC機與PIC18F248的接口,現在MAX232A不管是否接收PC機RS232的數據 都只發給PIC18F248一個連續的5V電平,我也用示波器看了 ...…

查看全部問答∨

LPC2103匹配中斷進不了

#include<LPC21xx.h> #define uint8  unsigned char#define uint32 unsigned intvoid Timer0_ISR(void) __attribute__ ((interrupt));uint8 num; void DelayNs(uint32 dly){  uint32 i;  for(;dly>0;dly--)  &nbs ...…

查看全部問答∨

stm32can節點問題

你好,我使用的是stm32,外圍帶mcp2551,做為節點的時候,通訊一般都是沒有問題的,可以接收和發送。接收是采用中斷方式。 但是目前遇到一個問題,整個總線有5個節點,一個是監聽的,方便pc得到信息。 我使用STM32的can來代替一個節點進行數 ...…

查看全部問答∨

麻煩哪位能給我傳一份LM3S9B96的Startup.s

因為9B96有Port J,可是Startup.s里的中斷向量表里沒有Port J的“IntDefaultHandler”,所以進不去中斷。如果誰有麻煩給我一份啊。謝謝先。 zzgezi@126.com. …

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 田阳县| 安溪县| 阳春市| 磐石市| 长垣县| 全椒县| 新闻| 出国| 花莲县| 林西县| 体育| 慈利县| 淮北市| 南昌市| 和田市| 定远县| 额尔古纳市| 太白县| 海口市| 肃南| 新疆| 武义县| 平顶山市| 阳新县| 郸城县| 闽侯县| 福清市| 济源市| 鄂伦春自治旗| 福安市| 靖远县| 潍坊市| 荆门市| 苍梧县| 淳安县| 桦南县| 乐山市| 大丰市| 准格尔旗| 东乌| 无棣县|