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

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

?? ds1302 c51驅(qū)動(dòng)程序.txt

?? 51開發(fā)的源程序。希望對(duì)大家學(xué)習(xí)單片機(jī)有幫助。
?? TXT
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
        ds1302_dat = ACC_0;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_1;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_2;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_3;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_4;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_5;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_6;
        ds1302_clk = 1;
        ds1302_clk = 0;
    
        ds1302_dat = ACC_7;
        ds1302_clk = 1;
        ds1302_clk = 0;
    }    
    ds1302_rst = 0;
    ds1302_clk = 1;
}

unsigned char ReadSec(void)    // 從RTC中讀出秒字節(jié)
{
    return ReadRTC_Byte(0);
}

unsigned char ReadMin(void)    // 從RTC中讀出分字節(jié)
{
    return ReadRTC_Byte(1);
}

unsigned char ReadHr(void)    // 從RTC中讀出時(shí)字節(jié)
{
    return ReadRTC_Byte(2);
}

unsigned char ReadDate(void)    // 從RTC中讀出日字節(jié)
{
    return ReadRTC_Byte(3);
}

unsigned char ReadMonth(void)    // 從RTC中讀出月字節(jié)
{
    return ReadRTC_Byte(4);
}

unsigned char ReadDay(void)    // 從RTC中讀出星期字節(jié)
{
    return ReadRTC_Byte(5);
}

unsigned char ReadYear(void)    // 從RTC中讀出年字節(jié)
{
    return ReadRTC_Byte(6);
}

void WriteSec(unsigned char number)    // 向RTC中寫入秒字節(jié)
{
    WriteRTC_Byte(0,number);
}

void WriteMin(unsigned char number)    // 向RTC中寫入分字節(jié)
{
    WriteRTC_Byte(1,number);
}

void WriteHr(unsigned char number)    // 向RTC中寫入時(shí)字節(jié)
{
    WriteRTC_Byte(2,number);
}

void WriteDate(unsigned char number)    // 向RTC中寫入日字節(jié)
{
    WriteRTC_Byte(3,number);
}

void WriteMonth(unsigned char number)    // 向RTC中寫入月字節(jié)
{
    WriteRTC_Byte(4,number);
}

void WriteDay(unsigned char number)    // 向RTC中寫入星期字節(jié)
{
    WriteRTC_Byte(5,number);
}

void WriteYear(unsigned char number)    // 向RTC中寫入年字節(jié)
{
    WriteRTC_Byte(6,number);
}

void WriteControl(unsigned char number)    // 向慢速充電控制寄存器寫入控制字節(jié)
{
    WriteRTC_Byte(8,number);
}

void EnableWP(void)    // 禁止寫保護(hù)
{
    WriteRTC_Byte(7,0);
}

void DisableWP(void)    // 允許寫保護(hù)
{
    WriteRTC_Byte(7,0x80);
}

void main(void)
{
    unsigned char sec,min,hr,date,month,day,year,number;
    unsigned char data buffer1[32] = 
{32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,5
8,59,60,61,62,63};
    unsigned char data buffer2[8] = {45,45,15,13,3,2,01,0};
    ReadRTC(buffer2,8);
    EnableWP();
    
    WriteControl(0xaa);
    
    WriteRam(buffer1,32);
    WriteRTC(buffer2,8);
    DisableWP();
    ReadRam(buffer1,32);
    ReadRTC(buffer2,8);
    sec = ReadSec();
    min = ReadMin();
    hr = ReadHr();
    date = ReadDate();
    month = ReadMonth();
    day = ReadDay();
    year = ReadYear();
    ACC = 0;
}
/*注意事項(xiàng):
1.每次上電,必須把秒寄存器高位(第7位)設(shè)置為0,時(shí)鐘才能走時(shí)。
2.如果需要寫入數(shù)據(jù)和時(shí)鐘日歷信息,必須把“寫保護(hù)”寄存器設(shè)置成為0,方法入下:
    EnableWP();    
3.使能“慢速充電”,方法如下:
    WriteControl(0xaa);
*/

/*
    內(nèi)部時(shí)鐘日歷地址圖,始終日歷用BCD碼儲(chǔ)存
    0:秒
    1:分
    2:小時(shí)
    3:日期
    4:月份
    5:星期
    6:年
    7:寫保護(hù)寄存器
    8:慢速充電寄存器
*/ 

