• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 時間可調的定時鬧鐘C51程序

    時間可調的定時鬧鐘C51程序

    作者: 時間:2012-10-31 來源:網絡 收藏

    void jia() //加1子函數
    {
    if(cnt==2) //判斷key1按下的次數是否為2
    {
    miao++; //是,則秒加1
    if(miao>59) //判斷秒是否大于59,是,則秒清零
    miao=0;
    }
    if(cnt==3) //以下含義同上
    {
    fen++;
    if(fen>59)
    fen=0;
    }
    if(cnt==4)
    {
    shi++;
    if(shi>23)
    shi=0;
    }
    if(cnt==5)
    {
    miao2++;
    if(miao2>59)
    miao2=0;
    }
    if(cnt==6)
    {
    fen2++;
    if(fen2>59)
    fen2=0;
    }
    if(cnt==7)
    {
    shi2++;
    if(shi2>23)
    shi2=0;
    }
    }
    void jian() //減1子函數
    {
    if(cnt==2) //判斷key1按下的次數是否為2,是則秒減1
    {
    miao--;
    if(miao==255) //判斷秒是否減到255,是,則秒清零
    miao=59;
    }
    if(cnt==3)
    {
    fen--;
    if(fen==255)
    fen=59;
    }
    if(cnt==4)
    {
    shi--;
    if(shi==255)
    shi=23;
    }
    if(cnt==5)
    {
    miao2--;
    if(miao2==255)
    miao2=59;
    }
    if(cnt==6)
    {
    fen2--;
    if(fen2==255)
    fen2=59;
    }
    if(cnt==7)
    {
    shi2--;
    if(shi2==255)
    shi2=23;
    }
    }
    void clock() //鬧鈴子函數
    {
    if(miao2==miao) //顯判斷秒的數值是否相等
    if(fen2==fen) //是,在判斷分是否相等
    if(shi2==shi) //是,再判斷時是否相等
    {
    flag1=0; //是,則標志位,flag1清零
    while(!(flag1==100)) //判斷flag1是否到100
    {
    fmq=0; //沒有,則,繼續驅動蜂鳴器響,時間約為:5s
    shijian(); //調用時間子函數
    display(); //調用顯示子函數
    }
    fmq=1;//關閉蜂鳴器
    }
    }
    void main()
    {
    init();//調用初始化子函數
    while(1)
    {
    key_scan(); //調用鍵盤掃描子函數
    shijian(); //時間子函數
    clock(); //鬧鐘子函數
    //顯示子函數
    if(cnt==0||cnt==1||cnt==2||cnt==3||cnt==4||cnt==8)
    {
    display();
    }
    if(cnt==5||cnt==6||cnt==7)
    {
    display_1();
    }
    }
    }
    void time0() interrupt 1 //定時器0
    {
    TH0=(65536-50000)/256; //初值50ms
    TL0=(65536-50000)%256;
    flag++; //標志位
    flag1++;
    }


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 察隅县| 信宜市| 集贤县| 天水市| 杭锦后旗| 达州市| 炎陵县| 呼图壁县| 桂平市| 兴宁市| 南和县| 开封县| 团风县| 锦屏县| 惠来县| 响水县| 宜昌市| 赤城县| 浦北县| 四子王旗| 财经| 益阳市| 天台县| 化州市| 五河县| 福泉市| 襄汾县| 丹棱县| 富源县| 石景山区| 鹤峰县| 贞丰县| 什邡市| 红原县| 神木县| 香格里拉县| 阿拉善右旗| 通化市| 六枝特区| 乐昌市| 靖远县|