找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1986|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

DS3231匯編程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:261025 發(fā)表于 2023-10-23 17:37 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
忘了程序在哪找的   程序可以正常使用



               ADDRESS EQU  2EH;

                   SCL BIT P3.6;                 DS3231 16腳
                                   SDA BIT P3.7;                 DS3231 15腳

                ;       30H ; 秒        #00H
                                ;       31H ; 分    #01H
                                ;       32H ; 時    #02H
                                ;       33H ; 周    #03H
                                ;       34H ; 日    #04H
                                ;       35H ; 月    #05H
                                ;       36H ; 年    #06H        
                                
                                
;寫入時間日期 把30H到36H內(nèi)的數(shù)據(jù)寫入到DS3231                        
                          LCALL SHEZHI_3231;
                          
;讀時間日期   把從DS3231讀出的數(shù)據(jù)存到30H到36H
              LCALL READ_3231;        
                                
;=================設(shè)置3231功能=================================
;D0H寫入,D1H讀出
;==============================================================
//設(shè)置時間
SHEZHI_3231:
        MOV R6,#0D0H        ;寫入數(shù)據(jù)識別碼
        MOV R0,#30H         ;R0作為間接尋址         存放預(yù)設(shè)時間         
        MOV ADDRESS,#00H;開始寫入地址 從秒開始
        MOV R5,#7
        LCALL  WRITE
        RET
//寫入時間
WRITE:
        LCALL  START
        MOV A,R6
        LCALL  SENDA
        LCALL  ACK
        JC WRITE      
        MOV A,ADDRESS
        LCALL  SENDA
        LCALL  ACK
        MOV A,@R0              
        LCALL  SENDA
        LCALL  ACK
        LCALL  STOP
        INC R0
        INC ADDRESS
        DJNZ R5,WRITE ;減1后不為0轉(zhuǎn)移,存儲6位
        RET
;=================3231讀程序==============================
READ_3231:
            MOV R0,#30H;                        ;R0開始存放地址
        MOV ADDRESS,#00H;        ;指向地址 秒
        MOV R5,#7;           讀七位 讀到年                    
SS:     MOV R2,#0D0H;        3231ID識別      
        MOV R4,#0D1H;        讀3231
        LCALL READ          ;調(diào)用讀存儲器程序
        INC ADDRESS
        INC R0
        DJNZ R5,SS
//溫度
/*       MOV R0,#38H                        ;R0開始存放地址
        MOV ADDRESS,#11H        ;指向溫度地址  
        MOV R2,        #0D0H;3231ID識別      
        MOV R4,        #0D1H;讀3231
        LCALL  READ                ;調(diào)用讀存儲器程序         */
        RET

;----------------------------------
READ:        LCALL START                ;啟動總線
        MOV A,R2        ;發(fā)送芯片識別碼
        LCALL SENDA
        LCALL ACK                ; 芯片應(yīng)答
        JC READ                ;

        MOV A,ADDRESS
        LCALL SENDA
        LCALL ACK

READ_A:        LCALL START
        MOV A,R4
        LCALL SENDA
        LCALL ACK
        JC READ_A

RECE:   LCALL RECEIVE
        MOV @R0,A        ;讀到數(shù)據(jù)存儲到@R0指定地址
        LCALL ACK
        LCALL STOP
        RET
;-------總線啟動程序---------
START:  SETB SCL
        SETB SDA
        NOP
        NOP
        CLR SDA
        NOP
        NOP
        CLR SCL
        RET
;-------總線停止程序---------
STOP:   CLR SDA
        NOP
        NOP
        SETB SCL
        NOP
        NOP
        SETB SDA
        RET
;-----------應(yīng)答----------
ACK:    SETB SDA
        NOP
        NOP
        SETB SCL
        JB SDA,ACK_0
        CLR C
        SJMP ACK_1

ACK_0:  SETB C
ACK_1:  NOP
        NOP
        CLR SCL
        RET
;--------------發(fā)送8位數(shù)據(jù)---------
SENDA:  MOV B,#08H
SEND_1: RlC A
        MOV SDA,C
        SETB SCL
        NOP
        NOP
        CLR SCL
        DJNZ B,SEND_1
        RET
;--------------接收8位數(shù)據(jù)-----------
RECEIVE:    MOV B,#08H
            CLR A
            SETB SDA
RECEIVE_1:  SETB SCL
            NOP
            NOP
            MOV C,SDA
            RlC A
            CLR SCL
            DJNZ B,RECEIVE_1
            RET

評分

參與人數(shù) 2黑幣 +55 收起 理由
新鄉(xiāng)家電維修 + 5 贊一個!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:654797 發(fā)表于 2023-10-23 19:15 | 只看該作者
對匯編是一巧不通
回復(fù)

使用道具 舉報

板凳
ID:16255 發(fā)表于 2023-10-24 09:39 | 只看該作者
vscos 發(fā)表于 2023-10-23 19:15
對匯編是一巧不通

以前還會用匯編寫一些程序,現(xiàn)在全忘記了。甚至拿以前寫過的程序出來看,自己都搞不清了。
回復(fù)

使用道具 舉報

地板
ID:1083996 發(fā)表于 2023-10-24 13:55 | 只看該作者
匯編其實才是王道,特別是單片機上,所謂通用性,工控領(lǐng)域啊
回復(fù)

使用道具 舉報

5#
ID:255559 發(fā)表于 2023-10-25 09:25 | 只看該作者
謝謝分享的程序。
回復(fù)

使用道具 舉報

6#
ID:126422 發(fā)表于 2023-11-1 12:03 | 只看該作者
學(xué)習(xí)匯編程序,芯片的計時精度不錯。
回復(fù)

使用道具 舉報

7#
ID:1083996 發(fā)表于 2023-11-1 13:14 | 只看該作者
一直想用高精度時鐘芯片做個高精度時鐘
回復(fù)

使用道具 舉報

8#
ID:76044 發(fā)表于 2023-11-2 09:04 | 只看該作者
只是這芯片有些小貴
回復(fù)

使用道具 舉報

9#
ID:433219 發(fā)表于 2023-11-3 07:56 | 只看該作者
這年代,季節(jié)快,許多花兒開-----再也提不起興趣看asm了
回復(fù)

使用道具 舉報

10#
ID:126422 發(fā)表于 2023-11-8 11:38 | 只看該作者
lxm41577 發(fā)表于 2023-11-2 09:04
只是這芯片有些小貴

前幾年買的小板帶24C02,才3元多,現(xiàn)在應(yīng)該漲價了。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表