《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > PIC單片機控制時鐘芯片DS1302匯編程序

PIC單片機控制時鐘芯片DS1302匯編程序

2015-10-22
關鍵詞: DS1302 時鐘芯片

#INCLUDE
CBLOCK 20H
SEC ;秒
MIN ;分
HOU ;小時
DATE ;日期
MON ;月
DAY ;日
YERR ;年
DDD ;寫使能位
TIME_TX ;1302發送寄存器
TIME_RX ;1302接收寄存器
COUNT1 ;
COUNT2 ;
DELAY1
DELAY2
ENDC
*******************************
; ; 1302子程序說明
; ;******************************
; DS1302INI ;1302初始化,先禁止RST,設定充電方式
; SET_TIME ;一次發送7個數據設定時間,包含寫使能寄存器,8個數據
; GET_TIME ;一次接收7個數據顯示時間
; TIME_WRITE_1;一次寫入1302一個字節
; TIME_READ_1 ;一次接收一個字節數據
; ;******* 1302定義**************
; ;******************************
#DEFINE I_O PORTC,7 ;1302I_O
#DEFINE SCLK PORTC,6 ;1302時鐘
#DEFINE RST PORTA,0 ;1302使能位
#DEFINE RX_ADD 40H ;保存接受的7個數據
#DEFINE TX_ADD 20H ;開始保存7個要寫入的時間數據
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個時間數據
CALL GET_TIME ; 一次讀回7個時間數據
GOTO $


;; 寫入秒,可以寫任意的7個時間數據,單字節
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個時間,單字節


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;發送一個字節的數據
BCF RST

;設定充電方式

沒有設定
RETURN

;**************************************************
; SET_TIME
; 作用:一次輸入7個數據來一次性的設定時間,同時使能寫寄存器
; 突發模式寫入,必須寫入8個數據,不是7個
; INPUT:要設定的8個數據已經寫入到TIME_TX_ADD開始的8個字節里面
;**************************************************
SET_TIME
MOVLW B'10111110' ;標志位
MOVWF TIME_TX
BSF RST
CALL TIME_WRITE_1
;TIME_WRITE_8 ;發送8個數據
MOVLW TIME_TX_ADD ;發送數據的起始地址
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個字節的時間數據,突發模式讀取
; INPUT:NONE
; OUTPUT:把7個時間數據保存在TIME_RX_ADD開始的7個寄存器里面
;***********************************************
GET_TIME
MOVLW B'10111111'
MOVWF TIME_TX
BSF RST
CALL TIME_WRITE_1
;TIME_READ_7 ;接收7個數據
MOVLW TIME_RX_ADD ;保存數據的起始地址
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
; 作用:一次發送一個字節的數據,用于發送1302的
; 控制字或者發送一個數據
; 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 ;高電平發送數據
DECFSZ COUNT1,F
GOTO TLOP
BCF SCLK ;恢復
RETURN
;************************************************
; TIME_READ_1
; 作用:讀取1302一個字節的數據
; INPUT: NONE
; OUTPUT:接收數據保存在TIME_RX里面
; 原理:在SCLK下降沿接收數據,低字節在前,根據I_O的
; 的電平的高低,采取帶進位和不帶進位右移.
;***********************************************
TIME_READ_1
BANK1
BSF TRISC,7 ;I_O IS INPUT
BANK0
MOVLW D'8'
MOVWF COUNT1 ;讀取8個字節
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

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产123在线观看| 国产精品久关键词| 中文字幕AV一区中文字幕天堂| 最近中文字幕资源8| 亚洲欧美日韩一区二区三区在线| 看大片全色黄大色黄| 台湾三级香港三级经典三在线| 蹂躏国际女刑警之屈服| 国产我和子的与子乱视频| 手机在线观看你懂的| 国产美女一级高清免费观看| a毛片成人免费全部播放| 岳的大白屁股光溜溜| 中文字幕人妻偷伦在线视频| 日本三级片网站| 久久精品国产网红主播| 最近中文字幕完整视频高清电影| 亚洲国产精品热久久| 欧美牲交A欧美在线| 亚洲精品无码久久毛片| 狼群视频在线观看www| 免费a级毛片在线观看| 精品国产乱码久久久久久浪潮| 噼里啪啦完整高清观看视频| 色欲国产麻豆一精品一AV一免费| 国产人碰人摸人爱视频| 韩国无遮挡羞羞漫画| 国产在线观看色| 高清一区二区三区视频| 国产国语一级毛片全部| 高清午夜看片a福利在线观看琪琪| 国产日韩精品视频| 免费能直接在线观看黄的视频| 国产精品一区二区久久不卡| 夜夜爽免费视频| 国产精品乱码在线观看| 最新精品亚洲成a人在线观看| 国产精品熟女一区二区| 2021年最热新版天堂资源中文| 国产精品视频一区二区三区不卡| 91精品全国免费观看含羞草|