Ds1302可调时钟,按下S7调节时分秒,按下S6加1,按下S5减1
mian.c
#include <stc15f2k60s2.h>
#include <intrins.h>
#include "ds1302.h"
void Timer0Init(void);
void xianshi();
void Delay10ms();
void anjian();
unsigned char display[]={
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
unsigned char code shuzu[]={
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char wei;
sbit s7=P3^0;
sbit s6=P3^1;
sbit s5=P3^2;
void main()
{
Timer0Init();EA=1;ET0=1;
P2=(P2&0X1F)|0XA0;
P0=0X00;
P2&=0X1F;
P2=(P2&0X1F)|0X80;
P0=0XFF;
P2&=0X1F;
write_ds();
while(1)
{
anjian();
xianshi();
}
}
void xianshi()
{
if(wei==0)
{
read_ds();
display[0]=shuzu[time[2]/16];
display[1]=shuzu[time[2]%16];
// display[2]=shuzu[3];
display[3]=shuzu[time[1]/16];
display[4]=shuzu[time[1]%16];
// display[5]=shuzu[6];
display[6]=shuzu[time[0]/16];
display[7]=shuzu[time[0]%16];
// if((time[0]%16)%2==0)
// {
// display[2]=display[5]=0xbf;