//****************************************//»ùÓÚMSP430µÄ¿Éµ÷µç×ÓÍòÄêÀú£¨ÎÞRTC£©//×÷ÕߣºLynn//---------------//|MSP430F449|//VOUT--|P3|//Ϊ1λѡ--|P4.0|//Ϊ1¶ÎÑ¡--|P4.1|//¹¦ÄÜÑ¡Ôñ¼ü--|P1.1|//¼Ó1¼ü--|P1.2|//¼õ1¼ü--|P1.3|////¹¤×÷»·¾³£ºIARforMSP4304.21//Íê³Éʱ¼ä£º2011Äê2ÔÂ10ÈÕ//Ó²¼þ»·¾³£ºÀû¶û´ïF449ѧϰ°å,ÐͺţºLSD-MSP430-TEST44X//ÏÔʾ·½Ê½£ºÊýÂë¹Ü¶¯Ì¬É¨Ãè,¹²Òõ¼«ÊýÂë¹Ü½ÓÓÐÁ½¸ö¼Ä´æÆ÷£¬¹Ê¼ÓP4.0¡¢P4.1ºó¿ÉʵÏÖÏÔʾ¹¦ÄÜ//ʵÏÖ¹¦ÄÜ£ºÍ¨¹ýÁùλÊýÂë¹ÜÏÔʾʱ¼ä£¬Õý³£Çé¿öÏÂÏÔʾÈÕʱ·Ö;°´¹¦Äܼü1´Î£¬ÏÔʾÄêÔÂÈÕ//°´ÏÂ2´ÎºóʱÖÓÍ£Ö¹¼ÆÊý£¬¿ªÊ¼µ÷ÕûÄ꣬°´ÏÂ3´Îµ÷ÕûÔ£¬°´ÏÂ4´Îµ÷ÕûÈÕ//°´ÏÂ5´Îµ÷Õûʱ£¬°´ÏÂ6´Îµ÷Õû·Ö£¬°´ÏÂ7´ÎÍ˳öÖÁÕý³£×´Ì¬£¬ÒÀ´ÎÑ»·//±»µ÷ÕûλÉÁ˸ÏÔʾ£¬ÆäËüÕý³£ÏÔʾ;//µ÷Õû״̬ʱ£¬¿É°´¼Ó1¼üºÍ¼õ1¼õ¶Ôʱ¼ä½øÐе÷Õû;//MCU×Ô¶¯ÅжÏƽÈòÄ꣬У׼µ±ÔÂ×î´óÌìÊý;//¼Æʱ·½·¨£ºTAÖжϣ¬TACCR0=32767£¬1sÒ»´ÎÖжÏÃë¼Ó1£¬RTC½øÐÐʱ¼ä´¦Àí//°´¼ü£º²ÉÓòéѯ·½Ê½£¬Íâ½ÓÉÏÀµç×裨ÒÔºó¿ÉÒÔ³¢ÊÔÖжϷ½Ê½£©#includemsp430x44x.h//******¶¨Òå×Ó³ÌÐò******voidInit_Sys(void);//³õʼ»¯×Ó³ÌÐòvoidLEAP(void);//ÅжÏÈòÄê×Ó³ÌÐòvoidMAX(void);//ÌìÊýÅжÏ×Ó³ÌÐòvoidDISPLY(void);//ÏÔʾ×Ó³ÌÐòvoidRTC(void);//ʵʱʱÖÓ³ÌÐòvoidDIS_BIT(void);//ËÍÏÔ»º×Ó³ÌÐòvoidDLY_5ms(void);//ÑÓʱ×Ó³ÌÐòunsignedcharKEY_SET(void);//·µ»Ø°´¼ü±êÖ¾0,1,2,3voidDISPLY_Normal(void);voidDISPLY_SETmin(void);voidDISPLY_SEThour(void);voidDISPLY_SETday(void);voidDISPLY_SETmonth(void);voidDISPLY_SETyear(void);//*****¶¨Òå±äÁ¿********unsignedcharmax;//µ±ÔÂ×î´óµÄÌìÊýunsignedcharsec=0;unsignedcharmin=35;unsignedcharhour=13;unsignedcharday=10;unsignedcharmonth=2;unsignedintyear=2011;unsignedcharleap;//ÈòÄê±êÖ¾,1ΪÈòÄ꣬0ΪƽÄêunsignedcharfct=0;//¹¦ÄܱêÖ¾£¬0ÏÔʾʱÖÓ£¬1ÏÔʾÄêÔ£¬2~6·Ö±ðµ÷Õû·Ö¡¢Ê±¡¢ÈÕ¡¢Ô¡¢Äêunsignedcharled_bit[6];//ledÏÔʾ»º´æunsignedcharkey_flag;//°´¼üÊÇ·ñ°´Ï±êÖ¾£¬0Ϊ°´Ï£¬1ûÓа´ÏÂunsignedintdis_num;//ÏÔʾѻ·´ÎÊý//LEDÏÔʾ´úÂëLEDconstunsignedcharLED_TAB[]={0xd7,0x14,0xcd,0x5d,0x1e,//0,1,2,3,4,0x5b,0xdb,0x15,0xdf,0x5f,0X00//5,6,7,8,9,Ãð±êÖ¾·û};//******Ö÷³ÌÐò**********voidmain(void){Init_Sys();_EINT();while(1){RTC();//ʱÖÓ´¦Àí³ÌÐòKEY_SET();//·µ»Økey_flag£¬0ûÓа´Ï£¬1¹¦Äܼü£¬2¼Ó1¼ü£¬3¼õ1¼üif(key_flag==1){fct++;if(fct=7)fct=0;}DIS_BIT();//½«ÐèÒªÏÔʾµÄ×Ö·ûËÍÈëÏÔʾ»º´ædis_bit[]switch(fct){case0:DISPLY_Normal();break;//Õý³£ÏÔʾÈÕʱ·Öcase1:DISPLY_Normal();break;//Õý³£ÏÔʾÄêÔÂcase2:DISPLY_SETyear();break;//case3:DISPLY_SETmonth();break;//case4:DISPLY_SETday();break;//case5:DISPLY_SEThour();break;//case6:DISPLY_SETmin();break;//ÉÁ˸ÏÔʾ·Ö£¬Èôkey_flag=2£¬·Ö¼Ó1£¬Èô=3£¬·Ö¼õ1default:{fct=0;TACTL|=TAIE;//Í˳öʱ¼äµ÷Õû״̬£¬¿ªÆôTAÖжÏbreak;}}}}//======================//****¶¨Ê±Æ÷ÖжÏ****//**********************#pragmavector=TIMERA1_VECTOR__interruptvoidTimerA1(void){TACTL&=~TAIFG;sec++;P1OUT^=BIT0;}//=====================//***ʵʱʱÖÓ×Ó³ÌÐò****//*********************voidRTC(void){if(sec=60){min++;sec-=60;if(min=60){hour++;min=0;if(hour=24){day++;hour=0;MAX();if(day=max+1){month++;day=1;if(month=13){year++;month=1;}}}}}}//=====================//***ÈòÄêÅжÏ×Ó³ÌÐò****//***ÈòÄêleap=1,ƽÄêleap=0//*********************voidLEAP(void){if(year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;}//========================//*****ÌìÊýÅжÏ×Ó³ÌÐò*****//**¹¦ÄÜ£ºÅжϵ±ÔÂÌìÊýmax**//************************voidMAX(void){LEAP();if((month==4)||(month==6)||(month==9)||(month==11))max=30;elseif((month==2)){if(leap==1)max=29;elsemax=28;}elsemax=31;}//=====================//****ËÍÏÔʾλ×Ó³ÌÐò***//*********************voidDIS_BIT(void){if((fct==0)||(fct==4)||(fct==5)||(fct==6)){led_bit[0]=min%10;led_bit[1]=min/10;led_bit[2]=hour%10;led_bit[3]=hour/10;led_bit[4]=day%10;led_bit[5]=day/10;}else{led_bit[0]=month%10;led_bit[1]=month/10;led_bit[2]=year%10;led_bit[3]=(year%100)/10;led_bit[4]=(year%1000)/100;led_bit[5]=year/1000;}}//=====================/******ÏÔʾ×Ó³ÌÐò*******//*********************/voidDISPLY(void){unsignedcharidis=0;unsignedintwei=0x20;//00100000while(idis=5){P3OUT=LED_TAB[led_bit[idis]];P4OUT|=BIT1;//¿ªÆô¼Ä´æÆ÷ËÍÏÔʾ×Ö·ûÂëP4OUT&=~BIT1;//½ûÖ¹¶ÎÑ¡¼Ä´æÆ÷ÊäÈëP3OUT=~wei;//11011111¹²Òõ¼«ÊýÂë¹ÜP4OUT|=BIT0;//¿ªÆô¼Ä´æÆ÷ËÍλѡP4OUT&=~BIT0;//½ûֹλѡ¼Ä´æÆ÷ÊäÈëwei=1;//λѡ×óÒÆ1λDLY_5ms();/////Ïû¹íÓ°//////P3OUT=0xff;P4OUT|=BIT0;//¿ªÆô¼Ä´æÆ÷ËÍλѡP4OUT&=~BIT0;//½ûֹλѡ¼Ä´æÆ÷ÊäÈëidis++;}}//////1310*4/(32*32768)*1000ԼΪ5ms//////////forÓï¾ä£¬ÅжÏΪ3¸ö»úÖÜ£¬¼õ1Ϊ2¸ö»úÖÜ///voidDLY_5ms(void){unsignedintidly1;for(idly1=1000;idly1=1;idly1--);}//////////////////unsignedcharKEY_SET(void)////°´Ï¹¦Äܼü,key_flag=1Í˳ö£¬°´Ï¼Ó1¼ü£¬key_flag=2Í˳ö£¬//°´Ï¼õ1¼ü£¬key_flag=3Í˳ö£¬Ã»Óа´Ï£¬Ôòkey_flag=0////////////{if((P1IN&BIT1)==0)//ɨÃèP1.1¹¦ÄܼüÊÇ·ñ°´Ï£¬°´ÏÂΪ0{//DLY_5ms();//ÑÓʱÏû¶·if((P1IN&BIT1)==0)key_flag=1;}elseif((P1IN&BIT2)==0)//ɨÃèP1.2¼Ó1¼üÊÇ·ñ°´Ï£¬°´ÏÂΪ0{//DLY_5ms();//ÑÓʱÏû¶·if((P1IN&BIT2)==0)key_flag=2;}elseif((P1IN&BIT3)==0)//ɨÃèP1.3¼õ1¼üÊÇ·ñ°´Ï£¬°´ÏÂΪ0{//DLY_5ms();//ÑÓʱÏû¶·if((P1IN&BIT3)==0)key_flag=3;}elsekey_flag=0;returnkey_flag;}//////////³õʼ»¯/////////////voidInit_Sys(void){WDTCTL=WDTPW+WDTHOLD;//¹Ø±Õ¿´ÃŹ·FLL_CTL0|=XCAP14PF;TACTL=MC_1+TASSEL_1+TAIE+TACLR;//Upģʽ£¬¼ÆÊýÆ÷ÖжÏʹÄÜ£¬ACLK=32kTACCR0=3