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

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

?? zzp0.c

?? 單片機時間控制器
?? C
字號:
#include "reg51.h"
#define  unchar  unsigned char
#define  PSEG    0x30   /*P.的代碼*/
#define  N  60
unchar  code seg[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0x30,0xff,0x71,0x13};/*0-9和暗的代碼*/
sbit    DISPCON=P3^2;/*顯示控制*/
sbit    S1=P1^3;     /*設(shè)置鍵*/
sbit    S2=P1^2;     /*數(shù)字+1鍵*/
sbit    L1=P1^7;     /*L1,L2為秒指示*/
sbit    L2=P1^6;
sbit    S3=P1^5;     /*鬧鈴開設(shè)置鍵*/
sbit    S4=P1^4;     /*鬧鈴關(guān)設(shè)置鍵*/
sbit    light=P3^7;   /*鬧鈴控制*/

unchar  buf[4];      /*顯示緩沖區(qū)*/
unchar  hourh;
unchar  hourl;
unchar  minuh;
unchar  minul;
unchar  second;

unchar  onhh;
unchar  onhl;
unchar  onmh;
unchar  onml;

unchar  offhh;
unchar  offhl;
unchar  offmh;
unchar  offml;

unchar  count;            /*溢出時鐘計數(shù)器*/     
unchar  bdata setflag;    /*設(shè)置標志字節(jié)*/
unchar  bdata uflag;      /*設(shè)置通用字節(jié)*/
unchar  onset;       /*鬧鈴是否設(shè)置標志*/

sbit    hh=setflag^0;     /*設(shè)置當前設(shè)置的時間標志位*/
sbit    hl=setflag^1;
sbit    mh=setflag^2;
sbit    ml=setflag^3;
sbit    fresh=uflag^0;    /*顯示刷新標志位*/
sbit    ss=uflag^1;       /*為閃爍標志*/
sbit    sec=uflag^2;      /*秒指示標志*/
sbit    onf=uflag^3;      /*鬧鈴標志*/
sbit    tfix=uflag^4;     /*修正指示標志*/

void system(void);        /*系統(tǒng)初始化函數(shù)*/
void t0_init(void);       /*T0初始化函數(shù)*/
void uart_init(void);     /*串行口傳送初始化函數(shù)*/
void display(void);       /*顯示函數(shù)*/
void delay20ms(void);
void settime(void);       /*時間設(shè)置函數(shù)*/
void ontime(void);        /*鬧鈴開設(shè)置函數(shù)*/
void offtime(void);       /*鬧鈴關(guān)設(shè)置函數(shù)*/
void adjust(void);        /*鬧鈴時間到判斷函數(shù)*/
void t1_init(void);       /*T1初始化函數(shù)*/

/****************************************************/
/*                      以下為主函數(shù)                */
/****************************************************/
void main(void)
{
 system();
 t0_init();
 t1_init();
 uart_init();

 if(!S3)
   {
	   buf[0]=0x0b;
       buf[1]=0x0b;
       buf[2]=0x0d;
       buf[3]=0x0;
       display();
	   ontime();
	   onset=1;
	   tfix=0;
	   count=0;
		  
   }
 if(!S4)
 {
	   buf[0]=0x0b;
       buf[1]=0x0c;
       buf[2]=0x0c;
       buf[3]=0x0;
       display();
	   offtime();
 }

  buf[0]=0x0b;
  buf[1]=0x0b;
  buf[2]=0x0b;
  buf[3]=0x0a;
  display();
  settime();
  TR0=1;
  ET0=1;
  display();
  while(1)
  {
	  if(fresh)
	  {
	         buf[0]=minul;
             buf[1]=minuh;
             buf[2]=hourl;
             buf[3]=hourh;
	         display();
             fresh=0;
	  }
           else
           {
			 if(sec)
               {
			     sec=!sec;
	             L1=!L1;
		         L2=!L2;
			     if(onf)
				 {			       
					 light=1;
				 }
				 else
					 light=0;
		          delay20ms();
				}
		   }
  }

}

