📄 ht1380.c
字号:
#include "zhaobin.h"
unsigned char read_time ( unsigned char temp )
{
unsigned char xx;
unsigned char temp_1,temp_0;
temp_0=temp;
reset_time=0; clk_time=0; _nop_ (); _nop_ ();
reset_time=1;
for (xx=0; xx<8; xx++)
{
temp_1=temp_0&0x01;
if (temp_1==0x01) di_time=1;
else di_time=0;
_nop_ (); clk_time=1; _nop_ (); _nop_ (); clk_time=0;
temp_0=temp_0>>1;
}
di_time=1; a0=di_time;
// clk_time=1; _nop_ (); clk_time=0; a0=di_time; _nop_ ();
clk_time=1; _nop_ (); clk_time=0; a1=di_time; _nop_ ();
clk_time=1; _nop_ (); clk_time=0; a2=di_time; _nop_ ();
clk_time=1; _nop_ (); clk_time=0; a3=di_time; _nop_ ();
clk_time=1; _nop_ (); clk_time=0; a4=di_time; _nop_ ();
clk_time=1; _nop_ (); clk_time=0; a5=di_time; _nop_ ();
clk_time=1; _nop_ (); clk_time=0; a6=di_time; _nop_ ();
clk_time=1; _nop_ (); clk_time=0; a7=di_time; _nop_ ();
reset_time=0; _nop_ ();
return (ACC);
}
void write_time ( unsigned int temp )
{
unsigned char mm;
unsigned int temp_1,temp_0;
temp_0=temp;
reset_time=0; clk_time=0; _nop_ (); _nop_ ();
reset_time=1;
for (mm=0; mm<16; mm++)
{
temp_1=temp_0&0x0001;
if (temp_1==0x0001) di_time=1;
else di_time=0;
_nop_ (); clk_time=1; _nop_ (); _nop_ (); clk_time=0;
temp_0=temp_0>>1;
}
reset_time=0; _nop_ ();
}
void init_ht1380 (void)
{
unsigned char reg_data;
unsigned int temp;
write_time (0x008e); //enable writed
reg_data=read_time (0x81);
temp=reg_data*256|0x0080;
temp=temp&0x7fff;
write_time (temp); //enable oscillator
reg_data=read_time (0x85);
temp=reg_data*256|0x0084;
temp=temp&0x7fff;
write_time (temp); //hour setup 24
}
unsigned char read_sec (void)
{
unsigned char temp;
temp=read_time (0x81);
return (temp);
}
unsigned char read_min (void)
{
unsigned char temp;
temp=read_time (0x83);
return (temp);
}
unsigned char read_hour (void)
{
unsigned char temp;
temp=read_time (0x85);
return (temp);
}
unsigned char read_date (void)
{
unsigned char temp;
temp=read_time (0x87);
return (temp);
}
unsigned char read_month (void)
{
unsigned char temp;
temp=read_time (0x89);
return (temp);
}
unsigned char read_day (void)
{
unsigned char temp;
temp=read_time (0x8b);
return (temp);
}
unsigned char read_year (void)
{
unsigned char temp;
temp=read_time (0x8d);
return (temp);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -