<
#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 |
|