/****************************************************/
/*                  以下為顯示函數(shù)                  */
/****************************************************/
void display(void)
{
	unchar out;
	DISPCON=1;
	out=seg[buf[0]];
	SBUF=out;
	while(!TI);
	TI=0;
	out=seg[buf[1]];
	out&=0xfe;
	SBUF=out;
	while(!TI);
	TI=0;
	out=seg[buf[2]];
	SBUF=out;
	while(!TI);
	TI=0;
	out=seg[buf[3]];
	SBUF=out;
	while(!TI);
	TI=0;
    DISPCON=0;
}
/****************************************************/
/*                    以下為時間走時函數(shù)            */
/****************************************************/
void timer0(void) interrupt 1 using 1
{
         unchar x;
         fresh=0;
	 sec=0; 
         TH0=0x3c;
	 TL0=0xb0;         
         count++;
	 if(tfix)
		 x=N;
	 else
		 x=10;
	 if(count!=x)
		 return;
	 else
	 {//⑤
		 tfix=0;
		 sec=1;
		 count=0;
		 second++;
		 if(second!=60)
			 return;
		 else
		 {//④
			 fresh=1;
			 second=0;
			 minul++;
			 if(minul!=10)
				{
				adjust();
				 return;
				 }
			 else
			 {//③
				 minul=0;
				 minuh++;
				 if(minuh!=6)
					{
					 adjust();
					 return;
					 }
				 else
				 {//②
					 minuh=0;
					 hourl++;
					 if(hourh==0||hourh==1)
					 {
						 if(hourl!=10)
						   {
						    adjust();
					            return;
						   }
					         else
					           {
						     hourl=0;
						     hourh++;
						     return;
					           }
					 }
					 else
					 {//①
						 if(hourl!=5)
							{ 
							 adjust();
						         return;
							 }
						 else
						 {
							 hourl=0;
							 hourh=0;
							 tfix=1;
							 return;
						 }
					  }//①
				  }//②
			   }//③
		   }//④
	 }//⑤
}

/****************************************************/
/*                   以下為鬧鈴判斷函數(shù)             */
/****************************************************/
void adjust(void)
{
	if(!onset)
	  {
		onf=0;
	    return;
	   }
	else
	   {  
	     if(hourh==onhh&&hourl==onhl&&minuh==onmh&&minul==onml)
			onf=1;
		 else
			onf=0;
	       return;
	   }
 }
/****************************************************/
/*                 ;以下為T0初始化函數(shù)             */
/****************************************************/
void t0_init(void)
{
	TMOD=0x11;
	TH0=0x3c;
	TL0=0xb0;
}

/****************************************************/
/*                 以下為串行口傳送初始化函數(shù)       */
/****************************************************/
void uart_init(void)
{
	SCON=0;

}
/****************************************************/
/*                以下為系統(tǒng)初始化函數(shù)              */
/****************************************************/
void system(void)
{
	IE=0;
    buf[0]=0;
    buf[1]=0;
    buf[2]=0;
    buf[3]=0;
    hourh=0;
    hourl=0;
    minuh=0;
    minul=0;
	second=0;
	count=0;
	setflag=0;
	uflag=0;
	EA=1;
	
}
/****************************************************/
/*                 以下為時間設(shè)置函數(shù)               */
/****************************************************/
void settime(void)
{
	unchar i;
	while(S1) {};
	for(i=0;i<4;i++)
		delay20ms();
	while(S1) {};
	setflag=1;
	ss=0;

	TR1=1;
	ET1=1;
	while(1)
	{
	    buf[0]=minul;
        buf[1]=minuh;
        buf[2]=hourl;
        buf[3]=hourh;
		if(ss)
		{
			switch(setflag)
			{
			case 0x01:buf[0]=0x0b;
				break;
			case 0x02:buf[1]=0x0b;
				break;
			case 0x04:buf[2]=0x0b;
				break;
			case 0x08:buf[3]=0x0b;
				break;

					
			}
		}
		display();
  sett_0: if(S1) goto sett_1;
		for(i=0;i<4;i++)
		delay20ms();
          if(S1) goto sett_1;
                				
		if(ml)
		{
			TR1=0;
			ET1=0;
			buf[0]=minul;
                        buf[1]=minuh;
                        buf[2]=hourl;
                        buf[3]=hourh;
			return;


		}
		setflag<<=1;
		continue;
sett_1: if(S2)  goto sett_0;
		for(i=0;i<4;i++)
		delay20ms();
	if(S2)  goto sett_0;
		if(!hh) goto sett_2;
		{
			hourh++;
			if(hourh==3)
				hourh=0;
		}
        continue;
sett_2:if(!hl)goto sett_3;
	   {
		   hourl++;
		   if(hourh==2) goto sett_20;
		   if(hourl==10) goto sett_21;
		   continue ;
   sett_21:hourl=0;
		   continue;
   sett_20:if(hourl==5) goto sett_22;
		   continue;
   sett_22:hourl=0;
		   continue;
	   }
sett_3:if(!mh) goto sett_4;
	   {
		   minuh++;
		   if(minuh==6) goto sett_30;
		   continue;
   sett_30:minuh=0;
		   continue;


	   }
sett_4:
       minul++;
	   if(minul==10)goto sett_40;
	   continue;
sett_40:minul=0;
	   continue;

    }
}

