• <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    技術熱線: 4007-888-234
    設計開發(fā)

    專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

    開發(fā)工具

    提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

    技術支持

    從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

    新品推廣

    提供新的芯片及解決方案,提升客戶產品競爭力

    新聞中心

    提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

    PIC單片機讀寫時鐘芯片DS1302匯編程序

    更新時間: 2019-03-22
    閱讀量:4275

    十年專注單片機方案開發(fā)深圳英銳恩,與您分享PIC單片機讀寫時鐘芯片DS1302匯編程序。

    #INCLUDE
    CBLOCK 20H
    SEC ;秒
    MIN ;分
    HOU ;小時
    DATE ;日期
    MON ;月
    DAY ;日
    YERR ;年
    DDD ;寫使能位
    TIME_TX ;1302發(fā)送寄存器
    TIME_RX ;1302接收寄存器
    COUNT1 ;
    COUNT2 ;
    DELAY1
    DELAY2
    ENDC
    *******************************
    ; ; 1302子程序說明
    ; ;******************************
    ; DS1302INI ;1302初始化,先禁止RST,設定充電方式
    ; SET_TIME ;一次發(fā)送7個數(shù)據(jù)設定時間,包含寫使能寄存器,8個數(shù)據(jù)
    ; GET_TIME ;一次接收7個數(shù)據(jù)顯示時間
    ; TIME_WRITE_1;一次寫入1302一個字節(jié)
    ; TIME_READ_1 ;一次接收一個字節(jié)數(shù)據(jù)
    ; ;******* 1302定義**************
    ; ;******************************
    #DEFINE I_O PORTC,7 ;1302I_O
    #DEFINE SCLK PORTC,6 ;1302時鐘
    #DEFINE RST PORTA,0 ;1302使能位
    #DEFINE RX_ADD 40H ;保存接受的7個數(shù)據(jù)
    #DEFINE TX_ADD 20H ;開始保存7個要寫入的時間數(shù)據(jù)
    BANK1 MACRO
    BSF STATUS,RP0
    ENDM
    BANK0 MACRO
    BCF STATUS,RP0
    ENDM

    ORG 000H
    NOP
    GOTO MAIN
    MAIN

    CALL CLR_RAM 清除RAN
    CALL PORT_INI 端口定義
    CALL DS1302_INI
    CALL SET_TIME 一次寫入7個時間數(shù)據(jù)
    CALL GET_TIME ; 一次讀回7個時間數(shù)據(jù)
    GOTO $


    ;; 寫入秒,可以寫任意的7個時間數(shù)據(jù),單字節(jié)
    MOVLW B'10000000'
    MOVWF TIME_TX
    BSF RST
    CALL TIME_WRITE_1
    MOVLW B'00100101'
    MOVWF TIME_TX
    CALL TIME_WRITE_1
    BCF RST

    讀秒,可以讀任意7個時間,單字節(jié)


    MOVLW B'10000001'
    MOVWF TIME_TX
    BSF RST
    CALL TIME_WRITE_1
    CALL TIME_READ_1
    BCF RST

    GOTO $

    :子程序

    **************************************************
    ; DS1302_INI
    ; 作用:初始化1302,先禁止RST,允許寫使能
    ;**************************************************
    DS1302_INI
    BCF SCLK
    BCF RST ;先禁止
    MOVLW B'10001110' ;寫使能寄存器
    MOVWF TIME_TX
    BSF RST
    CALL TIME_WRITE_1
    MOVLW B'0' ;允許寫使能
    MOVWF TIME_TX
    CALL TIME_WRITE_1;發(fā)送一個字節(jié)的數(shù)據(jù)
    BCF RST

    ;設定充電方式

    沒有設定
    RETURN

    ;**************************************************
    ; SET_TIME
    ; 作用:一次輸入7個數(shù)據(jù)來一次性的設定時間,同時使能寫寄存器
    ; 突發(fā)模式寫入,必須寫入8個數(shù)據(jù),不是7個
    ; INPUT:要設定的8個數(shù)據(jù)已經(jīng)寫入到TIME_TX_ADD開始的8個字節(jié)里面
    ;**************************************************
    SET_TIME
    MOVLW B'10111110' ;標志位
    MOVWF TIME_TX
    BSF RST
    CALL TIME_WRITE_1
    ;TIME_WRITE_8 ;發(fā)送8個數(shù)據(jù)
    MOVLW TIME_TX_ADD ;發(fā)送數(shù)據(jù)的起始地址
    MOVWF FSR
    MOVLW D'8'
    MOVWF COUNT2
    TW1
    MOVF INDF,W
    MOVWF TIME_TX
    CALL TIME_WRITE_1
    INCF FSR,F
    DECFSZ COUNT2,F
    GOTO TW1
    BCF RST
    RETURN
    ;***********************************************
    ; GET_TIME
    ; 作用:一次接受7個字節(jié)的時間數(shù)據(jù),突發(fā)模式讀取
    ; INPUT:NONE
    ; OUTPUT:把7個時間數(shù)據(jù)保存在TIME_RX_ADD開始的7個寄存器里面
    ;***********************************************
    GET_TIME
    MOVLW B'10111111'
    MOVWF TIME_TX
    BSF RST
    CALL TIME_WRITE_1
    ;TIME_READ_7 ;接收7個數(shù)據(jù)
    MOVLW TIME_RX_ADD ;保存數(shù)據(jù)的起始地址
    MOVWF FSR
    MOVLW D'7'
    MOVWF COUNT2
    TR2
    CALL TIME_READ_1
    MOVF TIME_RX,W
    MOVWF INDF
    INCF FSR,F
    DECFSZ COUNT2,F
    GOTO TR2
    BCF RST
    RETURN
    ;************************************************
    ; TIME_WRITE_1
    ; 作用:一次發(fā)送一個字節(jié)的數(shù)據(jù),用于發(fā)送1302的
    ; 控制字或者發(fā)送一個數(shù)據(jù)
    ; INPUT: TIME_TX
    ;************************************************
    TIME_WRITE_1
    MOVLW D'8'
    MOVWF COUNT1
    TLOP
    BCF I_O ;初始值是低電平
    BCF SCLK
    BTFSC TIME_TX,0
    BSF I_O
    RRF TIME_TX,F
    BSF SCLK ;高電平發(fā)送數(shù)據(jù)
    DECFSZ COUNT1,F
    GOTO TLOP
    BCF SCLK ;恢復
    RETURN
    ;************************************************
    ; TIME_READ_1
    ; 作用:讀取1302一個字節(jié)的數(shù)據(jù)
    ; INPUT: NONE
    ; OUTPUT:接收數(shù)據(jù)保存在TIME_RX里面
    ; 原理:在SCLK下降沿接收數(shù)據(jù),低字節(jié)在前,根據(jù)I_O的
    ; 的電平的高低,采取帶進位和不帶進位右移.
    ;***********************************************
    TIME_READ_1
    BANK1
    BSF TRISC,7 ;I_O IS INPUT
    BANK0
    MOVLW D'8'
    MOVWF COUNT1 ;讀取8個字節(jié)
    TR1
    BCF SCLK ;下降沿讀取
    BCF STATUS,C
    BTFSC I_O
    BSF STATUS,C
    RRF TIME_RX,F
    BSF SCLK ;恢復高電平
    DECFSZ COUNT1,F
    GOTO TR1
    BANK1
    BCF TRISC,7 ;OUTPUT
    BANK0
    BCF SCLK ;恢復
    RETURN
    NOP

     

    PORT_INI
    BANK1
    MOVLW B'00000000'
    MOVWF TRISC
    MOVLW B'0'
    MOVWF TRISB
    MOVLW B'00000111'
    MOVWF ADCON1
    MOVLW B'00000000'
    MOVWF TRISA
    BANK0
    MOVLW 18H
    MOVWF 20H
    MOVLW 19H
    MOVWF 21H
    MOVLW 05H
    MOVWF 22H
    MOVLW 13H
    MOVWF 23H
    MOVLW 14H
    MOVWF 24H
    MOVLW 15H
    MOVWF 25H
    MOVLW 16H
    MOVWF 26H
    RETURN
    CLR_RAM
    MOVLW 20H
    MOVWF FSR
    LOOP
    CLRF INDF
    INCF FSR,F
    BTFSS FSR,7
    GOTO LOOP ;清除32個
    RETURN
    END

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频
  • <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>
    女性黄色毛片| 成人毛片一区二区三区| 国产福利小视频| 久久精品无码日韩| 亚欧18区在线| 国产免费凸凹视频| 中文有码Av| 青青草人人干| 少妇A级无码| 777久看片| 黄色录像AV| 日本成人精品| 秋霞熟妇一区二区| AV最新资源在线| 97热热| 日韩9区| 97超碰人人操人人摸| 亚洲成人色导航网| 色色九九五月天| 日韩av资源站| 精品尤物网| 91三级高清视频| 免费人妻超碰| 人人操人人操91| 亚洲成人有码一区二区| 色av无码导航| 91aV资源福利| 婷婷性爱五月天| 香蕉三级片精彩视频| 青久草av| 99立即播放| 日韩免费AV视屏| 色天堂影院| 超碰先峰| 特级婬片裸体免费看| 高清色综合| 国产手机AV在线观看| 日韩AⅤ一级| 日韩av网站免费看| 国产一级AV国产免费| 島國午夜男人91色色網|