亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? pcf8563.c

?? c語(yǔ)言編寫(xiě)的時(shí)鐘芯片PFC8563源程序
?? C
字號(hào):
#include <iom16v.h>
#include <stdio.h>
#include <macros.h>
#include <string.h>

#include "pcf8563.h"
#include "lcd.h"
#include "keyboard.h"

//時(shí)鐘芯片數(shù)據(jù)接口PA0
#define DATE_DT_set asm("sbi 0x1B,0")
#define DATE_DT_clr asm("cbi 0x1B,0")
//時(shí)鐘芯片時(shí)鐘接口PA1
#define DATE_CLK_set asm("sbi 0x1B,1")
#define DATE_CLK_clr asm("cbi 0x1B,1")
unsigned char old_minute,new_minute;
unsigned char number1[13]=
{
 0x30,  //0
 0x31,   //1
 0x32,  //2
 0x33,  //3
 0x34,  //4
 0x35,  //5
 0x36,  //6
 0x37,   //7
 0x38,  //8
 0x39,  //9
 0x20,  //空格
 0x2E,  //.
 0x3A  //:
};

void delayus(unsigned char i)
{
 while(i)
 i--;
}

// ************************************************ //
// *** This routine will send the I2C Start Bit *** //
// ************************************************ //
void I2C_Start (void)         //I2C發(fā)送開(kāi)始位
{
 DDRA|=0x03;                  //將PA0數(shù)據(jù)端口(SDA),PA1時(shí)鐘端口(SCL)設(shè)為輸出
 DATE_CLK_set;            //將時(shí)鐘端口(SCL)設(shè)為高
 DATE_DT_set;            //將數(shù)據(jù)端口(SDA)設(shè)為高
 delayus(2); 
 DATE_DT_clr;            //將數(shù)據(jù)端口(SDA)設(shè)為低
 delayus(2);
 DATE_DT_set;
}

// *********************************************** //
// *** This routine will send the I2C Stop Bit *** //
// *********************************************** //

void I2C_Stop (void)          //I2C發(fā)送停止位
{
 DDRA|=0x03;                  //將PA0數(shù)據(jù)端口(SDA),PA1時(shí)鐘端口(SCL)設(shè)為輸出
 DATE_DT_clr;            //將數(shù)據(jù)端口(SDA)設(shè)為低
 DATE_CLK_set;                //將時(shí)鐘端口(SCL)設(shè)為高
 delayus(2);
 DATE_DT_set;            //將數(shù)據(jù)端口(SDA)設(shè)為高
 delayus(2);
}

// *********************************************************************** //
// *** 發(fā)送完畢檢查校驗(yàn)位,有校驗(yàn)位返回1,無(wú)返回0 *** //
// *********************************************************************** //

unsigned char I2C_Ackn(void)
{
 unsigned char errtime=255;
 //DATE_CLK_clr;              // 將時(shí)鐘端口(SCL)設(shè)為低
 DDRA|=0x02;
 DDRA&=0xFE;               // 設(shè)置數(shù)據(jù)口(SDA)為輸入 
 delayus(2);  
 while(PINA&0x01) 
 {
    errtime--;
    if (!errtime)      //errtime=0,沒(méi)接收到
    {
   I2C_Stop();
      return 0x00;
    }
  }  
 DATE_CLK_set;
 delayus(2); 
 DATE_CLK_clr;                // 將時(shí)鐘端口(SCL)設(shè)為低
 delayus(2);
 return 0x01;      //true 
}

// ******************************************************** //
// *** This routine will write a byte to the I2C device *** //
// ******************************************************** //

void Write_I2C_Byte(unsigned char byte)     //寫(xiě)一個(gè)字節(jié)到I2C設(shè)備
{
 unsigned char i;
 DDRA|=0x03;                        //將PA0數(shù)據(jù)端口(SDA)設(shè)為輸出
 for (i = 0; i < 8; i++)          //傳送8位數(shù)據(jù)
     {   
  DATE_CLK_clr;                   //將時(shí)鐘端口(SCL)設(shè)為低  
     if((byte & 0x80)) DATE_DT_set;      // 設(shè)置 SDA 位
  else DATE_DT_clr;        // 清除 SDA 位
  delayus(2);
    DATE_CLK_set;                   //將時(shí)鐘端口(SCL)設(shè)為高
     asm("nop"); 
   byte = byte << 1;        //將輸出數(shù)據(jù)左移一位
 }
 DATE_CLK_clr;                       // 校驗(yàn)標(biāo)志位 (每傳送8位,有一校驗(yàn)位)
 if (I2C_Ackn()==0)         // Check for acknowledge from I2C device
 yonghudenglu();
 //DATE_CLK_clr;
}

// ********************************************************* //
// *** This routine will read a byte from the I2C device *** //
// ********************************************************* //

unsigned char Read_I2C_Byte(void)   //讀取I2C設(shè)備的數(shù)據(jù)
{ 
 unsigned char i,buff = 0;
 delayus(2);
 DDRA|=0x02;                   //PA1為時(shí)鐘,輸出
 DDRA&=0xfe;                //設(shè)置數(shù)據(jù)口(SDA)為輸入
 for (i = 0; i < 8; i++)
    {
  DATE_CLK_clr;                 // 將時(shí)鐘端口(SCL)設(shè)為低
  delayus(2);
     DATE_CLK_set;                 //將時(shí)鐘端口(SCL)設(shè)為高
  delayus(2);
   // 在 SDA 位上讀取數(shù)據(jù)
  if ( PINA&=0x01 ) 
  buff++;
  buff = (buff << 1);
  delayus(2);
   }
 DDRA|=0x03;                  //設(shè)為輸出,發(fā)送校驗(yàn)位
 DATE_DT_clr;
 delayus(2);
 DATE_CLK_set;
 delayus(2);
 DATE_CLK_clr;                     //將時(shí)鐘端口(SCL)設(shè)為高
 //DATE_DT_clr;       
 return buff;          // 返回讀取值
}

//讀8563寄存器
unsigned char rtc_read(unsigned char address)
{
unsigned char d;
I2C_Start();
Write_I2C_Byte(0xa2);
Write_I2C_Byte(address);
I2C_Start();
Write_I2C_Byte(0xa3);
d=Read_I2C_Byte();
d=d>>1;
I2C_Stop();
//for(;;){}
return d;
}

////////////////////////////////////////////////////////////////////////////////
//寫(xiě)8563寄存器
void rtc_write(unsigned char address,unsigned char data1)
{
I2C_Start();
Write_I2C_Byte(0xa2);
Write_I2C_Byte(address);
Write_I2C_Byte(data1);
I2C_Stop();
}

////////////////////////////////////////////////////////////////////////////////

void rtc_start(void)
{
rtc_write(0,0);
}

////////////////////////////////////////////////////////////////////////////////

void rtc_stop(void)
{
rtc_write(0,0x20);
}

void GetPCF8563(unsigned char *time)
{ 
  CLI();
  *time=(rtc_read(2)&0x7f);           //寄存器0x02為秒寄存器
  *(time+1)=(rtc_read(3)&0x7f);       //寄存器0x03為分寄存器
  *(time+2)=(rtc_read(4)&0x3f);       //寄存器0x04為時(shí)寄存器
  *(time+3)=(rtc_read(5)&0x3f);       //寄存器0x05為天寄存器
  *(time+4)=(rtc_read(7)&0x1f);       //寄存器0x07為月寄存器
  *(time+5)=(rtc_read(8));            //寄存器0x08為年寄存器
  SEI();
}

unsigned char get_second(void)      //獲得當(dāng)前秒數(shù)
{
  unsigned i,j;
  i=(rtc_read(2)&0x7f);         //寄存器0x02為秒寄存器
  j=(i&0x0f)+(i>>4)*10;
  return j;
}

////////////////////////////////////////////////////////////////////////////////
void SetPCF8563(unsigned char adds,unsigned char data)
{
 CLI();
 rtc_stop();
 rtc_write(adds,data);
 rtc_start();
 SEI();
}

