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

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

?? znk030305.c

?? avr C語(yǔ)言例程,用于溫濕度采樣控制,LCD控制
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
		delay_us(10);
		SCLK = 0;
	}


	IO_DATA_DDR = IN;
	k++;
	delay_us(1);

	for (i=0;i<bytecnt;i++) {
		tmp = 0;
		for(j=0;j<8;j++) {
			mybit = IO_DATA_PIN;  //下降沿
			k++;
			    
			ch = mybit;
			ch = ch<<j;
			tmp |= ch;
			
			SCLK = 1;
			k++;
			k++;      
  		        delay_us(10);
  		        
			SCLK = 0;
			delay_us(10);
		}
                data[i] = tmp;
	}

RST(0);
}





//0---9:  '0'---'9'
//a    :  '+'
//b    :  '-'
//c    :  '.'
//d
//e
//f
unsigned char AsciiToBCD(unsigned char *asc)
{
	unsigned char ch,ch1,value;

	if ( asc[1]>='0' && asc[1]<='9' )	ch = asc[1]-'0'; //低位
    else if ( asc[1] == '+' )           ch = 0xa;
	else if ( asc[1] == '-' )           ch = 0xb;
	else if ( asc[1] == '.' )           ch = 0xc;
	else                                ch = 0xd;

	//ch1 = asc[0]-'0'; //高位  
	if ( asc[0]>='0' && asc[0]<='9' )	ch1 = asc[0]-'0'; //高位
    else if ( asc[0] == '+' )           ch1 = 0xa;
	else if ( asc[0] == '-' )           ch1 = 0xb;
	else if ( asc[0] == '.' )           ch1 = 0xc;
	else                                ch1 = 0xd;
	
    value = ch1<<4;
    value += ch;
    return value;
}

void BCDToAscii(unsigned char bcd,char *asc)
{
	unsigned char ch;

	ch = bcd&0xf0;
	ch >>=4;
	if ( ch>=0 && ch<=9 ) asc[0] = ch+'0';
	else if ( ch==0xa )   asc[0] = '+';
	else if ( ch==0xb )   asc[0] = '-';
	else if ( ch==0xc )   asc[0] = '.';
	else                  asc[0] = '?';
	
	ch = bcd&0x0f;
	if ( ch>=0 && ch<=9 ) asc[1] = ch+'0';
	else if ( ch==0xa )   asc[1] = '+';
	else if ( ch==0xb )   asc[1] = '-';
	else if ( ch==0xc )   asc[1] = '.';
	else                  asc[1] = '?';
}


