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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 2402test.c

?? 《愛上單片機》配書光盤
?? C
?? 第 1 頁 / 共 3 頁
字號:
		//
	    print2(0x95,(read_clock(0x81)/16)+0x30);//秒
	    print2(0x96,(read_clock(0x81)%16)+0x30);
		//
		print(0x8a," ");//在主顯示區空白處寫入空格 防止亂碼
		print(0x8e," ");
		print(0xc0," ");
}
/********************************************************************************************
//顯示項目 定時時間部分 在第一行全行顯示時間
*********************************************************************************************/    
void alarm_Display(void){
	    print(0x80,"AL");
	    print2(0x82,(AT24C02_Read1Byte(0x05+(rom*10))/16)+0x30);
	    print2(0x83,(AT24C02_Read1Byte(0x05+(rom*10))%16)+0x30);
		print(0x84,"/");            // 顯示年
		//
	    print2(0x85,(AT24C02_Read1Byte(0x06+(rom*10))/16)+0x30);
	    print2(0x86,(AT24C02_Read1Byte(0x06+(rom*10))%16)+0x30);
		print(0x87,"/");            // 顯示月
		//
	    print2(0x88,(AT24C02_Read1Byte(0x07+(rom*10))/16)+0x30);
	    print2(0x89,(AT24C02_Read1Byte(0x07+(rom*10))%16)+0x30);

		print(0x8b,"[");            // 顯示[
		if(AT24C02_Read1Byte(0x08+(rom*10)) == 0xff){
			print(0x8c,"?");
		}
		else{	
			print2(0x8c,AT24C02_Read1Byte(0x08+(rom*10))%16); //星期
		}
		print(0x8d,"]");            // 顯示]

	    print2(0x8f,(AT24C02_Read1Byte(0x09+(rom*10))/16)+0x30);//小時
	    print2(0x90,(AT24C02_Read1Byte(0x09+(rom*10))%16)+0x30);
		print(0x91,":");            // 顯示cgram第一個字模":"
		//
	    print2(0x92,(AT24C02_Read1Byte(0x0a+(rom*10))/16)+0x30);//分鐘
	    print2(0x93,(AT24C02_Read1Byte(0x0a+(rom*10))%16)+0x30);
		print(0x94,".");            // 顯示cgram第一個字模"."
		//
	    print2(0x95,(AT24C02_Read1Byte(0x0b+(rom*10))/16)+0x30);//秒
	    print2(0x96,(AT24C02_Read1Byte(0x0b+(rom*10))%16)+0x30);
		//
		print2(0xc0,AT24C02_Read1Byte(0x04+(rom*10))/16+0x30); //顯示控制項值//控制項值
		print2(0xc1,AT24C02_Read1Byte(0x04+(rom*10))%16+0x30); //

}
/********************************************************************************************
//清屏+刷新顯示+延時+清空DT 一體函數
//LRDD()
*********************************************************************************************/    
void LRDD (void){
	LCM2402_Init();
	RealTime_Display();
	DelayS(500); DT = 0xff;		
}
/********************************************************************************************
//清屏+刷新定時值顯示+延時+清空DT 一體函數
//LADD()
*********************************************************************************************/    
void LADD (void){
	LCM2402_Init();
	alarm_Display();
	DT = 0xff;		
}
/********************************************************************************************
//鬧鐘嗚響查尋程序
//BEEPing();
*********************************************************************************************/
void BEEPing(void){//鬧鐘嗚響查尋程序
	uint8 a;
	LADD();
	print(0xc4,"{Time`s up}  AV: OFF");
	for(a=0;a<250 && DT == 0xff;a++){
		beep_a();////
	}
	DT = 0xff;
}
/********************************************************************************************
//鬧鐘和無線遙控的鍵值處理
//ALARMing();
*********************************************************************************************/    
void ALARMing(void){
	uint8 alarm_bit;
	alarm_bit = AT24C02_Read1Byte(0x03);              // 從AT24C02的地址0x03讀出定時報警設置數據
	if(AT24C02_Read1Byte(0x04+(rom*10)) < 2 && alarm_bit == 1 || alarm_bit == 3){//鍵值值為0則是鬧鐘,不為0則是無線控制
		if(AT24C02_Read1Byte(0x04+(rom*10)) == 0){
			BEEPing();
		}else{
			beep_y();//
		}	
	}
	if(AT24C02_Read1Byte(0x04+(rom*10)) == 0 && alarm_bit == 2 || alarm_bit == 3){
		//**這里將寫入一個或是調用無線遙控鍵值處理程序**
	}
}
/********************************************************************************************
//定時值校對&處理函數
//search_time()
*********************************************************************************************/    
void search_time(void){//整個流程必須在1秒里完成,不然將有部分定時值不響應。
	uint8 timeS,s,i;
	static unsigned char data alarmS[25];
	alarm_con = 0;
	s = read_clock(0x81);//讀取秒數據
	for(i=0;i<25;i++){
		alarmS[i] = AT24C02_Read1Byte(0x0B+i*10);//一次性將全部項目中的秒數據送入數組中
	}
	for(i=0;i<25;i++){
		if(alarmS[i] != 0xff){//不為0xff則表示這項已經設置
			alarm_con++;//定時項目個數寄存位
			if(s == alarmS[i]){
				timeS = AT24C02_Read1Byte(0x0a+(i*10));
				if(timeS == read_clock(0x83) || timeS == 0xff){//校驗 分鐘
					timeS = AT24C02_Read1Byte(0x09+(i*10));
					if(timeS == read_clock(0x85) || timeS == 0xff){//校驗 小時 
						timeS = AT24C02_Read1Byte(0x08+(i*10));
						if(timeS == read_clock(0x8b) || timeS == 0xff){//校驗 星期 
							timeS = AT24C02_Read1Byte(0x07+(i*10));	
							if(timeS == read_clock(0x87) || timeS == 0xff){//校驗 日
								timeS = AT24C02_Read1Byte(0x06+(i*10));
								if(timeS == read_clock(0x89) || timeS == 0xff){//校驗 月
									timeS = AT24C02_Read1Byte(0x05+(i*10));
									if(timeS == read_clock(0x8d) || timeS == 0xff){//校驗 年
										rom = i;//走到響應的位置

										ALARMing();//** 鬧鐘和無線遙控的鍵值處理 **
										//**這里將調用一個到時的響應程序alarming();
}	}	}	}	}	}	}	}	}	} 
/********************************************************************************************
//系統主程序 // 菜單切換
//main()
*********************************************************************************************/    
void main (void){
beep_a();
keyboard_int ();
LCM2402_Init();//LCM2402初始化
Init_1302();//檢測時鐘芯片是否未被初始化   
CgramWrite();
print(0x80,"Dy-2402C  V1.0 (BETA)");
print(0xc2,"http://www.doyoung.net");
DelayS(5000);
LCM2402_Init();//LCM2402初始化
beep_y();

                           
while(1){//主線程//
//-----------------------------------------------------------------------------0 主顯示
	if(menu == 0){
		RealTime_Display(); 			//在第一行顯示時間部分 
		print(0xc6," !AL");
		print2(0xca,AT24C02_Read1Byte(0x03)+0x30);
		print(0xcb,"  Used: ");
		print2(0xd3,alarm_con/16+0x30);
		print2(0xd4,alarm_con%16+0x30);
		print(0xd5,"/25");
		printTemperature();//顯示溫度
		search_time();//定時值校對&處理函數
		if (DT != 0xff){
			if(DT>=0x00 && DT <0x0a){
				uint16 i;
				uint8 n=0,x=0xff,y=0xff;
		  		LCM2402_Init();//LCM2402初始化
				for(i=0;i<500;i++){
					print(0x83,"{ Controller NO. }");
					print(0xc3,"{------ ");
					print(0xcd," ------}");
					if(DT>=0x00 && DT <0x0a){
						switch (n){
							case 0: x = DT;n++;i=0;break;//
							case 1: y = DT;n--;i=0;break;//
						}
					print2(0xcb,x%16+0x30);
					print2(0xcc,y%16+0x30);
					beep_k();
					DelayS250();
					DT = 0xff;
					}
					if(DT == 0x4C){
						print(0xca,"{OK}");
						
						
						//ALARMing(i);//** 鬧鐘和無線遙控的鍵值處理 **

						DelayS250();beep_y();DT = 0xff;
					}
				}
			}
			if(DT>0x12 && DT <0x17){//當按定時加減查看的幾個鍵時會進入定時查看菜單
				beep_y();menu = 2;
			}
			switch (DT){
				uint8 alarm_bit;
				case 0x1c: beep_y();menu = 1;break;//
				case 0x2F: beep_y();menu =99;break;//
				case 0x19: {alarm_bit++;if(alarm_bit>3){alarm_bit=0;};
							AT24C02_Write1Byte(0x03,alarm_bit);
							DelayS(500);beep_y();break;
							}//定時動作選擇:0 全關 1 只開鬧鐘 2 只開控制動作 3 全開
				default:DT = 0xff;break;
			}
		LCM2402_Init();//LCM2402初始化
		DT = 0xff;
		}
	}
//-----------------------------------------------------------------------------1 是否調時?
	if(menu == 1){      	
	    print(0x80,"Set The Real Time ?");
	    print(0xc5,"PP: OK   AV: Esc");
		if (DT != 0xff){
			switch (DT){
				case 0x1D: beep_n();menu = 0;break;//
				case 0x1B: beep_y();menu = 11;break;//
				default:DT = 0xff;break;
			}
		LCM2402_Init();//LCM2402初始化
		DT = 0xff;
		}
	}
//-----------------------------------------------------------------------------2 定時查看
	if(menu == 2){
		alarm_Display(); 			//在第一行顯示定時部分
		print(0xc3,"] NO.");
		print2(0xc8,0x30+rom/10);
		print2(0xc9,0x30+rom%10);
		print(0xce,"STORE: Set"); 
		if (DT != 0xff){
			switch (DT){
				case 0x18: beep_y();menu = 12;break;//
				case 0x13: beep_k();rom++;break;//
				case 0x14: beep_k();rom--;break;//
				case 0x15: beep_k();rom=rom+5;break;//
				case 0x16: beep_k();rom=rom-5;break;//
				case 0x1D: beep_n();menu = 0;break;//
				default:DT = 0xff;break;
			}
		if(rom >24 && rom <100){ rom = 0;}//當
		if(rom >200){ rom = 24;}
		LCM2402_Init();//LCM2402初始化
		DT = 0xff;
		}
	}
//-----------------------------------------------------------------------------99 幫助菜單
	if(menu == 99){
		uint8 i;
		if (DT != 0xff){
			if(DT == 0x2F){
				i++;
				if(i >9){i=0;}
				DelayS(500);beep_k();      	
			}
			if(DT == 0x1D){
				i = 0;
				beep_n();menu = 0;
			}
		LCM2402_Init();//LCM2402初始化												
		DT = 0xff;
		}
		switch (i){
			case 0: print(0x80,"AV: Esc Help");print(0xc0,"MUTE: Next Help Page");break;//
			case 1: print(0x80,"SLEEP: Set The Real Time");print(0xc0,"00~99: Controller NO.");break;//
			case 2: print(0x80,"POWER: Key ON/OFF");print(0xc0,"RECALL: Alarm ON/OFF");break;//
			case 3: print(0x80,"VOL+/-: Up/Down");print(0xc0,"PR.+/-: Alarm +/-1");break;//
			case 4: print(0x80,"F.T.+/-: Alarm +/-5");print(0xc0,"STORE: Set Alarm");break;//
			case 5: print(0x80,"-/--: Jumping");print(0xc0,"SEARCH: Set to ??");break;//
			case 6: print(0x80,"!AL0: BEEP & ALARM OFF");print(0xc0,"!AL1: Only BEEP ON");break;//
			case 7: print(0x80,"!AL2: Only ALARM ON");print(0xc0,"!AL3: BEEP & ALARM ON");break;//
			case 8: print(0x80,"PP: OK!");print(0xc0,"AV: Exit/Clean!");break;//
			case 9: print(0x81,"DoYoung.net | Dy-2402C");print(0xc5,"V1.0 2007-5-10 ");break;//
			default:break;
		}
	}
//-----------------------------------------------------------------------------11 調時輸入
	if(menu == 11){
		static unsigned char i=0;
		bit k;//定義靜態 
		RealTime_Display(); 			//在第一行顯示時間部分
		for(i=1;i<8;){//8個時鐘數據的循環加位
			switch (i){//顯示設置項的說明
				case 7:		print(0xc0,"AV:Esc (Second 00~59)^^");break;//		
				case 6:		print(0xc4,"(Minute 00~59)^^");break;//		
				case 5:		print(0xc3,"(Hour 00~23)^^");break;//		
				case 4:		print(0xcc,"^(Week 1~7)");break;//			
				case 3:		print(0xc8,"^^(Date 01~31)");break;//			
				case 2:		print(0xc5,"^^(Month 01~12)");break;//		
				case 1:		print(0xc2,"^^(Year 00~99) AV:Esc");break;//			
			}
			print(0x97,"?");
			if(DT>=0x00 && DT < 0x0a){//DT辦數據鍵碼時動作 
				if(i == 4){//如果是星期設置則不必輸入“十位”數據
					k = 1;
				}
				Set_time(i,k);//在這里調用寫時間的程序項
				if(k==0){//第一次按鍵輸入到“十位”
					k = 1;
				} 
				else{//否則是第二次按鍵,輸入到“個位”
					k = 0;
					i++;
				}
			LRDD();//清屏+刷新顯示+延時+清空DT 一體函數
			beep_k();
			}
			if(DT ==  0x11 || DT == 0x17){
				i++;
				LRDD();
				beep_y();
			}
			if(DT ==  0x1A){
				i--;if(i < 1){ i =7;};
				LRDD();
				beep_y();
			}

			if (DT == 0x1D){//按 AV 鍵退回到主界面 
				LRDD();
				beep_n();menu = 0;
				i = 9;//用于退出上一級的for循環
			}		 
		}
	}
//-----------------------------------------------------------------------------12 定時值輸入
	if(menu == 12){
		static unsigned char i=0;
		bit k;//定義靜態 
		alarm_Display(); 			//在第一行顯示時間部分
		for(i=1;i<9;){//8個時鐘數據的循環加位
			switch (i){//顯示設置項的說明
				case 8:		print(0xc3,"< (Controller 00~99)");break;//		
				case 7:		print(0xc7,"(Second 00~59)^^");break;//		
				case 6:		print(0xc4,"(Minute 00~59)^^");break;//		
				case 5:		print(0xc3,"(Hour 00~23)^^");break;//		
				case 4:		print(0xcc,"^(Week 1~7)");break;//			
				case 3:		print(0xc8,"^^(Date 01~31)");break;//			
				case 2:		print(0xc5,"^^(Month 01~12)");break;//		
				case 1:		print(0xc2,"^^(Year 00~99)  AV:Esc");break;//			
			}
			print(0x97,"!");
			if(DT>=0x00 && DT < 0x0a || DT == 0x12){//DT辦數據鍵碼時動作 
				if(i == 4 || DT == 0x12){//如果是星期設置則不必輸入“十位”數據
					k = 1;
				}
				Set_alarm(rom,i,k);//在這里調用寫時間的程序項
				if(k==0){//第一次按鍵輸入到“十位”
					k = 1;
				} 
				else{//否則是第二次按鍵,輸入到“個位”
					k = 0;
					i++;
				}
			LADD();//清屏+刷新顯示+延時+清空DT 一體函數
			beep_k();
			}
			switch (DT){//顯示設置項的說明
				case 0x11:		//i++;LADD();break;//// -/--	VOL+ SEARCH 則跳到下一項		
				case 0x12:		//i++;LADD();break;//// -/--	VOL+ SEARCH 則跳到下一項		
				case 0x17:		beep_y();i++;LADD();break;//// -/--	VOL+ SEARCH 則跳到下一項		
				case 0x1A:		beep_y();i--;if(i < 1){ i =8;};LADD();break;////VOL- 跳回上一項	//循環設備	
				case 0x1D:		beep_n();LADD();menu = 0;i = 19;break;////按 AV 鍵退回到主界面//i = 9;用于退出上一級的for循環			
			}
		}
	}
	LED1 = 1;//關LED1

}
}
/********************************************************************************************    
//日志//
//2007-5-8//這時已經基本完成了除24C02的IC驅動,完成主時間的顯示和調整。
//2007-5-10//加入菜單幫助項目
//2007-5-11//加入了25路定時器設置(全部項目),紅外遙控器上的所有按鍵定義完成。
//2007-5-13//V1.0版本完成,整理并存檔。


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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃久久久久久| 久久精品国产一区二区三| 中文字幕av资源一区| 精品国产a毛片| 精品捆绑美女sm三区| 亚洲人亚洲人成电影网站色| 国产日产欧美精品一区二区三区| 欧美一区二区三区在线观看| 日韩欧美国产1| 久久九九国产精品| 成人欧美一区二区三区在线播放| 亚洲欧洲成人自拍| 五月天视频一区| 狠狠色综合日日| 91女神在线视频| 欧美一级黄色片| 亚洲激情中文1区| 久久成人久久鬼色| 91视频国产观看| 久久久久久久综合日本| 亚洲欧美区自拍先锋| 精品一区二区三区免费毛片爱| 菠萝蜜视频在线观看一区| 欧美日本在线观看| 亚洲欧美乱综合| 国产精品18久久久久久久久 | 成人黄色小视频| 欧美电影精品一区二区| 一区二区三区精品视频在线| 国产a视频精品免费观看| 一本到不卡免费一区二区| 久久日韩粉嫩一区二区三区| 亚洲午夜羞羞片| 99精品偷自拍| 亚洲欧美在线视频观看| 国产sm精品调教视频网站| 久久天天做天天爱综合色| 五月婷婷激情综合网| 色婷婷国产精品| 中文字幕精品—区二区四季| 精品一区二区三区的国产在线播放| 精品视频在线看| 亚洲成人动漫一区| 欧美日韩精品一区二区在线播放| 中文字幕第一区二区| 成人av在线播放网站| 国产欧美一区二区精品忘忧草 | 波多野结衣在线一区| 欧美精品一区二| www.亚洲色图.com| 一区二区三区自拍| 欧美一区国产二区| 久久精品久久99精品久久| 日韩久久久久久| 国产成人免费视频网站| 国产精品私房写真福利视频| 91在线视频播放地址| 一区二区久久久| 日韩免费一区二区| 99国产欧美另类久久久精品| 亚洲自拍欧美精品| 欧美电影免费观看高清完整版 | 91久久免费观看| 日韩国产欧美在线视频| 中文字幕精品—区二区四季| 欧美日韩一区二区在线观看| 国产一区二区在线影院| 一区二区三区在线视频免费观看| 日韩欧美国产三级| 欧美日韩你懂的| 成人免费高清视频| 久久精品99国产精品| 一区二区三区欧美视频| 久久综合色播五月| 欧美一区二区三区影视| 91麻豆免费看| 91色在线porny| 国产成人av自拍| 国产成人av福利| 捆绑调教一区二区三区| 国产一区二区三区久久久| 一区二区三区日韩欧美精品| 中文字幕va一区二区三区| 久久综合久久综合久久| 精品少妇一区二区| 91精品国产欧美一区二区成人| 在线亚洲人成电影网站色www| 粉嫩aⅴ一区二区三区四区| 精品一区二区三区在线视频| 日韩va亚洲va欧美va久久| 日韩经典中文字幕一区| 三级不卡在线观看| 午夜私人影院久久久久| 日产国产欧美视频一区精品| 三级一区在线视频先锋| 国内精品伊人久久久久影院对白| 精品一区二区免费| 国产suv精品一区二区6| 色综合久久99| 欧美一区二区福利在线| 精品成人一区二区三区| 国产精品国产三级国产aⅴ中文| 国产精品拍天天在线| 一区二区三区中文免费| 韩国三级在线一区| 色综合亚洲欧洲| 欧美成人欧美edvon| 国产午夜精品一区二区三区四区| 专区另类欧美日韩| 偷拍自拍另类欧美| jizzjizzjizz欧美| 日韩精品中文字幕在线不卡尤物| 中文成人av在线| 免费在线观看精品| 欧美日韩一区视频| 国产精品久99| 国产二区国产一区在线观看| 欧美日韩美少妇| 国产精品福利影院| 国产成人午夜精品影院观看视频| 欧美偷拍一区二区| 亚洲激情图片qvod| 成人免费视频网站在线观看| 日韩一卡二卡三卡四卡| 亚洲成国产人片在线观看| k8久久久一区二区三区| 久久精品一区二区三区不卡牛牛| 午夜精品福利一区二区蜜股av| 99国产精品久久久久久久久久久| 日韩欧美亚洲另类制服综合在线| 亚洲成人免费av| 欧美色综合天天久久综合精品| 一区精品在线播放| a4yy欧美一区二区三区| 中文字幕欧美一| 一本大道久久a久久精品综合| 日本一区二区视频在线| 成人av网站大全| 亚洲柠檬福利资源导航| 日本高清不卡aⅴ免费网站| 一区二区三区精密机械公司| 在线观看欧美精品| 天堂一区二区在线| 日韩一区二区免费高清| 国产资源精品在线观看| 欧美国产日韩在线观看| 在线亚洲高清视频| 久久成人免费网站| 国产精品动漫网站| 欧美日韩国产免费一区二区| 一本到一区二区三区| 国产成人av电影在线| 激情图区综合网| 欧美亚洲综合另类| 成人欧美一区二区三区视频网页 | 国产精品国产馆在线真实露脸| 三级欧美在线一区| 欧美日韩另类一区| 日韩一区二区免费在线观看| 日韩欧美久久一区| 亚洲高清免费观看| 91久久人澡人人添人人爽欧美| 中文字幕第一区第二区| 国产精品88888| 精品国偷自产国产一区| 日本亚洲欧美天堂免费| 欧美日韩国产经典色站一区二区三区 | 久久久久国产精品厨房| 久久国产精品色| 欧美一区三区二区| 蜜桃av噜噜一区二区三区小说| 欧美日高清视频| 五月天欧美精品| 欧美精品色一区二区三区| 亚洲电影视频在线| 欧美三级中文字| 亚洲高清不卡在线| 欧美老年两性高潮| 婷婷久久综合九色综合伊人色| 欧美日本不卡视频| 亚洲成av人片在线观看无码| 欧美日本一区二区三区| 日韩va亚洲va欧美va久久| 五月婷婷激情综合| 国产精品久久久99| 成人性色生活片| 91精品国产综合久久小美女| 国产精品成人免费在线| 欧美影视一区在线| 欧美猛男超大videosgay| 亚洲成人激情综合网| 日韩无一区二区| 国产美女精品人人做人人爽| 欧美成人r级一区二区三区| 欧美高清在线视频| 午夜天堂影视香蕉久久| 欧美一级专区免费大片| 成人精品视频一区二区三区| 欧美一级高清片在线观看| 亚洲最新在线观看|