//設(shè)置時(shí)間  (**年/**月/**日  **時(shí):**分)
void set8563(void)
{
  unsigned char maini=0,mainj=0,numb[12],newkey;
  unsigned char sign=0;
  unsigned char *time;
  unsigned char displayn[12];
  time=numb;
  while((mainj<10)||(sign==0))
  {
     if(kbscan()!=0x20)
  {
     maini=kbscan();
  while(kbscan()==maini)
  asm("nop");
     if(maini<10)
        {
         numb[mainj]=maini;
         displayn[mainj]=number1[maini];
   mainj++;
        }
  else if(maini==12)
        {
         if(mainj>0)
         mainj--;
         numb[mainj]=number1[10];
         displayn[mainj]=number1[10];
  }
  else if((mainj>=10)&&(maini==13))
  {
    sign=1;
  }
       display(0x80,displayn[0],displayn[1]);
       display(0x81,0x2f,displayn[2]);
       display(0x82,displayn[3],0x2f);
       display(0x83,displayn[4],displayn[5]);
       display(0x84,0x20,0x20);
       display(0x85,displayn[6],displayn[7]);
       display(0x86,0x3a,displayn[8]);
       display(0x87,displayn[9],0x20);
     }
  }
  numb[0]=(numb[0]<<4)+(numb[1]&0x0F); //年
  numb[2]=(numb[2]<<4)+(numb[3]&0x0F); //月
  numb[4]=(numb[4]<<4)+(numb[5]&0x0F); //日
  numb[6]=(numb[6]<<4)+(numb[7]&0x0F); //時(shí)
  numb[8]=(numb[8]<<4)+(numb[9]&0x0F); //分
  SetPCF8563(8,numb[0]);     //設(shè)置年
  SetPCF8563(7,numb[2]);     //設(shè)置月
  SetPCF8563(5,numb[4]);     //設(shè)置日
  SetPCF8563(4,numb[6]);     //設(shè)置時(shí)
  SetPCF8563(3,numb[8]);     //設(shè)置分
}