void ontime(void)
{
	unchar i;
	while(S1);
	for(i=0;i<4;i++)
		delay20ms();
	while(S1);
	setflag=1;
	ss=0;

	TR1=1;
	ET1=1;
	while(1)
	{
		buf[0]=onml;
        buf[1]=onmh;
        buf[2]=onhl;
        buf[3]=onhh;
		if(ss)
		{
			switch(setflag)
			{
			case 0x01:buf[0]=0x0b;
				break;
			case 0x02:buf[1]=0x0b;
				break;
			case 0x04:buf[2]=0x0b;
				break;
			case 0x08:buf[3]=0x0b;
				break;

					
			}
		}
		display();
 sett_0:	if(S1) goto sett_1;
		for(i=0;i<4;i++)
		delay20ms();
		if(S1) goto sett_1;
		if(ml)
		{
			TR1=0;
			ET1=0;
			buf[0]=onml;
            buf[1]=onmh;
            buf[2]=onhl;
            buf[3]=onhh;
			return;


		}
		setflag<<=1;
		continue;
sett_1: if(S2) goto sett_0;
		for(i=0;i<4;i++)
		delay20ms();
	if(S2) goto sett_0;
		if(!hh) goto sett_2;
		{
			onhh++;
			if(onhh!=3)
				continue;
			onhh=0;
			continue;
		}
sett_2:if(!hl)goto sett_3;
	   {
		   onhl++;
		   if(onhh==2) goto sett_20;
		   if(onhl==10) goto sett_21;
		   continue ;
   sett_21:onhl=0;
		   continue;
   sett_20:if(onhl==5) goto sett_22;
		   continue;
   sett_22:onhh=0;
		   continue;
	   }
sett_3:if(!mh) goto sett_4;
	   {
		   onmh++;
		   if(onmh==6) goto sett_30;
		   continue;
   sett_30:onmh=0;
		   continue;


	   }
sett_4:
      
	   onml++;
	   if(onml==10)goto sett_40;
	   continue;
sett_40:onml=0;
	   continue;

	 }
    
}
void offtime(void)
{
	unchar i;
	while(S1);
	for(i=0;i<4;i++)
		delay20ms();
	while(S1);
	setflag=1;
	ss=0;

	TR1=1;
	ET1=1;
	while(1)
	{
		buf[0]=offml;
        buf[1]=offmh;
        buf[2]=offhl;
        buf[3]=offhh;
		if(ss)
		{
			switch(setflag)
			{
			case 0x01:buf[0]=0x0b;
				break;
			case 0x02:buf[1]=0x0b;
				break;
			case 0x04:buf[2]=0x0b;
				break;
			case 0x08:buf[3]=0x0b;
				break;

					
			}
		}
		display();
 sett_0:	if(S1) goto sett_1;
		for(i=0;i<4;i++)
		delay20ms();
		if(S1) goto sett_1;
		if(ml)
		{
			TR1=0;
			ET1=0;
			buf[0]=offml;
            buf[1]=offmh;
            buf[2]=offhl;
            buf[3]=offhh;
			return;


		}
		setflag<<=1;
		continue;
sett_1: if(S2) goto sett_0;
		for(i=0;i<4;i++)
		delay20ms();
	if(S2) goto sett_0;
		if(!hh) goto sett_2;
		{
			offhh++;
			if(offhh!=3)
				continue;
			offhh=0;
			continue;
		}
sett_2:if(!hl)goto sett_3;
	   {
		   offhl++;
		   if(offhh==2) goto sett_20;
		   if(offhl==10) goto sett_21;
		   continue ;
   sett_21:offhl=0;
		   continue;
   sett_20:if(offhl==5) goto sett_22;
		   continue;
   sett_22:offhh=0;
		   continue;
	   }
sett_3:if(!mh) goto sett_4;
	   {
		   offmh++;
		   if(offmh==6) goto sett_30;
		   continue;
   sett_30:offmh=0;
		   continue;


	   }
sett_4:
      
	   offml++;
	   if(offml==10)goto sett_40;
	   continue;
sett_40:offml=0;
	   continue;

	 }
    
}

