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

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

?? 3208_v4.01.00.c

?? 《愛上單片機》_單片機學習必備
?? C
?? 第 1 頁 / 共 4 頁
字號:
	WriteOneChar(0xCC); // 跳過讀序號列號的操作
	WriteOneChar(0x44); // 啟動溫度轉換
	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){//寫一個字節(DS18B20驅動)
	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 鬧鐘聲音(蜂鳴器驅動) 
	uint a;//定義變量用于發聲的長度設置
	Led_EA = 1;//關列顯示驅動,防止屏幕出現亂碼
	for(a=2500;a>0;a--){//第一個聲音的長度
		Bell_Out = ~Bell_Out;//取反揚聲器驅動口,以產生音頻
		Delay(10);//音調設置延時
	}
	for(a=100;a>0;a--){//同上
		Bell_Out = ~Bell_Out;  //
		Delay(6);//音調設置延時
	}
	Bell_Out = 1;
}
/**********************************************************************************************/	
void Beep(void){//BELL-揚聲器--整點報時(蜂鳴器驅動) 
	uchar a;//定義變量用于發聲的長度設置
	Led_EA = 1;//關列顯示驅動,防止屏幕出現亂碼
	for(a=60;a>0;a--){//第一個聲音的長度
		Bell_Out = ~Bell_Out;//取反揚聲器驅動口,以產生音頻
		Delay(100);//音調設置延時
	}
	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 -揚聲器--確定設置(蜂鳴器驅動)
	uchar a;//定義變量用于發聲的長度設置
	Led_EA = 1;//關列顯示驅動,防止屏幕出現亂碼
	for(a=250;a>0;a--){//第一個聲音的長度
		Bell_Out = ~Bell_Out;//取反揚聲器驅動口,以產生音頻
		Delay(20);//音調設置延時
	}
	for(a=100;a>0;a--){//同上
		Bell_Out = ~Bell_Out;
		Delay(80);//
	}
}	
/**********************************************************************************************/	
void Beep_key(void){//-揚聲器--按鍵音(蜂鳴器驅動)
	uchar a;//定義變量用于發聲的長度設置
	Led_EA = 1;//關列顯示驅動,防止屏幕出現亂碼
	for(a=100;a>0;a--){//聲音的長度
		Bell_Out = ~Bell_Out;
		Delay(50);//音調設置延時
	}
}
/**********************************************************************************************/	
void clock_out(unsigned char dd){ //-1302驅動程序(DS1302驅動)
	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寫入字節(DS1302驅動)
	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讀數據(DS1302驅動)
	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寫數據(DS1302驅動)
	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){ //根據選擇調整的相應項目加1并寫入DS1302-調時用加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某地址上的數值轉換成10進制賦給item 
  item=((read_clock(address+1))/16)*10 + (read_clock(address+1))%16;
  if(Add_Key == 0){	 key_off ();//等待鍵放開
  	item++;//數值加1
	Beep_key();//調時提示音
  }
  if(Add2_Key == 0){ key_off ();//等待鍵放開
  	item--;//數值減1
	Beep_key();//調時提示音
  }  
  if(item>max) item=mini;//查看數值有效范圍   
  if(item<mini) item=max;           
  write_clock(0x8e,0x00);//允許寫操作
  write_clock(address,(item/10)*16+item%10);//轉換成16進制寫入1302
  if(sel == 6 && (Add_Key == 0 || Add2_Key == 0)){
  	write_clock(0x80,0x00);//秒值=0
  }
  write_clock(0x8e,0x80);//寫保護,禁止寫操作  
}
/**********************************************************************************************/	
void Init_1302(void){//-設置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);//寫入初始化標志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);//設置顯示方式為流動顯示(2)
		write_clock(0xc2+7*6,1);//設置流動速度為1
		write_clock(0x8e,0x80);//禁止寫操作
	}
}
/**********************************************************************************************/
//---V4.0
//說明:每個鬧鐘占用DS1302的三個RAM,從第5個RAM開始使用。
//每三個RAM中的第一個為當前鬧鐘的開關,第二個為設置的小時值,第三個為設置的分鐘值。
//其它三個RAM,0xc6用于鬧鐘總開關。0xc4報時的結束時間點。0xc2報時的開始時間點。
void search_time(void){//驗證鬧鐘時間到
	uchar i;
	write_clock(0x8e,0x00);//允許寫操作
	for(i=1;i<7;i++){//鬧鐘改為6組,減少2組留出6個字節RAM
		if(		read_clock(0xc3+i*6) != 0 && 					//不為0則表示這項已經設置
				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)){//顯示設置項的說明		
				case 1://只響一次,之后自動關閉[---V4.0即鬧一次后把當前鬧鐘開關給關閉,下次不再鬧]			
					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功能,時間校準程序
	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)){	//減調整
			write_clock(0x8e,0x00);//允許寫操作
			write_clock(0x80,30-(26-temp));//對秒進行調整。26-temp:讓本來+2.+1.+0.-25.-24...變成+2.+1.+0.-1.-2...
			write_clock(0x8e,0x80);//禁止寫操作	
		}
		if((temp>=26)&&(temp<52)){ //加調整
			write_clock(0x8e,0x00);//允許寫操作
			write_clock(0x80,30+(temp-26));//對秒進行調整
			write_clock(0x8e,0x80);//禁止寫操作
		}
	}
}
/**********************************************************************************************/	
void clearRAM (void){//寄存器清空函數-32個寄存器清空(0x00)
	uchar a;//定義變量用于清空數據指針
	for(a=0;a<32;a++){//指向32個寄存器
		Ledplay[a] = 0;//將指向的寄存器清空
	}
}
/**********************************************************************************************/	
void clearBuf (void){//寄存器清空函數-80個寄存器清空(0x00)--V4.0
	uchar a;//定義變量用于清空數據指針
	for(a=0;a<80;a++){//指向80個寄存器
		Ledplay_buf[a] = 0;//將指向的寄存器清空
	}
}
/**********************************************************************************************/	
void putin_buf (uchar u){//字符載入函數-將字符裝入顯示寄存器
	uchar a = 0;//定義變量用于數據提取指針
	do{		
		Ledplay_buf[bn+40] = no[u][a];//將二維數組中的一組數據放入顯示緩沖區
		a++;//換下一個提取字節	
		bn++;//換下一個顯示緩沖字節			
	}
	while(no[u][a] != 0);//當顯示數據為0時結束循環
	bn++;//換下一個顯示緩沖字節
	Ledplay_buf[bn+40] = 0;//顯示一列的空位,便于字符區分	
}
/**********************************************************************************************/	
void putin (uchar u){//字符載入函數-將字符裝入顯示寄存器
	uchar a = 0;//定義變量用于數據提取指針
	do{		
		Ledplay[bn] = no[u][a];//將二維數組中的一組數據放入顯示緩沖區
		a++;//換下一個提取字節	
		bn++;//換下一個顯示緩沖字節			
	}
	while(no[u][a] != 0);//當顯示數據為0時結束循環
	bn++;//換下一個顯示緩沖字節
	Ledplay[bn] = 0;//顯示一列的空位,便于字符區分	
}
/**********************************************************************************************/
//將待顯緩沖區的前32字節轉移到顯示緩沖區中--V4.0
void disBuf_2_disRam(void){
	uchar i;	
	for(i=0;i<32;i++){
		Ledplay[i]=Ledplay_buf[i];
	}
}
//***********************************************************************************************************
//此處是顯示顯示緩沖區內容的函數,只有這里才有權力涉及到顯示緩沖區的讀取!!!
//暫時設置部分的顯示不改。
//***********************************************************************************************************
void display (void){//點陣屏驅動函數-32*8點陣顯示驅動
	uchar ac,aa;//定義兩個數據變量
	aa = 7;//指定前16個數據的提取	
	for(ac=0x28;ac<0x30;ac++){//掃描前兩塊LED屏		
		Led_E  = ac;//用ac值驅動使能列信號

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

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

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

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

		Led_13 = 0;//數據總線清空
		Led_24 = 0;
		aa--;//aa減1,換下一列顯示
	}
	Led_E  = 0xff;
}
/**********************************************************************************************/
void display_delay(uchar i){//循環顯示i次以達到延時功能
	while(i){
		display();
		i--;
	}
}
/**********************************************************************************************/
void Load_date(void){ //日期組合與顯示
	bn = 0;//顯示位累加寄存器清零(從頭開始寫入顯示緩沖區)
	if(read_clock(0x89)/16 != 0){//為0時消隱
	putin_buf(read_clock(0x89)/16);//顯示月值(十位,為0時消隱)/*將數據存入待顯區后四十字節。*/
	}
	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);//顯示"日" 
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲va在线va天堂| 亚洲一区在线视频| 日韩免费视频一区| 欧美三片在线视频观看| 欧美亚洲国产一区二区三区va| 不卡区在线中文字幕| 不卡在线观看av| 色网站国产精品| 欧美午夜影院一区| 91精品国产综合久久香蕉麻豆 | 亚洲视频在线一区观看| 国产精品美女久久久久久久久| 国产午夜三级一区二区三| 久久久精品一品道一区| 中文字幕一区av| 亚洲视频中文字幕| 亚洲福利视频一区二区| 青草av.久久免费一区| 精品中文字幕一区二区| 粉嫩嫩av羞羞动漫久久久| 99久久精品国产一区二区三区| 色婷婷久久99综合精品jk白丝| 欧美区在线观看| 欧美不卡一二三| 国产精品高潮久久久久无| 一区二区三区四区在线播放| 日韩高清欧美激情| 国产精品18久久久久久vr| www.一区二区| 在线成人午夜影院| 日本一区二区三级电影在线观看| 日韩毛片精品高清免费| 日韩avvvv在线播放| 成人免费视频视频在线观看免费 | 午夜视频在线观看一区| 久久99国产精品久久99| 99re这里只有精品首页| 日韩精品一区二区在线观看| 国产精品久久二区二区| 日本欧美一区二区| 91免费精品国自产拍在线不卡| 欧美电影影音先锋| 国产精品国产精品国产专区不蜜| 五月婷婷综合激情| 不卡一区二区三区四区| 日韩欧美一级精品久久| 一区二区三区在线视频播放| 国内精品不卡在线| 777亚洲妇女| 亚洲黄色录像片| 国产激情视频一区二区在线观看 | 欧美狂野另类xxxxoooo| 国产精品日产欧美久久久久| 日韩国产欧美在线播放| 色综合色狠狠天天综合色| 久久久久久97三级| 久久国产夜色精品鲁鲁99| 日本国产一区二区| 欧美激情自拍偷拍| 国产一区二区看久久| 91精品福利在线一区二区三区| 亚洲色图清纯唯美| 日韩午夜激情视频| 亚洲综合精品久久| 91老司机福利 在线| 中文字幕中文字幕在线一区| 国模无码大尺度一区二区三区| 4438x成人网最大色成网站| 亚洲欧美日韩中文播放| 99精品久久久久久| 中文字幕一区二区在线播放| 成人a免费在线看| 国产精品毛片a∨一区二区三区| 国产激情一区二区三区四区| 久久久不卡网国产精品一区| 国精产品一区一区三区mba桃花| 精品美女被调教视频大全网站| 日本成人在线电影网| 91精品国产美女浴室洗澡无遮挡| 亚洲第四色夜色| 91精品国产一区二区三区香蕉| 亚洲午夜在线视频| 欧美日韩日日摸| 日韩影院免费视频| 日韩精品一区二区三区中文不卡| 欧美aⅴ一区二区三区视频| 日韩欧美国产三级电影视频| 久久99国产精品久久99| 日本一区二区不卡视频| 国产成人免费av在线| 日韩理论电影院| 欧美色精品在线视频| 青青国产91久久久久久| 欧美成人欧美edvon| 国产精品69久久久久水密桃| 国产精品的网站| 欧美天堂亚洲电影院在线播放| 奇米色一区二区| 日本一区二区免费在线| 在线这里只有精品| 日本女人一区二区三区| 国产亚洲精品资源在线26u| 97精品电影院| 久久激情综合网| 国产欧美精品一区二区色综合| 91麻豆自制传媒国产之光| 亚洲va在线va天堂| 久久久国产午夜精品| 色香色香欲天天天影视综合网| 日本强好片久久久久久aaa| 国产女主播视频一区二区| 色天天综合久久久久综合片| 狂野欧美性猛交blacked| 亚洲色欲色欲www在线观看| 精品少妇一区二区三区在线播放| www.日本不卡| 美脚の诱脚舐め脚责91 | 精品在线观看免费| 中文字幕一区在线观看视频| 日韩一区二区在线播放| 99re这里只有精品6| 国产综合久久久久久鬼色 | 欧美日韩国产另类不卡| 国产91精品一区二区麻豆网站| 成人三级在线视频| 青青草国产精品97视觉盛宴| 国产精品免费久久| 久久久久久久免费视频了| 欧美绝品在线观看成人午夜影视| 成人免费va视频| 国产麻豆91精品| 免费成人你懂的| 三级久久三级久久久| 亚洲卡通欧美制服中文| 国产精品妹子av| 久久久久久久网| 精品久久久久久久久久久久包黑料| 色噜噜久久综合| 99久精品国产| 99国产麻豆精品| 成人黄色免费短视频| 国产不卡高清在线观看视频| 韩国女主播成人在线| 老色鬼精品视频在线观看播放| 无码av免费一区二区三区试看| 亚洲伦理在线免费看| 亚洲精品美腿丝袜| 亚洲色图丝袜美腿| 亚洲人吸女人奶水| 亚洲欧美一区二区三区极速播放| 国产精品视频一区二区三区不卡| 国产偷国产偷亚洲高清人白洁| 亚洲精品在线一区二区| 欧美成人精品3d动漫h| 欧美va亚洲va在线观看蝴蝶网| 欧美一级片免费看| 欧美成人一区二区三区在线观看| 欧美一区二区三区在线观看 | 欧美日韩一区二区在线观看| 99久久99精品久久久久久| 97精品久久久午夜一区二区三区| 成人一区二区三区在线观看 | 99久久久久久99| 色欧美乱欧美15图片| 91久久奴性调教| 欧美精品一级二级三级| 91精品综合久久久久久| 亚洲精品在线三区| 国产日韩欧美精品在线| 欧美高清一级片在线观看| 国产精品电影一区二区三区| 亚洲精品日产精品乱码不卡| 亚洲成a人v欧美综合天堂| 日韩经典中文字幕一区| 激情伊人五月天久久综合| 懂色av一区二区三区免费观看| 99久久免费国产| 欧美一区二区三区影视| 久久久久久9999| 一区二区三区美女视频| 日韩成人午夜精品| 成人久久视频在线观看| 欧美午夜理伦三级在线观看| 日韩欧美在线观看一区二区三区| 久久久久久久久久美女| 伊人色综合久久天天| 狂野欧美性猛交blacked| 97se亚洲国产综合自在线| 欧美肥妇毛茸茸| 国产精品乱人伦| 麻豆国产精品777777在线| 成人午夜电影网站| 欧美一区二区播放| 亚洲激情中文1区| 国内精品久久久久影院色| 欧美亚洲高清一区| 国产精品天干天干在观线| 日韩黄色小视频| av在线不卡观看免费观看| 日韩视频一区二区|