void SetTime(char *datetime)
{
	//yyyymmddhh24misi;
	unsigned char arr[20];

	arr[0] = 0xbe; //命令碼
	//BCD碼
	arr[1] = AsciiToBCD(&datetime[12]); //秒
	arr[2] = AsciiToBCD(&datetime[10]);//分
	arr[3] = AsciiToBCD(&datetime[8]);//時(shí),24
	arr[4] = AsciiToBCD(&datetime[6]);//日期
	arr[5] = AsciiToBCD(&datetime[4]);//月
	arr[6] = 0x07;//星期日
	arr[7] = AsciiToBCD(&datetime[2]);//年,兩位
	arr[8] = 0x00;//寫(xiě)保護(hù)

    HT1380_SendByte(9,arr);
}
unsigned char clockstate=0;
int GetTime(char *datetime)
{
	//yyyymmddhh24misi;
	unsigned char arr[20];
	//static unsigned char first=0;
	int i;
	

        HT1380_RecvByte(0xbf,8,arr);

	datetime[0]='2';
	datetime[1]='0';
	BCDToAscii(arr[6],&datetime[2]); //年
	BCDToAscii(arr[4],&datetime[4]); //月
	BCDToAscii(arr[3],&datetime[6]); //日期
	BCDToAscii(arr[2],&datetime[8]); //時(shí)
	BCDToAscii(arr[1],&datetime[10]); //分
	BCDToAscii(arr[0],&datetime[12]); //秒
	datetime[14] = '\0';

	for (i=0;i<14;i++) {
		if ( datetime[i]<'0' || datetime[i]>'9' ) break;
	}
	if ( i >= 14 ) {
		clockstate = 0;
		return 0;
	}
	else {  //用定時(shí)器的值
		sprintf(str,"%d",t.year);
		strcpy(datetime,str);
		sprintf(str,"%d",t.month);
		if ( t.month < 10 ) {
			datetime[4] = '0';
			datetime[5] = str[0];
		}  else {
			datetime[4] = str[0];		
			datetime[5] = str[1];
		}
		sprintf(str,"%d",t.date);
		if (  t.date < 10 ) {
			datetime[6] = '0';
			datetime[7] = str[0];
		} else {
			datetime[6] = str[0];
			datetime[7] = str[1];
		}
		sprintf(str,"%d",t.hour);
		if (  t.hour < 10 ) {
			datetime[8] = '0';
			datetime[9] = str[0];
		} else {
			datetime[8] = str[0];
			datetime[9] = str[1];
		}       
		sprintf(str,"%d",t.minute);
		if (  t.minute < 10 ) {
			datetime[10] = '0';
			datetime[11] = str[0];
		} else {
			datetime[10] = str[0];
			datetime[11] = str[1];
		}
		sprintf(str,"%d",t.second);
		if (  t.second < 10 ) {
			datetime[12] = '0';
			datetime[13] = str[0];
		} else {
			datetime[12] = str[0];
			datetime[13] = str[1];
		}
		datetime[14] = '\0';

		/*if ( clockstate == 0 ) {
			sprintf(tmpstr,"clock error");
			SendAlarm(ERROR_CLOCK,SERIOUS_ALARM,tmpstr);
			clockstate = 1;
		} */

		return 0;
	}
//	sprintf(str,"arr:%x %x %x %x %x %x",arr[6],arr[4],arr[3],arr[2],arr[1],arr[0]);
//	myputs(str);
}
//**************************************************************************//
//**************************************************************************// 
//----------------------------------LCD顯示---------------------------------//
/*------------------延時(shí)子程序-----------------------------*/
delay(int t)
{
int i,j;
   for(i=0;i<t;i++)
     for(j=0;j<10;j++);

}
void _E(unsigned char x)  //LCD的E信號(hào),用PORTF.3控制,由于PORTF不能位操作,所以要對(duì)整個(gè)PORTF口操作
{
	if (x == 0) PORTF &= 0xF7; //PORTF.3置0
	else PORTF |= 0x08;       //PORTF.3置1
} 
/*------------------寫(xiě)命令到LCD------------------------------*/
void write_com(unsigned char c)
{

unsigned char in;
_E(0);//
di=0;
rw=0;

lcd_data=c;  //寫(xiě)好命令至LCD
delay(1);
_E(1);
delay(1);
_E(0);
delay(1);
} 
/*-------------------寫(xiě)數(shù)據(jù)到LCD----------------------------*/

void write_data(unsigned char d)
{

unsigned char in;
_E(0);
di=1;
rw=0;
//delay_ms(1);
lcd_data=d;  //寫(xiě)命令至LCD
delay(1);
_E(1);
delay(1);
_E(0);
delay(1);
}  
/*------------------清屏---------------*/
void clr_scr()
{  int j,k;
write_com(0xc0);          //start page
write_com(0xb8);          //start line
write_com(0x40);          //start col
csa=1;
csb=1;
 for(k=0;k<9;k++)
 {
  write_com(0xb8+k);
  for(j=0;j<64;j++)
  {
   write_com(0x40+j);
   write_data(0x00);
  }

 }
} 
/*------------------初始化LCD清屏--------------------------*/
void init_lcd()
{  int k,i=1;
   
   //delay_ms(1);
   csa=0;       //注意初始化時(shí)CS的選擇
   csb=1;
   
   write_com(0x3F);
   write_com(0xc0);
   clr_scr();
   csa=1;       //注意初始化時(shí)CS的選擇
   csb=0;
   write_com(0x3F);
   write_com(0xc0);
   clr_scr();
}
/*---------------------顯示漢字----------------------------*/
//一個(gè)漢字占用的空間是16*16 ,一行對(duì)應(yīng)8個(gè)點(diǎn),一列對(duì)應(yīng)1個(gè)點(diǎn),所以一個(gè)漢字占用2行,16列
//pag是開(kāi)始行數(shù),col是開(kāi)始列數(shù),hzk[]是字庫(kù)數(shù)組,n是要顯示的字在字庫(kù)數(shù)組里的序號(hào)


