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

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

?? main.c

?? 《愛上單片機》配書光盤(書本的制作作品所要的程序)
?? C
?? 第 1 頁 / 共 2 頁
字號:
  write_clock(0x8e,0x80);//寫保護,禁止寫操作 
  updata ();	//刷新數據
  lcm_w_mm();//刷新 分 
}
/*****************************************************************************/
//設置1302的初始時間(自動初始化)
void Init_1302(void){//-設置1302的初始時間(2007年1月1日00時00分00秒星期一)
	unsigned char f;
	if(read_clock(0xc1) != 0xaa){
		write_clock(0x8e,0x00);//允許寫操作
		write_clock(0x8c,0x07);//年
		write_clock(0x8a,0x01);//星期
		write_clock(0x88,0x01);//月
		write_clock(0x86,0x01);//日
		write_clock(0x84,0x00);//小時
		write_clock(0x82,0x00);//分鐘
		write_clock(0x80,0x00);//秒
		write_clock(0x90,0xa5);//充電	
		write_clock(0xc0,0xaa);//寫入初始化標志RAM(第00個RAM位置)
		for(f=0;f<60;f=f+2){//清除鬧鐘RAM位為0
			write_clock(0xc2+f,0x00);
		}
		write_clock(0x8e,0x80);//禁止寫操作
	}
}
/*****************************************************************************/
//DS1302寫數據(底層協議)
void write_clock(unsigned char ord, unsigned char dd){
	clock_clk=0;
	clock_Rst=0;
	clock_Rst=1;
	clock_out(ord);
	clock_out(dd);
	clock_Rst=0;
	clock_clk=1;
}
/*****************************************************************************/
//1302驅動程序(底層協議)
void clock_out(unsigned char dd){
	ACC=dd;
	clock_dat=a0; clock_clk=1; clock_clk=0;
	clock_dat=a1; clock_clk=1; clock_clk=0;
	clock_dat=a2; clock_clk=1; clock_clk=0;
	clock_dat=a3; clock_clk=1; clock_clk=0;
	clock_dat=a4; clock_clk=1; clock_clk=0;
	clock_dat=a5; clock_clk=1; clock_clk=0;
	clock_dat=a6; clock_clk=1; clock_clk=0;
	clock_dat=a7; clock_clk=1; clock_clk=0;
}
/*****************************************************************************/
//DS1302寫入字節(底層協議)
unsigned char clock_in(void){
	clock_dat=1;
	a0=clock_dat;
	clock_clk=1; clock_clk=0; a1=clock_dat;
	clock_clk=1; clock_clk=0; a2=clock_dat;
	clock_clk=1; clock_clk=0; a3=clock_dat;
	clock_clk=1; clock_clk=0; a4=clock_dat;
	clock_clk=1; clock_clk=0; a5=clock_dat;
	clock_clk=1; clock_clk=0; a6=clock_dat;
	clock_clk=1; clock_clk=0; a7=clock_dat;
	return(ACC);
}
/*****************************************************************************/
//DS1302讀數據(底層協議)
unsigned char read_clock(unsigned char ord){
	unsigned char dd=0;
	clock_clk=0;
	clock_Rst=0;
	clock_Rst=1;
	clock_out(ord);
	dd=clock_in();
	clock_Rst=0;
	clock_clk=1;
	return(dd);
}
/*****************************************************************************/

