📄 main.c
字号:
/***********************************************************
实验名称:PCF8563
程序说明:本程序测试了PCF8563
实验平台:stc15单片机开发板v1.0版
日期:2012-05-27
QQ: 259902530
www.stcstudy.com 61mcu.taobao.com 版权所有
***********************************************************/
/*------------------------------
本程序使用了串口1输出时钟信息。
设置时间函数见she函数。
可采用STC下载软件自带串口调试助手观察
-------------------------------*/
#include "STC15F2K.h"
#include "PCF8563.H"
#include "UART.H"
#include <intrins.H>
void Delay(uint x);
void UAS(uchar Data,uchar *p);
/////////////////////////////////////////////////////////////////////////////////
void she() //此函数用于给时间设定 初值
{
time.year =12;
time.month =5;
time.day =27;
time.hour =20;
time.minute=20;
time.second=50;
time.week =7;
}
void main()
{
uchar out[3]="00";
InitUART();
she(); //运行 初值设定 函数
settime(); //设定时间,将初值设定好的time值(十进制)转换成BCD编码输入到时间寄存器
P2=0x01;
while(1)
{
readtime(); //读取时间
SendString("Now is : \r\n");
UAS(time.year,out);
SendString(out);
SendData('-');
UAS(time.month,out);
SendString(out);
SendData('-');
UAS(time.day,out);
SendString(out);
SendString("\r\n") ;
UAS(time.hour,out);
SendString(out);
SendData(':');
UAS(time.minute,out);
SendString(out);
SendData(':');
UAS(time.second,out);
SendString(out);
SendData(' ');
SendString("星期:");
UAS(time.week,out);
SendString(out);
SendString(" \r\n");
Delay(999);
}
}
void Delay(uint x) //@11.0592MHz x ms
{
unsigned char i, j;
while(x--)
{
_nop_();
_nop_();
_nop_();
i = 11;
j = 190;
do
{
while (--j);
}
while (--i);
}
}
void UAS(uchar Data,uchar *p)
{
uchar a[]="0123456789" ;
*p=a[Data/10];
*(p+1)=a[Data%10];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -