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

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

?? led-clock.c

?? 采用DS1302的數碼管數字鐘
?? C
字號:
#include <REGX51.H>
#include "ds1302.h"			//包含DS1302頭文件
#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一区二区三区免费野_久草精品视频
狠狠色2019综合网| 日本伊人色综合网| 精品国产第一区二区三区观看体验| fc2成人免费人成在线观看播放| 国精产品一区一区三区mba视频 | 91久久线看在观草草青青| 国产精品系列在线观看| 麻豆视频观看网址久久| 日韩精品免费专区| 日韩电影在线看| 麻豆精品一区二区| 蜜臀a∨国产成人精品| 精品一区二区三区免费播放| 麻豆精品在线看| 懂色中文一区二区在线播放| 成人免费精品视频| 色偷偷久久人人79超碰人人澡| 波多野结衣亚洲| 在线视频一区二区三区| 欧美日韩一区二区三区不卡| 91精品国产免费久久综合| 欧美一级欧美三级| 中文字幕欧美三区| 亚洲柠檬福利资源导航| 日韩电影网1区2区| 国产剧情一区二区三区| 91亚洲国产成人精品一区二三| 欧美亚一区二区| 欧美电视剧在线看免费| 国产精品美女视频| 亚洲成人激情自拍| 成人在线视频一区二区| 91国产成人在线| 精品卡一卡二卡三卡四在线| 国产精品不卡在线| 日本vs亚洲vs韩国一区三区二区| 国产在线精品一区二区不卡了| 99免费精品在线| 精品国偷自产国产一区| 亚洲美女视频在线观看| 狠狠色丁香九九婷婷综合五月| zzijzzij亚洲日本少妇熟睡| 宅男噜噜噜66一区二区66| 国产清纯白嫩初高生在线观看91| 亚洲制服丝袜一区| 粉嫩久久99精品久久久久久夜| 欧美肥胖老妇做爰| 国产精品久久久久久久浪潮网站 | 欧美国产禁国产网站cc| 一区二区三区91| 国产经典欧美精品| 欧美日韩国产经典色站一区二区三区 | 99国产精品一区| 日韩女优视频免费观看| 亚洲综合在线五月| 99久久精品国产网站| 精品三级av在线| 日韩av电影天堂| 欧美日韩五月天| 亚洲天堂成人网| 成人免费高清在线| 久久久久久影视| 精品系列免费在线观看| 欧美日本在线看| 亚洲一区在线观看网站| aa级大片欧美| 中文字幕欧美激情| 国产东北露脸精品视频| 欧美成人官网二区| 青青草国产精品97视觉盛宴| 欧美亚洲日本国产| 亚洲精品一二三四区| www.亚洲免费av| 国产精品免费久久| 成人黄色在线网站| 国产精品少妇自拍| 成人性色生活片免费看爆迷你毛片| 日韩欧美一区二区在线视频| 无码av中文一区二区三区桃花岛| 欧美性色黄大片手机版| 亚洲一线二线三线久久久| 色狠狠综合天天综合综合| 亚洲日本在线天堂| 一本大道久久精品懂色aⅴ| 亚洲欧洲成人自拍| 日本韩国欧美一区二区三区| 亚洲欧美日韩国产综合| 欧美在线视频不卡| 五月天一区二区| 日韩一级大片在线| 国产一区二区三区| 欧美国产一区二区| 99re热视频精品| 亚洲资源中文字幕| 日韩欧美国产不卡| 福利一区在线观看| 亚洲女同女同女同女同女同69| 欧美亚洲综合色| 久久疯狂做爰流白浆xx| 久久精品综合网| 色婷婷久久久亚洲一区二区三区 | 国产三级欧美三级| 91在线丨porny丨国产| 亚洲欧美色图小说| 日韩精品在线看片z| 成人美女视频在线观看| 亚洲午夜久久久久久久久电影院 | 色天使久久综合网天天| 亚洲成人av免费| 久久老女人爱爱| 色综合久久精品| 韩国精品一区二区| 自拍偷自拍亚洲精品播放| 欧美日韩国产首页| 国产激情精品久久久第一区二区 | 8x8x8国产精品| 韩国三级在线一区| 亚洲在线免费播放| 久久色在线观看| 91久久精品一区二区三区| 极品少妇一区二区| 亚洲一区二区三区自拍| 国产日韩精品久久久| 欧美日韩亚州综合| 成人涩涩免费视频| 久久精品99久久久| 亚洲一二三四区| 欧美韩日一区二区三区| 欧美一区永久视频免费观看| 成人精品国产福利| 国产呦萝稀缺另类资源| 日韩黄色免费电影| 亚洲欧美日韩一区二区| 久久久精品天堂| 欧美一二三在线| 欧美系列一区二区| av一区二区三区四区| 黄色日韩网站视频| 免费在线观看不卡| 亚洲成人av电影在线| 亚洲欧洲av另类| 国产欧美日韩一区二区三区在线观看| 777午夜精品视频在线播放| 色哟哟在线观看一区二区三区| 国产精品一级片在线观看| 日本不卡视频在线观看| 亚洲国产三级在线| 亚洲综合视频在线观看| 成人免费在线播放视频| 亚洲国产精品精华液ab| 亚洲精品一区二区三区精华液| 欧美日韩国产片| 在线免费观看成人短视频| 成人a区在线观看| 国产91精品免费| 国产精品一区二区久激情瑜伽 | 国产激情精品久久久第一区二区| 免费久久99精品国产| 日韩福利电影在线| 麻豆精品一区二区综合av| 美女看a上一区| 奇米亚洲午夜久久精品| 免费成人在线观看视频| 美女尤物国产一区| 精品一区二区三区视频在线观看| 美国欧美日韩国产在线播放| 蜜臀91精品一区二区三区 | 久久青草国产手机看片福利盒子| 欧美成人综合网站| 国产视频一区不卡| 国产精品女上位| 一级日本不卡的影视| 天天综合天天综合色| 免费日本视频一区| 韩国成人精品a∨在线观看| 国产成人综合亚洲网站| 99精品国产热久久91蜜凸| 欧美在线观看一二区| 欧美视频第二页| 日韩欧美一二三区| 国产精品丝袜一区| 亚洲欧美日韩电影| 五月天一区二区三区| 国产一区二区三区国产| 色婷婷亚洲综合| 精品国产亚洲在线| 亚洲欧美欧美一区二区三区| 日韩精品欧美精品| 国产69精品久久99不卡| 在线观看91精品国产入口| 日韩免费在线观看| 中文字幕一区二区三| 日韩一区欧美二区| 成人污视频在线观看| 宅男在线国产精品| 亚洲婷婷综合色高清在线| 日本vs亚洲vs韩国一区三区二区| eeuss鲁片一区二区三区| 欧美一区2区视频在线观看| 久久精品夜色噜噜亚洲aⅴ|