专栏中心

EEPW首页 > 专栏 > ds1302

ds1302

发布人:0750long 时间:2010-02-02 来源:工程师 发布文章
ds1302

 

 

;========功能提要=========
;DS1302显示时间程序
;本课重点为DS1302的时序
;=========================
SCLK BIT P2.3     ;时钟线(当SCLK为1时,数据被写入,为0数据被输出)
IO_K BIT P2.4     ;数据线
RST  BIT P2.5     ;所有数据传送在RST为1进行,为0停止任何数据的传送。
YS1  DATA 30H
YS2  DATA 31H
IR   DATA 32H     ;送指令寄存器
BUF  DATA 40H
WSJQ DATA 50H     ;写时间寄存区
RSJQ DATA 58H     ;读时间寄存区
ORG 0000H
MAIN:    MOV SP,#80H
         LCALL CS1302
LOOP:    LCALL DU1302
         LCALL BCD
         LCALL YHDTSM
         SJMP LOOP
;初始化1302
CS1302:  MOV R4,#8
         MOV IR,#0BEH
         MOV R1,#WSJQ
         MOV WSJQ,#12H        ;给秒参数(这个参数值必须要16进制)
         MOV WSJQ+1,#30H      ;定义30分
         MOV WSJQ+2,#09H      ;09时
         MOV WSJQ+3,#11H      ;11日
         MOV WSJQ+4,#01H      ;01月
         MOV WSJQ+5,#01H      ;星期1
         MOV WSJQ+6,#10H      ;2010年
         MOV WSJQ+7,#00H      ;打开写允许寄存器(0为允许,1禁止)
         ACALL WRSX
         RET
;读出1302
DU1302:  MOV R4,#7
         MOV IR,#0BFH
         MOV R1,#RSJQ
         ACALL RDSX
         RET
;对读出的数据进行显示程序
;============================
BCD:     MOV A,RSJQ
         MOV B,#16
         DIV AB
         MOV BUF,B
         MOV BUF+1,A
         MOV A,RSJQ+1
         MOV B,#16
         DIV AB
         MOV BUF+2,B
         MOV BUF+3,A
         MOV A,RSJQ+2
         MOV B,#16
         DIV AB
         MOV BUF+4,B
         MOV BUF+5,A
         RET
YHDTSM:  MOV R5,#0
         MOV R0,#BUF
LYH1:    MOV P2,R5
         LCALL CB
         INC R5
         CJNE R0,#BUF+6,LYH1
         RET
CB:      MOV DPTR,#TABLE
         MOV A,@R0
         MOVC A,@A+DPTR
         MOV P0,A
         LCALL D5MS
         INC R0
         RET
;============================

;DS1302协议
WRSX:    ACALL ZBCL
LWR2:    MOV R3,#8      ;传送位寄存器(8位共1字节)
         MOV A,@R1
LWR1:    RRC A
         MOV IO_K,C
         SETB SCLK
         NOP
         CLR SCLK
         DJNZ R3,LWR1
         INC R1
         DJNZ R4,LWR2   ;传送字节个数控制寄存器
         CLR RST
         RET
RDSX:    ACALL ZBCL
LRD2:    MOV R3,#8
LRD1:    MOV C,IO_K
         SETB SCLK
         NOP
         CLR SCLK
         RRC A
         DJNZ R3,LRD1
         MOV @R1,A
         INC R1
         DJNZ R4,LRD2
         CLR RST
         RET
ZBCL:    CLR RST       ;要通信的准备1:先告诉单片机准备通信
         NOP
         CLR SCLK      ;准备2:把RST置1(开通信)前须先将SCLK(时钟电平)拉低
         NOP
         SETB RST      ;拉高RST做通信传送(开始通信)
         MOV R3,#8
         MOV A,IR      ;这条告诉DS1302任务(任务命令下达为IR控制)
LZB1:    RRC A
         MOV IO_K,C
         SETB SCLK
         NOP
         CLR SCLK
         DJNZ R3,LZB1
         RET
;======================================
;延时子程序
D5MS:    MOV YS1,#5
D1:      MOV YS2,#250
         DJNZ YS2,$
         DJNZ YS1,D1
         RET

TABLE:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

at91sam9263 datasheet说明手册

CAN总线在WINCE中的应用

【CyberSmart】2009年智能车竞赛SmartStar队宣传片

视频 2010-02-01

普源精电荣膺“2024年度电子测量仪器标准化先进工作单位”

【CyberSmart】2009年第四届智能车竞赛创意组冠军

视频 2010-02-01

Altera发布全新合作伙伴计划,加速FPGA解决方案创新发展

嵌入式系统 2025-01-17

DSock TCP_IP程序类库

资源下载 2007-03-23

是德科技推出一体化的网络可视化和安全解决方案

AURIX™ TC4x CDSP Software功能介绍和使用

汽车电子 2025-01-17

RK3576有多强?实测三屏八摄像头轻松搞定

该国规模最大同类设施之一:英伟达在以色列新建自用数据中心

DK3200A—uPSD3200设计与应用

越来越多的电动汽车迁移到特斯拉的充电器

“飞思卡尔”智能车竞赛---华中科技大学一队

视频 2010-02-01

AMD Radeon RX 9070 (XT) 显卡详细参数曝光:均支持 PCIe 5.0,配 20Gbps 显存

【2009东北大学智能车宣传片】---东北大学学生创新中心

视频 2010-02-01

功率器件热设计基础(十二)——功率半导体器件的PCB设计

【CyberSmart】2009年第四届智能车竞赛创意组预赛

视频 2010-02-01

ARM应用系统开发详解——基于S3C4510B的系统设计

IW610系列:为物联网优化的Wi-Fi 6三频无线解决方案

更多 培训课堂
更多 焦点
更多 视频

技术专区