ºþ±±ÎÄÀíѧԺÀí¹¤Ñ§Ôº ¸½Â¼1£º³ÌÐò
CE = 1; //·¢Ë͵ØÖ·
for ( i=8; i>0; i-- ) //Ñ»·8´ÎÒÆÎ» {
SCLK = 0; temp = addr;
DIO = (bit)(temp&0x01); //ÿ´Î´«ÊäµÍ×Ö½Ú addr >>= 1; //ÓÒÒÆÒ»Î» SCLK = 1; }
//¶ÁÈ¡Êý¾Ý
for ( i=8; i>0; i-- ) {
ACC_7=DIO; SCLK = 1; ACC>>=1; SCLK = 0; } CE=0; dat1=ACC;
dat2=dat1/16; //Êý¾Ý½øÖÆ×ª»» //Ê®Áù½øÖÆ×ªÊ®½øÖÆ dat1=dat1; dat1=dat1+dat2*10; return (dat1); }
//³õʼ»¯ DS1302
void Initial(void) //³õʼ»¯1302 2010Äê09ÔÂ30ÈÕ23µã58·Ö56Ãë ÐÇÆÚÒ»
{
ºþ±±ÎÄÀíѧԺÀí¹¤Ñ§Ôº ¸½Â¼1£º³ÌÐò
write_1302 (0x8e,0x00); //ÔÊÐíд±£»¤ write_1302 (0x80,0x56);
//Ãëλ³õʼ»¯
write_1302 (0x82,0x58); //·ÖÖÓ³õʼ»¯ write_1302 (0x84,0x23); //Сʱ³õʼ»¯ write_1302 (0x86,0x30); //ÈÕ³õʼ»¯
write_1302 (0x88,0x09); //Ô³õʼ»¯ write_1302 (0x8c,0x10); //Äê³õʼ»¯ write_1302 (0x8a,0x01); //ÈÕÆÚʼ»¯ write_1302 (0x8e,0x80); //½ûֹд±£»¤
}
void di()//·äÃùÆ÷Ï캯Êý {
beep=0; delay(100); beep=1; }
void write_sfm(uchar add,uchar date) {
uchar shi,ge; shi=date/10; ge=date;
write_com(0x80+0x40+add); write_data(0x30+shi); write_data(0x30+ge); }
void write_nyrz(uchar add,uchar date)//ÏÔʾÄ꣬Ô£¬ÈÕ£¬ÖÜ{
uchar shi,ge; shi=date/10; ge=date;
ºþ±±ÎÄÀíѧԺÀí¹¤Ñ§Ôº ¸½Â¼1£º³ÌÐò
write_com(0x80+add); write_data(0x30+shi); write_data(0x30+ge); }
void display_week(uchar we) {
write_com(0x80+12); switch(we) {
case 1: write_data('M');delay(5);
write_data('O');delay(5); write_data('N'); break;
case 2: write_data('T');delay(5);
write_data('U');delay(5); write_data('E'); break;
case 3: write_data('W');delay(5);
write_data('E');delay(5); write_data('D'); break;
case 4: write_data('T');delay(5);
write_data('H');delay(5); write_data('U'); break;
case 5: write_data('F');delay(5);
write_data('R');delay(5); write_data('T'); break;
case 6: write_data('S');delay(5);
ºþ±±ÎÄÀíѧԺÀí¹¤Ñ§Ôº ¸½Â¼1£º³ÌÐò
write_data('A');delay(5); write_data('T'); break;
case 7: write_data('S');delay(5);
write_data('U');delay(5); write_data('N'); break;
} }
void keyscan()//°´¼üÉèÖà {
if(key3==0)//¹¦Äܼü°´Ï {
flag=0; delay(5); if(key3==0) {
s1num++; while(!key3); di();
switch(s1num)//¹â±êÉÁ˸¶¨Î» {
case 1:write_com(0x80+0x40+7);//¶¨Î»µ½ÃëµÄλÖÃ
write_com(0x0f); tempchange();
for(i=10;i>0;i--) { } break;
dis_temp(get_temp());