void delay20ms(void)
{
	unchar i,j;
	for(i=0;i<20;i++)
	   for(j=0;j<255;j++);
}
/****************************************************/
/*                秒指示閃爍函數(shù)                    */
/****************************************************/
void timer1(void)interrupt 3 using 1
{
	TH1=0x3c;
	TL1=0xb0;
	count++;
	if(count!=5)
		return;
	ss=!ss;
	count=0;

}
/****************************************************/
/*                以下為T1初始化函數(shù)                */
/****************************************************/
void t1_init(void)
{
	TMOD=0x11;
	TH1=0x3c;
	TL1=0xb0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品一区二区三区在线观看| 91福利社在线观看| 男女激情视频一区| 免费一区二区视频| 视频一区视频二区中文| 香港成人在线视频| 美女任你摸久久| 久久精品国产精品亚洲红杏| 老色鬼精品视频在线观看播放| 精品一区二区三区免费毛片爱| 激情六月婷婷综合| 成人免费视频网站在线观看| 成人高清在线视频| 99re在线精品| 欧美日韩一区二区电影| 日韩视频在线永久播放| 国产亚洲欧美日韩俺去了| 国产精品萝li| 亚洲不卡一区二区三区| 麻豆91精品视频| 高清成人在线观看| 欧美视频一二三区| 久久精品亚洲精品国产欧美| 国产精品国产三级国产aⅴ入口 | 日韩 欧美一区二区三区| 日韩av网站在线观看| 国产精品亚洲视频| 色拍拍在线精品视频8848| 欧美精品v国产精品v日韩精品| 日韩欧美高清在线| 亚洲欧美中日韩| 五月激情丁香一区二区三区| 国产**成人网毛片九色| 欧美精品三级日韩久久| 国产蜜臀av在线一区二区三区 | 91久久精品一区二区三区| 欧美日韩激情一区| 国产免费久久精品| 日韩在线一区二区三区| 成人精品免费视频| 在线综合视频播放| 亚洲精品国产无天堂网2021| 久久精品国产亚洲aⅴ| 不卡的电影网站| 日韩精品自拍偷拍| 亚洲综合激情另类小说区| 国产精品资源网站| 欧美一区二区三区公司| 亚洲精品日韩综合观看成人91| 国内精品伊人久久久久av影院| 欧美综合欧美视频| 国产精品国产三级国产专播品爱网| 蜜桃精品视频在线| 欧美日韩一区二区三区四区五区| 亚洲国产精品激情在线观看| 久久99久久久久| 欧美精品v日韩精品v韩国精品v| 成人欧美一区二区三区小说 | 精品视频1区2区3区| 国产欧美日韩一区二区三区在线观看 | 日韩欧美在线不卡| 亚洲一区中文在线| 97久久精品人人做人人爽| 日韩亚洲电影在线| 亚洲无线码一区二区三区| 91首页免费视频| 国产精品久久久久久久第一福利| 精品制服美女丁香| 日韩欧美国产三级电影视频| 日本va欧美va精品发布| 欧美乱妇一区二区三区不卡视频| 亚洲一卡二卡三卡四卡无卡久久| av成人动漫在线观看| 中文字幕视频一区| 99re在线精品| 一区二区在线观看视频| 色噜噜夜夜夜综合网| 亚洲精品国产视频| 欧美影院午夜播放| 五月综合激情网| 91精品国产免费久久综合| 日韩精品电影一区亚洲| 欧美大黄免费观看| 国产精品一二三四五| 中文字幕免费一区| av动漫一区二区| 亚洲免费在线观看| 欧美图片一区二区三区| 日本视频中文字幕一区二区三区| 亚洲少妇中出一区| 色综合网站在线| 亚洲香肠在线观看| 欧美亚洲一区三区| 裸体一区二区三区| 久久久久国产精品人| 99精品国产一区二区三区不卡| 亚洲精品美国一| 日韩小视频在线观看专区| 国产精品一区二区三区四区| 亚洲欧美在线另类| 欧美猛男gaygay网站| 韩国av一区二区三区四区| 国产精品乱码妇女bbbb| 在线视频一区二区三区| 精品一二三四区| 国产精品久久久久久久午夜片| 欧美亚洲禁片免费| 国产寡妇亲子伦一区二区| 亚洲激情在线激情| 欧美精品一区二区在线播放| 成人小视频在线观看| 亚洲国产精品天堂| 久久综合国产精品| 欧美午夜精品免费| 国产.欧美.日韩| 亚洲自拍与偷拍| 日韩精品一区二区三区老鸭窝| 99精品国产91久久久久久| 香蕉成人伊视频在线观看| 中文一区二区在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产精品1区二区.| 亚洲视频免费看| 精品福利一区二区三区| 在线观看视频91| 成人av电影在线| 国产一区二区在线影院| 亚洲精品中文字幕在线观看| 久久久久国产精品麻豆ai换脸| 国产suv精品一区二区883| 一区二区三区国产豹纹内裤在线 | 国产精品一区二区在线观看不卡 | 欧美精品一区二区三区蜜臀| 欧美日韩一本到| 色妹子一区二区| 高清在线观看日韩| 国产高清无密码一区二区三区| 日韩电影在线一区| 五月天丁香久久| 亚洲一区二区在线免费看| 自拍视频在线观看一区二区| 国产精品污污网站在线观看| 91蝌蚪porny| 久久99国产乱子伦精品免费| 免费一区二区视频| 麻豆高清免费国产一区| 日韩电影在线观看网站| 青青草国产精品亚洲专区无| 亚洲成人在线观看视频| 亚洲电影在线播放| 五月天欧美精品| 亚洲成av人片一区二区三区| 亚洲高清不卡在线| 日韩高清欧美激情| 亚洲a一区二区| 亚洲激情av在线| 偷拍日韩校园综合在线| 蜜臀久久99精品久久久久宅男| 青青草精品视频| 精品一区二区免费在线观看| 国产精品一区专区| 成人激情综合网站| 91丨九色丨国产丨porny| 国产·精品毛片| 久久精品久久综合| 成人黄色在线看| 99精品热视频| 欧美精品黑人性xxxx| 欧美精品一区二区三区视频| 久久久亚洲精品石原莉奈| 国产精品福利av| 国产性做久久久久久| 欧美精品一区二区蜜臀亚洲| 精品国产免费一区二区三区四区| 国产亚洲视频系列| 亚洲一区二区三区视频在线 | 日韩主播视频在线| 国产最新精品免费| 色综合天天综合网天天看片| 欧美裸体一区二区三区| 久久久午夜精品| 一区二区三区鲁丝不卡| 精品中文av资源站在线观看| 9l国产精品久久久久麻豆| 欧美精品一卡二卡| 久久久美女毛片| 亚洲一区二区在线观看视频| 精品一区二区三区久久| 在线免费观看一区| 国产亚洲精品bt天堂精选| 亚洲国产乱码最新视频| 国产麻豆91精品| 欧美日韩国产高清一区二区 | 国内精品免费在线观看| 色婷婷狠狠综合| 久久婷婷一区二区三区| 亚洲国产精品久久一线不卡| 大尺度一区二区| 亚洲精品一区二区三区精华液| 一区二区三区鲁丝不卡|