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

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

?? 3208_v4.01.00.c

?? 《愛上單片機(jī)》配書光盤
?? C
?? 第 1 頁 / 共 4 頁
字號:
	WriteOneChar(0xCC); // 跳過讀序號列號的操作
	WriteOneChar(0x44); // 啟動溫度轉(zhuǎn)換
	Init_DS18B20();
	WriteOneChar(0xCC); //跳過讀序號列號的操作
	WriteOneChar(0xBE); //讀取溫度寄存器
	a=ReadOneChar();  //讀低8位
	b=ReadOneChar(); //讀高8位
	t=b;
	t<<=8;
	t=t|a;
	tt=t*0.0625;
	t= tt*10+0.5; //放大10倍輸出并四舍五入
	return(t);
}
/******************************************************************************/
uchar printTemperature(void){//寫一個字節(jié)(DS18B20驅(qū)動)
	unsigned int i=0;
	unsigned char a=0,b=0,c=0;
	i=ReadTemperature();//讀溫度并送顯
	a=i/100;
	b=i/10-a*10;
	i = a*10 + b;
	return i;		
}
/**********************************************************************************************/	
void Beeplll(void){//BELL 鬧鐘聲音(蜂鳴器驅(qū)動) 
	uint a;//定義變量用于發(fā)聲的長度設(shè)置
	Led_EA = 1;//關(guān)列顯示驅(qū)動,防止屏幕出現(xiàn)亂碼
	for(a=2500;a>0;a--){//第一個聲音的長度
		Bell_Out = ~Bell_Out;//取反揚聲器驅(qū)動口,以產(chǎn)生音頻
		Delay(10);//音調(diào)設(shè)置延時
	}
	for(a=100;a>0;a--){//同上
		Bell_Out = ~Bell_Out;  //
		Delay(6);//音調(diào)設(shè)置延時
	}
	Bell_Out = 1;
}
/**********************************************************************************************/	
void Beep(void){//BELL-揚聲器--整點報時(蜂鳴器驅(qū)動) 
	uchar a;//定義變量用于發(fā)聲的長度設(shè)置
	Led_EA = 1;//關(guān)列顯示驅(qū)動,防止屏幕出現(xiàn)亂碼
	for(a=60;a>0;a--){//第一個聲音的長度
		Bell_Out = ~Bell_Out;//取反揚聲器驅(qū)動口,以產(chǎn)生音頻
		Delay(100);//音調(diào)設(shè)置延時
	}
	for(a=100;a>0;a--){//同上
		Bell_Out = ~Bell_Out;
		Delay(80);//
	}
	for(a=100;a>0;a--){//同上
		Bell_Out = ~Bell_Out;
		Delay(30);//
	}
}
/**********************************************************************************************/	
void Beep_set(void){//BELL -揚聲器--確定設(shè)置(蜂鳴器驅(qū)動)
	uchar a;//定義變量用于發(fā)聲的長度設(shè)置
	Led_EA = 1;//關(guān)列顯示驅(qū)動,防止屏幕出現(xiàn)亂碼
	for(a=250;a>0;a--){//第一個聲音的長度
		Bell_Out = ~Bell_Out;//取反揚聲器驅(qū)動口,以產(chǎn)生音頻
		Delay(20);//音調(diào)設(shè)置延時
	}
	for(a=100;a>0;a--){//同上
		Bell_Out = ~Bell_Out;
		Delay(80);//
	}
}	
/**********************************************************************************************/	
void Beep_key(void){//-揚聲器--按鍵音(蜂鳴器驅(qū)動)
	uchar a;//定義變量用于發(fā)聲的長度設(shè)置
	Led_EA = 1;//關(guān)列顯示驅(qū)動,防止屏幕出現(xiàn)亂碼
	for(a=100;a>0;a--){//聲音的長度
		Bell_Out = ~Bell_Out;
		Delay(50);//音調(diào)設(shè)置延時
	}
}
/**********************************************************************************************/	
void clock_out(unsigned char dd){ //-1302驅(qū)動程序(DS1302驅(qū)動)
	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;
}
/**********************************************************************************************/	
unsigned char clock_in(void){ //-DS1302寫入字節(jié)(DS1302驅(qū)動)
	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);
}
/**********************************************************************************************/	
uchar read_clock(uchar ord){ //-DS1302讀數(shù)據(jù)(DS1302驅(qū)動)
	uchar 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 write_clock(uchar ord, uchar dd){ //-DS1302寫數(shù)據(jù)(DS1302驅(qū)動)
	clock_clk=0;
	clock_Rst=0;
	clock_Rst=1;
	clock_out(ord);
	clock_out(dd);
	clock_Rst=0;
	clock_clk=1;
}
/**********************************************************************************************/	
void Set_time(unsigned char sel,unsigned char a){ //根據(jù)選擇調(diào)整的相應(yīng)項目加1并寫入DS1302-調(diào)時用加1程序
  signed char address,item;
  signed char max,mini;
  //if(sel==7)  {address=0x80; max=0;mini=0;}     //秒7
  if(sel==6)  {address=0x82; max=59;mini=0;}    //分鐘6
  if(sel==5)  {address=0x84; max=23;mini=0;}    //小時5
  if(sel==3)  {address=0x86; max=31;mini=1;}    //日3
  if(sel==2)  {address=0x88; max=12;mini=1;}    //月2
  if(sel==1)  {address=0x8c; max=99; mini=0;}    //年1
  if(sel==4)  {address=0x8a; max=7;mini=1;}    //星期4 
  if(sel==200)  {address=0xc2+a*6; max=6;mini=0;}    //MODE 
  if(sel==201)  {address=0xc2+a*6+2; max=23;mini=0;}    //星期4 
  if(sel==202)  {address=0xc2+a*6+4; max=59;mini=0;}    //星期4 
   
  //讀取1302某地址上的數(shù)值轉(zhuǎn)換成10進(jìn)制賦給item 
  item=((read_clock(address+1))/16)*10 + (read_clock(address+1))%16;
  if(Add_Key == 0){	 key_off ();//等待鍵放開
  	item++;//數(shù)值加1
	Beep_key();//調(diào)時提示音
  }
  if(Add2_Key == 0){ key_off ();//等待鍵放開
  	item--;//數(shù)值減1
	Beep_key();//調(diào)時提示音
  }  
  if(item>max) item=mini;//查看數(shù)值有效范圍   
  if(item<mini) item=max;           
  write_clock(0x8e,0x00);//允許寫操作
  write_clock(address,(item/10)*16+item%10);//轉(zhuǎn)換成16進(jìn)制寫入1302
  if(sel == 6 && (Add_Key == 0 || Add2_Key == 0)){
  	write_clock(0x80,0x00);//秒值=0
  }
  write_clock(0x8e,0x80);//寫保護(hù),禁止寫操作  
}
/**********************************************************************************************/	
void Init_1302(void){//-設(shè)置1302的初始時間(2008年11月3日00時00分00秒星期一)
	uchar f;
	if(read_clock(0xc1) != 0xaa){
		write_clock(0x8e,0x00);//允許寫操作
		write_clock(0x8c,0x08);//年
		write_clock(0x8a,0x01);//星期
		write_clock(0x88,0x11);//月
		write_clock(0x86,0x03);//日
		write_clock(0x84,0x00);//小時
		write_clock(0x82,0x00);//分鐘
		write_clock(0x80,0x00);//秒
		write_clock(0x90,0xa5);//充電	
		write_clock(0xc0,0xaa);//寫入初始化標(biāo)志RAM(第00個RAM位置)
		for(f=0;f<60;f=f+2){//清除鬧鐘RAM位為0
			write_clock(0xc2+f,0x00);
		}
		write_clock(0xc2+7*6+4,2);//設(shè)置顯示方式為流動顯示(2)
		write_clock(0xc2+7*6,1);//設(shè)置流動速度為1
		write_clock(0x8e,0x80);//禁止寫操作
	}
}
/**********************************************************************************************/
//---V4.0
//說明:每個鬧鐘占用DS1302的三個RAM,從第5個RAM開始使用。
//每三個RAM中的第一個為當(dāng)前鬧鐘的開關(guān),第二個為設(shè)置的小時值,第三個為設(shè)置的分鐘值。
//其它三個RAM,0xc6用于鬧鐘總開關(guān)。0xc4報時的結(jié)束時間點。0xc2報時的開始時間點。
void search_time(void){//驗證鬧鐘時間到
	uchar i;
	write_clock(0x8e,0x00);//允許寫操作
	for(i=1;i<7;i++){//鬧鐘改為6組,減少2組留出6個字節(jié)RAM
		if(		read_clock(0xc3+i*6) != 0 && 					//不為0則表示這項已經(jīng)設(shè)置
				read_clock(0xc3+i*6+2) == read_clock(0x85) && //小時對比
				read_clock(0xc3+i*6+4) == read_clock(0x83)&& //分值對比
				read_clock(0x81) < 0x09 && //這里保證秒值小于8秒動作,防止再操作
				v != read_clock(0x83))//按鍵停止防再響
		{
			switch (read_clock(0xc3+i*6)){//顯示設(shè)置項的說明		
				case 1://只響一次,之后自動關(guān)閉[---V4.0即鬧一次后把當(dāng)前鬧鐘開關(guān)給關(guān)閉,下次不再鬧]			
					BEEP_bit = 1;
					write_clock(0xc2+i*6,0);		
					break;//		
				case 2://常開			
					BEEP_bit = 1;
					break;//		
				case 3://周六、日除外			
					if(read_clock(0x8b) < 6){
						BEEP_bit = 1;
					}	
					break;//		
				case 4://周日除外			
					if(read_clock(0x8b) < 7){
						BEEP_bit = 1;
					}	
					break;//		
				case 5://周六、日響			
					if(read_clock(0x8b) > 5){
						BEEP_bit = 1;
					}	
					break;//		
				case 6://周日響			
					if(read_clock(0x8b) == 7){
						BEEP_bit = 1;
					}	
					break;//		
			}
		v = read_clock(0x83);		
		}	
	}
write_clock(0x8e,0x80);//禁止寫操作
}
/**********************************************************************************************/
void Time_adj(void){//---V4.0功能,時間校準(zhǔn)程序
	unsigned char temp;
	temp=read_clock(0xc3+7*6+2);
	if((read_clock(0x85)==3)&&(read_clock(0x83)==0)&&(read_clock(0x81)==30)){//凌晨3點0分30秒時校正
		if((temp>0)&&(temp<26)){	//減調(diào)整
			write_clock(0x8e,0x00);//允許寫操作
			write_clock(0x80,30-(26-temp));//對秒進(jìn)行調(diào)整。26-temp:讓本來+2.+1.+0.-25.-24...變成+2.+1.+0.-1.-2...
			write_clock(0x8e,0x80);//禁止寫操作	
		}
		if((temp>=26)&&(temp<52)){ //加調(diào)整
			write_clock(0x8e,0x00);//允許寫操作
			write_clock(0x80,30+(temp-26));//對秒進(jìn)行調(diào)整
			write_clock(0x8e,0x80);//禁止寫操作
		}
	}
}
/**********************************************************************************************/	
void clearRAM (void){//寄存器清空函數(shù)-32個寄存器清空(0x00)
	uchar a;//定義變量用于清空數(shù)據(jù)指針
	for(a=0;a<32;a++){//指向32個寄存器
		Ledplay[a] = 0;//將指向的寄存器清空
	}
}
/**********************************************************************************************/	
void clearBuf (void){//寄存器清空函數(shù)-80個寄存器清空(0x00)--V4.0
	uchar a;//定義變量用于清空數(shù)據(jù)指針
	for(a=0;a<80;a++){//指向80個寄存器
		Ledplay_buf[a] = 0;//將指向的寄存器清空
	}
}
/**********************************************************************************************/	
void putin_buf (uchar u){//字符載入函數(shù)-將字符裝入顯示寄存器
	uchar a = 0;//定義變量用于數(shù)據(jù)提取指針
	do{		
		Ledplay_buf[bn+40] = no[u][a];//將二維數(shù)組中的一組數(shù)據(jù)放入顯示緩沖區(qū)
		a++;//換下一個提取字節(jié)	
		bn++;//換下一個顯示緩沖字節(jié)			
	}
	while(no[u][a] != 0);//當(dāng)顯示數(shù)據(jù)為0時結(jié)束循環(huán)
	bn++;//換下一個顯示緩沖字節(jié)
	Ledplay_buf[bn+40] = 0;//顯示一列的空位,便于字符區(qū)分	
}
/**********************************************************************************************/	
void putin (uchar u){//字符載入函數(shù)-將字符裝入顯示寄存器
	uchar a = 0;//定義變量用于數(shù)據(jù)提取指針
	do{		
		Ledplay[bn] = no[u][a];//將二維數(shù)組中的一組數(shù)據(jù)放入顯示緩沖區(qū)
		a++;//換下一個提取字節(jié)	
		bn++;//換下一個顯示緩沖字節(jié)			
	}
	while(no[u][a] != 0);//當(dāng)顯示數(shù)據(jù)為0時結(jié)束循環(huán)
	bn++;//換下一個顯示緩沖字節(jié)
	Ledplay[bn] = 0;//顯示一列的空位,便于字符區(qū)分	
}
/**********************************************************************************************/
//將待顯緩沖區(qū)的前32字節(jié)轉(zhuǎn)移到顯示緩沖區(qū)中--V4.0
void disBuf_2_disRam(void){
	uchar i;	
	for(i=0;i<32;i++){
		Ledplay[i]=Ledplay_buf[i];
	}
}
//***********************************************************************************************************
//此處是顯示顯示緩沖區(qū)內(nèi)容的函數(shù),只有這里才有權(quán)力涉及到顯示緩沖區(qū)的讀取!!!
//暫時設(shè)置部分的顯示不改。
//***********************************************************************************************************
void display (void){//點陣屏驅(qū)動函數(shù)-32*8點陣顯示驅(qū)動
	uchar ac,aa;//定義兩個數(shù)據(jù)變量
	aa = 7;//指定前16個數(shù)據(jù)的提取	
	for(ac=0x28;ac<0x30;ac++){//掃描前兩塊LED屏		
		Led_E  = ac;//用ac值驅(qū)動使能列信號

		Led_24 = DL(Ledplay[aa+8]);//DL(Ledplay[aa+8]);//將顯示寄存器數(shù)據(jù)寫入2、4屏
		Led_13 = Ledplay[aa];//將顯示寄存器數(shù)據(jù)寫入1、3屏
		
		Delay(60);//延時1.2微秒[60]
		Led_E  = 0xff;

		Led_13 = 0;//數(shù)據(jù)總線清空
		Led_24 = 0;
		aa--;//aa減1,換下一列顯示
	}
	aa = 23;//指定后16個數(shù)據(jù)的提取
	for(ac=0x20;ac<0x28;ac++){//掃描后兩塊LED屏(由于P1.5接揚聲器所以高4位為2,旨在關(guān)聲音)		
		Led_E  = ac;//用ac值驅(qū)動使能列信號	

		Led_24 = DL(Ledplay[aa+8]);//將顯示寄存器數(shù)據(jù)寫入2、4屏
		Led_13 = Ledplay[aa];//將顯示寄存器數(shù)據(jù)寫入1、3屏

		Delay(60);//延時1.2微秒	[60]
		Led_E  = 0xff;

		Led_13 = 0;//數(shù)據(jù)總線清空
		Led_24 = 0;
		aa--;//aa減1,換下一列顯示
	}
	Led_E  = 0xff;
}
/**********************************************************************************************/
void display_delay(uchar i){//循環(huán)顯示i次以達(dá)到延時功能
	while(i){
		display();
		i--;
	}
}
/**********************************************************************************************/
void Load_date(void){ //日期組合與顯示
	bn = 0;//顯示位累加寄存器清零(從頭開始寫入顯示緩沖區(qū))
	if(read_clock(0x89)/16 != 0){//為0時消隱
	putin_buf(read_clock(0x89)/16);//顯示月值(十位,為0時消隱)/*將數(shù)據(jù)存入待顯區(qū)后四十字節(jié)。*/
	}
	putin_buf(read_clock(0x89)%16);//顯示月值(個位)
	putin_buf(21);//顯示"月"
	if(read_clock(0x87)/16 != 0){//為0時消隱
	putin_buf(read_clock(0x87)/16);//顯示日值(十位,為0時消隱)
	}
	putin_buf(read_clock(0x87)%16);//顯示日值(個位)
	putin_buf(22);//顯示"日" 
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久久久99999| 肉肉av福利一精品导航| 丰满白嫩尤物一区二区| 国产午夜亚洲精品理论片色戒 | 91成人网在线| 亚洲自拍偷拍av| 欧美一区二区在线免费播放| 久久99久久99小草精品免视看| 久久一区二区三区四区| 国产毛片精品国产一区二区三区| 国产日韩v精品一区二区| www.亚洲在线| 亚洲午夜视频在线| 日韩免费一区二区三区在线播放| 国产美女娇喘av呻吟久久| 中文字幕在线一区免费| 欧美三级视频在线观看| 青青草精品视频| 国产精品网站导航| 欧美乱妇15p| 国产.欧美.日韩| 亚洲午夜成aⅴ人片| 日韩精品一区二区三区蜜臀| 成人av影院在线| 日韩二区在线观看| 中文字幕不卡在线| 欧美精品黑人性xxxx| 国产福利精品一区二区| 亚洲国产一区视频| 久久久激情视频| 欧美揉bbbbb揉bbbbb| 国产在线乱码一区二区三区| 亚洲精品成人天堂一二三| 欧美一卡二卡三卡| 99精品视频在线播放观看| 日韩高清一级片| 亚洲欧洲日韩一区二区三区| 日韩欧美色电影| 91激情五月电影| 国产不卡视频一区二区三区| 亚洲1区2区3区4区| 亚洲天堂2016| 久久精品视频一区| 91精品国产欧美一区二区成人 | av中文字幕不卡| 美日韩一级片在线观看| 一区二区三区在线视频观看58| 精品国产一区二区三区不卡| 在线观看成人免费视频| va亚洲va日韩不卡在线观看| 精彩视频一区二区| 丝袜亚洲另类欧美| 一区二区三区精品在线| 欧美国产成人精品| 久久久影院官网| 欧美一区二区三区四区久久| 在线日韩国产精品| 99精品国产热久久91蜜凸| 国内精品久久久久影院一蜜桃| 日韩精品国产精品| 亚洲国产视频在线| 亚洲一区二区三区四区五区黄| 亚洲欧美日韩中文播放| 国产精品久久久久婷婷| 亚洲国产成人午夜在线一区| 久久精品在线观看| 久久天堂av综合合色蜜桃网| 日韩欧美成人一区二区| 日韩一级成人av| 日韩一区国产二区欧美三区| 51精品视频一区二区三区| 欧美色网站导航| 欧美视频完全免费看| 欧美色精品在线视频| 欧美色偷偷大香| 欧美亚洲综合另类| 欧美三级三级三级| 在线观看国产日韩| 欧美日韩美少妇| 欧美日韩国产bt| 欧美高清一级片在线| 欧美一卡2卡3卡4卡| 日韩一区二区三区在线| 欧美一区二区三区小说| 日韩欧美国产午夜精品| 26uuu亚洲综合色欧美| 久久久久久久久蜜桃| 久久久久久久久久电影| 中文字幕的久久| 亚洲视频狠狠干| 亚洲高清在线视频| 首页国产欧美久久| 老司机免费视频一区二区三区| 成人亚洲一区二区一| 91亚洲国产成人精品一区二三| 色婷婷久久久久swag精品| 91福利资源站| 日韩视频免费观看高清完整版| 亚洲精品一区二区三区香蕉| 国产欧美精品在线观看| 亚洲视频免费观看| 日韩精品国产欧美| 粉嫩嫩av羞羞动漫久久久 | 亚洲一区在线视频观看| 日本美女一区二区三区| 国产精品一二三区在线| 91免费在线播放| 欧美放荡的少妇| 国产亚洲女人久久久久毛片| 亚洲精品欧美综合四区| 裸体在线国模精品偷拍| 波多野结衣一区二区三区 | 日韩一区二区三区四区| 国产精品精品国产色婷婷| 亚洲一级不卡视频| 国产剧情在线观看一区二区| 91啪亚洲精品| 精品国产91洋老外米糕| 亚洲精品亚洲人成人网在线播放| 日本在线不卡视频| 不卡视频一二三| 日韩视频一区在线观看| 亚洲激情五月婷婷| 国产综合色视频| 欧美色精品在线视频| 久久九九久久九九| 日韩极品在线观看| 99国产精品久| 久久久久久久免费视频了| 午夜在线成人av| 99久久伊人网影院| 精品久久久久久最新网址| 亚洲综合无码一区二区| 欧美一区二区三区影视| 中文字幕av一区二区三区高| 一个色在线综合| 狠狠狠色丁香婷婷综合久久五月| 91同城在线观看| 久久综合五月天婷婷伊人| 亚欧色一区w666天堂| 99国产精品久久久久久久久久久| 欧美v亚洲v综合ⅴ国产v| 亚洲国产精品欧美一二99| 99精品桃花视频在线观看| 久久久精品国产99久久精品芒果| 日本不卡免费在线视频| 91久久精品一区二区三| 中文字幕在线一区免费| 国内一区二区在线| 欧美成人一区二区三区| 五月激情综合色| 欧美日韩一区二区三区免费看| 中文字幕一区二区三区蜜月| 粉嫩嫩av羞羞动漫久久久| 欧美大黄免费观看| 美女视频黄久久| 日韩一区二区三区免费观看| 日韩av不卡一区二区| 在线精品视频一区二区三四| 亚洲麻豆国产自偷在线| av高清不卡在线| 中文字幕一区二区三区在线不卡 | 国产在线播放一区| 日韩一区二区影院| 日韩电影一区二区三区四区| 欧美日韩国产影片| 亚洲不卡av一区二区三区| 欧美亚洲日本国产| 亚洲综合色在线| 欧美三级日韩三级国产三级| 亚洲国产裸拍裸体视频在线观看乱了 | 成人午夜在线视频| 国产欧美一区二区精品久导航| 欧美日韩免费一区二区三区| 亚洲精品欧美激情| 91激情在线视频| 五月婷婷激情综合网| 欧美一区二区三区四区视频| 久久99久久99精品免视看婷婷 | 国产亚洲精品aa| 国产成人精品免费一区二区| 欧美国产日本韩| 99久久免费精品| 亚洲123区在线观看| 91精品国产高清一区二区三区蜜臀| 免费看黄色91| 日本一区二区免费在线| 99re这里只有精品6| 亚洲国产精品久久不卡毛片 | 日韩三级精品电影久久久| 久久成人综合网| 欧美国产成人精品| 欧美午夜精品一区二区三区| 日韩av午夜在线观看| 日本一区二区视频在线观看| 色哟哟一区二区在线观看| 日本欧美韩国一区三区| 国产色综合一区| 91麻豆视频网站| 蜜臀精品久久久久久蜜臀|