void hz_disp(char pag,char col,char n,char hzk[]) 

{
 char j=0;
   write_com(0x40+col);
   write_com(0xb8+pag);
   for(j=0;j<16;j++){
   write_data(hzk[j+32*n]);
   }
   write_com(0x40+col);
   write_com(0xb8+pag+1);
   for(j=16;j<32;j++){
   write_data(hzk[j+32*n]);
   }
}
/*---------------------顯示字母和數(shù)字以及符號(hào)----------------------------*/
//一個(gè)字母和數(shù)字以及符號(hào)占用的空間是8*16 ,一行對(duì)應(yīng)8個(gè)點(diǎn),一列對(duì)應(yīng)1個(gè)點(diǎn),所以一個(gè)字母占用2行,8列
//pag是開(kāi)始行數(shù),col是開(kāi)始列數(shù),hzk[]是字庫(kù)數(shù)組,n是要顯示的字在字庫(kù)數(shù)組里的序號(hào)
void hz_disp1(char pag,char col,char n,char hzk[])
{
char j=0;
   write_com(0x40+col);
   write_com(0xb8+pag);
   for(j=0;j<8;j++){
   write_data(hzk[j+16*n]);
   }
   write_com(0x40+col);
   write_com(0xb8+pag+1);
   for(j=8;j<16;j++){
   write_data(hzk[j+16*n]);
   }
}

float t_C,rh_lin,rh_true; 
/*-----------------顯示例程---------------------------------*/
//LCD是128*64,分為2屏,每屏是64*64 
//            -------------------
//            |  節(jié)能控|制系統(tǒng)  |
//            |  time: |xx:xx:xx|
//            |        |        |
//            |        |        |
//            |  第1屏 | 第2屏  | 
//            -------------------
disp_hz_1()
{
   float xshu;

   csa=1; //第1屏顯示
   csb=0;  
   
   hz_disp(0,16,0,cod1);//0 1行,16~31列,顯示“節(jié)”字
   hz_disp(0,32,1,cod1);//0 1行,32~47列,顯示“能”字
   hz_disp(0,48,2,cod1);//0 1行,48~63列,顯示“控”字
   csa=0; //第2屏顯示
   csb=1;
   hz_disp(0,0,3,cod1);//0 1行,0~15列,顯示“制”字
   hz_disp(0,16,4,cod1);//0 1行,16~31列,顯示“系”字
   hz_disp(0,32,5,cod1);//0 1行,32~47列,顯示“統(tǒng)“字
   
   
   csa=1; //第1屏顯示
   csb=0; 
   
   hz_disp1(2,16,3,cod4); //2 3行,16~23列,顯示“t“字
   hz_disp1(2,24,8,cod3); //2 3行,24~31列,顯示“i“字
   hz_disp1(2,32,12,cod3);//2 3行, 32~39列,顯示“m“字
   hz_disp1(2,40,4,cod3); //2 3行,40~47列,顯示“e“字
   hz_disp1(2,48,10,cod2);//2 3行,48~55列,顯示“:“字
   csa=0; //第2屏顯示時(shí)間
   csb=1; 
   hz_disp1(2,0,datetime2[8],cod2); 
   hz_disp1(2,8,datetime2[9],cod2);
   hz_disp1(2,16,10,cod2);
   hz_disp1(2,24,datetime2[10],cod2); 
   hz_disp1(2,32,datetime2[11],cod2);
   hz_disp1(2,40,10,cod2); 
   hz_disp1(2,48,datetime2[12],cod2); 
   hz_disp1(2,56,datetime2[13],cod2); 
   
   csa=1; //第1屏顯示
   csb=0; 
   
   hz_disp1(4,16,3,cod4); //2 3行,16~23列,顯示“t“字
   hz_disp1(4,24,4,cod3); //2 3行,24~31列,顯示“e“字
   hz_disp1(4,32,12,cod3);//2 3行, 32~39列,顯示“m“字
   hz_disp1(4,40,15,cod3); //2 3行,40~47列,顯示“p“字
   hz_disp1(4,48,10,cod2);//2 3行,48~55列,顯示“:“字
   csa=0; //第2屏顯示
   csb=1; 
   t_C*=10;
   xshu=modf(t_C,str1);
   ftoa(str1[0],1,str2);
   hz_disp1(4,0,str2[0],cod2); 
   hz_disp1(4,8,str2[1],cod2);
   hz_disp1(4,16,11,cod2);
   hz_disp1(4,24,str2[2],cod2);
   //ftoa(rh_true,1,str2);

}


