📄 main.c
字号:
#include <reg51.h>
#include "HT1380.h"
#include "LCD1602.h"
uint Now_Time_Date[8]={0x00,0x58,0x12,0x01,0x03,0x04,0x07,0x80};
//初始时间:0秒,58分,12点(24小时制),1号,3月,周四,07年,不允许再写
void InitIO(void)
{
PinSCLK = 0;
PinREST = 0;
PinDIO = 0;
P0 = 0;
P2 = 0;
}
//LCD初始化
void InitLCD()
{
LCDReset();
InputMode(0x06); //增量方式,不移位
DispControl(0x0c); //显示开,光标关,闪烁关
FunctionSet(0x38); //8位,2行,5×7
}
void main(void)
{
uint i,j;
InitIO();
InitLCD();
StartClock(); //启动时钟
/*写入当前初始时间*/
//说明:要么选择多字节模式写入,要么选择单字节模式写入(任选一种)
//HT1380_Burst_Write(Now_Time_Date); //多字节模式写入
for(i=0;i<8;i++) //单字节模式写入
{ HT1380_Single_Write(i,Now_Time_Date[i]); }
while(1)
{
/*读取当前初始时间*/
for(j=0;j<8;j++)
{ Now_Time_Date[j] = HT1380_Single_Read(j); } //单字节模式读取
//second
DispCharacter(0,0,((Now_Time_Date[0] >> 4) & 0x07) + 0x30);
DispCharacter(0,1,(Now_Time_Date[0] & 0x0f) + 0x30);
//minute
DispCharacter(0,3,((Now_Time_Date[1] >> 4) & 0x07) + 0x30);
DispCharacter(0,4,(Now_Time_Date[1] & 0x0f) + 0x30);
//hour
DispCharacter(0,6,((Now_Time_Date[2] >> 4) & 0x01) + 0x30);
DispCharacter(0,7,(Now_Time_Date[2] & 0x0f) + 0x30);
//date
DispCharacter(0,9,((Now_Time_Date[3] >> 4) & 0x03) + 0x30);
DispCharacter(0,10,(Now_Time_Date[3] & 0x0f) + 0x30);
//month
DispCharacter(1,0,((Now_Time_Date[4] >> 4) & 0x01) + 0x30);
DispCharacter(1,1,(Now_Time_Date[4] & 0x0f) + 0x30);
//day
DispCharacter(1,3,(Now_Time_Date[5] & 0x07) + 0x30);
//year
DispCharacter(1,5,((Now_Time_Date[6] >> 4) & 0x0f) + 0x30);
DispCharacter(1,6,(Now_Time_Date[6] & 0x0f) + 0x30);
//protect
DispCharacter(1,8,((Now_Time_Date[7] >> 4) & 0x08) + 0x30);
DispCharacter(1,9,(Now_Time_Date[7] & 0x0f) + 0x30);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -