亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.c

?? 使用AVR單片機實現(xiàn)的萬年歷功能,其中使用了ds1302和1602
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*****************************************************
This program was produced by the
CodeWizardAVR V1.24.6 Professional
Automatic Program Generator
?Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
e-mail:office@hpinfotech.com

Project : 
Version : 
Date    : 2008-6-28
Author  : F4CG                            
Company : F4CG                            
Comments: 


Chip type           : ATmega16
Program type        : Application
Clock frequency     : 4.000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 256
*****************************************************/

#include <mega16.h>
#include "ds1302ram.h"
#include "key.h"
#include "lcd.h"
#include "music.h"
#include "time.h"
#include "timing.h"
#include "usart.h"
#include "ds1302ram.c"
#include "key.c"
#include "lcd.c"
#include "music.c"
#include "time.c"
#include "timing.c"
#include "usart.c"

//bit noiseSetFlag;	//用于存放鬧鐘是否起鬧的標志
unsigned char noiseMusicChoose;		//定義鬧鐘音樂選擇的變量
bit noiseMusicOrPlayMusic;		//標識設(shè)置播放的音樂還是鬧鐘音樂

 
void SeeLunarAndWeek(void);
void SetTimeAndSolar(void); 
void SetNoiseData(void);
void SetMusicPlay(void);        
unsigned char NoiseTimeFlag(void);

void SeeLunarAndWeek(void)
{
        LcdClear();		//清屏
        LcdSetXY(0, 0);		//設(shè)置顯示農(nóng)歷初始化的數(shù)據(jù)
        LcdPutFlashString(lunarData);
        time2sIsOK = 0;				//清哦2s到達的標志以及計數(shù)器
        time2sCounter = 0;
        
        while (1)
        {
                FindTime();				//判斷各個時間段是否已經(jīng)到達
                        
                DS1302ReadTimeData(); //讀取時間
				FindDataOfWeek();		//計算星期
                SolarToLunar();			//國歷轉(zhuǎn)換為農(nóng)歷
                Change();				//顯示數(shù)據(jù)送緩沖區(qū)
                DisplayTwo();			//顯示農(nóng)歷和星期
                                
                if (time2sIsOK == 1)		//2s到了則返回顯示陽歷和時間
                {
                        LcdSetXY(0, 0);
                        LcdPutFlashString(solarData);
                        LcdSetXY(1, 0);
                        LcdPutFlashString(timeData);
                        DisplayOne();
                        break;
                }

                
        }
}

void SetTimeAndSolar(void)
{
        unsigned char key6KeyValue;			//用于存儲鍵值
        bit setbit;							//有鍵按下的標志
        bit setOnbit;						//顯示的標志
        unsigned char key6I;				//循環(huán)變量
        
        setbit = 0;							//各個標志位清0
        setOnbit = 0;
        key6KeyValue = 0;
        time10msIsOK = 0;   
        time500msIsOK = 0; 
        time20sIsOK = 0;
        time500msCounter = 0;
        time20sCounter = 0;
		//顯示初始化
        LcdSetXY(0, 0);
        LcdPutFlashString(solarData);
        LcdSetXY(1, 0);
        LcdPutFlashString(timeData);
        DS1302ReadTimeData();
        Change();
        DisplayOne(); 
        
        key6I = 0;
        
        while (1)
        {
                FindTime();		//判斷各個時間段是否已經(jīng)到達
                
                if(time10msIsOK)
                {
                        time10msIsOK = 0;
                        key6KeyValue = FindKeyValue();		//讀取鍵值
                        
                        switch (key6KeyValue)
                        {
                        case key6: 
                                time20sCounter = 0;			//只要有鍵按下則清0 20s計數(shù)器
                                
                                if (setbit)					//設(shè)置時間
                                {
		                        FindDataOfWeek();	//計算星期
                                        DS1302WriteTimeData();
                                }
                                
                                break;
                        case key1:		//按鍵1為右移處理
                                setbit = 1;				//有鍵按下標志位置1,表示有鍵按下
                                time20sCounter = 0;			//只要有鍵按下則清0 20s計數(shù)器
                                //以下兩行顯示為了防止剛才恰好沒有顯示  
                                LcdPutOneChar((DS1302Data[key6I] / 10) + 48);
                                LcdPutOneChar((DS1302Data[key6I] % 10) + 48);  
                                
                                if (key6I == 0)
                                {
                                        key6I = 6;
                                }
                                else if (key6I == 4)
                                {
                                        key6I = 2;
                                }
                                else
                                {
                                        --key6I;
                                }
                                
                                break;
                        case key2:		//按鍵2為左移處理
                                setbit = 1;				//有鍵按下標志位置1,表示有鍵按下
                                time20sCounter = 0;			//只要有鍵按下則清0 20s計數(shù)器  
                                //以下兩行顯示為了防止剛才恰好沒有顯示
                                LcdPutOneChar((DS1302Data[key6I] / 10) + 48);
                                LcdPutOneChar((DS1302Data[key6I] % 10) + 48);
                                
                                if (key6I == 6)
                                {
                                        key6I = 0;
                                }
                                else if (key6I == 2)
                                {
                                        key6I = 4;
                                }
                                else
                                {
                                        ++key6I;
                                }
                                
                                break;
                        case key3:		//	按鍵3為加1處理
                                setbit = 1;				//有鍵按下標志位置1,表示有鍵按下
                                time20sCounter = 0;			//只要有鍵按下則清0 20s計數(shù)器
                                ++DS1302Data[key6I];
                                break;
                         case key4:			//按鍵4為減1處理
                                setbit = 1;				//有鍵按下標志位置1,表示有鍵按下
                                time20sCounter = 0;			//只要有鍵按下則清0 20s計數(shù)器
                                --DS1302Data[key6I];
                                break;
                         case key5:			//按鍵5為加10處理
                                setbit = 1;				//有鍵按下標志位置1,表示有鍵按下
                                time20sCounter = 0; 			//只要有鍵按下則清0 20s計數(shù)器
                                DS1302Data[key6I] += 10;
                                break;
                         case key8:				//按鍵8為減10處理
                                setbit = 1;				//有鍵按下標志位置1,表示有鍵按下
                                time20sCounter = 0;			//只要有鍵按下則清0 20s計數(shù)器
                                DS1302Data[key6I] -= 10;
                                break;
                         };
                         
                } 
                
                if ((key6KeyValue == key6)||(time20sIsOK ==1))//按下退出鍵或者20s沒有鍵按下則推出時間設(shè)置
                {       
                        
                        DS1302ReadTimeData();
                        FindDataOfWeek();
                        Change();
                        LcdSetXY(0, 0);
                        LcdPutFlashString(solarData);
                        LcdSetXY(1, 0);
                        LcdPutFlashString(timeData);
                        DisplayOne(); 
                        break;
                }
                else
                {
                        if (time500msIsOK)			//500ms到,取反顯示標志
                        {
                                time500msIsOK = 0;
                                setOnbit = ~setOnbit;
                        }
                        
                        switch (key6I)			//選擇顯示的位置
                        { 
                        case 0: 
                                LcdSetXY(1, 14);
                                break;
                        case 1:
                                LcdSetXY(1, 11);
                                break;
                        case 2:                 
                                LcdSetXY(1, 8);
                                break;
                        case 4: 
                                LcdSetXY(0, 14);
                                break;
                        case 5:                 
                                LcdSetXY(0, 11);
                                break;
                        case 6:                 
                                LcdSetXY(0, 8);
                                break;
                        };
                        
                        DS1302CheckDataOve();
                        
                        if (setOnbit)			//500ms顯示數(shù)據(jù),500ms顯示空格
                        {
                                LcdPutOneChar(0x20);
                                LcdPutOneChar(0x20);
                        }
                        else
                        {
                                LcdPutOneChar((DS1302Data[key6I] / 10) + 48);
                                LcdPutOneChar((DS1302Data[key6I] % 10) + 48);
                        }  
                        
                        switch (key6I)			//選擇顯示的位置
                        { 
                        case 0: 
                                LcdSetXY(1, 14);
                                break;
                        case 1:
                                LcdSetXY(1, 11);
                                break;
                        case 2:                 
                                LcdSetXY(1, 8);
                                break;
                        case 4: 
                                LcdSetXY(0, 14);
                                break;
                        case 5:                 
                                LcdSetXY(0, 11);
                                break;
                        case 6:                 
                                LcdSetXY(0, 8);
                                break;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人小视频在线| 欧美一区中文字幕| 欧美精选午夜久久久乱码6080| 日韩一二三区视频| 国产精品高清亚洲| 激情综合网天天干| 欧美日韩国产综合一区二区 | 粉嫩av一区二区三区在线播放| 91黄色免费版| 国产日本欧美一区二区| 国产成人精品三级| 欧美高清视频一二三区| 亚洲欧美国产77777| 蜜臀av在线播放一区二区三区| 91福利国产成人精品照片| 精品处破学生在线二十三| 亚洲第一搞黄网站| 91豆麻精品91久久久久久| 国产精品免费免费| 国产精品亚洲一区二区三区妖精 | 欧美日韩国产片| 亚洲卡通欧美制服中文| 成人永久看片免费视频天堂| 精品国产91乱码一区二区三区| 日韩成人av影视| 欧美日韩国产乱码电影| 亚洲成a人片在线不卡一二三区 | 国产剧情av麻豆香蕉精品| 欧美放荡的少妇| 日韩激情在线观看| 日韩一区二区三区在线视频| 五月综合激情网| 欧美另类久久久品| 五月天激情综合网| 91精品国产综合久久精品| 日日夜夜精品视频免费| 91精品国产综合久久久久久漫画| 亚洲一二三四在线观看| 欧美亚日韩国产aⅴ精品中极品| 亚洲欧美乱综合| 色琪琪一区二区三区亚洲区| 亚洲人成网站精品片在线观看| 成人一区二区在线观看| 国产精品久久久久久久第一福利| 99这里只有精品| 中文字幕一区二区三区四区不卡| 色欧美88888久久久久久影院| 国产精品久久久久久久裸模| av网站一区二区三区| 一区二区欧美国产| 欧美精品日日鲁夜夜添| 国产在线视频一区二区| 国产日韩欧美激情| 91黄色激情网站| 视频精品一区二区| 国产亚洲一二三区| 91亚洲精品乱码久久久久久蜜桃| 亚洲午夜久久久久久久久电影网| 欧美精品一二三区| 经典三级在线一区| 综合自拍亚洲综合图不卡区| 在线视频国产一区| 久久国产剧场电影| 国产精品不卡视频| 这里只有精品免费| 成人一区二区三区视频| 亚洲午夜久久久久久久久久久| 欧美一区二区高清| www.亚洲人| 日韩精品国产欧美| 中文字幕高清不卡| 欧美久久久久久蜜桃| 国产91露脸合集magnet| 亚洲电影第三页| 久久久久久久网| 在线不卡a资源高清| 国产成人精品1024| 视频一区欧美精品| 亚洲国产精品ⅴa在线观看| 欧美精品九九99久久| 成人免费高清在线| 老鸭窝一区二区久久精品| 亚洲欧美色综合| 久久久久久综合| 欧美理论片在线| 92精品国产成人观看免费| 久久99国产精品免费网站| 一区二区三区不卡在线观看| 国产午夜亚洲精品午夜鲁丝片| 欧美日韩一区二区三区免费看| 成人黄色国产精品网站大全在线免费观看 | 久久国产三级精品| 亚洲欧美综合在线精品| 欧美刺激脚交jootjob| 91福利精品第一导航| 成人免费观看av| 国产在线一区二区| 蜜桃免费网站一区二区三区| 亚洲国产成人精品视频| 亚洲欧洲成人精品av97| 日本一区二区在线不卡| 精品美女在线播放| 日韩欧美在线网站| 91精选在线观看| 欧美日韩国产综合一区二区三区 | 日本亚洲免费观看| 亚洲高清三级视频| 亚洲与欧洲av电影| 亚洲免费观看高清完整| 亚洲天天做日日做天天谢日日欢 | 国产精品日韩成人| 久久影院午夜片一区| 日韩视频免费观看高清在线视频| 欧洲av在线精品| 欧美日韩免费观看一区二区三区 | 麻豆国产欧美一区二区三区| 亚洲小说欧美激情另类| 亚洲一区二区黄色| 亚洲成年人影院| 99久久精品国产一区二区三区| 狠狠色狠狠色综合日日91app| 美女一区二区视频| 极品美女销魂一区二区三区 | 精品国产免费视频| 久久久久99精品国产片| 欧美极品aⅴ影院| 国产精品美女久久久久久久久 | 韩日精品视频一区| 国产精品一区久久久久| 国产成人午夜电影网| eeuss鲁一区二区三区| 91欧美激情一区二区三区成人| 色婷婷激情久久| 555www色欧美视频| 2021国产精品久久精品| 国产女人水真多18毛片18精品视频| 国产精品私人影院| 亚洲激情在线激情| 青青青伊人色综合久久| 国产河南妇女毛片精品久久久| 成人午夜在线免费| 欧美三日本三级三级在线播放| 9191久久久久久久久久久| 精品理论电影在线| 亚洲色图在线播放| 日韩高清一区在线| 福利一区福利二区| 欧美日韩亚洲高清一区二区| 26uuu亚洲婷婷狠狠天堂| 中文一区一区三区高中清不卡| 亚洲激情在线激情| 国产一区二区精品在线观看| 99国产一区二区三精品乱码| 欧美日韩国产美女| 国产精品每日更新| 日韩av一区二区三区四区| 国产91露脸合集magnet| 欧美日韩视频在线第一区| 国产欧美日韩精品一区| 亚洲成人av电影在线| 国产成人在线观看| 欧美国产精品中文字幕| 一区二区三区免费网站| 精品一区二区在线视频| 欧洲色大大久久| 国产三级精品三级| 日本欧美一区二区三区乱码 | 蜜臀精品一区二区三区在线观看 | 无码av免费一区二区三区试看| 国产麻豆精品95视频| 欧美视频中文字幕| 欧美极品美女视频| 久久国产精品免费| 欧美日韩国产另类不卡| 中文字幕日韩av资源站| 国产一区二区三区在线观看免费视频 | 色8久久精品久久久久久蜜| 精品国产免费久久 | 一区二区三区鲁丝不卡| 国产一区二区在线看| 欧美一区二区三区小说| 一二三区精品福利视频| 99久久久无码国产精品| 国产女主播一区| 国内精品伊人久久久久av一坑 | 日韩成人一级片| 欧美日韩精品电影| 亚洲国产另类av| 在线免费亚洲电影| 亚洲女厕所小便bbb| 成人av在线看| 中文在线资源观看网站视频免费不卡| 另类小说视频一区二区| 日韩一级成人av| 六月丁香婷婷久久| 欧美精品一区二区三| 麻豆国产精品视频| 欧美大片一区二区三区| 热久久一区二区| 欧美成人bangbros|