void main( )
{  
 unsigned char HUMI,TEMP;unsigned char error,checksum,a,b;
 HUMI=0X01;TEMP=0X02;
  port_init(); //io初始化
  InitExMem();
  init_lcd();
  clr_scr();
  //InitHt1380();
  //sprintf(datetime1,"20090310152600");
  //SetTime(datetime1);      
  s_connectionreset();
    delay_ms(300);	
  while(1)
  { 
   s_measure((unsigned char*) &humi_val.i,&checksum,HUMI);  //濕度測(cè)量
   s_measure((unsigned char*) &temp_val.i,&checksum,TEMP);  //溫度測(cè)量  
   humi_val.f=(float)humi_val.i;                   //轉(zhuǎn)換為浮點(diǎn)數(shù)
   temp_val.f=(float)temp_val.i;                   //轉(zhuǎn)換為浮點(diǎn)數(shù)
   calc_sth11(&humi_val.f,&temp_val.f);   
   GetTime(datetime2);
   disp_hz_1();
   run_led=1; 
   delay_ms(1000);
   run_led=0;
   delay_ms(1000);
   
  }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色欲综合视频天天天| 欧美顶级少妇做爰| 日韩电影免费在线看| 国产日韩欧美电影| 欧美日韩精品一区二区三区| 国产高清一区日本| 日日夜夜精品视频免费| 日本一区二区成人在线| 日韩午夜中文字幕| 欧美自拍偷拍一区| 成人免费av在线| 国产真实乱子伦精品视频| 亚洲综合色视频| 亚洲欧洲无码一区二区三区| 久久尤物电影视频在线观看| 欧美日韩精品电影| 91看片淫黄大片一级在线观看| 狠狠色狠狠色综合系列| 亚洲va欧美va天堂v国产综合| 亚洲视频免费看| 日本一区二区免费在线观看视频| 欧美情侣在线播放| 91精品91久久久中77777| 成人av午夜电影| 国产成人精品aa毛片| 久久99国产精品免费| 美女视频一区在线观看| 亚洲第一成年网| 亚洲在线视频一区| 亚洲欧美一区二区三区国产精品 | 一区二区三区四区在线| 国产欧美日韩三区| 久久综合色之久久综合| 欧美一区二区三区爱爱| 欧美日韩国产影片| 欧美色综合网站| 欧美伊人精品成人久久综合97| 不卡av在线网| www.在线成人| av在线播放一区二区三区| 从欧美一区二区三区| 国产成人午夜视频| 国产精品99久久久| 国产91富婆露脸刺激对白| 国产在线不卡一卡二卡三卡四卡| 久久精品国产99久久6| 日韩成人伦理电影在线观看| 日一区二区三区| 捆绑调教一区二区三区| 激情成人午夜视频| 国产91丝袜在线18| 成人天堂资源www在线| 99热国产精品| 91丨九色丨黑人外教| 在线亚洲免费视频| 91精品国产色综合久久不卡蜜臀| 欧美一级日韩不卡播放免费| 日韩一级黄色片| 国产日韩精品一区二区三区| 中文字幕一区不卡| 亚洲一区欧美一区| 蜜臀av一区二区| 国产精品69毛片高清亚洲| 成人av在线播放网站| 欧美在线观看视频在线| 欧美久久久久久久久中文字幕| 日韩一级二级三级精品视频| 国产日韩精品一区| 亚洲精品欧美综合四区| 日韩av电影一区| 国产酒店精品激情| 91一区二区在线| 69成人精品免费视频| 久久精品欧美一区二区三区不卡 | 国产精品国产馆在线真实露脸| 亚洲精品久久7777| 日韩高清在线一区| 国产成人精品在线看| 一本久久综合亚洲鲁鲁五月天 | 欧美大尺度电影在线| 国产欧美日韩三级| 亚洲国产精品久久艾草纯爱| 狠狠色狠狠色综合| 91视频在线看| 日韩欧美国产一区在线观看| 国产精品乱码妇女bbbb| 婷婷综合久久一区二区三区| 国产传媒一区在线| 欧美日韩一区不卡| 国产日韩成人精品| 婷婷亚洲久悠悠色悠在线播放 | 一本一本久久a久久精品综合麻豆| 日韩欧美一级片| 国产精品三级电影| 青青草97国产精品免费观看| 成人小视频在线| 欧美一区二区三区日韩视频| 中文字幕亚洲欧美在线不卡| 免费成人性网站| 在线免费精品视频| 国产精品乱码妇女bbbb| 蜜臀a∨国产成人精品| 91国产成人在线| 欧美国产综合一区二区| 婷婷夜色潮精品综合在线| 99re6这里只有精品视频在线观看| 欧美大肚乱孕交hd孕妇| 亚洲成人自拍网| 972aa.com艺术欧美| 久久久国际精品| 久久精工是国产品牌吗| 欧美日本一区二区三区| 一区二区三区在线观看网站| 高清成人在线观看| 日韩一区二区电影在线| 亚洲一区二区视频| 91小宝寻花一区二区三区| 国产人久久人人人人爽| 久久国产婷婷国产香蕉| 宅男在线国产精品| 亚洲一区二区在线免费观看视频| 99国产精品久久久| 国产精品久久久久一区二区三区| 久久99热国产| 精品国产免费一区二区三区香蕉| 午夜a成v人精品| 欧美视频在线一区二区三区 | 国产一区二区美女| 欧美一区二区三区四区久久| 亚洲sss视频在线视频| 欧美午夜影院一区| 亚洲一区二区三区中文字幕在线 | 久久久久久久国产精品影院| 免费在线观看成人| 4438x亚洲最大成人网| 青草av.久久免费一区| 91麻豆精品国产91久久久久久 | 午夜激情一区二区三区| 欧美色区777第一页| 亚洲一二三区视频在线观看| 欧洲亚洲国产日韩| 日韩不卡一区二区| 欧美老年两性高潮| 日韩电影免费在线观看网站| 日韩午夜中文字幕| 激情久久久久久久久久久久久久久久| 精品国产一区二区三区久久影院 | 国产精品伊人色| 国产蜜臀av在线一区二区三区| 春色校园综合激情亚洲| 中文字幕一区二区三区不卡| 在线欧美一区二区| 香蕉成人啪国产精品视频综合网| 在线综合+亚洲+欧美中文字幕| 麻豆精品视频在线观看视频| 精品sm在线观看| 成人av片在线观看| 亚洲精品视频在线看| 777午夜精品视频在线播放| 国产在线视频精品一区| 中文文精品字幕一区二区| 91色乱码一区二区三区| 亚洲电影激情视频网站| ww亚洲ww在线观看国产| 不卡电影一区二区三区| 亚洲成av人片一区二区三区| 欧美成人激情免费网| av一区二区三区黑人| 亚洲一二三四区不卡| 久久综合丝袜日本网| 一本色道亚洲精品aⅴ| 男人的j进女人的j一区| 国产欧美日韩另类一区| 欧美午夜一区二区三区免费大片| 久久99精品久久久久| 亚洲人成网站在线| 日韩亚洲欧美中文三级| av不卡在线播放| 日本欧美加勒比视频| 中文一区二区在线观看| 欧美人牲a欧美精品| 风间由美性色一区二区三区| 亚洲成人自拍偷拍| 国产女同互慰高潮91漫画| 欧美日韩一区在线观看| 国产福利一区在线观看| 水蜜桃久久夜色精品一区的特点 | 综合网在线视频| 欧美一区二区三区视频在线| 成人午夜电影网站| 蜜臀av一区二区在线免费观看| 国产精品欧美一区喷水| 91精品久久久久久蜜臀| 99久久99精品久久久久久| 免费不卡在线视频| 亚洲另类中文字| 中文字幕乱码一区二区免费| 欧美一区二区三级| 欧洲国内综合视频| 成人午夜视频福利|