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

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

?? wxbj.c

?? c51 有LED做的日歷+時鐘,注釋很詳細
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <AT89X55.H>//加載頭文件
#define uchar unsigned char//變量類型的宏定義
#define uint unsigned int//變量類型的宏定義
uchar SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,
                0x6d,0x7d,0x07,0x7f,0x6f};/*0~9的數碼管段碼*/
#define reset() {WDT=0x1e;WDT=0xe1;}//看門狗啟動/復位宏定義
uchar act[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//數碼管驅動位碼數組
void delay(uint k);//延時子函數聲明
void dis_check1(uchar m);//顯示報警時的地址、時間子函數
sfr WDT=0xa6;//看門狗寄存器定義

/*************外部函數聲明************/
extern void delay_iic(int n);
extern void wr_24c01(char a,char b);
extern uchar rd_24c01(char a);
extern void shift8(char a);
extern void ack();
extern void stop();
extern void start();

/***************************/
sbit MSKEY=P1^7; /*功能鍵標志*/
sbit MONKEY=P1^6;//月按鍵
sbit DAYKEY=P1^5;//天按鍵
sbit HOUKEY=P1^4;//時按鍵
sbit MINKEY=P1^3;//分按鍵
sbit CHECKKEY=P3^2;//查詢按鍵
sbit P3_0=P3^0;
sbit P3_1=P3^1;
sbit P3_2=P3^2;
sbit P3_3=P3^3;

//------------------
bit d_05s=0;   /*0.5秒標志*/
bit rdflag=1;//讀取標志
bit checkflag;//查詢標志
bit IO_flag=0;//報警觸發標志
bit T1_startflag; //第一路定時啟動標志
bit T1_endflag; //第一路定時結束標志
bit T2_startflag;// 第二路定時啟動標志
bit T2_endflag;//第二路定時結束標志
bit out_P1_2; //第二路繼電器輸出
bit out_P3_1; //第一路繼電器輸出
bit ALMstart;//報警時間啟動標志
bit ALMmin_iicflag;//報警所用時間寫入24C01標志
bit iic_rdflag;//讀取24C01標志

//------------------
uchar x,y,memoryoverflag;//變量定義
uchar MS=0;//工作模式定義
uchar deda=0;   	/*100mS計數單元清零*/ 
uint cnt;
uchar ALMadd,discnt;//報警地址暫存、顯示屏掃描計數器
char iic_cnt,ALMmin;//24C01單元計數、報警時間(分)
uchar sec,min,hou,day,mon;//秒、分、時、天、月
uchar temp_min,temp_hou,temp_day;//臨時存放的分、時、天

/*===================*/
uchar T1min_st,T1hou_st,T1min_end,T1hou_end;//第一路定時(分、時)開始、結束時間
uchar T2min_st,T2hou_st,T2min_end,T2hou_end;//第二路定時(分、時)開始、結束時間

/*********************/
void dis_time(uchar m);//函數列表
void dis_adjtime(uchar m);
void dis_check(uchar m);
void dis_adjT1_st(uchar m);
void dis_adjT1_end(uchar m);
void dis_adjT2_st(uchar m);
void dis_adjT2_end(uchar m);
void dis_adjALMtime(uchar m);
void scankey();
void conv();
void pdT(void);
void dis_check(uchar m);

/***********************/
/*定時器T0初始化100ms*/
void init_timer0()
{
TMOD=0x11;
TH0=-(50235/256);
TL0=-(50235%256);
TR0=1;
}

/*定時器T1初始化2ms*/
void init_timer1()
{
TH1=-(1000/256);
TL1=-(1000%256);
TR1=1;
}

//***********初始化子函數************
void init(void)
{	P0=0xff;P1=0xff;P2=0xff;P3=0xff;
	ALMstart=0;reset()
	rdflag=0;
	discnt=0;
	init_timer0();         
	init_timer1();          
	IE=0x8f;PT1=1;
	IT1=1;
	EA=0;// 關總中斷
x=rd_24c01(4);delay_iic(250);
if(x!=88) 
{sec=0;min=0;hou=0;day=1;mon=1; 
wr_24c01(4,88);delay_iic(250); 
wr_24c01(5,1);delay_iic(250); 
wr_24c01(6,3);delay_iic(250); 
}
x=rd_24c01(6);delay_iic(250);
if(x>59){wr_24c01(6,3);delay_iic(250);}
//-------------------------------
iic_cnt=rd_24c01(5);delay_iic(250);
//----------------------------------
ALMmin=rd_24c01(6);delay_iic(250);
EA=1; 
}

/*********延時Kx1ms子函數*****************/
void delay(uint k)
{
uint i,j;
for(i=0;i<k;i++){
for(j=0;j<60;j++)
{;}reset()}
}

/*100mS定時中斷服務子函數*/
void time_zd0(void) interrupt 1 using 1
{
TH0=-(50235/256);
TL0=-(50235%256);
deda++;
}

/***********外部中斷1子函數,報警觸發*************/
void extern_zd1(void) interrupt 2 using 2
{IO_flag=1;delay(200);}
//===========================================
void IO_fnc()
{	uchar temp;	
		if(IO_flag) 
		{	EA=0; 
			ALMadd=P3;ALMadd=ALMadd>>4; 
			ALMmin=rd_24c01(6);delay_iic(250); 
			iic_cnt=rd_24c01(5);delay_iic(250); 
			iic_cnt++;//地址指針加1
			temp=rd_24c01(7);delay_iic(250);
			if(temp!=55) 
			{if(iic_cnt==31){wr_24c01(7,55);delay_iic(250);memoryoverflag=55;}}
			if(iic_cnt>31)iic_cnt=2; 
			x=iic_cnt*4; 
			wr_24c01(x,ALMadd);delay_iic(250); 
			wr_24c01(x+1,day);delay_iic(250);
			wr_24c01(x+2,hou);delay_iic(250);
			wr_24c01(x+3,min);delay_iic(250);
			//**************************
			wr_24c01(5,iic_cnt);delay_iic(250); 
			MS=15;IO_flag=0; 
			temp_day=day;temp_hou=hou;temp_min=min;
			ALMstart=1;EA=1; 
		}
}

/**************************/
/*2mS定時中斷服務子函數*/
void time_zd1(void) interrupt 3 using 3
{
	TH1=-(1000/256);// 重載定時初值
	TL1=-(1000%256);
if(discnt>7)discnt=0;// 顯示為8位數碼管
if(cnt>700)cnt=0;// 報警時的閃爍周期
switch(MS)
{
case 0:{dis_time(discnt);}break;// 顯示走時
case 1:{dis_adjtime(discnt);}break;// 顯示調時
case 2:{dis_adjT1_st(discnt);}break; //顯示T1調整及設定
case 3:{dis_adjT1_end(discnt);}break;// 顯示T2調整及設定
case 4:{dis_adjT2_st(discnt);}break;// 顯示T3調整及設定
case 5:{dis_adjT2_end(discnt);}break;// 顯示T4調整及設定
case 6:{dis_adjALMtime(discnt);}break;// 顯示報警時間調整及設定
case 10:{dis_check(discnt);}break;// 查詢時顯示的報警歷史記錄(翻頁)
case 15:{dis_check1(discnt);}break;// 報警觸發時,顯示此時的報警地點、時間
default:break;
}
discnt++;cnt++;
}

/*****************************/
void dis_check1(uchar m)// 報警觸發時,顯示此時的報警地點、時間
{
if(cnt<350)
{switch(m)
{case 0:{P0=SEG7[temp_min%10];}break;
case 1:{P0=SEG7[temp_min/10];}break;
case 2:{P0=SEG7[temp_hou%10];}break;
case 3:{P0=SEG7[temp_hou/10];}break;
case 4:{P0=SEG7[temp_day%10];}break;
case 5:{P0=SEG7[temp_day/10];}break;
case 6:{P0=SEG7[ALMadd%10];}break;
case 7:{P0=SEG7[ALMadd/10];}break;
default:break;
}
P2=act[m];P0_7=1;}
else
P2=0xff;
}

//===============================
void dis_check(uchar m)// 查詢時顯示的報警歷史記錄(翻頁)
{
switch(m)
{case 0:{P0=SEG7[temp_min%10];}break;
case 1:{P0=SEG7[temp_min/10];}break;
case 2:{P0=SEG7[temp_hou%10];}break;
case 3:{P0=SEG7[temp_hou/10];}break;
case 4:{P0=SEG7[temp_day%10];}break;
case 5:{P0=SEG7[temp_day/10];}break;
case 6:{P0=SEG7[ALMadd%10];}break;
case 7:{P0=SEG7[ALMadd/10];}break;
default:break;
}
P2=act[m];P0_7=1;
}

/*******************************/
void dis_time(uchar m) //顯示走時
{
switch(m)
{case 0:{P0=SEG7[min%10];}break;
case 1:{P0=SEG7[min/10];}break;
case 2:{P0=SEG7[hou%10];}break;
case 3:{P0=SEG7[hou/10];}break;
case 4:{P0=SEG7[day%10];}break;
case 5:{P0=SEG7[day/10];}break;
case 6:{P0=SEG7[mon%10];}break;
case 7:{P0=SEG7[mon/10];}break;
default:break;
}
if(!d_05s) {P0_7=0;}
else {P0_7=1;}
P2=act[m];
}

/****************************/
void dis_adjtime(uchar m)// 顯示調時
{
switch(m)
{case 0:{P0=SEG7[min%10];}break;
case 1:{P0=SEG7[min/10];}break;
case 2:{P0=SEG7[hou%10];}break;
case 3:{P0=SEG7[hou/10];}break;
case 4:{P0=SEG7[day%10];}break;
case 5:{P0=SEG7[day/10];}break;
case 6:{P0=SEG7[mon%10];}break;
case 7:{P0=SEG7[mon/10];}break;
default:break;
}
P0_7=1;
P2=act[m];
}

/****************************/
void dis_adjT1_st(uchar m) //顯示T1調整及設定
{
switch(m)
{case 0:{P0=SEG7[T1min_st%10];}break;
case 1:{P0=SEG7[T1min_st/10];}break;
case 2:{P0=SEG7[T1hou_st%10];}break;
case 3:{P0=SEG7[T1hou_st/10];}break;
case 4:{P0=0x00;}break;
case 5:{P0=0x00;}break;
case 6:{P0=SEG7[1];}break;
case 7:{P0=0x31;}break;
default:break;
}
if(!T1_startflag) P0_7=1;
else P0_7=0;
P2=act[m];
}

/************************************/
void dis_adjT1_end(uchar m) //顯示T2調整及設定
{
switch(m)
{case 0:{P0=SEG7[T1min_end%10];}break;
case 1:{P0=SEG7[T1min_end/10];}break;
case 2:{P0=SEG7[T1hou_end%10];}break;
case 3:{P0=SEG7[T1hou_end/10];}break;
case 4:{P0=0x00;}break;
case 5:{P0=0x00;}break;
case 6:{P0=SEG7[2];}break;
case 7:{P0=0x31;}break;
default:break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线这里只有精品| 久久婷婷成人综合色| 精品午夜一区二区三区在线观看| 国产精品久久国产精麻豆99网站| 欧美日本在线播放| 一本到不卡精品视频在线观看| 韩国精品一区二区| 日韩高清在线一区| 亚洲精品日日夜夜| 国产精品午夜免费| 日韩欧美一级二级三级久久久 | 成人中文字幕在线| 日韩成人午夜精品| 亚洲伊人伊色伊影伊综合网| 国产精品久久久久久久久免费丝袜 | 一区二区三区色| 欧美国产一区视频在线观看| 日韩欧美www| 日韩一区二区精品在线观看| 欧美探花视频资源| 91官网在线观看| 91视视频在线直接观看在线看网页在线看 | 欧美区视频在线观看| 91麻豆国产自产在线观看| 粉嫩av一区二区三区| 国产一区二区三区在线观看免费| 日韩电影在线免费看| 伊人色综合久久天天人手人婷| 亚洲国产高清在线| 久久久久9999亚洲精品| 欧美精品一区二区三区高清aⅴ| 91精品国产综合久久精品app | 久久先锋影音av鲁色资源网| 欧美丰满少妇xxxbbb| 欧美剧情电影在线观看完整版免费励志电影| 99久久精品国产麻豆演员表| av动漫一区二区| 成人app软件下载大全免费| 国产69精品久久久久777| 国产盗摄女厕一区二区三区| 国产乱码精品一区二区三| 国内精品久久久久影院薰衣草| 狠狠色伊人亚洲综合成人| 久久精品国产99国产精品| 极品美女销魂一区二区三区免费| 久久国产麻豆精品| 精品一区二区日韩| 国产精品69久久久久水密桃 | 欧美高清性hdvideosex| 欧美日本在线观看| 日韩久久久精品| 精品国产乱码久久久久久浪潮| 337p粉嫩大胆色噜噜噜噜亚洲| 久久影音资源网| 国产精品天干天干在线综合| 亚洲欧美成aⅴ人在线观看| 一区二区不卡在线播放| 亚洲韩国精品一区| 久久国产精品99久久久久久老狼| 国内成人精品2018免费看| 国产.精品.日韩.另类.中文.在线.播放| 国产精品自拍av| 色综合天天综合网国产成人综合天 | 在线中文字幕不卡| 正在播放一区二区| 久久久天堂av| 一区视频在线播放| 亚洲一区二区四区蜜桃| 久久精品国产一区二区三 | 久久久久久亚洲综合影院红桃 | 一区二区三区免费观看| 婷婷久久综合九色综合绿巨人| 韩国欧美国产一区| 91丝袜美腿高跟国产极品老师 | 成人激情动漫在线观看| 在线看一区二区| 日韩欧美成人午夜| 中文字幕一区二区三区色视频| 午夜精品爽啪视频| 国产精品88888| 欧美日韩综合在线| 久久精品人人做人人综合 | 国产午夜精品在线观看| 夜夜精品浪潮av一区二区三区| 秋霞午夜av一区二区三区| 国产成人高清在线| 欧美日韩一区二区电影| 久久―日本道色综合久久| 一区二区三区国产精华| 久久精品国产在热久久| 91福利社在线观看| 久久久久久久性| 午夜成人免费视频| 不卡视频一二三| 精品久久久久久无| 亚洲精品成人天堂一二三| 国模冰冰炮一区二区| 在线观看视频91| 欧美国产综合色视频| 免费美女久久99| 欧洲一区在线观看| 国产精品天美传媒| 韩国一区二区在线观看| 欧美精品一二三| 亚洲女同ⅹxx女同tv| 国产毛片一区二区| 日韩欧美亚洲国产精品字幕久久久| 亚洲色图视频网站| 高清不卡一二三区| 欧美成人女星排名| 三级影片在线观看欧美日韩一区二区| 99精品偷自拍| 国产欧美精品一区| 另类欧美日韩国产在线| 欧美久久久久久蜜桃| 亚洲精品中文字幕乱码三区| 国产激情视频一区二区三区欧美| 欧美一区二区日韩一区二区| 亚洲影视在线播放| 一本大道av一区二区在线播放| 国产欧美va欧美不卡在线| 久久福利视频一区二区| 91麻豆精品国产无毒不卡在线观看| 亚洲美女偷拍久久| 91小视频在线免费看| 国产精品亲子乱子伦xxxx裸| 国产精品一区在线观看乱码| 精品久久久久久久久久久久久久久久久| 香蕉久久夜色精品国产使用方法 | 韩国毛片一区二区三区| 日韩欧美一二三| 美日韩一区二区三区| 欧美一二三区在线| 免费在线观看日韩欧美| 91精品在线观看入口| 日韩va亚洲va欧美va久久| 3d成人h动漫网站入口| 日韩黄色小视频| 91精品久久久久久久91蜜桃 | 国产精品自拍在线| 久久精品一区二区三区不卡| 国产一区二区三区免费| 26uuu色噜噜精品一区| 国产精品夜夜爽| 中文无字幕一区二区三区| 不卡影院免费观看| 一区二区三区在线免费观看| 欧美午夜在线观看| 亚洲 欧美综合在线网络| 91精品国产综合久久久蜜臀粉嫩 | 成人黄页在线观看| 亚洲欧美日韩综合aⅴ视频| 一本一道波多野结衣一区二区 | 裸体健美xxxx欧美裸体表演| 日韩免费高清电影| 国产精品99久久久久久似苏梦涵| 中文在线资源观看网站视频免费不卡| www.亚洲色图.com| 一区二区在线观看免费| 欧美日韩视频在线一区二区| 美女视频一区二区三区| 久久久久久久久久美女| aaa国产一区| 亚洲国产综合91精品麻豆| 91精品国产欧美一区二区18| 精品一区在线看| 国产精品视频线看| 欧美在线观看禁18| 久草这里只有精品视频| 中文字幕在线免费不卡| 欧美日韩成人在线一区| 国内精品第一页| 亚洲精品一二三| 日韩精品中文字幕在线不卡尤物| 国产福利一区二区三区视频在线 | 欧美一区二区啪啪| 国产成人啪午夜精品网站男同| 自拍偷拍国产精品| 欧美福利一区二区| 成人性生交大合| 亚洲成人精品一区二区| 欧美激情一区二区三区四区| 欧美视频一区二区三区在线观看| 麻豆91在线播放| 亚洲免费观看高清在线观看| 日韩欧美的一区二区| 91一区一区三区| 国产一区二区调教| 一区二区国产盗摄色噜噜| 精品国产伦一区二区三区观看体验| www.欧美亚洲| 久久不见久久见中文字幕免费| 亚洲欧洲另类国产综合| 精品精品国产高清a毛片牛牛 | 久久久精品tv| 在线不卡一区二区| 一本大道久久a久久精二百| 韩国三级在线一区| 手机精品视频在线观看| 亚洲丝袜另类动漫二区|