大香蕉大香蕉在线播放-日韩av在线一区中文字幕-日韩熟女熟妇久久精品综合-精品免费视频一区二区三区

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

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

開發(fā)工具

提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫(kù)分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

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

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

更新時(shí)間: 2019-03-22
閱讀量:3244

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

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


;; 寫入秒,可以寫任意的7個(gè)時(shí)間數(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個(gè)時(shí)間,單字節(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ā)送一個(gè)字節(jié)的數(shù)據(jù)
BCF RST

;設(shè)定充電方式

沒有設(shè)定
RETURN

;**************************************************
; SET_TIME
; 作用:一次輸入7個(gè)數(shù)據(jù)來一次性的設(shè)定時(shí)間,同時(shí)使能寫寄存器
; 突發(fā)模式寫入,必須寫入8個(gè)數(shù)據(jù),不是7個(gè)
; INPUT:要設(shè)定的8個(gè)數(shù)據(jù)已經(jīng)寫入到TIME_TX_ADD開始的8個(gè)字節(jié)里面
;**************************************************
SET_TIME
MOVLW B'10111110' ;標(biāo)志位
MOVWF TIME_TX
BSF RST
CALL TIME_WRITE_1
;TIME_WRITE_8 ;發(fā)送8個(gè)數(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個(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

 

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

日本免费一区二区在线| 午夜国产三级一区二区三| 男生鸡鸡插进女生笑穴里| 九九视频免费在线观看| 欧美日韩一区二区成人在线| 在线精品亚洲观看不卡欧| 操女人真人大骚逼| 国产A级黄片下载| 亚洲国产精品伦理在线看| 在线观看国产黄色| 国产成人AV一区二区在线观看| 欧美性一区二区三区五区| 无码人妻免费一区二区三区| 正在播放 国产精品推荐| 亚洲AV无码一区二区三区天堂古| 美女大骚逼幸福遍穴| 韩美国男人叉女人| 大鸡巴插入骚穴在线观看| 国产综合精品一区二区青青| 亚洲日韩不卡一区二区三区| 男人草女人的视频免费看| 护士毛片在线看中文字幕| 黑人大鸡巴双插美女| 国产一级第一级毛片| 国产黄片在线免费看| 日本一区二区三区高潮喷吹| 久久久久久久久黄片观看| 色噜噜噜噜一区二区三区| 操你的骚逼粉嫩AV| 翘臀小穴在线观看| 国产一区二区在线观看精品| 免费看澡美女逼视频看看| 国产精选三级在线观看| 亚洲av午夜一区二区| 帅哥大鸡巴操美女| 欧美综合区自拍亚洲综合| 久久久国产精品亚洲无码| 操鸡巴奶子在线观看| 美女玩奶子和鸡巴| 精品久久久久久不卡亚洲| 日本高清不卡一区二区三区|