/*****************************************************************************/
//揚聲器驅動程序(鬧鐘音樂)
/*****************************************************************************/	
void Beep(void){//BELL-揚聲器--整點報時 
	unsigned char a;//定義變量用于發聲的長度設置
	for(a=60;a>0;a--){//第一個聲音的長度
		beep = ~beep;//取反揚聲器驅動口,以產生音頻
		Delay(100);//音調設置延時
	}
	for(a=100;a>0;a--){//同上
		beep = ~beep;
		Delay(80);//
	}
	for(a=100;a>0;a--){//同上
		beep = ~beep;
		Delay(30);//
	}
	beep = 1;//音樂結束后揚聲器拉高關閉
}
/*****************************************************************************/
void Beep_set(void){//BELL -揚聲器--確定設置
	unsigned char a;//定義變量用于發聲的長度設置
	for(a=50;a>0;a--){//第一個聲音的長度
		beep = ~beep;//取反揚聲器驅動口,以產生音頻
		Delay(100);//音調設置延時
	}
	for(a=100;a>0;a--){//同上
		beep = ~beep;
		Delay(50);//
	}
	for(a=50;a>0;a--){//同上
		beep = ~beep;
		Delay(100);//
	}
	beep = 1;//音樂結束后揚聲器拉高關閉
}
/*****************************************************************************/
void Beep_key(void){//-揚聲器--按鍵音
	unsigned char a;//定義變量用于發聲的長度設置
	for(a=100;a>0;a--){//聲音的長度
		beep = ~beep;
		Delay(50);//音調設置延時
	}
	beep = 1;//音樂結束后揚聲器拉高關閉
}		
/*****************************************************************************/

/*****************************************************************************/
//電子鐘應用層程序設計
/*****************************************************************************/
//向LCM中填寫 年 數據
void lcm_w_yy(void){
	//if(read_clock(0x8d) != yy){
		yy = read_clock(0x8d);
		lcm_w_test(0,0x83);
		lcm_w_word("20");
		lcm_w_test(0,0x84);
		lcm_w_test(1,(yy/16)+0x30);	
		lcm_w_test(1,yy%16+0x30);
}	//}
/*****************************************************************************/
//向LCM中填寫 月 數據
void lcm_w_mo(void){
	//if(read_clock(0x89) != mo){
		mo = read_clock(0x89);
		lcm_w_test(0,0x90);
			if(mo/16 != 0){lcm_w_test(1,(mo/16)+0x30);}	//十位消隱
			else{lcm_w_test(1,0x20);}//同上			
		lcm_w_test(1,mo%16+0x30);
		lcm_w_test(0,0x91);
		lcm_w_word("月");
}	//}
/*****************************************************************************/
//星期處理并送入LCM的指定區域
void lcm_w_xq(void){
	unsigned char sel;
	//if(read_clock(0x8b) != xq){
	xq = read_clock(0x8b);
	sel = (read_clock(0x8b))%16; //字節低4位的BCD碼放入sel
	lcm_w_test(0,0x97);//寫入指定區域(97H 第二行第8個字)
	if(sel==7)  {lcm_w_word("日");}    //
  	if(sel==6)  {lcm_w_word("六");}    //
  	if(sel==5)  {lcm_w_word("五");}    //
  	if(sel==4)  {lcm_w_word("四");}    //
  	if(sel==3)  {lcm_w_test(1,0xc8);lcm_w_test(1,0xfd);} //此指令等于lcm_w_word("三"); 因為“三”的內碼失效。
  	if(sel==2)  {lcm_w_word("二");}    //
  	if(sel==1)  {lcm_w_word("一");}    //星期一
	lcm_w_test(0,0x95);
	lcm_w_word("星期");
}	//}
/*****************************************************************************/
//向LCM中填寫 日 數據
void lcm_w_dd(void){
//	if(read_clock(0x87) != dd){
		dd = read_clock(0x87);
		lcm_w_test(0,0x92);
			if(dd/16 != 0){lcm_w_test(1,(dd/16)+0x30);}	//十位消隱
			else{lcm_w_test(1,0x20);}//同上	
		lcm_w_test(1,dd%16+0x30);
		lcm_w_test(0,0x93);
		lcm_w_word("日  ");
				
}	//}
/*****************************************************************************/
//向LCM中填寫 小時 數據
void lcm_w_hh(void){
	if(read_clock(0x85) != hh){
		hh = read_clock(0x85);
			if (hh > 0x07 && hh < 0x22 && w == 0){
				Beep();//整點報時音
			}
		}
		lcm_w_test(0,0x88);
		lcm_w_test(1,(hh/16)+0x30);
		lcm_w_test(1,hh%16+0x30);
				
}
/*****************************************************************************/
//向LCM中填寫 分鐘 數據
void lcm_w_mm(void){
	if(read_clock(0x83) != mm){		
		mm = read_clock(0x83);
	}
		if(w == 0){				
			days();//節日顯示
		}				
	lcm_w_test(0,0x89);	
	lcm_w_test(1,0x3a);	  //":"
	lcm_w_test(1,(mm/16)+0x30);
	lcm_w_test(1,mm%16+0x30);
	lcm_w_test(1,0x2e);	 //"."	
}
/*****************************************************************************/
//刷新數據
void updata (void){
		lcm_w_mm();//刷新 分 
		lcm_w_hh();//刷新 小時 
		lcm_w_dd();//刷新 日
		lcm_w_xq();//更新星期值	
		lcm_w_mo();//刷新 月
		lcm_w_yy();//刷新 年
}
/*****************************************************************************/
//向LCM中填寫 秒 數據
void lcm_w_ss(void){
	unsigned int i=0;
	unsigned char a=0,b=0,c=0;
	if(read_clock(0x81) != ss){	//判斷是否需要更新
		ss = read_clock(0x81);	//更新數據
		lcm_w_test(0,0x8b);		//秒值在LCM上的寫入位置
		lcm_w_test(1,(ss/16)+0x30);	//寫十位		
		lcm_w_test(1,ss%16+0x30);	//寫個位
		lcm_w_word("  ");
		led_b = ~led_b;				//LED閃爍
		updata ();	//刷新數據
		lcm_w_test(0,0x8d);		//溫度在LCM上的寫入位置		
		i=ReadTemperature();//讀溫度并送顯
		a=i/100;
		lcm_w_test(1,a+0x30);	//顯示溫度十位
		b=i/10-a*10;
		lcm_w_test(1,b+0x30);	//個位
		lcm_w_test(1,0x2e);	 //"."
		c=i-a*100-b*10;
		lcm_w_test(1,c+0x30); //小位1位		
		lcm_w_word("℃");	//度C
}	}
/*****************************************************************************/
void welcome(void){
	lcm_w_word("   DY12864LCC   V2.1  2007-11-02 LCD:DY12864CBL from DoYoung.net");//
	//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//標尺
}
/*****************************************************************************/

/*****************************************************************************/
//---主程序---//
/*****************************************************************************/
main() {
	unsigned char e=0;
	KEY_I = 0;KEY_1 = 1;KEY_2 = 1;KEY_3 = 1;KEY_4 = 1;//初始鍵盤
	yy=0xff;mo=0xff;dd=0xff;xq=0xff;hh=0xff;mm=0xff;ss=0xff; //各數據刷新
	Beep();	
	led_back = 0;
	Init_1302();
	lcm_init();//初始化液晶顯示器
	lcm_clr();//清屏
	welcome();//顯示歡迎信息
	DelayM(3000); //顯示等留3秒
/*****************************************************************************/
while(1){//主循環
		if (w == 0){   //正常走時
		lcm_w_ss();//刷新 秒
		}
		else {		//啟動調時
		}
		//------------------------------------------------------------------
		if (KEY_3 == 0) // 設置時間
      	{
       		DelayM(20);	   //去抖
			led_g3 = 0;led_r = 1;
			if(KEY_3 == 0 && w == 1)  //當是調時狀態 本鍵用于調整下一項
			{
				Beep_key();//按鍵音
				e++;
				if (e >= 6 ){e = 0;}
				Set_time(e);//調整				
			}
			if(KEY_3 == 0 && w == 0)  //當是正常狀態時就進入調時狀態
			{
				Beep_set();//確定按鍵音
				led_b = 1;//
				lcm_clr();//清屏
				w=1;	  //進入調時				
				lcm_w_test(0,0x9e);
				lcm_w_word(" [-]");
				lcm_w_test(0,0x80);
				lcm_w_word("[Esc]");
				lcm_w_test(0,0x85);
				lcm_w_word("[Next]");
				lcm_w_test(0,0x98);
				lcm_w_word("[+]");
				Set_time(e);//調整
			}
       		while(KEY_3 == 0);//等待鍵松開 
			led_g3 = 1; led_r = 0;//紅燈亮,表示調時  
      	}
		//------------------------------------------------------------------
		if (KEY_1 == 0) // 當在調時狀態時就退出調時
      	{
       		DelayM(20);
			led_g1 = 0;led_r = 1;
       		if(KEY_1 == 0 && w == 1){				
				Beep_set();//確定按鍵音
				w = 0;	  //退出調時
				e = 0;		//“下一項”計數器清0								
			}
			if(KEY_1 == 0 && w == 0){				
				lcm_clr();//清屏
				lcm_w_test(0,0x80);
				welcome();//顯示歡迎信息
				while(KEY_1 == 0);//等待鍵松開  
			}
				lcm_clr();//清屏
				updata ();	//刷新數據
				lcm_w_mm();//刷新 分
       		while(KEY_1 == 0);//等待鍵松開  
			led_g1 = 1; 
      	}
		//------------------------------------------------------------------
		if (KEY_2 == 0 && w == 1){ // 加減調整{
       		DelayM(20);
			led_g2 = 0;led_r = 1;
       		if(KEY_2 == 0 && w == 1){				
				Beep_key();//按鍵音
				Set_time(e);//調整
			}
       		while(KEY_2 == 0);//等待鍵松開
			led_g2 = 1; led_r = 0;   
      	}
		//------------------------------------------------------------------
		if (KEY_4 == 0 && w == 1){ // 加減調整      	
       		DelayM(20);	
			led_g4 = 0;led_r = 1;
       		if(KEY_4 == 0 && w == 1){				
				Beep_key();//按鍵音
				Set_time(e);//調整
			}
       		while(KEY_4 == 0);//等待鍵松開
			led_g4 = 1; led_r = 0;   
      	}
}	}	

