📄 text2.c
字号:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar sec=11,min=9,hr=23;
/*****************************************************/
unsigned char Led_num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char Led_com[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
/*****************************************************/
sbit clk=P1^0;
sbit rst=P1^1;
sbit I_O=P1^2;
sbit A0=ACC^0;
sbit A7=ACC^7;
void Write_command(uchar command) ;
void Write_data(uchar dat);
void Write_command_data(uchar command,uchar dat);
uchar Read_data();
void EnableWP(void);
void DisableWP(void);
uchar ReadSec();
void Write_Sec(uchar s);
/*************************************************/
void Write_command(uchar command)//mcu to ds1302
{
uchar i;
clk=0;
rst=0;
rst=1;
ACC=command;
for(i=8;i>0;i--)
{
I_O=A0;
clk=1;
clk=0;
ACC>>=1;
}
}
/*************************************************/
void Write_data(uchar dat)
{
uint i;
ACC=dat;
for(i=0;i<8;i++)
{
I_O=A0;
clk=1;
clk=0;
ACC=ACC>>1;
}
clk=1;
rst=0;
}
/*************************************************/
void Write_command_data(uchar command,uchar dat)
{
Write_command(command);
Write_data(dat);
}
/*************************************************/
uchar Read_data()
{
uint i;
I_O=1;
for(i=0;i<8;i++)
{
ACC=ACC>>1;
A7=I_O;
clk=1;
clk=0;
}
clk=1;
rst=0;
return ACC;
}
/*************************************************/
void EnableWP(void) //can''d write,read data
{
Write_command_data(0x85,0x80);
}
/*************************************************/
void DisableWP(void) //write data,read 0
{
Write_command_data(0x8e,0x01);///修改过的??????、、、、、、、、、、、、、、
}
/*************************************************/
uchar ReadSec()
{
uchar dd;
Write_command(0x81);
dd=Read_data();
return dd;
}
/*************************************************/
void Write_Sec(uchar s)
{
Write_command(0x80);
Write_data(s);
}
/****************************************************/
void Delay1ms(unsigned char count ) //延时1ms
{
uint i,j;
for(i=0;i<count;i++)
{
for(j=0;j<120;j++);
}
}
/*************************************************/
void mian()
{
//DisableWP();
//Write_Sec(0x07);
//EnableWP();
while(1)
{
//sec=ReadSec();
P2=Led_com[5];
P0=~Led_num[sec%10];
Delay1ms(5);
P2=Led_com[4];
P0=~0x4f;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -