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

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

?? closetest.c

?? 測試繼電器閉合時間和次數
?? C
?? 第 1 頁 / 共 4 頁
字號:
#include    <absacc.h>      //包含頭文件
#include    <reg51.h>       //包含頭文件

typedef unsigned char  byte;   //定義字節
typedef unsigned int   word;   //定義字

#define XTALL 11.0592      //定義晶振頻率
#define DLY_1MS (word)(1500*XTALL/12)   //1ms延時計數次數設定

#define SECOND  (*(byte xdata*)0x4000)   //秒
#define MINUTE  (*(byte xdata*)0x4002)   //分
#define HOUR    (*(byte xdata*)0x4004)   //小時
#define DAY     (*(byte xdata*)0x4006)   //天
#define WEEK    (*(byte xdata*)0x4007)   //星期
#define MONTH   (*(byte xdata*)0x4008)   //月
#define YEAR    (*(byte xdata*)0x4009)   //年
#define MCA     (*(byte xdata*)0x400a)   //寄存器A
#define MCB     (*(byte xdata*)0x400b)   //寄存器B
#define MCC     (*(byte xdata*)0x400c)   //寄存器C
#define MCD     (*(byte xdata*)0x400d)   //寄存器D

#define TIMES      ((byte xdata*)0x00) //開關時間及次第保存地址

#define DAY_SUM    ((byte xdata*)0x0500) //繼電器閉合總天數
#define PRESS_SUM  ((byte xdata*)0x0501) //繼電器閉合總次數        
#define CUR_DAY    ((byte xdata*)0x0502) //上次中斷日期

/*byte code ASC2[19][5]={	//各字符對應的ASC2碼
		                     {	49,130,131,132,133 }, //1 R L U D_ARROW 
		                     {	50,65,66,67,35 }, //2 A B C #
		                     {	51,68,69,70,63 }, //3 D E F ?
		                     {	52,71,72,73,33 }, //4 G H I !
		                     {	53,74,75,76,60 }, //5 J K L <
		                     {	54,77,78,79,62 }, //6 M N O > 
		                     {	55,80,81,82,83 }, //7 P Q R S
		                     {	56,84,85,86,44 }, //8 T U V ,
		                     {	57,87,88,89,90 }, //9 W X Y Z 
                             {	50,97,98,99,35 }, //2 a b c #
		                     {	51,100,101,102,63 }, //3 d e f ?
		                     {	52,103,104,105,33 }, //4 g h i !
		                     {	53,106,107,108,60 }, //5 j k l <
		                     {	54,109,110,111,62 }, //6 m n o >
		                     {	55,112,113,114,115}, //7 p q r s 
		                     {	56,116,117,118,44 }, //8 t u v ,
		                     {	57,119,120,121,122 }, //9 w x y z
		                     {	41,38,36,32,37}, // $ ¥ 空格  % 
		                     {  48,43,45,47,92 }};//0 + - / \*  */

byte lcddata,datadr,last_day,last_hour,last_minute,key_num,move_num,press_num,days_sum;
byte last_num,timeout,tiancha,check_num,num1,num2,num3;
sbit RS=P3^4;
sbit RW=P3^5;
sbit E=P3^3;
//sbit sqwe_flag=P2^5;
sbit int0_flag=P2^6;
sbit uip_bit=ACC^7;
bit busy_flag,changetime_flag,checktime_flag,key_flag,close_flag,flash_flag,del_flag,daycheck_flag;//sqw_flag;
//////////////////////////////////////////////////////////////////////////
void delay(){//延時子程序
     byte d=8;
	 while(d)d--;
}
void  timer0_isr()  interrupt  1  using 1{      //定時器中斷程序入口*/
      TR0=0;                                      //定時1毫秒進入中斷*/
      TH0=-(DLY_1MS/256);
      TL0=-(DLY_1MS%256);
       TR0=1;                                       //1毫秒中斷次數加1*/   
       num1++;                                         
       if (num1==100)                             //100毫秒定時到*/
         {          
           num1=0;num2++;num3++;
	   }
	   if(num2==5)                                   //500ms延時*/
	      {
		  flash_flag=~flash_flag;num2=0;
	   }
	   if(num3==20){       //2s檢測一次日期變化                       
	      daycheck_flag=1;num3=0;
	   }
   }   
void check(){//忙狀態檢測子程序
     byte d;
     RS=0;
	 RW=1;
	 E=0;
	 E=1;
     d=P1&0x80;
     E=0; 
     if(d!=0) busy_flag=1;
     else busy_flag=0;
}
void check_busy(){//等待直到可以寫入
     do{
	    check();
	 }while(busy_flag);
}
void write_data(){//數據寫入子程序
     check_busy();
     E=0;
	 RS=1;
	 RW=0;
	 E=1;
     P1=lcddata;
	 E=0;
     delay();
}
void write_dr(){//數據寫入地址指定,從0x00---0x13,0x40---0x53
     check_busy();
     E=0;
     RS=0;
     RW=0;
     E=1;
     P1=0x80+datadr;
     E=0;
     delay();
}
void clr_lcd(){//清屏子程序
     check_busy();
     E=0;
	 RS=0;
	 RW=0;
	 E=1;
	 P1=0x01;
	 E=0;
     delay();
}
void set_lcd(){//lcd屏設置為8位,2行,5*7點矩陣
     check_busy();
     RS=0;
	 RW=0;
	 E=1;
	 P1=0x38;
	 E=0;
     delay();
}
void lcd_on(){//lcd屏點亮,顯示
     check_busy();
     RS=0;
	 RW=0;
	 E=1;
	 P1=0x0c;
	 E=0;
     delay();
}
void lcd_off(){//lcd屏熄滅,不顯示
     check_busy();
     RS=0;
     RW=0;
	 E=1;
	 P1=0x08;
	 E=0;
     delay();
}
void cursor_move(){//光標移動模式設定
     check_busy();
     RS=0;
     RW=0;
	 E=1;
	 P1=0x06;
	 E=0;
} 
void start_lcd(){//lcd初始化
     set_lcd();
     lcd_off();
     cursor_move();
}
void read_initstat(){//時鐘芯片忙檢測
    do{
	    ACC=MCA;
		}while(uip_bit);
} 
void int0_place(){//繼電器按下一次總次數和上次按下時間改變
  byte i,j,a,y,z;
  if(!close_flag){//第一次按下繼電器
     last_hour=HOUR;
     last_minute=MINUTE;
	 //MCB=0x80;
     if((*DAY_SUM==0)||(*DAY_SUM==1)){//總天數尚為0,第一次
	    j=*(TIMES+1);//當天的按鍵次數加1
	    if(j<54){
		    j++;
            *(TIMES+1)=j;
		}	
	    *DAY_SUM=1;
        *TIMES=0;
		i=*PRESS_SUM;
		if(i<54){
		    i++;
		    *PRESS_SUM=i;
		}
		for(z=0;z<2*(*PRESS_SUM);z++){
		    *(TIMES+2*(*PRESS_SUM)+3-z)=*(TIMES+2*(*PRESS_SUM)+1-z);
		}
		*TIMES=0;
		*(TIMES+2)=last_hour;
        *(TIMES+3)=last_minute; 
        //MCB=0x20;
     }
     else if(*DAY_SUM>1){//非第一天
		if((2*(*PRESS_SUM)+2*(*DAY_SUM))<109){
			for(y=0;y<2*(*PRESS_SUM);y++){
			     *(TIMES+2*(*DAY_SUM)+2*(*PRESS_SUM)+1-y)=*(TIMES+2*(*DAY_SUM)+2*(*PRESS_SUM)-1-y);
			}
            *TIMES=0;
            a=*(TIMES+1);
			a++;
			*(TIMES+1)=a;
			y=*PRESS_SUM;
			y++;
			*PRESS_SUM=y;
	    }
        else if((2*(*PRESS_SUM)+2*(*DAY_SUM))>=110){
			for(y=0;y<2*(*PRESS_SUM)-2;y++){
			    *(TIMES+109-y)=*(TIMES+109-2-y);
			}
			z=*(TIMES+2*(*DAY_SUM)-1);
			if(z>1){
			     z--;
                 *(TIMES+2*(*DAY_SUM)-1)=z;
		    }
			else if(z==1){
			     for(y=0;y<2*(*PRESS_SUM-1);y++){
				     *(TIMES+2*(*DAY_SUM-1)+y)=*(TIMES+2*(*DAY_SUM-1)+2+y);
				 }
				 i=*DAY_SUM;
				 i--;
				 *DAY_SUM=i;
                 i=*PRESS_SUM;
				 i--;
				 *PRESS_SUM=i;
			}
			else if(z==0){
			     for(y=0;y<2*(*PRESS_SUM-1);y++){
				     *(TIMES+2*(*DAY_SUM-1)+y)=*(TIMES+2*(*DAY_SUM-1)+2+y);
				 }
				 i=*DAY_SUM;
				 i--;
				 *DAY_SUM=i;
			}
            *TIMES=0;
            a=*(TIMES+1);
            a++;
            *(TIMES+1)=a;
	    }
        *(TIMES+2*(*DAY_SUM))=last_hour;
        *(TIMES+2*(*DAY_SUM)+1)=last_minute;
	}
        
    datadr=0x46;//清除以前的次數10位
    write_dr();
    lcddata=0x20;
    write_data();
    datadr=0x46;//寫入新的次數10位
    write_dr();
    lcddata=0x30+*(TIMES+1)/10;
    write_data();
     
    datadr=0x47;//清除以前的次數個位
    write_dr();
    lcddata=0x20;
    write_data();
    datadr=0x47;//寫入新的次數個位
    write_dr();
    lcddata=0x30+*(TIMES+1)%10;
    write_data();

    datadr=0x4b;//清除以前的小時紀錄十位
    write_dr();
    lcddata=0x20;
    write_data();
    datadr=0x4b;//寫入新的小時紀錄十位
    write_dr();
    lcddata=0x30+(*(TIMES+2)>>4);
    write_data();
 
    datadr=0x4c;//清除以前的小時記錄個位
    write_dr();
    lcddata=0x20;
    write_data();
    datadr=0x4c;//寫入新的小時記錄個位
    write_dr();
    lcddata=0x30+*(TIMES+2)&0x0f;
    write_data();     

    datadr=0x4e;//清除以前的分鐘記錄十位
    write_dr();
    lcddata=0x20;
    write_data();
    datadr=0x4e;//寫入新的分鐘記錄十位
    write_dr();
    lcddata=0x30+(*(TIMES+3)>>4);
    write_data();
 
    datadr=0x4f;//清除以前的分鐘記錄個位
    write_dr();
    lcddata=0x20;
    write_data();//寫入新的分鐘記錄個位 
    datadr=0x4f;
    write_dr();
    lcddata=0x30+*(TIMES+3)&0x0f;
    write_data(); 
    close_flag=1; 
   }
}
void start_initstat(){//時鐘芯片初始化
     byte a;
	 MCA=0x20;
	 ACC=MCC;
	 ACC=MCB;
     MCB=0x80;//時鐘芯片時鐘存儲區處理
     if((SECOND>>4)>=6)SECOND=SECOND&0x0f;
     if((SECOND&0x0f)>9)SECOND=((SECOND>>4)<<4);
	 if((MINUTE>>4)>=6)MINUTE=MINUTE&0x0f;
     if((MINUTE&0x0f)>9)MINUTE=((MINUTE>>4)<<4);
	 if(((HOUR>>4)==2)&&((HOUR&0x0f)>3))HOUR=0x00;
	 else if((HOUR>>4)>0x02)HOUR=(HOUR&0x0f);
     else if((HOUR&0x0f)>9)HOUR=(HOUR&0xf0);
	 if((DAY>>4)>3)DAY=0x10;
     if((DAY&0x0f)>9)DAY=1;
	 if(WEEK>=8)WEEK=1; 
	 if((MONTH>>4)>1)MONTH=1;
	 if((MONTH&0x0f)>9)MONTH=1;
	 if((YEAR>>4)>9)YEAR=0;
	 if((YEAR&0x0f)>9)YEAR=0;
     for(a=0;a<=113;a++){//數據改變否?
        if(*(TIMES+a)==0xff)
           *(TIMES+a)=0;
     } 
	 //ACC=MCC;
	 //ACC=MCD;
	 MCB=0x02;   
}
void main_face(){//通常顯示主界面 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一区在线观看| 亚洲国产精品欧美一二99| 欧美日韩综合一区| 精品三级在线观看| 激情综合色综合久久| 欧美日本视频在线| 欧美三级视频在线| 欧美日韩一本到| 69堂国产成人免费视频| 日韩精品一区国产麻豆| 欧美精品一区在线观看| 国产精品久久久久久久久图文区| 中文字幕免费不卡| 国产午夜精品一区二区| 国产精品区一区二区三区| 国产精品高潮呻吟久久| 一区二区三区高清在线| 日日夜夜精品视频天天综合网| 免费在线看成人av| 成人永久看片免费视频天堂| a在线欧美一区| 717成人午夜免费福利电影| 久久久久久久久99精品| 中文字幕欧美日韩一区| 欧美日韩久久一区二区| 欧美日韩一区高清| 精品奇米国产一区二区三区| 国产精品传媒入口麻豆| 午夜免费欧美电影| 国产成人啪免费观看软件| 日本电影亚洲天堂一区| 欧美一区二区三区性视频| 国产喂奶挤奶一区二区三区| 一区二区免费看| 激情久久五月天| 一本色道久久加勒比精品| 日韩亚洲欧美成人一区| 亚洲美女免费在线| 日本 国产 欧美色综合| 91麻豆国产精品久久| 日韩欧美国产小视频| 久久久精品2019中文字幕之3| 成人免费高清在线| 欧美一级二级在线观看| 日本精品视频一区二区| 日韩欧美aaaaaa| 一区二区三区国产精华| 国产精品1区2区3区在线观看| 欧洲一区二区av| 国产精品毛片久久久久久| 日本免费在线视频不卡一不卡二| 床上的激情91.| 日韩欧美色综合网站| 亚洲综合免费观看高清完整版在线| 国产九九视频一区二区三区| 91精品国产免费| 亚洲成人动漫在线免费观看| 99精品在线免费| 欧美激情一区二区三区蜜桃视频| 奇米在线7777在线精品| 欧美日韩国产一二三| 亚洲精品美国一| 亚洲男人的天堂在线观看| 日韩午夜av电影| 成人晚上爱看视频| 亚洲品质自拍视频网站| 国产精品大尺度| 亚洲欧美日韩一区二区三区在线观看| 欧美一级精品大片| 精品国产99国产精品| 久久影音资源网| 日本一区二区动态图| 国产精品国产三级国产三级人妇 | 欧美一区二区视频在线观看| 蜜臀91精品一区二区三区| 在线国产电影不卡| 亚洲精品视频在线| 99国内精品久久| 亚洲欧美电影一区二区| 99国产精品99久久久久久| 亚洲视频1区2区| 欧美视频在线播放| 亚洲午夜久久久久久久久久久| 在线亚洲高清视频| 香蕉久久夜色精品国产使用方法| 欧美亚洲国产一区二区三区va| 亚洲在线视频免费观看| 精品视频免费在线| 麻豆一区二区三| 国产丝袜在线精品| jlzzjlzz欧美大全| 亚洲国产成人av网| 日韩三级精品电影久久久 | 久久久99精品久久| 高清不卡在线观看| 亚洲欧美色图小说| 56国语精品自产拍在线观看| 国产在线精品一区二区三区不卡 | 日韩西西人体444www| 国产成人av一区二区| 亚洲色欲色欲www在线观看| 欧洲精品一区二区| 激情成人午夜视频| 亚洲欧美色图小说| 日韩欧美国产电影| jlzzjlzz国产精品久久| 亚洲va国产va欧美va观看| 久久久久久一级片| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 天堂午夜影视日韩欧美一区二区| 日韩三级电影网址| 色综合久久久久久久| 极品少妇xxxx精品少妇偷拍| 1024成人网| 精品国产免费人成在线观看| 91亚洲永久精品| 激情欧美一区二区三区在线观看| 综合中文字幕亚洲| 精品福利av导航| 欧美视频一区二区三区四区 | 日韩三级免费观看| 欧美在线观看一二区| 国产不卡高清在线观看视频| 亚洲成a人片综合在线| 中文字幕av一区二区三区| 欧美一级视频精品观看| 日本道在线观看一区二区| 国产一二精品视频| 日韩vs国产vs欧美| 日韩极品在线观看| 久久久久综合网| 国内精品国产成人| 天天色天天操综合| 亚洲三级免费观看| 欧美国产精品v| 久久久精品影视| 精品乱码亚洲一区二区不卡| 欧美日韩精品欧美日韩精品| 97精品国产97久久久久久久久久久久| 极品尤物av久久免费看| 蜜臀av性久久久久av蜜臀妖精| 亚洲成人资源在线| 一区二区三区精品在线| 一区二区三区四区在线| 中文字幕在线观看一区| 国产精品私人自拍| 国产日韩欧美一区二区三区综合| 26uuu精品一区二区三区四区在线| 欧美美女黄视频| 欧美猛男gaygay网站| 欧美影院午夜播放| 欧美日韩国产精品成人| 欧美日韩国产经典色站一区二区三区 | 岛国精品一区二区| 成人福利视频在线看| www.在线成人| 日本高清成人免费播放| 欧美在线视频全部完| 欧美日韩卡一卡二| 日韩免费电影网站| 久久影音资源网| 中文字幕av资源一区| 亚洲黄色录像片| 五月婷婷激情综合网| 免费不卡在线观看| 国产电影一区二区三区| 成人av免费在线播放| 在线精品视频免费观看| 欧美一级国产精品| 久久久久久**毛片大全| 国产精品素人视频| 亚洲国产精品天堂| 麻豆成人av在线| 成人av在线一区二区| 91国偷自产一区二区三区成为亚洲经典| 欧美在线视频全部完| 精品国产伦理网| 国产精品丝袜久久久久久app| 玉米视频成人免费看| 另类综合日韩欧美亚洲| 不卡av在线免费观看| 欧美精三区欧美精三区| 久久久久久电影| 亚洲国产你懂的| 国模套图日韩精品一区二区| 91在线一区二区三区| 日韩美女在线视频| 亚洲精品久久7777| 国产精品一区二区久激情瑜伽 | 性欧美大战久久久久久久久| 久久99蜜桃精品| 色综合中文综合网| 天天亚洲美女在线视频| 国产精品一区二区在线看| 欧美日韩一级视频| 国产精品对白交换视频| 日本午夜精品一区二区三区电影| 成人激情图片网| 欧美一区在线视频| 亚洲三级小视频|