📄 12887.c
字号:
#include<intrins.h>
#include<absacc.h>
#include "12887.h"
#include "delay.h"
//extern unsigned char uart[12];
void csh12887(uchar *p)
{
P2|=0x08;
cs12887=0;
ds12887=1;
XBYTE [0xef0d]=0x80;//D寄存器 设置D寄存器 VRT=1使片内寄存器和RAM数据有效
XBYTE [0xef0c]=0x00;//C寄存器 设置C寄存器 清除已有的中断标志
XBYTE [0xef0b]=0x82;//B寄存器 0bh 寄存器B地址=0bH的SET=1 芯片停止工作
//选择24小时制 1-00000 1-0-dm
//DM=0选择BCD码
XBYTE [0xef0a]=0x20;//A寄存器 选择时钟频率=32.768KHz 无中断周期和SQW输出频率
XBYTE [0xef09]=p[0];//年
XBYTE [0xef08]=p[1];//月
XBYTE [0xef07]=p[2];//日
XBYTE [0xef06]=p[3];//星期
XBYTE [0xef04]=p[4];//时
XBYTE [0xef02]=p[5];//分
XBYTE [0xef00]=p[6];//秒
XBYTE [0xef0b]=0x02;
cs12887=1;
}
void init12887()
{
cs12887=0;
ds12887=1;
XBYTE [0x0d]=0x80;//D寄存器 设置D寄存器 VRT=1使片内寄存器和RAM数据有效
XBYTE [0x0c]=0x00;//C寄存器 设置C寄存器 清除已有的中断标志
XBYTE [0x0b]=0x82;//B寄存器 0bh 寄存器B地址=0bH的SET=1 芯片停止工作
//选择24小时制 1-00000 1-0-dm
//DM=0选择BCD码
XBYTE [0x0a]=0x20;//A寄存器 选择时钟频率=32.768KHz 无中断周期和SQW输出频率
XBYTE [0x09]=0x07;//年
XBYTE [0x08]=0x11;//月
XBYTE [0x07]=0x06;//日
XBYTE [0x06]=0x02;//星期
XBYTE [0x04]=0x20;//时
XBYTE [0x02]=0x41;//分
XBYTE [0x00]=0x30;//秒
XBYTE [0x0b]=0x02;
cs12887=1;
}
void set12887(uchar add,uchar dat)
{
cs12887=0;
ds12887=1;
XBYTE [0xef0d]=0x80;//D寄存器 设置D寄存器 VRT=1使片内寄存器和RAM数据有效
XBYTE [0xef0c]=0x00;//C寄存器 设置C寄存器 清除已有的中断标志
XBYTE [0xef0b]=0x82;//B寄存器 0bh 寄存器B地址=0bH的SET=1 芯片停止工作
//选择24小时制 1-00000 1-0-dm
//DM=0选择BCD码
XBYTE [0x0a]=0x20;//A寄存器 选择时钟频率=32.768KHz 无中断周期和SQW输出频率
switch(add)
{ case 1: XBYTE [0xef09]=dat;break;//年
case 2: XBYTE [0xef08]=dat;break;//月
case 3: XBYTE [0xef07]=dat;break;//日
case 4: XBYTE [0xef06]=dat;break;//星期
case 5: XBYTE [0xef04]=dat;break;//时
case 6: XBYTE [0xef02]=dat;break;//分
case 7: XBYTE [0xef00]=dat;break;//秒
default: break;
}
XBYTE [0xef0b]=0x02;
cs12887=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -