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

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

?? led時鐘.c

?? 簡單實現電磁爐定時,使上班族們擁有自己的時間
?? C
字號:
#include <REG51.H>
#include "ds1302.h"			//包含DS1302頭文件
#include "ds18b20.h"
#define leddata P0			//定義LED數據口
#define sec 0x80			//1302秒寄存器地址
#define min 0x82			//1302分寄存器地址
#define hou 0x84			//1302時寄存器地址
#define read 0x01			//讀操作,因為讀的時候地址要加1,使最低位為1
sbit MODE=P3^4;				//按鍵定義,下同
sbit SET=P3^5;
sbit UP=P3^6;
sbit DOWN=P3^7;
sbit led0=P2^0;				//LED位選,因為布線不是按順序布的,程序定義一下就可以了,下同
sbit led1=P2^3;
sbit led2=P2^7;
sbit led3=P2^4;
sbit led4=P2^6;
sbit led5=P2^5;
//**************函數聲明*****************
void delays(unsigned char);
void display(void);
void Scan_Key(void);
void id_case1_key();
void Set_id(unsigned char ,unsigned char);
//*************變量定義******************
unsigned char id=0,timecount,re_disp=0;		//定義用到的變量,id為調整模式用,不為0時表示調整模式,調整哪個量由id值確定
											//timecount用于500ms定時記數,時間到取反flag標志位,re_disp記數200次共10s,調整狀態下按鍵無操作10s自動返回正常顯示狀態
bit hour,minute,second,flag;				//定義位變量,hour,minute,second分別為調整時閃爍標志位,flag 500ms取反一次,調整位閃爍及冒號閃爍用
unsigned char code tab[]={0x48,0xEE,0x54,0xC4,0xE2,0xC1,0x41,0xEC,0x40,0xC0,0x60};	//LED碼表,根據硬件修改
unsigned char inittime[7]={0x00,0x00,0x12,0x16,0x11,0x06,0x04};						//初始化1302時用到的初始化數據
                                            //                          秒  分鐘 小時  日   月   年  星期
void t0(void) interrupt 1 using 0			//中斷處理程序,主要用于取反標志位,返回正常顯示狀態
{
  	TH0=(65535-50000)/256; //50ms定時
  	TL0=(65535-50000)%256;  
  	timecount++;re_disp++;
  	if(timecount>9)
   		{
			timecount=0;
    		flag=~flag;
   		}
	if(re_disp>200){re_disp=0;if(id)id=0;}
}
void delays(unsigned char k)				//延時函數
{
	unsigned char i,j;
	for(i=0;i<k;i++)
		for(j=0;j<50;j++);
}
void display(void)							//顯示函數
{
	if(flag&hour)							//如hour為1表示調整時,flag為1時不顯示
		{
			led0=0;leddata=0xff;delays(10);led0=1;
			led1=0;leddata=0xff&~((unsigned char)~flag<<6);delays(10);led1=1;	//&~((unsigned char)~flag<<6)該句根據flag的值決定來顯示小數點,為1時顯示,4個小數點組成兩對冒號,下同
		}
	else									//flag為0時顯示,產生閃爍效果,下同
		{
			leddata=tab[Read1302(hou|read)/16];led0=0;delays(10);led0=1;
			leddata=tab[Read1302(hou|read)%16]&~((unsigned char)~flag<<6);led1=0;delays(10);led1=1;
		}
	if(flag&minute)
		{
			led2=0;leddata=0xff&~((unsigned char)~flag<<6);delays(10);led2=1;
			led3=0;leddata=0xff&~((unsigned char)~flag<<6);delays(10);led3=1;
		}
	else
		{
			leddata=tab[Read1302(min|read)/16]&~((unsigned char)~flag<<6);led2=0;delays(10);led2=1;
			leddata=tab[Read1302(min|read)%16]&~((unsigned char)~flag<<6);led3=0;delays(10);led3=1;
		}
	if(flag&second)
		{
			led4=0;leddata=0xff&~((unsigned char)~flag<<6);delays(10);led4=1;
			led5=0;leddata=0xff;delays(10);led5=1;
		}
	else
		{
			leddata=tab[Read1302(sec|read)/16]&~((unsigned char)~flag<<6);led4=0;delays(10);led4=1;
			leddata=tab[Read1302(sec|read)%16];led5=0;delays(10);led5=1;
		}
}
void Scan_Key(void)				//鍵盤檢測函數
{
	display();					//程序開頭調用顯示函數
	if(!SET)					
		{
			while(!SET)display();	//等待按鍵釋放,如一直按下一直調用顯示函數,防止顯示中斷
			re_disp=0;				//清除記數,重新開始10s定時
			id++;if(id>3)id=0;		//id加1,后面根據id值對應調整項目
		}
	if(id==0){hour=0;minute=0;second=0;}	//根據id值跳到相應處理函數
	if(id==1){hour=1;id_case1_key();}		//id為1,選擇調整小時位,閃爍標志位置1,然后跳到鍵盤處理函數,下同
	if(id==2){hour=0;minute=1;id_case1_key();}
	if(id==3){minute=0;second=1;id_case1_key();}
}
void id_case1_key(void)						//鍵盤處理函數,只有按下set鍵時才會進入,
{
	display();								
  	if (!DOWN) //減少
      	{
       		while(!DOWN)display();			//等待按鍵釋放,如一直按下一直調用顯示函數,防止顯示中斷
			re_disp=0;						//清除記數,重新開始10s定時
	   		Set_id(id,0);					//跳到加減判斷函數,下同,
      	}
   	if (!UP)  //增加
      	{
       		while(!UP)display();
			re_disp=0;
	   		Set_id(id,1);    
      	}
}

//根據選擇調整相應項目并寫入DS1302
void Set_id(unsigned char sel,unsigned char sel_1)		//執行調整項目的函數
{
  	signed char max,mini,address,item;					
	if(sel==1)  {address=hou; max=23;mini=0;}    //小時	//根據id值確定要調整的項,并確定調整上下限,下同
	if(sel==2)  {address=min; max=59;mini=0;}    //分鐘
  	if(sel==3)  {address=sec; max=0; mini=0;}    //秒
  	item=Read1302(address|read)/16*10+Read1302(address|read)%16;	//從相應的地址讀取當前數據并轉換為十進制
  	if (sel_1==0) item--;  else item++;								//確定是對項目加還是減,并對越限處理
 	if(item>max) item=mini;   
  	if(item<mini) item=max;
	Write1302(0x8e,0x00);//允許寫操作	
  	Write1302(address,item/10*16+item%10);							//將調整結果轉換成壓縮BCD碼重新寫入1302
  	Write1302(0x8e,0x80);//寫保護,禁止寫操作  
}
void main()							//主函數
	{  
		TMOD=0x01;					//初始化定時器
  		TH0=(65535-50000)/256;
  		TL0=(65535-50000)%256;
  		EA=1;
  		ET0=1;
		TR0=1; 
		Write1302(0x90,0xa0);//關閉充電二級管,不能對后備電池進行充電,防止發脹,原來的程序是打開的請關閉 
 		Write1302(0x8e,0x80);//寫保護,禁止寫操作 
		if(!UP&!DOWN)Set1302(inittime);			//如果同時按下UP和DOWN鍵則初始化1302,該語句在while(1)前,只執行一次,需要復位,防止誤操作
		while(1)
			{  
				Scan_Key();						//主程序一直調用鍵盤檢測函數即可
			}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美区自拍先锋| 国产成人av网站| 欧美私人免费视频| 亚洲精品你懂的| 欧美三级电影网站| 亚洲成人tv网| 欧美一区二区三区免费| 国精产品一区一区三区mba视频| 久久久久国产精品免费免费搜索| 国产xxx精品视频大全| 综合久久久久久| 欧美日韩和欧美的一区二区| 久久精品噜噜噜成人av农村| 国产午夜精品一区二区| 欧洲一区在线电影| 久久se这里有精品| 久久精品视频免费| 91碰在线视频| 精品一区二区三区的国产在线播放 | 成人精品小蝌蚪| 亚洲人成精品久久久久久| 91福利视频在线| 日本亚洲天堂网| 国产日韩精品一区二区三区| 日本韩国欧美一区二区三区| 日韩国产高清在线| 久久久蜜桃精品| 色8久久人人97超碰香蕉987| 麻豆中文一区二区| 自拍偷拍欧美精品| 日韩一级免费一区| www.性欧美| 蜜桃视频第一区免费观看| 亚洲国产精品v| 日韩欧美一二三四区| 色婷婷综合五月| 狠狠色综合日日| 亚洲欧美另类久久久精品 | 欧美一级一级性生活免费录像| 国产一区二区成人久久免费影院 | 欧美在线视频你懂得| 极品瑜伽女神91| 亚洲一区二区三区三| 欧美mv日韩mv国产| 精品视频一区二区三区免费| 国产精品一区二区三区网站| 亚洲成精国产精品女| 中文字幕一区二区三区四区 | 欧美怡红院视频| 国产成人精品一区二| 视频一区欧美精品| 国产精品久久777777| 久久久91精品国产一区二区精品| 欧美日韩精品欧美日韩精品一 | 亚洲视频一区在线观看| 日韩欧美亚洲国产精品字幕久久久| 93久久精品日日躁夜夜躁欧美| 蓝色福利精品导航| 亚洲一级二级在线| 中文字幕中文字幕一区| 久久久久久电影| 日韩欧美亚洲另类制服综合在线| 欧美日韩在线三级| 91色|porny| 91在线观看一区二区| 成人视屏免费看| 高清不卡一区二区在线| 狠狠色丁香久久婷婷综| 老司机精品视频导航| 美女免费视频一区二区| 亚洲一区二区视频在线观看| 亚洲免费观看在线观看| 欧美高清在线一区| 国产清纯白嫩初高生在线观看91 | 国产精品区一区二区三| 久久精品人人做| 久久夜色精品一区| 日韩精品一区二区三区老鸭窝| 欧美嫩在线观看| 欧美日韩在线三区| 欧美日韩和欧美的一区二区| 欧美午夜精品一区二区蜜桃| 欧美性受极品xxxx喷水| 欧美在线999| 欧美精品vⅰdeose4hd| 91福利国产成人精品照片| 欧美三区在线观看| 精品1区2区3区| 欧美剧情片在线观看| 日韩一卡二卡三卡| 久久这里只有精品6| 中文字幕av不卡| 亚洲欧美欧美一区二区三区| 亚洲码国产岛国毛片在线| 亚洲午夜日本在线观看| 亚洲国产精品精华液网站| 午夜日韩在线电影| 亚洲一卡二卡三卡四卡五卡| 婷婷夜色潮精品综合在线| 日韩国产成人精品| 国产一区二区在线影院| 国产精品一区二区你懂的| 成人动漫精品一区二区| 在线视频欧美区| 欧美一卡二卡三卡四卡| 久久久99精品免费观看不卡| 亚洲欧美电影院| 男男视频亚洲欧美| 成人免费的视频| 欧美三级午夜理伦三级中视频| 欧美一区二区三区男人的天堂| 久久久亚洲午夜电影| 国产精品久久午夜| 亚洲va在线va天堂| 国产酒店精品激情| 色婷婷av一区| 精品美女被调教视频大全网站| 中文在线免费一区三区高中清不卡| 中文字幕欧美一区| 日本一区中文字幕| 国产成人av一区二区三区在线| 欧美专区日韩专区| 精品国产一二三区| 亚洲精品高清在线观看| 黄色精品一二区| 欧美亚洲自拍偷拍| 欧美激情资源网| 男女激情视频一区| 色丁香久综合在线久综合在线观看| 日韩欧美国产系列| 国产精品传媒入口麻豆| 蜜臀久久久久久久| 日本韩国欧美在线| 欧美成人综合网站| 亚洲午夜视频在线观看| 成人性生交大合| 日韩一区二区在线观看| 亚洲精品久久嫩草网站秘色| 国产成人午夜高潮毛片| 91精品国产一区二区人妖| 亚洲男女一区二区三区| 国产99久久久国产精品潘金 | 大美女一区二区三区| 日韩欧美一区在线观看| 亚洲综合丝袜美腿| 99视频有精品| 国产精品久久久久婷婷二区次| 另类人妖一区二区av| 56国语精品自产拍在线观看| 亚洲图片欧美色图| 色哟哟亚洲精品| 日韩理论片网站| 不卡免费追剧大全电视剧网站| 久久久久亚洲蜜桃| 麻豆精品视频在线观看免费| 欧美高清视频一二三区| 亚洲国产毛片aaaaa无费看| 91视频免费播放| 国产欧美一二三区| 粉嫩久久99精品久久久久久夜| 久久综合色天天久久综合图片| 另类专区欧美蜜桃臀第一页| 制服.丝袜.亚洲.中文.综合| 午夜视频在线观看一区二区| 91福利视频在线| 亚洲国产精品久久人人爱蜜臀| 欧美天堂亚洲电影院在线播放| 一区二区三区中文字幕精品精品| 99久久综合国产精品| 亚洲免费毛片网站| 在线观看av一区二区| 午夜成人免费电影| 欧美一区二区三区视频在线观看| 免费观看91视频大全| 精品久久久久久久久久久久包黑料 | 色综合天天综合狠狠| 日韩av午夜在线观看| 88在线观看91蜜桃国自产| 五月综合激情日本mⅴ| 6080日韩午夜伦伦午夜伦| 奇米四色…亚洲| 久久久久久亚洲综合| 国产.欧美.日韩| 中文字幕在线不卡国产视频| 色呦呦国产精品| 日本三级亚洲精品| 久久人人爽爽爽人久久久| 成人免费高清在线| 亚洲综合在线五月| 欧美一级二级三级乱码| 国产原创一区二区| 亚洲视频在线观看一区| 欧美日韩一区不卡| 精品一区二区在线观看| 国产精品欧美经典| 欧美欧美欧美欧美| 国产成人免费高清| 亚洲综合成人在线视频| 欧美成人a∨高清免费观看| 国产成人精品三级|