四川师范大学成都学院电子工程系课程设计报告
DS_CLK = 1; command >>= 1;
}
for(i = 0; i < 8; i ++) { DS_CLK = 1; DS_CLK = 0; value >>= 1; if(DS_IO)
{ value |= 0x80;
}
}
DS_RST = 0; DS_IO = 0;
value = (value/16*10)+value;
//转换成十进制的数字 return value;
}
void init_1302(uchar addr) { b[0] = a[0]/10*16+a[0]; b[1] = a[1]/10*16+a[1]; b[2] = a[2]/10*16+a[2]; b[3] = a[3]/10*16+a[3]; b[4] = a[4]/10*16+a[4];
b[5] = a[5]/10*16+a[5]; write_1302(0x8e,0x00); //启动寄存器读写
write_1302(0x84,0x00); //设置24小时 write_1302(0x8c,b[0]);
//写年份
16
四川师范大学成都学院电子工程系课程设计报告
write_1302(0x88,b[1]); write_1302(0x86,b[2]); write_1302(0x8a,0x04); write_1302(0x84,b[3]);
write_1302(0x82,b[4]); write_1302(0x80,addr); write_1302(0x90,0xA5); write_1302(0x8e,0x80);
}
void fuzhi() {
nian = read_1302(0x8D); yue = read_1302(0x89); ri = read_1302(0x87);
shi = read_1302(0x85); fen = read_1302(0x83); miao = read_1302(0x81); }
void key_scan() { if(key1 == 0) { delay(15); if(key1 == 0)
{
init_1302(0x80); flag = 0; TR0 = 0;
}
}
//写月份 //写日 //星期 //小时 //分钟
//秒,同时开启时钟 //启动充电功能 //关闭寄存器操作
17
四川师范大学成都学院电子工程系课程设计报告
if(key2 == 0) { delay(15); if(key2 == 0) { cnt ++; if(cnt >= 6) { cnt = 0; flag = 0; init_1302(0x00);
}
while(key2 == 0) ;
}
}
附录2 系统设计原理图
18
四川师范大学成都学院电子工程系课程设计报告
附录3 系统设计PCB
附录4 仿真全景图
19
四川师范大学成都学院电子工程系课程设计报告
附录5 实物全景图
附录6 实物运行图
20
四川师范大学成都学院电子工程系课程设计报告
21