📄 main.c
字号:
#include "DS1302.h"
#include <AT89X51.H>
#include "intrins.h"
sbit led = P2^0;
#define uchar unsigned char
#define uint unsigned int
typedef unsigned char BYTE;
typedef unsigned char byte;
typedef unsigned int word;
void int_0(); //外部中断0
////////////////////////////////////////
///////////////////////////////////////
sbit CS = P1^0;
sbit SK = P1^1;
sbit DI = P1^5; /* 注意 DI/DO 是连在一起的 */
sbit DO = P1^5;
void WriteEnabled()
{
bit tp;
BYTE jj;
CS=0;
SK=0;
DI=0;
CS=1;
DI=1; SK=1; DI=0; SK=0; // START
DI=0; SK=1; DI=0; SK=0;
DI=0; SK=1; DI=0; SK=0;
DI=1; SK=1; DI=0; SK=0;
DI=1; SK=1; DI=0; SK=0;
for(jj=1;jj<=5;jj++) //skh
{
tp=0;
DI=0x00;
SK=1;
DI=0;
SK=0;
}
CS=0;
}
void WriteChar(BYTE addr, BYTE value)
{
BYTE i;
CS = 1;
SK=0; DI=1; _nop_(); SK=1;
SK=0; DI=0; _nop_(); SK=1;
SK=0; DI=1; _nop_(); SK=1;
SK=0;
for( i=0;i<7;i++ )
{
SK=0;
DI = (addr & 0x40) == 0x40;
_nop_();
SK = 1;
addr <<= 1;
}
SK = 0;
for( i=0;i<8;i++ )
{
SK=0;
DI = (value & 0x80) == 0x80; /* 时钟为低时写数据 */
_nop_();
SK = 1;
value <<= 1; /* 移位操作会将数据交给C */
}
SK = 0;
CS = 0;
return ;
}
BYTE ReadChar(BYTE addr)
{
BYTE i;
BYTE Result;
CS = 1;
SK=0; DI=1; _nop_(); SK=1;
SK=0; DI=1; _nop_(); SK=1;
SK=0; DI=0; _nop_(); SK=1;
SK=0;
for( i=0;i<7;i++ )
{
DI = ((addr & 0x40) == 0x40);
SK = 1;
_nop_();_nop_();
SK = 0;
addr <<= 1;
}
Result = 0;
DO = 1;
SK = 0;
for( i=0;i<8;i++ )
{
Result <<= 1;
SK = 1;
_nop_();_nop_();
Result |= (BYTE) DO;
SK = 0;
}
SK = 0;
CS = 0;
return Result;
}
//////////////////////////////////////////
//////////////////////////////////////////
/*void Delay1ms(unsigned int count)
{
unsigned int i,j;
for(i=0;i<count;i++)
for(j=0;j<120;j++);
}*/
void delay1(unsigned int num)
{while(num!=0){num=num-1;}
}
void t0(void)interrupt 0
{
BYTE aaa;
aaa = ReadChar(8);
led=~led;
}
main()
{
BYTE bbb;
/* //led =0;
//delay1(30000);
//led =1;
//delay1(30000);
}*/
EA=1; //开启0号中断
EX0=1;
IT0=1;
bbb = ReadChar(6);
WriteEnabled();
WriteChar(8, 0x30);
while(1)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -