if(day==30) {
day=1; month++; } } else {
if(day==29) {
day=1; month++; } } break; }
if(month>=13) {
month=1; year++;
write_com(0x80+0x43);
write_data(table[year/1000]);
write_data(table[year00/100]); write_data(table[year0/10]);
write_data(table[year]); if((year%4)==0) run=1; else run=0;
} write_com(0x80+0x48);
write_data(table[month/10]);
write_data(table[month]); write_com(0x80+0x4b); write_data(table[day/10]);
write_data(table[day]); } write_com(0x80+0x00); write_data(table[hour/10]); write_data(table[hour]);
} write_com(0x80+0x03); write_data(table[min/10]);
write_data(table[min]); } write_com(0x80+0x06);
34
write_data(table[sec/10]); write_data(table[sec]); if(sendflag) { EX0=0; TxBuf[0] = 0x02; TxBuf[1] = 0xff; TxBuf[2] = 0x00; TxBuf[3] = 0x00;
// Transmit Tx buffer data 发数据
nRF24L01_TxPacket(TxBuf);
SetRX_Mode(); //设置为接收模式 EX0=1; } } }
void main() {
init(); Init_timer0(); init_NRF24L01();
SetRX_Mode();
//设置为接收模式 系统大多数时候都处于接收模式
write_com(0x80+0x00); write_data(table[hour/10]);
write_data(table[hour]); write_data(table[13]); write_data(table[min/10]); write_data(table[min]); write_data(table[13]); write_data(table[sec/10]); write_data(table[sec]); write_com(0x80+0x43); write_data(table[year/1000]); write_data(table[year00/100]); write_data(table[year0/10]); write_data(table[year]); write_data(table[11]); write_data(table[month/10]); write_data(table[month]); write_data(table[11]); write_data(table[day/10]); write_data(table[day]); if((year%4)==0) run=1;
else run=0;
while(1)
35
{
if(s1==0)
{
delayms(10); if(s1==0) {
sendflag = 0; TxBuf[0] = 0x00; TxBuf[1] = 0x00; TxBuf[2] = 0x00; TxBuf[3] = 0x00; EX0=0;
// Transmit Tx buffer data 发数据
nRF24L01_TxPacket(TxBuf);
SetRX_Mode(); //设置为接收模式
EX0=1;
while(s1==0); }
}
if(s2==0)
{
delayms(10); if(s2==0) {
sendflag = 0; TxBuf[0] = 0x01; TxBuf[1] = hour; TxBuf[2] = min; TxBuf[3] = sec; EX0=0;
nRF24L01_TxPacket(TxBuf); SetRX_Mode(); EX0=1; while(s2==0); }
}
if(s3==0) //位置选择
// Transmit Tx buffer data 发数据
//设置为接收模式
{
delayms(10); if(s3==0) {
weizhi++; weizhi=weizhi%7; switch(weizhi) {
case 0: write_com(0x0c);
36
TR0 = 1; break; case 1: TR0 = 0;
write_com(0x80+0x01); write_com(0x0f);
break; case 2: write_com(0x80+0x04); write_com(0x0f); break;
case 3: write_com(0x80+0x07); write_com(0x0f); break; case 4: TR0 = 0;
write_com(0x80+0x46); write_com(0x0f);
break; case 5: write_com(0x80+0x49); write_com(0x0f); break;
case 6: write_com(0x80+0x4c); write_com(0x0f);
break; } while(s3==0); } }
if(s4==0) //加 {
delayms(10); if(s4==0) {
switch(weizhi) {
case 1:if(hour==23)hour=0; else hour++;
write_com(0x80+0x00);
write_data(table[hour/10]);
write_data(table[hour]);
write_com(0x80+0x01); break;
case 2:if(min==59)min=0; else min++;
write_com(0x80+0x03);
write_data(table[min/10]);
write_data(table[min]);
37
write_com(0x80+0x04); break; case 3:if(sec==59)sec=0; else sec++;
write_com(0x80+0x06);
write_data(table[sec/10]);
write_data(table[sec]); write_com(0x80+0x07); break; case 4: year++;
if((year%4)==0) run=1; else run=0; write_com(0x80+0x43);
write_data(table[year/1000]);
write_data(table[year00/100]); write_data(table[year0/10]); write_data(table[year]);
write_com(0x80+0x46); break;
case 5:if(month==12)month=1; else month++; write_com(0x80+0x48);
write_data(table[month/10]);
write_data(table[month]);
write_com(0x80+0x049); break; case 6:if(day==31)day=1; else day++;
write_com(0x80+0x4b);
write_data(table[day/10]);
write_data(table[day]); write_com(0x80+0x4c);
break; } } while(s4==0); }
if(s5==0) //减 {
delayms(10); if(s5==0) {
switch(weizhi) {
38