




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.第一个汇编语言程序DS1302的驱动程序时钟芯片DS1302 的程序汇编;时钟芯片DS1302 的程序汇编;*; 模块名称:DS1302.a51; 功 能:实时时钟模块 时钟芯片型号:DS1302; 说 明:修改版; 程序设计:;*/T_CLK Bit P3.2 ;实时时钟时钟线引脚T_IO Bit P3.3 ;实时时钟数据线引脚T_RST Bit P3.4 ;实时时钟复位线引脚;*SECOND EQU 50H ;秒存放器MINUTE EQU 51H ;分存放器HOUR EQU 52H ;时存放器DAY EQU 53H ;号存放器MONTH EQU 54H ;月存放器WEEK EQU 55H
2、 ;星期存放器YEAR EQU 56H ;年存放器 ORG 0000H SJMP START ORG 0040H ;*;功 能:给秒 分 时 日 月 星期 年赋初值;*START: MOV SECOND,#00H MOV MINUTE,#06H MOV HOUR,#17H MOV DAY,#00H MOV MONTH,#00H MOV WEEK,#00H MOV YEAR,#00H LCALL SET1302 LCALL GET1302 LCALL DISPLAYMAIN: MOV R5,#25 MOV TMOD,#01H MOV TH0,#63H ;置定时器初值定时40ms MOV TL0,
3、#0C0H SETB TR0 ;启动定时器0LP1: JBC TF0,LP2 ;查询计数溢出 SJMP LP1 ;未到40 ms继续计数LP2: MOV TH0,#63H ;重新置定时器初值 MOV TL0,#0C0H LCALL DISPLAY ;显示 DJNZ R5,LP1 ;未到1 S继续循环 LCALL GET1302 ;每过1s从DS1302读取一次时间 MOV R5,#25 SJMP LP1DISPLAY: MOV R3,SECOND LCALL CHAG MOV P2,#0FFH MOV P0,R2 ;段码 SETB P2.0 ;位码 NOP CLR P2.0 LCALL DEL
4、AY MOV P2,#0FFH MOV P0,R3 SETB P2.1 NOP CLR P2.1 LCALL DELAY MOV R3,MINUTE LCALL CHAG MOV P2,#0FFH MOV P0,R2 ;段码 SETB P2.2 ;位码 NOP CLR P2.2 LCALL DELAY MOV P2,#0FFH MOV P0,R3 SETB P2.3 NOP CLR P2.3 LCALL DELAY MOV R3,HOUR LCALL CHAG MOV P2,#0FFH MOV P0,R2 ;段码 SETB P2.4 ;位码 NOP CLR P2.4 LCALL DELAY M
5、OV P2,#0FFH MOV P0,R3 SETB P2.5 NOP CLR P2.5 LCALL DELAY RETDELAY: MOV R7,#50 D1: MOV R6,#10 D2: DJNZ R6,$ DJNZ R7,D1 RET CHAG: PUSH ACC ;低字节放入R2,高字节放入R3 MOV A,R3 ANL A,#0FH MOV R2,A MOV A,R3 SWAP A ANL A,#0FH MOV R3,A MOV DPTR,#DATATAB MOV A,R2 MOVC A,A+DPTR MOV R2,A MOV A,R3 MOVC A,A+DPTR MOV R3,A
6、 POP ACC RETDATATAB: DB 0B7H,90H,3DH,0B9H,9AH,0ABH,0AFH,0B0H,0BFH,0BBH;*;子程序名:Set1302;功 能:设置DS1302 初始时间,并启动计时。;说 明:;调 用:RTInputByte;入口参数:初始时间在:Second,Minute,Hour,Day,Month,Week.YearL地址连续;出口参数:无;影响资源:A B R0 R1 R4 R7;设 计:Reuben 日 期:2020-04-17;修 改: 日 期:;*SET1302: CLR T_RST CLR T_CLK SETB T_RST MOV B, #
7、8EH ;控制存放器 LCALL RTInputByte MOV B, #00H ;写操作前WP=0 LCALL RTInputByte SETB T_CLK CLR T_RST MOV R0, #Second; MOV R7, #7 ;秒 分 时 日 月 星期 年 MOV R1, #80H ;秒写地址S13021: CLR T_RST CLR T_CLK SETB T_RST MOV B, R1 ;写秒 分 时 日 月 星期 年 地址 LCALL RTInputByte MOV A, R0 ;写秒数据 MOV B, A LCALL RTInputByte INC R0 INC R1 INC
8、R1 SETB T_CLK CLR T_RST DJNZ R7, S13021 CLR T_RST CLR T_CLK SETB T_RST MOV B, #8EH ;控制存放器 LCALL RTInputByte MOV B, #80H ;控制,WP=1,写保护 LCALL RTInputByte SETB T_CLK CLR T_RST RET;*;子程序名:Get1302;功 能:从DS1302 读时间;说 明:;调 用:RTInputByte,RTOutputByte;入口参数:时间保存在:Second,Minute,Hour,Day,Month,Week.YearL;出口参数:无;影
9、响资源:A B R0 R1 R4 R7;设 计:Reuben 日 期:2020-04-17;修 改: 日 期:;*GET1302: MOV R0, #SECOND; MOV R7, #7 MOV R1, #81H ;秒地址G13021: CLR T_RST CLR T_CLK SETB T_RST MOV B, R1 ;秒 分 时 日 月 星期 年 地址 LCALL RTInputByte LCALL RTOutputByte MOV R0, A ;秒 INC R0 INC R1 INC R1 SETB T_CLK CLR T_RST DJNZ R7, G13021 RET;*;功 能:写13
10、02一字节 内部子程序;*RTInputByte: MOV R4, #8 Inbit1: MOV A, B RRC A MOV B, A MOV T_IO, C SETB T_CLK CLR T_CLK DJNZ R4, Inbit1 RET;*;功 能:读1302一字节 内部子程序;*RTOutputByte: MOV R4, #8 Outbit1: MOV C, T_IO RRC A SETB T_CLK CLR T_CLK DJNZ R4, Outbit1 RET END第二个ds1302驱动程序;* DS1302 端口位定义 * IO_DATA BIT P1.1 ; 数据传送总线 SC
11、LK BIT P1.0 ; 时钟控制总线 RST BIT P1.2 ; 复位总线;-;DS1302 初始化子程序; R0=数据 R1=地址;-PROSET: CLR RST ;DS1302复位 CLR SCLK NOP NOP SETB RST MOV R1,#90H ;写充电存放器 MOV R0,#0ABH LCALL WRITE RET;=;写 DS1302 子程序;=WRITE: CLR SCLK NOP NOP SETB RST NOP MOV A,R1 MOV R2,#08HWRI_01: RRC A ;传输地址到DS1302 NOP NOP CLR SCLK NOP NOP MOV
12、 IO_DATA,C NOP NOP SETB SCLK NOP NOP DJNZ R2,WRI_01 CLR SCLK NOP NOP MOV A,R0 MOV R2,#08HWRI_02: RRC A ;传输数据到DS1302 NOP CLR SCLK NOP NOP MOV IO_DATA,C NOP NOP SETB SCLK NOP NOP DJNZ R2,WRI_02 CLR SCLK NOP NOP CLR RST NOP NOP RET;=;读 DS1302 子程序;=READ: CLR SCLK NOP NOP SETB RST NOP NOP MOV A,R1 MOV R2
13、,#08HREAD_01: RRC A NOP ;先传输地址到DS1302 MOV IO_DATA,C NOP NOP SETB SCLK NOP NOP CLR SCLK NOP NOP DJNZ R2,READ_01 NOP NOP SETB IO_DATA CLR A CLR C MOV R2,#08HREAD_02: CLR SCLK NOP NOP MOV C,IO_DATA NOP NOP RRC A ;再从DS1302接收数据 NOP NOP SETB SCLK NOP NOP DJNZ R2,READ_02 MOV R0,A CLR RST RET;=;读时间、日期数据子程序;存放单元 40H - 46H;=GET_TIME: MOV R1,#81H ;读秒 LCALL READ MOV 40H,R0 MOV R1,#83H ;读分 LCALL READ MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国过滤器行业发展前景预测及投资方向研究报告
- 2025年中国汽车用橡胶管市场深度分析及投资战略咨询报告
- 2024-2025学年高中语文第二单元传记第4课“布衣总统”孙中山节选练习粤教版必修1
- 2025年科研项目年度总结报告
- 2024-2025学年高中物理第1章电场第6节示波器的奥秘学案粤教版选修3-1
- 2024-2025学年高中物理第6章章末复习课教案含解析鲁科版选修1-1
- 2025年自动人行道铝合金踏板项目投资可行性研究分析报告
- 2025年性能测试板行业深度研究分析报告
- 2024年固体废物处理市场评估分析及发展前景调研战略研究报告
- 锂电池导电涂层项目评价分析报告
- 高中校长在2025春季开学典礼上的讲话
- 2025年六年级数学下册春季开学第一课(人教版) 2024-2025学年 典型例题系列(2025版)六年级数学下册(人教版) 课件
- 1.2 男生女生 (课件)2024-2025学年七年级道德与法治下册(统编版2024)
- 中央2025年公安部部分直属事业单位招聘84人笔试历年参考题库附带答案详解
- 2024年公安部直属事业单位招聘笔试真题
- 民政局2025年度离婚协议书官方模板4篇
- 上海市2024-2025学年高一上学期期末考试数学试题(含答案)
- 2024-2025学年五年级数学上册名校真题 期末考试综合检测卷
- 2025年市青年企业家商会工作计划
- 高教版2023年中职教科书《语文》(基础模块)上册教案全册
- 存款代持协议书范文模板
评论
0/150
提交评论