不勝感激!!但是還有問題想探討一番! [digital_king ] [19次] 01-5-24 下午 03:17:37 
真是雪中送碳呀!但是有一事不明,
我開始編得時(shí)候,也用了Acc,但是導(dǎo)師說不能用這個(gè)通用的累加寄存器,用之前還要將
原先的斷點(diǎn)保護(hù)起來!不知道,存不存在這個(gè)問題!??
謝謝你!
我的郵箱是greer@21cn.com  qq是10461207,歡迎和我聯(lián)系!  

當(dāng)然是隨機(jī)的 [方塘] [4次] 01-5-24 下午 04:19:05 
當(dāng)然是隨機(jī)的,你有設(shè)初值嗎? 

我當(dāng)然設(shè)初值了!? [digital_king ] [3次] 01-5-24 下午 04:24:44 

例子 [方塘] [9次] 01-5-24 下午 06:08:27 
Sub_Write1302:
           MOV   DPTR, #Init_Date  ;把日期,時(shí)間寫入 DS1302
           MOV   R0,   #YearH
           MOV   R4,   #8
W_1302:    MOVX  A,    @DPTR
           MOV   @R0,  A
           INC   R0
           INC   DPTR
           DJNZ  R4,   W_1302
           LCALL W_1302Time        ;寫時(shí)間子程序
           LCALL W_1302Time        
           RET


當(dāng)函數(shù)調(diào)用是沒有問題的 [shiaf] [11次] 01-5-24 下午 07:47:37 

