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

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

?? main.c

?? 單路帶數碼管可編程可調節延時模塊
?? C
字號:
/********************************************************************
                            匯誠科技

實現功能:繼電器通、斷時間都可調控制程序(eeprom)
使用芯片:STC12C5204AD
晶振:11.0592MHZ
編譯環境:Keil
硬件環境:四位數顯兩路輸入三按鍵
作者:yang
QQ:790244909
網站:www.ourhc.cn
物聯網測試網站:http://hualongelectron.eicp.net/
日期:2013-05-08
淘寶店:
      華龍電子直銷:http://hlelectrony.taobao.com 
      電子開發直銷:http://shop63233873.taobao.com 
	  匯誠科技網路購物:http://shop36330473.taobao.com
【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息!     
/********************************************************************    
/********************************************************************
功能說明:繼電器循環通斷控制程序
繼電器通、斷時間可調,
key1功能鍵:調節模式與實時顯示模式轉換
keynum=0:實時顯示計時模式
keynum=1:調整繼電器設定閉合秒
keynum=2:調整繼電器設定閉合分
keynum=3:調整繼電器設定斷開秒
keynum=4:調整繼電器設定斷開分
以上四個設定值設定好后都存入eeprom,掉電可記憶
上電時,繼電器吸合,數顯開始計時,到達設定閉合時間后斷開;數顯清零,
                    數顯開始計時,到設定時間,繼電器閉合,數顯清零。。。
					循環下去。。

設定斷開時間最大是10分59秒
設定閉合時間最大是10分59秒
********************************************************************/
#include<STC12C5A60S2.H>  	       //庫文件
#include <intrins.h>
#include"eprom.h"
#define uchar unsigned char//宏定義無符號字符型
#define uint unsigned int  //宏定義無符號整型

#define DUAN P2	  //P0口控制段
#define WEI  P1	  //P2口控制位
sbit jdq= P3^7;
sbit key1=P3^2;	//功能按鍵
sbit key2=P3^3;	//增加
sbit key3=P3^4;	//減小
/********************************************************************
                            初始定義
*********************************************************************/
code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //顯示段碼 數碼管字跟
uchar wei[4]={0X01,0X02,0X04,0X08};                                 //位的控制端
uchar numb[4];	      //定義字符串
uchar cnt,keynum;
uchar setfen,setmiao;
uchar setdf,setdm;
uchar miao,fen;
void IapEraseSector(uint addr);
void IapProgramByte(uint addr,uchar dat);
uchar IapReadByte(uint addr);
bit flag=1;	//閉合斷開標志位
/********************************************************************
                            延時函數
*********************************************************************/
void delay(uchar x)    //延時程序 0.1秒
{
	uchar m,n,s;
	for(m=x;m>0;m--)
	for(n=20;n>0;n--)
	for(s=248;s>0;s--);
}
/********************************************************************
                            顯示函數
*********************************************************************/        
void display(uchar a ,uchar b)   //顯示函數
{
      WEI&=0XF0;
	  DUAN=seg7code[a/10];
	  WEI=wei[0];
	  delay(2);

	  WEI&=0XF0;  
      DUAN=seg7code[a%10]&0x7f;
	  WEI=wei[1];
	  delay(2);

	  WEI&=0XF0;  
   	  DUAN=seg7code[b/10];
	  WEI=wei[2];
	  delay(2);

	  WEI&=0XF0;  
      DUAN=seg7code[b%10];
	  WEI=wei[3];
	  delay(2);
	   
	  WEI&=0XF0;
}
/********************************************************************
                            按鍵掃描
*********************************************************************/
void keyscan(void)
{
 if(key1==0)
 {  delay(1);
    if(key1==0)
    {
	   while(!key1);
	   keynum++;
	   TR0=0;
	   jdq=0;
	   if(keynum>=5)
	   { 
	     keynum=0;
		 miao=fen=0;
		 TR0=1;
		 jdq=1;
	  }
    }
  }
  switch(keynum)
  {
    case 1: if(key2==0)
	        {
			  delay(5);
			  if(key2==0)
	          {
				  while(!key2)display(setfen,setmiao);
				  setmiao++;
				  if(setmiao>59)
				     setmiao=59;
				  IapEraseSector(0);
				  IapProgramByte(0,setmiao);  //寫入函數
			  }
			 }
			if(key3==0) 
			{
			  delay(5);
			  if(key3==0)
	          {
			    while(!key3)display(setfen,setmiao);
			    setmiao--;
				if(setmiao==0||setmiao>=250)
				  setmiao=0;
			    IapEraseSector(0);
			    IapProgramByte(0,setmiao);  //寫入函數
			  }
			}
	         display(setfen,setmiao);
			break;
     case 2: if(key2==0)
	         {
				  delay(5);
				  if(key2==0)
		          {
					  while(!key2)display(setfen,setmiao);
					  setfen++;
					  if(setfen>99)
				         setfen=99;
					  IapEraseSector(512);
					  IapProgramByte(512,setfen);  //寫入函數
			  }
			 }
			 if(key3==0) 
			 {
				  delay(5);
				  if(key3==0)
		          {
				    while(!key3)display(setfen,setmiao);
				    setfen--;
				    if(setfen==0||setfen>=250)
				       setfen=0;
				    IapEraseSector(512);
				    IapProgramByte(512,setfen);  //寫入函數
				  }
			}
		//	display(setfen,setmiao);
			break;
		case 3: 
		    if(key2==0)
	        {
			  delay(5);
			  if(key2==0)
	          {
				  while(!key2)display(setdf,setdm);
				  setdm++;
				  if(setdm>59)
				     setdm=59;
				  IapEraseSector(0);
				  IapProgramByte(0,setmiao);  //寫設定閉合時間秒
				  IapProgramByte(1,setdm);  //寫設定斷開時間秒
			  }
			 }
			if(key3==0) 
			{
			  delay(5);
			  if(key3==0)
	          {
			    while(!key3)
				display(setdf,setdm);
			    setdm--;
				if(setdm==0||setdm>=250)
				  setdm=0;
			    IapEraseSector(0);
			    IapProgramByte(0,setmiao);  //寫設定閉合時間秒
				IapProgramByte(1,setdm);  ////寫設定斷開時間秒
			  }
			}
			break;
		case 4:if(key2==0)
	         {
				  delay(5);
				  if(key2==0)
		          {
					  while(!key2)
					  display(setdf,setdm);;
					  setdf++;
					  if(setdf>10)
				         setdf=10;
					  IapEraseSector(512);
					  IapProgramByte(512,setfen);  //寫設定閉合時間分
					  IapProgramByte(513,setdf);  //寫設定斷開時間秒
			  }
			 }
			 if(key3==0) 
			 {
				  delay(5);
				  if(key3==0)
		          {
				    while(!key3)
					display(setdf,setdm);
				    setdf--;
				    if(setdf==0||setdf>=250)
				       setdf=0;
				    IapEraseSector(512);
				    IapProgramByte(512,setfen);  //寫設定閉合時間分
					IapProgramByte(513,setdf);  //寫設定斷開時間分
				  }
			}
		//	
			break;
	 default : break;
  }
}
/********************************************************************
                           定時器T0初始化*********************************************************************/
void cshh()
{ 
	 TMOD|=0X01; //定義定時器工作方式
	 TH0=0Xa6;
	 TL0=0X01;
	 ET0=1;
	 TR0=1;      //開定時器
	 EA=1;       //開中斷
 }