/*****************************************************************************/
// DoYoung.net 電子技術 -- 創造獨立資源!
/*****************************************************************************/





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人乱码一区二区三区| 中文字幕亚洲欧美在线不卡| 久久久久97国产精华液好用吗| 亚洲国产高清在线观看视频| 午夜视频在线观看一区| 国产福利一区在线| 宅男噜噜噜66一区二区66| 国产精品国产精品国产专区不片| 图片区小说区区亚洲影院| 99精品黄色片免费大全| 日韩精品一区二区三区在线| 亚洲小说欧美激情另类| 91污片在线观看| 国产亚洲一区二区在线观看| 日韩激情av在线| 欧美在线一区二区三区| 亚洲情趣在线观看| 国产成人精品一区二区三区四区| 欧美一区二区黄色| 亚洲图片自拍偷拍| 欧美性感一区二区三区| 亚洲精品国产无套在线观| 成人午夜激情片| 国产丝袜在线精品| 国产一区二区按摩在线观看| 日韩欧美国产不卡| 麻豆精品一区二区综合av| 91麻豆精品国产91久久久更新时间| 一区二区三区在线视频播放| 97久久精品人人爽人人爽蜜臀| 国产清纯白嫩初高生在线观看91| 蜜臀精品久久久久久蜜臀| 欧美精品久久久久久久久老牛影院| 一区二区三区四区在线免费观看| 91丨porny丨户外露出| 亚洲欧美综合另类在线卡通| 成人app网站| 亚洲欧美怡红院| 日本乱人伦aⅴ精品| 亚洲欧美视频一区| 欧美亚洲尤物久久| 日日夜夜免费精品| 日韩精品中午字幕| 国产精品主播直播| 国产精品私房写真福利视频| bt7086福利一区国产| 亚洲丝袜精品丝袜在线| 日本丰满少妇一区二区三区| 亚洲综合在线五月| 欧美一区二区女人| 国产乱一区二区| 亚洲视频图片小说| 欧美人xxxx| 国产老女人精品毛片久久| 国产精品女主播av| 欧美午夜片在线看| 捆绑变态av一区二区三区| 久久久久久电影| 97超碰欧美中文字幕| 亚洲超丰满肉感bbw| 欧美成人精品1314www| 成人av电影在线观看| 一区二区三区在线免费视频| 91精品免费在线观看| 国产乱色国产精品免费视频| 一区二区三区自拍| 精品国内片67194| 91免费在线看| 视频一区在线视频| 中文无字幕一区二区三区 | 欧美日韩视频一区二区| 日韩成人av影视| 国产精品无码永久免费888| 欧美日韩免费一区二区三区| 狠狠色丁香九九婷婷综合五月| 中文字幕一区二区三区av| 日韩亚洲欧美综合| 97精品久久久久中文字幕| 久久se这里有精品| 亚洲精品免费在线播放| 久久综合久久综合亚洲| 色欧美日韩亚洲| 国产激情一区二区三区| 亚洲国产一区在线观看| 国产精品三级在线观看| 91精品国产综合久久久久| av成人免费在线观看| 久久精品国产亚洲a| 一区二区三区国产精华| 国产片一区二区三区| 欧美一区2区视频在线观看| 色婷婷精品久久二区二区蜜臂av | 日韩三级视频在线看| 91视频91自| 国产99精品国产| 久久精工是国产品牌吗| 午夜在线成人av| 亚洲欧洲在线观看av| 国产婷婷一区二区| 久久综合久久99| 日韩免费一区二区三区在线播放| 欧美视频三区在线播放| 91视频一区二区| 成人不卡免费av| 国产精品资源在线看| 国内精品第一页| 精品一区二区三区在线视频| 视频在线在亚洲| 日韩主播视频在线| 亚洲丶国产丶欧美一区二区三区| 一区二区三区精品在线观看| 亚洲欧美一区二区视频| 亚洲日本电影在线| 日韩理论片在线| 亚洲色图制服丝袜| 亚洲天堂av一区| 亚洲一区自拍偷拍| 一区二区三区免费看视频| 一区二区在线观看免费| 亚洲乱码国产乱码精品精小说| 国产精品免费aⅴ片在线观看| 中文字幕av资源一区| 国产精品美日韩| 亚洲精品菠萝久久久久久久| 亚洲欧美另类久久久精品 | 国产女同互慰高潮91漫画| 久久久五月婷婷| 国产精品入口麻豆原神| 亚洲欧美aⅴ...| 一个色在线综合| 人人狠狠综合久久亚洲| 久久国产精品免费| 国产99久久久久| 在线观看中文字幕不卡| 欧美精选一区二区| 精品美女在线播放| 中文子幕无线码一区tr| 亚洲综合丝袜美腿| 免费观看91视频大全| 国产高清精品在线| 在线视频一区二区三| 欧美一区二区播放| 国产精品家庭影院| 亚洲国产精品人人做人人爽| 久久99国产精品久久| 成人免费毛片aaaaa**| 91麻豆自制传媒国产之光| 欧美日韩成人综合天天影院| 精品福利在线导航| 亚洲视频在线观看一区| 青青草视频一区| a4yy欧美一区二区三区| 欧美日韩国产小视频| 国产亚洲欧美在线| 亚洲第一成年网| 国产精品一二二区| 欧美日韩国产三级| 亚洲国产精品ⅴa在线观看| 亚洲在线成人精品| 国产剧情一区二区| 欧美久久免费观看| 亚洲欧洲精品天堂一级| 捆绑变态av一区二区三区| 91美女在线看| 久久综合网色—综合色88| 亚洲尤物视频在线| av动漫一区二区| 精品国产区一区| 水野朝阳av一区二区三区| 成人国产精品免费观看视频| 在线91免费看| 亚洲精品老司机| 成人晚上爱看视频| 欧美大片一区二区三区| 一区二区三区欧美| 99久久免费国产| 久久嫩草精品久久久精品| 亚洲国产精品自拍| 99久久精品情趣| 国产视频一区在线播放| 欧美aaaaaa午夜精品| 91成人免费在线| 综合激情网...| 国产.欧美.日韩| 久久久www成人免费无遮挡大片| 奇米在线7777在线精品| 欧美日韩一区二区三区高清| 自拍偷在线精品自拍偷无码专区| 国产成人福利片| 久久久亚洲高清| 激情成人综合网| 精品卡一卡二卡三卡四在线| 午夜精品福利一区二区蜜股av| 91女厕偷拍女厕偷拍高清| 国产精品久久久久影院亚瑟| 国产精品 欧美精品| 欧美经典一区二区三区| 国产一区二区导航在线播放| 久久精品一区二区| 国产成人av资源|