DATA BIT P1.0;HD7379的DATA连接与P1.0
CS BIT P1.1;HD7379的CS连接与P1.1
CLK BIT P1.2;HD7379的CLK连接与P1.2
ORG 0000H
AJMP MAIN
ORG 0003H
LJMP INT0
ORG 0013H
LJMP INT1
ORG 0100H
MAIN:SETB TI0
SETB EX0
SETB TI1
SETB EX1
SETB EA
MOV DPTR,#200AH;DS302 初始化
MOV A,
LCALL RDS12887
LOOP:MOV R0,#00H
MOV DPTR,#TABLE
www.751com.cn
LCALL ZL
AJMP MAIN
LOOP3:INC R0
MOV A,#0FH
CJNE A,R0,LOOP5
MOV R0,#00H
LJMP LOOP5
LOOP4:MOV A,#0DH
CJNE A,R0,LOOP3
LCALL SG
LCALL SOUT
SOUT:MOV TMOD,#20H ;设置定时器T1为模式2
MOV TL1,#F3H ;送初值
MOV TH1,#F3H ;
SETB TR1 ;启动定时器
MOV SCON,#0D0H ;设置串行口为模式3,允许接收
MOV PCON,#50H ;设SMOD=1
MOV R0, #40H ;发送数据首地址到R0
MOV R7, #0DH ;数据块长度为送R7
TRS:MOV A, @R0 ;区数据到A中
MOV C, P ;奇偶标志放入C中
MOV TB8,C ;根据奇偶标志PS设置TB8
MOV SBUF,A ;数据送到SBUF,启动发送
WAIT:JBC TI, CONT ;查询TI=1,跳转并清TI为0
SJMP WAIT ;否则TI=0未发送完毕
CONT:INC R0 ;修改数据地址
DJNZ R7,TRS ;一组数据未发送完,继续
RET ;发送完,子程序返回
RDS12887:
MOV DPTR,#200AH;判断DS302中A寄存器的UIP位是否为1如果为1的话读时间数据到缓冲区,否则的话继续查询