DS1302 C51程序 [方塘] [23次] 01-7-1 上午 09:49:30 
/*********************************************************************/
/*                實(shí)時(shí)時(shí)鐘模塊            時(shí)鐘芯片型號(hào):DS1302       */
/*程序設(shè)計(jì):zhaojunjie                    日期:2001-06-08           */
/*********************************************************************/
sbit     T_CLK      = P2^7;   /*實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳 */
sbit     T_IO       = P1^4;   /*實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳 */
sbit     T_RST      = P1^5;   /*實(shí)時(shí)時(shí)鐘復(fù)位線引腳 */
/********************************************************************  
*
* 名稱: v_RTInputByte
* 說明: 
* 功能: 往DS1302寫入1Byte數(shù)據(jù)
* 調(diào)用:
* 輸入: ucDa 寫入的數(shù)據(jù) 
* 返回值: 無
***********************************************************************/
void  v_RTInputByte(uchar  ucDa)  
{                               
    uchar  i;
    ACC = ucDa;
    for(i=8; i>0; i--)
    {
          T_IO = ACC0;          /*相當(dāng)于匯編中的  RRC  */
         T_CLK = 1;
         T_CLK = 0;
         ACC = ACC >> 1;   
     }     
}
/********************************************************************  
*
* 名稱: uchar uc_RTOutputByte
* 說明: 
* 功能: 從DS1302讀取1Byte數(shù)據(jù)
* 調(diào)用: 
* 輸入: 
* 返回值: ACC
***********************************************************************/
uchar uc_RTOutputByte(void)  
{                             
    uchar i;
    for(i=8; i>0; i--)
    {
         ACC = ACC >>1;       /*相當(dāng)于匯編中的  RRC  */
          ACC7 = T_IO;
         T_CLK = 1;
         T_CLK = 0;
    }     
    return(ACC); 
}
/********************************************************************  
*
* 名稱: v_W1302
* 說明: 先寫地址,后寫命令/數(shù)據(jù)
* 功能: 往DS1302寫入數(shù)據(jù)
* 調(diào)用: v_RTInputByte() 
* 輸入: ucAddr: DS1302地址, ucDa: 要寫的數(shù)據(jù)
* 返回值: 無
***********************************************************************/
void  v_W1302(uchar ucAddr, uchar ucDa)
{
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    v_RTInputByte(ucAddr);      /* 地址,命令 */
    v_RTInputByte(ucDa);        /* 寫1Byte數(shù)據(jù)*/
    T_CLK = 1;
    T_RST =0;
} 
/********************************************************************  
*
* 名稱: uc_R1302
* 說明: 先寫地址,后讀命令/數(shù)據(jù)
* 功能: 讀取DS1302某地址的數(shù)據(jù)
* 調(diào)用: v_RTInputByte() , uc_RTOutputByte()
* 輸入: ucAddr: DS1302地址
* 返回值: ucDa :讀取的數(shù)據(jù)
***********************************************************************/
uchar  uc_R1302(uchar ucAddr)
{
    uchar ucDa;
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    v_RTInputByte(ucAddr);      /* 地址,命令 */
    ucDa = uc_RTOutputByte();   /* 讀1Byte數(shù)據(jù) */
    T_CLK = 1;
    T_RST =0;
    return(ucDa);
}
/********************************************************************  
*
* 名稱: v_BurstW1302T
* 說明: 先寫地址,后寫數(shù)據(jù)(時(shí)鐘多字節(jié)方式)
* 功能: 往DS1302寫入時(shí)鐘數(shù)據(jù)(多字節(jié)方式)
* 調(diào)用: v_RTInputByte() 
* 輸入: pSecDa: 時(shí)鐘數(shù)據(jù)地址    格式為: 秒 分 時(shí) 日 月 星期 年 控制
*                 8Byte  (BCD碼)        1B 1B 1B 1B 1B  1B  1B  1B
* 返回值: 無
***********************************************************************/
void  v_BurstW1302T(uchar *pSecDa)
{
    uchar  i;
    v_W1302(0x8e,0x00);       /* 控制命令,WP=0,寫操作?*/
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    v_RTInputByte(0xbe);      /* 0xbe:時(shí)鐘多字節(jié)寫命令 */
    for (i=8;i>0;i--)         /*8Byte = 7Byte 時(shí)鐘數(shù)據(jù) + 1Byte 控制*/
    {
        v_RTInputByte(*pSecDa);/* 寫1Byte數(shù)據(jù)*/
        pSecDa++;
    }
    T_CLK = 1;
    T_RST =0;
} 
/********************************************************************  
*
* 名稱: v_BurstR1302T
* 說明: 先寫地址,后讀命令/數(shù)據(jù)(時(shí)鐘多字節(jié)方式)
* 功能: 讀取DS1302時(shí)鐘數(shù)據(jù)
* 調(diào)用: v_RTInputByte() , uc_RTOutputByte()
* 輸入: pSecDa: 時(shí)鐘數(shù)據(jù)地址          格式為: 秒 分 時(shí) 日 月 星期 年 
*                       7Byte  (BCD碼)        1B 1B 1B 1B 1B  1B  1B
* 返回值: ucDa :讀取的數(shù)據(jù)
***********************************************************************/
void  v_BurstR1302T(uchar *pSecDa)
{
    uchar i;
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    v_RTInputByte(0xbf);      /* 0xbf:時(shí)鐘多字節(jié)讀命令 */
    for (i=8; i>0; i--)       
    {
        *pSecDa = uc_RTOutputByte();   /* 讀1Byte數(shù)據(jù) */
         pSecDa++;
    }
    T_CLK = 1;
    T_RST =0;
}
/********************************************************************  
*
* 名稱: v_BurstW1302R
* 說明: 先寫地址,后寫數(shù)據(jù)(寄存器多字節(jié)方式)
* 功能: 往DS1302寄存器數(shù)寫入數(shù)據(jù)(多字節(jié)方式)
* 調(diào)用: v_RTInputByte() 
* 輸入: pReDa: 寄存器數(shù)據(jù)地址
* 返回值: 無
***********************************************************************/
void  v_BurstW1302R(uchar *pReDa)
{
    uchar  i;
    v_W1302(0x8e,0x00);       /* 控制命令,WP=0,寫操作?*/
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    v_RTInputByte(0xfe);      /* 0xbe:時(shí)鐘多字節(jié)寫命令 */
    for (i=31;i>0;i--)        /*31Byte  寄存器數(shù)據(jù)   */
    {
        v_RTInputByte(*pReDa);        /* 寫1Byte數(shù)據(jù)*/
        pReDa++;
    }
    T_CLK = 1;
    T_RST =0;
} 
/********************************************************************  
*
* 名稱: uc_BurstR1302R
* 說明: 先寫地址,后讀命令/數(shù)據(jù)(寄存器多字節(jié)方式)
* 功能: 讀取DS1302寄存器數(shù)據(jù)
* 調(diào)用: v_RTInputByte() , uc_RTOutputByte()
* 輸入: pReDa: 寄存器數(shù)據(jù)地址
* 返回值: 無
***********************************************************************/
void  v_BurstR1302R(uchar *pReDa)
{
    uchar i;
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    v_RTInputByte(0xff);      /* 0xbf:時(shí)鐘多字節(jié)讀命令 */
    for (i=31; i>0; i--)       /*31Byte  寄存器數(shù)據(jù)   */
    {
        *pReDa = uc_RTOutputByte();   /* 讀1Byte數(shù)據(jù) */
         pReDa++;
    }
    T_CLK = 1;
    T_RST =0;
}
/********************************************************************  
*
* 名稱: v_Set1302
* 說明: 
* 功能: 設(shè)置初始時(shí)間
* 調(diào)用: v_W1302() 
* 輸入: pSecDa: 初始時(shí)間地址。初始時(shí)間格式為: 秒 分 時(shí) 日 月 星期 年 
*                       7Byte  (BCD碼)        1B 1B 1B 1B 1B  1B  1B
* 返回值: 無
***********************************************************************/
void  v_Set1302(uchar *pSecDa)  
{
       uchar i;
    uchar ucAddr = 0x80;    
    v_W1302(0x8e,0x00);          /* 控制命令,WP=0,寫操作?*/
    for(i =7;i>0;i--)
    { 
        v_W1302(ucAddr,*pSecDa);  /* 秒 分 時(shí) 日 月 星期 年 */
    
        pSecDa++;
        ucAddr +=2;
     }
     v_W1302(0x8e,0x80);  /* 控制命令,WP=1,寫保護(hù)?*/
}
/********************************************************************  
*
* 名稱: v_Get1302
* 說明: 
* 功能: 讀取DS1302當(dāng)前時(shí)間
* 調(diào)用: uc_R1302() 
* 輸入: ucCurtime: 保存當(dāng)前時(shí)間地址。當(dāng)前時(shí)間格式為: 秒 分 時(shí) 日 月 星期 年 
*                              7Byte  (BCD碼)        1B 1B 1B 1B 1B  1B  1B
* 返回值: 無
***********************************************************************/
void v_Get1302(uchar ucCurtime[])      
{
    uchar  i;
    uchar  ucAddr = 0x81;
    for (i=0;i<7;i++)
    {
         ucCurtime[i] = uc_R1302(ucAddr);/*格式為: 秒 分 時(shí) 日 月 
星期 年 */
         ucAddr += 2;
    }
}


 
點(diǎn)擊這里回復(fù)這篇貼子>>
_____________________________________________________________________________
Copyright?,C51BBS論壇 2000-2001 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
夜夜嗨av一区二区三区网页| av欧美精品.com| 石原莉奈在线亚洲三区| 夜色激情一区二区| 亚洲在线一区二区三区| 亚洲综合自拍偷拍| 夜夜精品视频一区二区| 亚洲一区二区在线视频| 视频一区中文字幕| 日韩二区三区在线观看| 奇米四色…亚洲| 国内精品国产三级国产a久久| 精品综合久久久久久8888| 国内成人免费视频| 国产精品亚洲午夜一区二区三区 | 免费看日韩a级影片| 日韩成人一区二区三区在线观看| 日韩精品色哟哟| 国产在线精品一区二区夜色| 国产麻豆视频一区| 成人av在线观| 91精品办公室少妇高潮对白| 欧美高清hd18日本| 久久综合久久综合久久综合| 国产精品国产精品国产专区不蜜| 中文字幕第一页久久| 麻豆视频观看网址久久| 久久国产精品色婷婷| 成人综合婷婷国产精品久久| 日本高清免费不卡视频| 欧美一区二区三区视频免费| 久久视频一区二区| 亚洲欧美经典视频| 免费美女久久99| 国产999精品久久| 在线观看av不卡| 亚洲精品一线二线三线无人区| 国产精品久久久久久久久免费相片| 亚洲自拍偷拍综合| 国产一区二区三区久久悠悠色av| av亚洲产国偷v产偷v自拍| 欧洲视频一区二区| 亚洲精品一区二区三区影院| 国产精品国产三级国产aⅴ中文 | 图片区小说区国产精品视频| 精品一区二区三区欧美| 成人免费高清在线| 538在线一区二区精品国产| 中文字幕第一区第二区| 亚洲1区2区3区视频| 国产福利精品一区二区| 欧美亚洲综合在线| 国产午夜三级一区二区三| 亚洲一区二区美女| 国产九九视频一区二区三区| 91久久线看在观草草青青| 亚洲精品一区二区三区香蕉| 一区二区三区在线视频观看58| 狠狠色综合日日| 欧美日韩一区在线观看| 欧美国产一区二区| 奇米色一区二区| 91麻豆123| 国产欧美一区二区三区网站| 日韩国产高清影视| 色婷婷精品久久二区二区蜜臂av | 国产日产欧美精品一区二区三区| 日韩在线一区二区三区| av电影在线不卡| 精品福利一区二区三区免费视频| 亚洲国产日韩av| 97精品国产97久久久久久久久久久久 | 国产精品乱码妇女bbbb| 乱一区二区av| 久久久久久久久久久久久久久99| 不卡av电影在线播放| 麻豆精品精品国产自在97香蕉| 色综合天天做天天爱| 26uuu精品一区二区三区四区在线| 国产精品久久久久久久久快鸭| 久草在线在线精品观看| 精品污污网站免费看| ...av二区三区久久精品| 国产伦精品一区二区三区视频青涩| 欧美日韩中文精品| 亚洲男人的天堂网| av在线不卡网| 久久99精品国产麻豆不卡| 蜜臀久久99精品久久久久久9 | 欧美影视一区二区三区| 久久精品理论片| 国产精品亚洲视频| 在线精品视频一区二区三四| 亚洲乱码中文字幕| 欧美日韩一区在线观看| 美女高潮久久久| 国产区在线观看成人精品| 波多野结衣在线一区| 亚洲免费观看高清完整版在线观看熊 | 欧美色图免费看| 蜜桃视频第一区免费观看| 久久久精品国产免大香伊| 99久久精品一区| 亚洲成人激情av| 精品福利在线导航| 91丨九色丨国产丨porny| 亚洲成国产人片在线观看| 亚洲精品在线电影| 91蜜桃婷婷狠狠久久综合9色| 亚洲成人综合网站| 久久尤物电影视频在线观看| 91亚洲永久精品| 日本最新不卡在线| 国产精品女同一区二区三区| 欧美亚洲丝袜传媒另类| 精品午夜一区二区三区在线观看| 中文字幕亚洲一区二区av在线| 欧美视频一区二区三区| 国产精品77777竹菊影视小说| 亚洲欧美日韩在线| 精品国产成人在线影院| 色综合久久久久综合体| 精品影视av免费| 一区二区三区蜜桃网| 26uuu亚洲综合色| 在线视频国内一区二区| 国产综合成人久久大片91| 一区二区三区四区在线播放| 2020国产精品自拍| 欧美性xxxxxx少妇| 国产成人在线视频免费播放| 亚洲综合色视频| 中国色在线观看另类| 在线播放/欧美激情| 波多野结衣欧美| 老司机精品视频线观看86| 亚洲美女屁股眼交3| 国产亚洲欧美日韩俺去了| 欧美区视频在线观看| 99精品桃花视频在线观看| 久久99久国产精品黄毛片色诱| 一区二区三区电影在线播| 国产欧美日本一区二区三区| 欧美裸体一区二区三区| 91精品在线免费观看| 91原创在线视频| 国产高清无密码一区二区三区| 日韩在线卡一卡二| 一区二区成人在线观看| 国产精品久久久久aaaa| 日韩免费视频一区| 欧美日韩久久不卡| 91毛片在线观看| 成人午夜电影小说| 国产麻豆成人传媒免费观看| 日韩va亚洲va欧美va久久| 亚洲妇女屁股眼交7| 国产精品福利在线播放| 国产亚洲综合性久久久影院| 日韩你懂的在线播放| 欧美日韩精品一区二区天天拍小说| 99re视频这里只有精品| 成人午夜激情视频| 丁香另类激情小说| 国产91丝袜在线观看| 国产一区二区主播在线| 久久国产精品露脸对白| 久久精品国产秦先生| 青青草成人在线观看| 日韩精品福利网| 日日夜夜精品免费视频| 亚洲韩国精品一区| 亚洲一区二区三区四区五区黄| 亚洲欧美日韩在线| 亚洲欧美日韩久久精品| 亚洲人成网站精品片在线观看 | 不卡一区中文字幕| 国产成人午夜电影网| 粉嫩在线一区二区三区视频| 国产99久久久精品| 成人激情小说乱人伦| www.成人在线| 97久久精品人人做人人爽50路| 97久久超碰国产精品| 在线观看视频一区二区| 欧美三级乱人伦电影| 6080国产精品一区二区| 日韩成人伦理电影在线观看| 精品1区2区3区| 激情欧美一区二区| 久久久久9999亚洲精品| av中文一区二区三区| 亚洲一区二区av电影| 日韩色在线观看| 成人一区二区三区| 亚洲成人午夜电影| 国产欧美精品区一区二区三区 | 蜜桃视频免费观看一区| 精品福利一区二区三区 | 日本一区二区三区久久久久久久久不|