久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 單片機設計電子時鐘鬧鐘,lcd1602顯示日期時間、萬年歷 [打印本頁]

作者: JayCLY    時間: 2020-7-2 19:27
標題: 單片機設計電子時鐘鬧鐘,lcd1602顯示日期時間、萬年歷
    最近在做51單片機的設計,要求用定時器中斷來做個電子時鐘,用protues進行仿真。有鬧鐘、菜單、萬年歷、時間制式轉化(12小時制,24小時制)、掉電保存等功能。
設計一個完整的鬧鐘程序,實現以下功能:
1.  具有4個以上按鍵,具有確定鍵,返回鍵,上移鍵,下移鍵,保存鍵等,可以通過按鍵設定時間的時鐘,分鐘,年,月,日
2.  設定能實現秒鐘的自動計時相加(利用定時器)
3.  具有萬年歷功能,能自動識別潤年與非潤年進行日期疊加
4.  具有12小時制和24小時制的切換
5.  采用LCD1602進行顯示,上電后先顯示學生學號,姓名,然后延遲5秒后進入日期和時鐘界面。
6.  可以設置鬧鐘,當時間到鬧鐘時候,具有設置提出鬧鈴(可以用其中一個led燈或者其他指示設備表示)
7.  鬧鈴設置能按周進行設置,可設計工作日,周末和每天
8.  設計小型操作系統實現各個數字字段的修改與確定
9.   能通過i2c外接一個E2ROM,將鬧鐘設置的數據保存,確保掉電重啟后數據不會丟失。

#include <reg51.h>                        //51頭文件
#include "lcd.h"
#include "Menu.h"
#include "Clock.h"
#include "E2ROM.h"
#include "I2C.h"
#include "Key.h"
extern char second;
extern unsigned char year;
extern unsigned char alarm_set_flag;
unsigned char menu_select = 0;
unsigned int timer_cnt = 0;
void interrupt_init();
void main()
{        
        interrupt_init();
        Lcd_Init();
        LcdClean();
        i2c_init();
        data_rece();
        while(1)
        {
                switch(menu_select)
                {
                        case 0:        Calendar_display(); break;
                        case 1:        alarm_displaya(); break;
                        case 2:        Lunar_Calendar(); break;
                        case 3: menu_display(); break;
                }
                clock();
                Calendar();
                data_send();
        }
}
/**********鍵盤掃描中斷服務函數*********/
void Key_interrupt()         interrupt 2
{
        key_scanf();        
}
/**********時鐘中斷服務函數*********/
void TIME_interrupt()         interrupt 1
{
        TH0 = (65536-10000)/256;  //重設初值
        TH1 = (65536-10000)%256;
        timer_cnt++;
        if(timer_cnt>=100)           
        {
                 second++;
                timer_cnt = 0;
        }

        alarm();        
}
/**********中斷初始化配置*********/
void interrupt_init()
{
        EA = 1;//全局中斷打開

        EX1 = 1;//INT1中斷允許        
        EX1 = 1;//INT0中斷允許
        IT1 = 1;//觸發方式為下降沿觸發

        TMOD = 0x01;
        TH0 = (65536-10000)/256;
        TH1 = (65536-10000)%256;
        ET0 = 1;
        TR0 = 1;         //計時開始
}
protues.zip (42.7 KB, 下載次數: 91)

keil.zip (101.57 KB, 下載次數: 87)










歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费观看毛片 | 亚洲精品一区在线 | 午夜影院在线观看 | 欧美一区二区三区小说 | 亚洲高清在线观看 | 国产成人久久av免费高清密臂 | 毛片毛片毛片毛片 | 在线亚洲电影 | 国产黄色一级电影 | 欧美三级电影在线播放 | 不卡一区二区三区四区 | 一级全黄视频 | 久久精品久久久久久 | 一区在线观看 | 亚洲欧美在线视频 | 天天天操操操 | 国产十日韩十欧美 | 99精品一区二区 | 国产日韩欧美 | 午夜一区二区三区在线观看 | 狠狠爱视频| 一区二区三区四区免费观看 | 日韩欧美国产一区二区三区 | 亚洲欧美在线一区 | 亚洲一区久久 | 国产精品综合网 | 免费在线观看一区二区三区 | 日韩欧美一二三区 | 成人国产精品久久久 | 欧美激情视频一区二区三区在线播放 | 粉嫩av | 在线视频中文字幕 | 国产精品美女久久久av超清 | 97视频成人 | 成人在线免费视频观看 | 欧美日韩亚洲一区 | 999久久久久久久久 国产欧美在线观看 | 久久蜜桃资源一区二区老牛 | 亚洲午夜精品一区二区三区他趣 | 亚洲成人动漫在线观看 | av色站|