• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)控制時(shí)鐘芯片DS1302匯編程序

    PIC單片機(jī)控制時(shí)鐘芯片DS1302匯編程序

    作者: 時(shí)間:2011-05-28 來源:網(wǎng)絡(luò) 收藏

    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個(gè)字節(jié)的時(shí)間數(shù)據(jù),突發(fā)模式讀取
    ; INPUT:NONE
    ; OUTPUT:把7個(gè)時(shí)間數(shù)據(jù)保存在TIME_RX_ADD開始的7個(gè)寄存器里面
    ;***********************************************
    GET_TIME
    MOVLW B'10111111'
    MOVWF TIME_TX
    BSF RST
    CALL TIME_WRITE_1
    ;TIME_READ_7 ;接收7個(gè)數(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ā)送一個(gè)字節(jié)的數(shù)據(jù),用于發(fā)送1302的
    ; 字或者發(fā)送一個(gè)數(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 ;恢復(fù)
    RETURN
    ;************************************************
    ; TIME_READ_1
    ; 作用:讀取1302一個(gè)字節(jié)的數(shù)據(jù)
    ; INPUT: NONE
    ; OUTPUT:接收數(shù)據(jù)保存在TIME_RX里面
    ; 原理:在SCLK下降沿接收數(shù)據(jù),低字節(jié)在前,根據(jù)I_O的
    ; 的電平的高低,采取帶進(jìn)位和不帶進(jìn)位右移.
    ;***********************************************
    TIME_READ_1
    BANK1
    BSF TRISC,7 ;I_O IS INPUT
    BANK0
    MOVLW D'8'
    MOVWF COUNT1 ;讀取8個(gè)字節(jié)
    TR1
    BCF SCLK ;下降沿讀取
    BCF STATUS,C
    BTFSC I_O
    BSF STATUS,C
    RRF TIME_RX,F
    BSF SCLK ;恢復(fù)高電平
    DECFSZ COUNT1,F
    GOTO TR1
    BANK1
    BCF TRISC,7 ;OUTPUT
    BANK0
    BCF SCLK ;恢復(fù)
    RETURN
    NOP

    本文引用地址:http://www.czjhyjcfj.com/article/150694.htm

     

    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個(gè)
    RETURN
    END


    上一頁 1 2 下一頁

    評(píng)論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 广西| 肥东县| 缙云县| 广德县| 图木舒克市| 醴陵市| 疏附县| 黄石市| 吴堡县| 阿克苏市| 苏尼特右旗| 正宁县| 高雄县| 赫章县| 成都市| 井冈山市| 绥滨县| 长岛县| 曲松县| 漯河市| 泾源县| 蓝山县| 泾源县| 海林市| 佳木斯市| 诸暨市| 恩平市| 祁东县| 横峰县| 巨野县| 明光市| 海兴县| 关岭| 治多县| 安远县| 河北区| 招远市| 英吉沙县| 偃师市| 于田县| 会宁县|