/********************************************************************
                            初始化函數
*********************************************************************/
void init_all(void)    
{
	P2M1=0;
	P2M0=0xff;
	P1M1=0;
	P1M0=0x0f;
	P3M1&=0x7f;
	P3M0|=0x80;
	P3=0xff;	
}		   
/********************************************************************
                            主函數
*********************************************************************/
void main()
{	 
	init_all();
	setfen=IapReadByte(512);           //讀設定閉合秒
	setdf= IapReadByte(513);		   //讀設定斷開秒
	setmiao=IapReadByte(0);			  //讀設定閉合分
	setdm=IapReadByte(1);			  //讀設定斷開秒
	cshh();                          //定時器初始化
	while(1)
	{  
	   if(keynum==0)   //實時計時模式
	   {
	     display(fen,miao);
	   }
	   if(keynum>0&&keynum<3) //設定閉合分和秒模式
	     display(setfen,setmiao);
	   if(keynum>=3&&keynum<5) //設定斷開分和秒模式
	     display(setdf,setdm);
       keyscan();
	   }
}
/********************************************************************
                           定時器中斷函數
*********************************************************************/
void timer1(void)interrupt 1  
{ 
   TH0=0Xa6; //定時初值
   TL0=0X01; //定時初值
   cnt++;
   if(cnt>=40)
   {
	 cnt=0;
	 miao++;
	 if(miao>=60)
	 {
	   miao=0;
	   fen++;
	 }
    }
	if((fen>=setfen)&&(miao>=setmiao)&&flag)	 
    { 
	    flag=0;
        jdq=0;
		miao=0;
		fen=0;
    }
	if((fen>=setdf)&&(miao>=setdm)&&(flag==0))	 
    { 
        jdq=1;
		miao=0;
		fen=0;
		flag=1;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频在线一区观看| 亚洲色图.com| 欧美浪妇xxxx高跟鞋交| 91免费在线播放| 色婷婷激情综合| 91传媒视频在线播放| 欧美性受xxxx| 欧美电影在线免费观看| 欧美高清你懂得| 日韩欧美在线一区二区三区| 日韩一区二区精品在线观看| 精品久久国产老人久久综合| 久久久久久一级片| 国产精品区一区二区三| 136国产福利精品导航| 亚洲主播在线播放| 天堂蜜桃91精品| 久久国产生活片100| 懂色av一区二区三区免费看| 成人av资源网站| 欧美电影一区二区| 亚洲精品在线电影| 国产精品久久久久久久久免费丝袜 | 亚洲一区二区三区不卡国产欧美| 自拍偷拍国产精品| 青娱乐精品在线视频| 国产suv一区二区三区88区| 99精品欧美一区| 91精品在线一区二区| 久久久国产精品午夜一区ai换脸| 亚洲欧美另类久久久精品| 婷婷久久综合九色综合伊人色| 免费成人在线网站| av电影天堂一区二区在线| 在线电影院国产精品| 国产婷婷一区二区| 日日夜夜精品免费视频| 成人不卡免费av| 在线不卡中文字幕| 中文字幕国产精品一区二区| 一区二区三区四区蜜桃 | 国产成人精品aa毛片| 色综合一个色综合| 国产三级精品三级在线专区| 香港成人在线视频| 粉嫩在线一区二区三区视频| 欧美性猛片aaaaaaa做受| 久久新电视剧免费观看| 亚洲午夜私人影院| 粉嫩aⅴ一区二区三区四区| 欧美一区二区在线播放| 亚洲人成网站色在线观看| 精品一区二区三区在线播放| 欧美亚洲日本一区| 中文字幕一区二区三区蜜月| 久久成人综合网| 欧美日韩一区不卡| 一区二区三区精品视频在线| 处破女av一区二区| 久久青草欧美一区二区三区| 日本aⅴ亚洲精品中文乱码| 91电影在线观看| 亚洲欧美另类综合偷拍| 成人伦理片在线| 国产日韩影视精品| 国产精品456| 精品国产一二三区| 久久99精品国产.久久久久久 | 久久国产日韩欧美精品| 欧美日韩国产首页在线观看| 亚洲综合一区二区| 在线一区二区三区做爰视频网站| 国产精品久久久久久久久图文区| 国产美女视频一区| 国产视频一区二区在线| 国产一区中文字幕| 久久无码av三级| 国产一区二区三区精品欧美日韩一区二区三区| 91精品国产综合久久精品麻豆 | 欧美午夜免费电影| 亚洲午夜视频在线| 欧美日韩www| 蜜臀av性久久久久av蜜臀妖精| 欧美四级电影在线观看| 午夜精品国产更新| 日韩欧美一区中文| 国产在线不卡视频| 国产精品系列在线| 一本色道久久综合狠狠躁的推荐| 樱花影视一区二区| 欧美一区二区三区视频在线观看| 九色综合国产一区二区三区| 久久这里只精品最新地址| 成人小视频在线| 亚洲国产精品一区二区www| 日韩亚洲电影在线| 国产成人av影院| 亚洲制服丝袜av| 精品对白一区国产伦| 成人在线视频一区| 亚洲综合色婷婷| 久久天天做天天爱综合色| 成人免费视频网站在线观看| 亚洲品质自拍视频| 91精品国产色综合久久不卡电影 | 亚洲一区二区三区四区在线免费观看 | 国内精品自线一区二区三区视频| 国产校园另类小说区| 欧美综合天天夜夜久久| 捆绑紧缚一区二区三区视频| 中文字幕亚洲精品在线观看| 欧美日韩国产在线观看| 国产1区2区3区精品美女| 亚洲成人黄色小说| 日本一区二区三区国色天香| 欧美嫩在线观看| 成人做爰69片免费看网站| 天使萌一区二区三区免费观看| 中文av一区二区| 欧美大肚乱孕交hd孕妇| 91视视频在线观看入口直接观看www| 舔着乳尖日韩一区| 1区2区3区欧美| 久久久久亚洲蜜桃| 日韩一级成人av| 欧美在线|欧美| 成人爱爱电影网址| 国产激情视频一区二区在线观看| 亚洲综合久久久| 日韩理论片在线| 欧美极品少妇xxxxⅹ高跟鞋 | 91香蕉视频污| 狠狠色丁香久久婷婷综合丁香| 亚洲成人动漫在线观看| 亚洲女同一区二区| 国产欧美日韩中文久久| 日韩女优av电影在线观看| 欧美日韩激情一区二区三区| 波多野结衣视频一区| 激情图片小说一区| 蜜臀av一区二区| 石原莉奈一区二区三区在线观看| 亚洲日本青草视频在线怡红院| 国产日韩精品一区二区三区| 久久综合999| 国产午夜精品一区二区三区四区| 精品欧美一区二区久久| 日韩午夜激情电影| 日韩一区二区免费电影| 91精品在线免费| 日韩你懂的在线播放| 欧美成人精品福利| 日韩一级高清毛片| www国产精品av| 国产午夜亚洲精品羞羞网站| 国产色爱av资源综合区| 国产欧美一区二区三区鸳鸯浴| 欧美精品一区二区三区在线 | eeuss鲁片一区二区三区在线观看| 精品亚洲成av人在线观看| 精品一区二区国语对白| 国产精选一区二区三区| 成人免费视频一区二区| 91亚洲国产成人精品一区二三 | 欧美欧美欧美欧美| 一本高清dvd不卡在线观看| 欧美影视一区在线| 91老师片黄在线观看| 91免费版在线| 精品亚洲aⅴ乱码一区二区三区| 日韩黄色一级片| 久久av中文字幕片| 国产精品自产自拍| www.色精品| 欧美三级日韩三级| 欧美一区二区三区视频免费播放| 91精品国产一区二区三区蜜臀| 欧美日韩亚洲高清一区二区| 日韩欧美一卡二卡| 国产精品沙发午睡系列990531| 国产精品国模大尺度视频| 亚洲国产一区二区三区| 毛片基地黄久久久久久天堂| 国产精品一区二区久激情瑜伽| 97精品久久久午夜一区二区三区| 欧美日韩免费在线视频| 久久久精品免费免费| 亚洲乱码国产乱码精品精可以看| 日韩电影在线免费看| 国产不卡免费视频| 欧美午夜精品一区二区三区| 精品成人在线观看| 亚洲综合成人在线| 国产精品一区二区三区乱码| 欧美综合一区二区三区| 国产亚洲成年网址在线观看| 亚洲国产成人porn| 成人午夜看片网址| 日韩一级视频免费观看在线| 专区另类欧美日韩|