ds12c887程序C语言,时钟芯片DS12C887使用说明详解.doc
汇编程序:
ORG 0000H
AJMP START
START:
ACALL SETTIME;设置初始时间
LOOP: ACALL GETTIME;循环读取当前时间
AJMP LOOP;
SETTIME:
MOV DPTR,#7D0AH;DS12C887的A寄存器
MOV A,#20H
MOVX @DPTR,A;打开DS12C887的内部晶振并使RTC(实时时钟)记录时间
INC DPTR;DS12C887的B寄存器
MOV A,#08H
MOVX @DPTR,A;设十进制BCD码,24小时制,不定时
MOV DPTR,#7D0DH;DS12C887的D寄存器
MOVX A,@DPTR;如果D寄存器的第7位为0,表示电池耗尽
JNB ACC.7,ERROR
MOV DPTR,#7D00H;DS12C887的秒单元
MOV A,#00H
MOVX @DPTR,A;写入秒
MOV DPTR,#7D02H;DS12C887分单元
MOV A,#21H
MOVX @DPTR,A;写入分
MOV DPTR,#7D04H;DS12C887时单元
MOV A,#03H
MOVX @DPTR,A;写入时
MOV DPTR,#7D06H;DS12C887星期单元
MOV A,#03H
MOVX @DPTR,A;写入星期
MOV DPTR,#7D07H;DS12C887日单元
MOV A,#20H
MOVX @DPTR,A;写入日
MOV DPTR,#7D08H;DS12C887月单元
MOV A,#07H
MOVX @DPTR,A;写入月
MOV DPTR,#7D09H;DS12C887年单元
MOV A,#05H
MOVX @DPTR,A;写入年时间
ERROR:RET
GETTIME:
MOV DPTR,#7D0AH
MOVX A,@DPTR
JB ACC.7,GETTIME ;REGISTER A的UIP位=0时才可以读数据
MOV DPTR,#7D00H
MOVX A,@DPTR
MOV R2,A ;SECONDS
ACALL DISPLAY
MOV DPTR,#7D02H
MOVX A,@DPTR
MOV R1,A
ACALL DISPLAY ;MINUTES
MOV DPTR,#7D04H
MOVX A,@DPTR
MOV R0,A ;HOURS
ACALL DISPLAY
ACALL DELAY
RET
DISPLAY:
MOV DPTR,#TAB
MOV SCON,#00H
MOV R3,A
ANL A,#0FH
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
MOV A,R3
SWAP A
ANL A,#0FH
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
RET
DELAY:
MOV R4,#0FH
DE1:MOV R5,#0FFH
DJNZ R5,$
DJNZ R4,DE1
RET
TAB: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H,11H,0C1H,63H,85H,61H,71H
END
C语言源程序:
#include "reg52.h"
#include "absacc.h"
#define DSA XBYTE[0x7F0A]//12c887寄存器A地址
#define DSB XBYTE[0x7F0B]//B地址
#def
ds12c887程序C语言,时钟芯片DS12C887使用说明详解.doc相关推荐
- JESD204B高速AD开发(二)LMK04821时钟芯片配置代码详解
一.驱动模块顶层 1.1 接口描述 如下图为LMK04821时钟芯片的配置模块输入输出信号,主要分为三部分, 图1 1.模块的系统时钟和复位信号,cfg_clk时钟频率<=10MHz,频率的设置 ...
- ds12c887程序C语言,单片机+TM1628+DS12C887时钟源程序
#include "define.h" unsigned char code table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, 0 ...
- c语言字符游动程序,C语言实现扫雷小游戏详解
本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下 一.实现功能 首先显示一个小菜单,选择是否玩游戏.当用户选择退出时,程序运行结束,当用户选择玩游戏时,将提示用户输入扫雷位 ...
- c语言线段树建树程序,c语言数据结构之线段树详解;例题:校门外的树(poj2808或者vijos1448)...
线段树:它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个结点. 也就是说线段树的每一个结点对应一个区间,其中根节点对应区间[1,n] 对于线段树中的每一个非叶子节点[a,b],它的左儿子 ...
- 阵列式键盘实训C语言,阵列式键盘实验详解.doc
阵列式键盘实验详解 实验二 阵列式键盘实验 一.实验目的 1.掌握键盘和显示器的接口方法和编程方法 2.掌握阵列式键盘的硬件组成和软件编程方法 二.实验说明 本实验提供了一个4X4小建盘,向P0口的低 ...
- ds12c887c语言程序,时钟芯片ds12c887的C51驱动程序
文件名称:ds12c887.c 适用范围:时钟芯片ds12c887的驱动程序 ************************************************************* ...
- 大二c语言期末考试题库及详解答案,大学C语言期末考试练习题(带详解答案)...
<大学C语言期末考试练习题(带详解答案)>由会员分享,可在线阅读,更多相关<大学C语言期末考试练习题(带详解答案)(55页珍藏版)>请在金锄头文库上搜索. 1.一. 单项选择题 ...
- gets和fgets函数及其区别,C语言gets和fgets函数详解
gets和fgets函数及其区别,C语言gets和fgets函数详解 每当讨论 gets 函数时,大家不由自主地就会想起 1988 年的"互联网蠕虫",它在 UNIX 操作系统的 ...
- 基于C语言的JPEG编码代码详解
一.基于C语言的JPEG编码代码详解 #include <stdio.h> #include <stdlib.h> #include <string.h>#prag ...
最新文章
- Effective java 系列之更优雅的关闭资源-try-with-resources
- php开发以太坊无法连接到远程Geth,connect: permission denied.
- PAT甲级1151 LCA in a Binary Tree (30 分):[C++题解]LCA、最低公共祖先、哈希表映射
- Java IO流--练习
- 多组测试数据(求和)IV
- 牛客题霸 NC4 判断链表中是否有环
- Python 的内置数据类型:列表 list、元组 tuple、字典 dict、集合 set.
- 字符设备驱动基础篇2——用开发板来调试驱动模块的步骤
- java中几种基本数据类型之间的转换
- Java泛型中extends和super的区别?
- InternetCheckConnection 通过尝试连接特定的网址,可以用来判断目前机器是否接通外网
- SAP License:你适合做SAP顾问吗?
- redis list放入对象_Redis从入门到入土:详细讲解内存模型以及常用命令
- html position的学习
- C#扩展名关联【转】
- 计算机视觉教程2-2:详解图像滤波算法(附Python实战)
- 钽电容的命名,贴片电解电容耐压,封装
- App下载的视频导进电脑中生成.mp4文件的方法
- android jpeg图片变圆,Android 将一张图片变为圆形图片
- 网吧用计算机性能配件清单,网吧组装电脑配置清单