在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430F449單片機(jī)RTC時(shí)鐘C語(yǔ)言程序(帶鬧鐘)

        MSP430F449單片機(jī)RTC時(shí)鐘C語(yǔ)言程序(帶鬧鐘)

        作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
        功能:實(shí)現(xiàn)軟件萬(wàn)年歷功能,并自動(dòng)識(shí)別閏年,A屏每顯示5秒種就自動(dòng)切換到B屏,B屏再顯示5秒種就自動(dòng)切換到C屏,C屏再顯示5秒種就自動(dòng)切換到A屏,通過(guò)按鍵在A屏、B屏和C屏之間切換,可通過(guò)按鍵手動(dòng)設(shè)定和調(diào)整時(shí)間,當(dāng)調(diào)整時(shí)對(duì)應(yīng)調(diào)整位要有閃爍功能,有鬧鐘功能,可設(shè)置幾點(diǎn)幾分鬧鐘,當(dāng)前時(shí)間等于鬧鐘時(shí)間時(shí),用點(diǎn)亮LED指示,直到某個(gè)鍵(自定義)被按下時(shí),熄滅LED燈

        ***************************************************/

        本文引用地址:http://www.biyoush.com/article/201611/322546.htm

        #include

        unsignedcharcnt;//計(jì)數(shù)器

        unsignedchartian;//天寄存器

        unsignedcharkey_code;//按鍵值

        unsignedcharflag;//換屏標(biāo)志位

        unsignedchartwinkle_num;//閃爍標(biāo)志位

        unsignedcharfunction_flag;//加減功能標(biāo)志位

        unsignedcharfunction_ping1,function_ping2,function_ping3;//每屏閃爍位

        unsignedcharchange_num;//閃屏?xí)r間定時(shí)

        unsignedcharchange_ping;//三屏計(jì)數(shù)位

        unsignedcharclock_flag;//鬧鐘標(biāo)志位

        unsignedcharping_flag;//按鍵跟蹤閃屏標(biāo)志位

        unsignedcharnum_flag;//按鍵計(jì)數(shù)閃屏標(biāo)志位

        unsignedchartian_flag;//天判斷標(biāo)志位

        unsignedcharrun_flag;//閏年判斷標(biāo)志位

        unsignedintkey_num=150;//按鍵消逗延時(shí)時(shí)間

        unsignedintyear=2008;//

        unsignedcharmonth=2;//

        unsignedcharday=28;//

        unsignedcharhour=23;//小時(shí)

        unsignedcharmin=59;//

        unsignedcharsec=57;//

        unsignedcharnao_hour=0;//鬧鐘時(shí)

        unsignedcharnao_min=0;//鬧鐘分

        unsignedcharnao_sec=0;//鬧鐘秒

        constunsignedchartianshu[13]=

        {0,31,28,31,30,31,30,31,31,30,31,30,31};//每月天數(shù)表

        chardigit[12]=//液晶顯示段碼表

        {

        0x7b,

        0x12,

        0x4f,

        0x1f,

        0x36,

        0x3d,

        0x7d,

        0x13,

        0x7f,

        0x3F,

        0x00

        };

        voidinit_clk(void);//初始化時(shí)鐘

        voidkey_scan(void);//按鍵掃描

        voidkey_value(void);//按鍵值確定

        voidrtc(void);//時(shí)鐘掃描函數(shù)

        voidrtc_show(void);//rtc掃描函數(shù)

        voidleap_year(void);//閏年判定函數(shù)

        voidmain(void)

        {

        init_clk();//時(shí)鐘初始化

        while(1)

        {

        key_scan();//按鍵掃描

        key_value();//鍵值確定

        rtc_show();//RTC顯示

        leap_year();//閏年判定

        if((sec==nao_sec)&&(min==nao_min)&&(hour==nao_hour))//鬧鐘判定

        {

        clock_flag=1;//鬧鐘標(biāo)志位置一

        }

        }

        }

        voidinit_clk(void)

        {

        unsignedchari;

        WDTCTL=WDTPW+WDTHOLD;//關(guān)閉看門狗

        FLL_CTL0|=XCAP14PF;//選擇14PF電容

        IE2|=BTIE;//開(kāi)啟基本定時(shí)器中斷

        BTCTL=BT_ADLY_250+BTFRFQ1;//250ms16分頻

        LCDCTL=LCDON+LCD4MUX+LCDP2;//STKLCD4Mux,S0-S14

        P5SEL=0xFC;//選擇P5口第二功能

        P1DIR|=0x01;//P1.0選擇輸出

        _EINT();//開(kāi)總中斷

        for(i=0;i<19;i++)

        {

        LCDMEM[i]=0;//清LCD緩沖區(qū)

        }

        }

        voidkey_scan(void)

        {

        staticunsignedintnum;//按鍵消抖計(jì)數(shù)器

        if((P1IN&0x0e)!=0x0e)//如果不等于表示有鍵按下

        {

        num++;//消逗計(jì)數(shù)器加

        key_code=0;//鍵值清零

        }

        else

        {

        num=0;//按鍵抖動(dòng),鍵值清零

        key_code=0;//鍵值清零

        }

        if(num==key_num)//鍵值確定

        {

        num=0;//消逗寄存器清零

        twinkle_num=0;//閃爍清零

        key_code=((P1IN&0x0e)>>1)^0x07;//鍵值轉(zhuǎn)換

        }

        }

        voidkey_value(void)

        {

        if(key_code==0x01)//第一個(gè)鍵被按下

        {

        function_flag=1;//功能鍵標(biāo)志位置一

        clock_flag=2;//關(guān)閉鬧鐘

        if(change_ping==0)//第一屏

        {

        function_ping1++;//數(shù)值閃爍加

        if(function_ping1==4)//閃爍到第三位

        {

        if(tian_flag==1)

        {

        function_ping1=1;//

        }

        else

        {

        function_ping1=0;//清零

        function_flag=0;//功能鍵清零

        }

        }

        change_num=0;//換屏計(jì)數(shù)器

        }

        if(change_ping==1)//第二屏

        {

        function_ping2++;//數(shù)值閃爍加

        if(function_ping2==4)

        {

        function_ping2=0;

        function_flag=0;//清零//功能標(biāo)志位清零

        }

        change_num=20;//換屏?xí)r間計(jì)數(shù)器

        }

        if(change_ping==2)//第三屏

        {

        function_ping3++;//數(shù)值閃爍加

        if(function_ping3==4)

        {

        function_ping3=0;//清零

        function_flag=0;//功能標(biāo)志位清零

        }

        change_num=40;//換屏計(jì)數(shù)器

        }

        }

        if((key_code==0x02)&&(function_flag==1))//加法

        {

        clock_flag=2;//關(guān)閉鬧鐘

        if(function_ping2==1)//秒閃爍

        {

        sec++;//秒加

        if(sec==60)//秒是否等于60

        sec=0;//秒數(shù)清零

        }

        if(function_ping2==2)//分閃爍

        {

        min++;//分加

        if(min==60)//分是否等于60

        min=0;//分清零

        }

        if(function_ping2==3)//小時(shí)閃爍

        {

        hour++;//小時(shí)加

        if(hour==24)//小時(shí)是否等于24

        hour=0;//小時(shí)清零

        }

        if(function_ping1==1)//日閃爍

        {

        day++;//日加加

        if(day>tian)//日是否大于天

        day=1;//日等于1

        }

        if(function_ping1==2)//月閃爍

        {

        month++;//月加加

        tian=tianshu[month];

        if(day>tian)

        {

        tian_flag=1;

        }

        else

        tian_flag=0;

        if(month==13)//月是否等于13

        month=1;//月等于1

        }

        if(function_ping1==3)//年閃爍

        {

        year++;//年加加

        if((year%4!=0)||(year0!=0)||(year@0==0))

        {

        tian=tianshu[month];

        if(day>tian)

        {

        tian_flag=1;

        }

        else

        tian_flag=0;

        }

        if(year==2100)//年是否等于2100

        year=2000;//年到2000

        }

        if(function_ping3==1)//鬧鐘秒閃爍

        {

        nao_sec++;//鬧鐘秒加加

        if(nao_sec==60)//鬧鐘秒是否等于60

        nao_sec=0;//鬧鐘秒清零

        }

        if(function_ping3==2)//鬧鐘分閃爍

        {

        nao_min++;//鬧鐘分加加

        if(nao_min==60)//鬧鐘分是否等于60

        nao_min=0;//鬧鐘分清零

        }

        if(function_ping3==3)//鬧鐘小時(shí)閃爍

        {

        nao_hour++;//鬧鐘小時(shí)加加

        if(nao_hour==24)//鬧鐘小時(shí)是否等于24

        nao_hour=0;//鬧鐘小時(shí)清零

        }

        }


        上一頁(yè) 1 2 3 下一頁(yè)

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