中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stc單片機(jī)1TMCU控制DS1302程序

        stc單片機(jī)1TMCU控制DS1302程序

        作者: 時(shí)間:2013-05-11 來源:網(wǎng)絡(luò) 收藏
        SCLKBITP1.0;時(shí)鐘口P1.0
        IOBITP1.1;數(shù)據(jù)口P1.1

        RSTBITP1.2;片選口P1.2 NOWDATA40H ORG0
        JMPReset ORG100H
        Reset:
        CALLDS1302_Initial;初始化DS1302
        MOV DPTR,#INIT
        CALLDS1302_SetTime;設(shè)置初始時(shí)間
        MOV R0,#NOW
        CALLDS1302_GetTime;讀取當(dāng)前時(shí)間 JMP$ INIT://秒分時(shí)日月星期年
        DB00H,00H,20H,01H,01H,05H,10H
        ;**************************************
        ;延時(shí)X微秒(STC12C5A60S2@12M)
        ;不同的工作環(huán)境,需要調(diào)整此函數(shù)
        ;入口參數(shù):R7
        ;出口參數(shù):無
        ;**************************************
        Delay:;6此延時(shí)函數(shù)是使用1T的指令周期進(jìn)行計(jì)算,與傳統(tǒng)的12T的MCU不同
        NOP;1
        NOP;1
        RET;4
        ;**************************************
        ;從DS1302讀1字節(jié)數(shù)據(jù)
        ;入口參數(shù):無
        ;出口參數(shù):ACC
        ;**************************************
        DS1302_ReadByte:
        CLRA
        PUSH0
        MOV 0,#8;8位計(jì)數(shù)器
        ReadNext:
        CLRSCLK;時(shí)鐘線拉低
        CALLDelay;延時(shí)等待
        MOV C,IO;讀取數(shù)據(jù)
        RRCA;保存數(shù)據(jù)
        SETBSCLK;時(shí)鐘線拉高
        CALLDelay;延時(shí)等待
        DJNZ0,ReadNext
        POP0
        RET ;**************************************
        ;向DS1302寫1字節(jié)數(shù)據(jù)
        ;入口參數(shù):ACC
        ;出口參數(shù):無
        ;**************************************
        DS1302_WriteByte:
        PUSH0
        MOV 0,#8;8位計(jì)數(shù)器
        WriteNext:
        CLRSCLK;時(shí)鐘線拉低
        CALLDelay;延時(shí)等待
        RRCA;移出數(shù)據(jù)
        MOV IO,C;送出到端口
        SETBSCLK;時(shí)鐘線拉高
        CALLDelay;延時(shí)等待
        DJNZ0,WriteNext
        POP0
        RET ;**************************************
        ;讀DS1302某地址的的數(shù)據(jù)
        ;入口參數(shù):ACC(地址)
        ;出口參數(shù):ACC(讀出的數(shù)據(jù))
        ;**************************************
        DS1302_ReadData:
        CLRRST;拉低片選
        CALLDelay;延時(shí)等待
        CLRSCLK;時(shí)鐘線拉低
        CALLDelay;延時(shí)等待
        SETBRST;使能片選
        CALLDelay;延時(shí)等待
        CALLDS1302_WriteByte;寫地址
        CALLDS1302_ReadByte;讀數(shù)據(jù)
        RET ;**************************************
        ;往DS1302的某個(gè)地址寫入數(shù)據(jù)
        ;入口參數(shù):ACC(地址)B(需寫入的數(shù)據(jù))
        ;出口參數(shù):無
        ;**************************************
        DS1302_WritEDAta:
        CLRRST;拉低片選
        CALLDelay;延時(shí)等待
        CLRSCLK;時(shí)鐘線拉低
        CALLDelay;延時(shí)等待
        SETBRST;使能片選
        CALLDelay;延時(shí)等待
        CALLDS1302_WriteByte;寫地址
        MOV A,B;地址數(shù)據(jù)送入ACC
        CALLDS1302_WriteByte;寫數(shù)據(jù)
        RET ;**************************************
        ;寫入初始時(shí)間
        ;入口參數(shù):DPTR(初始值地址)
        ;出口參數(shù):無
        ;**************************************
        DS1302_SetTime:
        MOV A,#8EH
        MOV B,#0
        CALLDS1302_WriteData;允許寫操作
        MOV R7,#80H;從寄存器80開始
        MOV R6,#7;連續(xù)寫7次
        SetNext:
        CLRA
        MOV CA,@A+DPTR
        MOV B,A;數(shù)據(jù)
        MOV A,R7;地址
        CALLDS1302_WriteData;寫數(shù)據(jù)
        INCR7
        INCR7;寄存器地址+2
        INCDPTR;數(shù)據(jù)地址+1
        DJNZR6,SetNext
        MOV A,#8EH
        MOV B,#80H
        CALLDS1302_WriteData;寫保護(hù)
        RET ;**************************************
        ;讀取當(dāng)前時(shí)間
        ;入口參數(shù):R0(數(shù)據(jù)緩沖區(qū)首地址)
        ;出口參數(shù):無
        ;**************************************
        DS1302_GetTime:
        MOV R7,#81H;從寄存器81開始
        MOV R6,#7;連續(xù)讀7次
        GetNext:
        MOV A,R7;地址
        CALLDS1302_ReadData;讀數(shù)據(jù)
        MOV @R0,A;保存數(shù)據(jù)
        INCR7
        INCR7;寄存器地址+2
        INCR0;數(shù)據(jù)地址+1
        DJNZR6,GetNext
        RET ;**************************************
        ;初始化DS1302
        ;**************************************
        DS1302_Initial:
        CLRRST
        CLRSCLK
        MOV A,#8EH
        MOV B,#0
        CALLDS1302_WriteData;允許寫操作
        MOV A,#80H
        MOV B,#0
        CALLDS1302_WriteData;時(shí)鐘啟動(dòng)
        MOV A,#90H
        MOV B,#0A6H
        CALLDS1302_WriteData;一個(gè)二極管+4K電阻充電
        MOV A,#8EH
        MOV B,#80H
        CALLDS1302_WriteData;寫保護(hù)
        RET END


        關(guān)鍵詞: stc單片機(jī) 1TMCU DS1302

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