新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 1602LCD液晶+DS18B20實現數字電子鐘

        1602LCD液晶+DS18B20實現數字電子鐘

        作者: 時間:2016-11-18 來源:網絡 收藏
        呵呵,我終于按照自己的想法實現了功能比較完善的數字電子鐘
        液晶顯示內容: 2012-02-02 14C //第1行
        00:20:38 Thurs //第2行
        這個時鐘表 既可以顯示溫度,又可以顯示 當前日期是星期幾了。 這個星期幾的判斷方法就是根據一個 國際日歷公式來實現的。
        實現功能:
        1. 調整 年月日 時分
        2. 顯示 當前周圍溫度
        3. 顯示 當前日期的 是星期幾
        4. 整點報時
        5. 若調整時間 不合理, 比如2012-02-34 ,則 調整失效
        6. 若調整時間,則可以放棄所調整的時候。
        http://blog.163.com/wenxianliang08@126 / /* 阿浪 博客 */
        下面是個人 剛剛實現的 代碼
        #include
        #include
        #include"DS18B20.h" //溫度
        #include"LCD1602.h" //1602液晶
        #include"MyFuntion.h" //自定義頭文件
        //獨立按鍵P1口
        sbit Key1=P3^0;
        sbit Key2=P3^1;
        sbit Key3=P3^2;
        sbit Key4=P3^3;
        sbit Key5=P3^4;
        sbit Key6=P3^5;
        sbit Key7=P3^6;
        unsigned char T; //溫度
        unsigned char Week1[]={"Monday"}; //周一
        unsigned char Week2[]={"Tuesday"}; //周二
        unsigned char Week3[]={"Wednes"};
        unsigned char Week4[]={"Thurs"};
        unsigned char Week5[]={"Friday"};
        unsigned char Week6[]={"Satur"}; //周六
        unsigned char Week7[]={"Sunday"}; //周日
        unsigned char Week[8];
        void DisplayWeek()
        {
        unsigned char C=20;
        unsigned char y;
        unsigned char m;
        unsigned char d;
        unsigned char W;
        unsigned char i=0;
        if(month<3)
        {
        y=year2-1;
        m=12+month;
        }
        else
        {
        y=year2;
        m=month;
        }
        d=day;
        W=C/4-2*C+y+y/4+13*(m+1)/5+d-1;
        W=W%7;
        Write_Command(0x80+0x49);
        switch(W)
        {
        case 0: strcpy(Week, Week7);break;
        case 1: strcpy(Week, Week1);break;
        case 2: strcpy(Week, Week2);break;
        case 3: strcpy(Week, Week3);break;
        case 4: strcpy(Week, Week4);break;
        case 5: strcpy(Week, Week5);break;
        case 6: strcpy(Week, Week6);break;
        }
        while(Week[i]!= 主站蜘蛛池模板: 荆州市| 南通市| 诸暨市| 望谟县| 沙坪坝区| 临西县| 三明市| 怀安县| 黄梅县| 镇坪县| 大荔县| 民勤县| 正安县| 塘沽区| 子长县| 宝兴县| 红原县| 汤阴县| 宁安市| 运城市| 宁河县| 兴业县| 红原县| 朝阳市| 民和| 鹿邑县| 廊坊市| 镇巴县| 无锡市| 崇阳县| 东丽区| 南靖县| 巴马| 集贤县| 乌苏市| 苏尼特左旗| 清徐县| 石狮市| 象山县| 电白县| 博爱县|