//顯示時(shí)間函數(shù),屏幕第一行顯示
void displaytime(unsigned char *time)
{
  GetPCF8563(time);
  new_minute=*(time+1);
  if(new_minute!=old_minute)
  {
    display(0x80,0x30+(*(time+5)>>4),0x30+(*(time+5)&0x0F));
   display(0x81,0x2f,0x30+(*(time+4)>>4));
   display(0x82,0x30+(*(time+4)&0x0F),0x2f);
   display(0x83,0x30+(*(time+3)>>4),0x30+(*(time+3)&0x0F));
   display(0x84,0x20,0x20);
   display(0x85,0x30+(*(time+2)>>4),0x30+(*(time+2)&0x0F));
   display(0x86,0x3a,0x30+(*(time+1)>>4));
   display(0x87,0x30+(*(time+1)&0x0F),0x20);
 old_minute=new_minute;
  }
  //display(0x98,0x30+(*time>>4),0x30+(*time&0x0F));
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91丨国产丨九色丨pron| 国产精品久久久久久久久免费桃花| 一本色道久久综合亚洲aⅴ蜜桃 | 免费在线观看精品| 三级久久三级久久| 蜜桃av一区二区在线观看| 天天av天天翘天天综合网色鬼国产 | 中文字幕在线观看不卡| 国产欧美日韩一区二区三区在线观看| 久久综合久色欧美综合狠狠| 久久久久国产精品免费免费搜索| 久久久综合视频| 欧美高清在线一区| 亚洲欧洲日韩av| 亚洲黄色小视频| 亚洲成av人片| 美国精品在线观看| 国产在线精品一区在线观看麻豆| 高清av一区二区| 色综合网站在线| 在线观看91av| 久久精品亚洲精品国产欧美| 国产精品电影一区二区三区| 亚洲免费在线观看视频| 午夜精品久久久久久久99樱桃| 看电视剧不卡顿的网站| 国产福利91精品| 一本到不卡精品视频在线观看| 欧美另类z0zxhd电影| 欧美成人性福生活免费看| 欧美国产精品劲爆| 亚洲制服丝袜av| 久久国产精品99久久人人澡| 国产91精品在线观看| 色猫猫国产区一区二在线视频| 欧美日韩国产免费一区二区| 久久久高清一区二区三区| 国产精品成人免费| 午夜激情综合网| 国产电影精品久久禁18| 色av成人天堂桃色av| 日韩亚洲欧美中文三级| 日本一区二区视频在线观看| 亚洲第一av色| 国产福利一区在线| 欧美人狂配大交3d怪物一区| 久久夜色精品一区| 亚洲第一成年网| 成人深夜视频在线观看| 欧美三级视频在线播放| 国产亚洲欧美日韩日本| 五月天激情综合| a级精品国产片在线观看| 欧美区视频在线观看| 亚洲国产岛国毛片在线| 日日摸夜夜添夜夜添精品视频| 成人丝袜高跟foot| 日韩欧美国产电影| 亚洲一区二区高清| 国产成人免费9x9x人网站视频| 欧美日韩高清一区| 国产精品乱人伦| 狠狠色综合色综合网络| 欧美亚洲动漫另类| 国产精品成人一区二区三区夜夜夜 | 国产一区亚洲一区| 欧美日韩一区二区三区在线看| 国产精品色在线| 久久狠狠亚洲综合| 欧美视频日韩视频在线观看| 国产精品激情偷乱一区二区∴| 美日韩一区二区| 欧美日韩在线不卡| 亚洲精选视频在线| av在线播放一区二区三区| 精品国产麻豆免费人成网站| 日韩国产一区二| 欧美色图天堂网| 亚洲欧美偷拍三级| 成人小视频免费观看| 26uuu另类欧美| 久久精品理论片| 欧美喷潮久久久xxxxx| 一区二区理论电影在线观看| gogo大胆日本视频一区| 久久久99久久精品欧美| 久久99精品久久久久久| 日韩一区二区高清| 天堂午夜影视日韩欧美一区二区| 在线观看亚洲一区| 亚洲免费看黄网站| 91伊人久久大香线蕉| 中文字幕亚洲精品在线观看| 成人精品视频一区二区三区| 国产亚洲一本大道中文在线| 韩国精品免费视频| 偷拍一区二区三区| 欧美性色黄大片| 亚洲一区二区黄色| 欧美影片第一页| 性欧美大战久久久久久久久| 精品视频1区2区| 天天射综合影视| 这里是久久伊人| 亚洲在线观看免费视频| 在线看日本不卡| 亚洲一区二区视频在线观看| 欧美在线高清视频| 亚洲国产成人高清精品| 欧美在线视频你懂得| 亚洲一区二区三区在线看| 91久久精品一区二区三区| 亚洲线精品一区二区三区八戒| 色婷婷久久久久swag精品 | 午夜精品一区在线观看| 欧美日韩一区二区三区四区| 日韩激情中文字幕| 日韩欧美二区三区| 国产剧情在线观看一区二区| 中文字幕第一区二区| 91在线视频在线| 亚洲电影在线免费观看| 在线观看91av| 狠狠色2019综合网| 国产精品女人毛片| 91黄色小视频| 蜜桃免费网站一区二区三区| 26uuu成人网一区二区三区| 成人激情小说网站| 亚洲综合一区在线| 91精品国产麻豆国产自产在线| 韩日欧美一区二区三区| 国产精品污污网站在线观看| 色综合激情久久| 美女在线视频一区| 国产精品欧美一区喷水| 欧美影院一区二区三区| 久久成人久久鬼色| 中文字幕一区二区三区在线播放 | 欧美成人a∨高清免费观看| 国产一区二区三区精品欧美日韩一区二区三区 | 国产老女人精品毛片久久| 亚洲欧洲美洲综合色网| 欧美日韩1234| 成人爽a毛片一区二区免费| 亚洲一区av在线| 久久一区二区三区四区| 91最新地址在线播放| 视频精品一区二区| 国产欧美日韩三区| 欧美日韩大陆在线| 国产成人精品网址| 石原莉奈在线亚洲二区| 国产精品国产三级国产| 91精品国产手机| 99久久er热在这里只有精品15 | 国产aⅴ精品一区二区三区色成熟| 亚洲欧美成aⅴ人在线观看| 欧美日本在线播放| 成人黄色电影在线| 免费成人av在线播放| 亚洲欧洲日韩在线| 久久久亚洲高清| 欧美精品久久99久久在免费线 | 精品久久五月天| 91一区一区三区| 国产精品自产自拍| 午夜视频在线观看一区二区| 国产精品热久久久久夜色精品三区 | 懂色av中文一区二区三区 | 欧美精品18+| 成人av电影在线| 激情国产一区二区| 天堂影院一区二区| 一区二区三区产品免费精品久久75| 久久久蜜桃精品| 日韩免费一区二区三区在线播放| 在线观看av不卡| 99久久99久久久精品齐齐| 黑人巨大精品欧美一区| 日韩精品每日更新| 亚洲综合丁香婷婷六月香| 日本一区二区高清| 欧美精品一区二区三区很污很色的| 欧美在线一区二区| 91亚洲国产成人精品一区二区三| 国产自产视频一区二区三区| 青青草成人在线观看| 亚洲综合男人的天堂| 18欧美亚洲精品| 国产精品久久网站| 午夜精品视频一区| 一区二区三区不卡视频| 国产女同性恋一区二区| 欧洲一区二区三区在线| 美女爽到高潮91| 国产无人区一区二区三区| 制服丝袜av成人在线看| 欧美三级乱人伦电影| 高清免费成人av|