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

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

?? 1820.c

?? 51單片機控制18B20傳感器
?? C
字號:
#pragma   SMALL  //   LARGE
#include <absacc.h>
#include <string.h>
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint  unsigned int
        #define C_ad 5
/*----------------------------------------*/
/*溫度值 二進制數(shù)據(jù)輸出 16進制輸出
+125℃ 0000011111010000 07D0H
+85℃ 0000010101010000 0550H*
+25.0625℃ 0000000110010001 0191H
+10.125℃ 0000000010100010 00A2H
+0.5℃ 0000000000001000 0008H
0℃ 0000000000000000 0000H
-0.5℃     11111111111111000 FFF8H
-10.125℃  1111111101011110 FF5EH
-25.0625℃ 1111111001101111 FE6FH
-55℃      1111110010010000 FC90H*/
/*----7219----*/
sbit load=P1^1;
sbit clk=P1^2;
sbit din=P1^0;
/* ------------lcd-------*/
#define clear   0x01  //清屏幕,約1.6ms
#define home    0x02   //光標(biāo)回零(左上角)/
#define f_set   0x30  //并行、基本指令     ?????
#define dis_on  0x0f  //打開顯示,光標(biāo),閃爍功能
#define in_mode 0x06  //輸入方式,地址增1,光標(biāo)右移
#define C_ad 5
sbit P_RS=P0^7;
sbit P_RW=P0^6;
sbit P_E= P0^5;
/*----5045----*/
sbit  acc=0xe0;
sbit  cy=0xd7;
//sbit  load2=P3^1;
sbit  x25_cs=P1^4;     //5045 1pin
//sbit  dout25=P1^4;
sbit  x25_clk=P1^6;    // 5045 6pin
sbit  x25_din=P1^7;       //5045 5pin    //5045 3pin 接vcc  ,4pin 接 gnd  ,7pin 接 reset ,8pin 接 vcc
sbit  dout=P1^5;        //5045 2pin
/*-----------------*/
data union{

	uchar tp[2];
	uint temp;
	}tt;
//uchar temp[2];
bit f_exit;

bit flag_sign;
sbit Inda=P3^1; //Inda=P1^7;        //數(shù)據(jù)轉(zhuǎn)換中間變量
bdata uchar ab,bc;
sbit abit0=ab^0;sbit abit1=ab^1;sbit abit2=ab^2;sbit abit3=ab^3;
sbit abit4=ab^4;sbit abit5=ab^5;sbit abit6=ab^6;sbit abit7=ab^7;
data uchar str2[6];
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
void bit8_serial_input(uchar ix)
{
data uchar i,j,nc;
P_E=0;    //clk=0;   P_E為sclk P_RW為 sid
ab=ix;
for(i=0;i<8;i++){
	P_RW=abit7;    //din=abit7;
	ab<<=1;
	P_E=1;
	for(j=0;j<10;j++)nc=0;  //延時
	P_E=0;
	}
}


void instruct(uchar dat)
{
data uchar ch;
P_RS=1;   //選通
ch=0xf8;       ///1111 1110 按照時序前五位必須為1 六七位任意 八位為0
bit8_serial_input(ch);     //sid前八位
ch=dat&0xf0;     //連接dat與0xf0  取higher data
bit8_serial_input(ch);
ch=dat<<4;    //左移動4位  取lower data
bit8_serial_input(ch);         //80送到液晶里表示什么意義 instruct中無此命令
P_RS=0;  //結(jié)束作業(yè)        1 byte發(fā)完
}


void write_abyte(uchar dat)
{
data uchar ch;
P_RS=1;  //讀數(shù)據(jù)--選通    選通
ch=0xfa;  //RS=1 RW=0;
bit8_serial_input(ch);
ch=dat&0xf0;  //RS=1 RW=0;
bit8_serial_input(ch);
ch=dat<<4;
bit8_serial_input(ch);
P_RS=0;  //結(jié)束作業(yè)
}


/*
   寫一個漢字到x,Y坐標(biāo)處其中X為8列y為4行
   */
void  write_word(uint w)  //w為雙字節(jié)變量
{
data  uchar ch,cl;
ch=w>>8;
cl=w;     //w右移8位給ch 那cl直接取 w 低8位
write_abyte(ch);
write_abyte(cl);
}



dis_hz(uchar x, uchar y, uint *p_hz)     //單個漢字、字符顯示、兩個字母
{
data uchar loc;
data uint hz;
code uchar xline[5]={0,1,3,2,4};
x=xline[x];
instruct(home); //光標(biāo)home
loc=((x<<3)+y-9)|0x80;  //??"|"
instruct(loc); hz=*p_hz;     //loc 不同導(dǎo)致開始顯示層數(shù)不同?????
write_word(hz);
}



dis_hz_str(uchar x, uchar y, uint *p_hz)     //功能 漢字字符串顯示
{
data uchar loc;
data uint *p;
code uchar xline[5]={0,1,3,2,4};
x=xline[x];
instruct(home);
loc=((x<<3)+y-9)|0x80;
instruct(loc);
p=p_hz;
while(*p){
     write_word(*p++);
     }
}



/*
顯示字母數(shù)字在x,y處
*/
void dis_str(uchar x, uchar y, uchar *str)           //  多個數(shù)字字母 顯示
{
data uchar loc,*p;
code uchar xline[5]={0,1,3,2,4};
p=str;
x=xline[x];
instruct(home);
loc=(16*(x-1)+y-1);    //loc=16*(1-1)+10-1=9 如何
if(loc&0x01){
       loc/=2;
       instruct(loc|0x80);
       //ch=' ';   //字符串前加空格(0x20 )
       write_abyte(' ');
       }else{
       loc/=2;
       instruct(loc|0x80);
       }
while(*p){
       write_abyte(*p++);      //str為字符串  p為字符串寫的時候一個一個字寫
       }
}




void initial(void)                          //光標(biāo)置左上角
{
data uchar i,j;
P0=0xff;
P_RS=0;           //串行--不選通
//P_PSB=0;
P_E=0;   //串行方式
instruct(f_set);    //0x30;     //8位并行接口 基本指令 用串行方式 這句是不是沒用
for(i=0;i<30;i++){}
for(i=0;i<250;i++){}           //等待液晶屏反應(yīng)
for(i=0;i<250;i++){}
instruct(f_set);    //0x30;     //8位并行接口 基本指令
for(i=0;i<30;i++){}
for(i=0;i<250;i++){}
for(i=0;i<250;i++){}
instruct(dis_on);     //0x0f);     //開啟屏幕 光標(biāo) 閃爍
for(i=0;i<30;i++){}        //維持高電平 等待液晶反應(yīng)
instruct(clear);     //0x01);     //清屏幕 clear
for(j=0;j<10;j++){
   for(i=0;i<250;i++){}      //1.6ms
   }
instruct(in_mode);     //0x06);    //光標(biāo)右移、地址增1 方式  液晶屏接受信息的形式
for(i=0;i<30;i++){}
instruct(home);     //光標(biāo)復(fù)位(行首)
}
/*---------------------------------------------------------*/
//void itoa(int x,unsigned char *str2)
void itoa(int x)
{                                                    //功能   二進制轉(zhuǎn)為ascii碼
data unsigned int n;
data unsigned char chn,*p,*p2,str1[5];
data unsigned char i,j;
p2=str2;
if(x<0){
	*p2++='-';
	x=-x;
	}
n=x;
p=&str1;
j=0;
while(n!=0){
	chn=n%10;
	n=n/10;
	*p++=chn+'0';
	j++;
	}
if(j!=0){
	p--;
	for(i=0;i<j;i++)*p2++=*p--;
	}
else    *p2++='0';
*p2=0;
return;
}
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

void rst_wdog(void)
{
x25_cs=0;
x25_cs=1;
}
/*----------------------------------------*/
void delay10(uchar j)    /*  time=j*10+7  */
{
uchar ch;
    while(j--)
    {
    ch++; ch++;
    }
    /*
    _nop_();
     _nop_();};
     */
}
/*---------------------------------------*/
uchar inti(void)
{
data uchar i=3;
do{                 //連續(xù)檢測4次,看是否存在溫度傳感器
    Inda=0;
    delay10(50);     //發(fā)511us復(fù)位脈沖
    Inda=1;          //等待應(yīng)答脈沖
    delay10(6);
    if (!Inda)      //存在應(yīng)答脈沖返回1
         return(1);
    delay10(250);
    }
while(i--);
return(0); //4次檢測失敗返回?zé)o傳感器
}
/*----------------------------------------*/
void  Outwrite(uchar str)
{
data uchar i;
ab=str;
for(i=0;i<8;i++){
    Inda=0;
    delay10(1);
    Inda=abit0;
    ab>>=1;
    delay10(4);
    Inda=1;
    _nop_();
    _nop_();
    }
}
/*----------------------------------------*/
void Outread(void)  /*讀失敗時 str=[0xff,0xff]*/
{
data uchar i,j;
for (i=0;i<2;i++){
    for(j=0;j<8;j++){
        ab>>=1;
        Inda=1;
        _nop_();
        _nop_();
        Inda=0;
        _nop_();
        _nop_();
        Inda=1;
        delay10(1);
        abit7=Inda;
        }
    tt.tp[1-i]=ab;
    //temp[i]=ab;
    }
}
/*----------------------------------------*/
void Wroutds()
{
  f_exit=inti();
  if(f_exit)
  {
    delay10(250);
    delay10(250);
    Outwrite(0xcc); //省去與ROM的有關(guān)操作
    Outwrite(0x44); //啟動溫度傳感器
  }
}
/*----------------------------------------*/
uchar Rdoutds(void)
{
f_exit=inti();
if(f_exit){
    delay10(250);
    delay10(250);
    Outwrite(0xcc);
    Outwrite(0xbe);
    Outread();
    }
}
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
/*---------------------------------------------------------*/
void delay(uchar n)
{
data uchar i,j,k,ch;
for(i=0;i<n;i++){
	for(j=0;j<250;j++){
		for(k=0;k<25;k++){
			rst_wdog();
			}
		}
	}
}
/*---------------------------------------------------------*/
/*void dis_7219(uchar iw,uchar ix,uchar chl,uchar chh)
{
uchar i,j,nc;
clk=0;
load=0;
for(j=0;j<5;j++)nc=0;
ab=iw;
for(i=0;i<8;i++){
	din=abit7;
	ab<<=1;
		//abit0=dout;    dout;
	clk=1;
	for(j=0;j<5;j++)nc=0;
	clk=0; for(j=0;j<5;j++)nc=0;

	}
ab=ix;
for(i=0;i<8;i++){
	din=abit7;
	ab<<=1;
	        //abit0=dout;
	clk=1;
	for(j=0;j<5;j++)nc=0;
	clk=0; for(j=0;j<5;j++)nc=0;

	}
ab=chl;
for(i=0;i<8;i++){
	din=abit7;
	ab<<=1;
		//abit0=dout;    dout;
	clk=1;
	for(j=0;j<5;j++)nc=0;
	clk=0;    for(j=0;j<5;j++)nc=0;

	}
ab=chh;
for(i=0;i<8;i++){
	din=abit7;
	ab<<=1;
	        //abit0=dout;
	clk=1;
	for(j=0;j<5;j++)nc=0;
	clk=0;  for(j=0;j<5;j++)nc=0;

	}

load=1;
}
/*---------------------------------------------------------*/
/*void itoa(int x,unsigned char *str)
{
unsigned int n;
unsigned char chn,*p,str1[5];
data unsigned char i,j;
if(x<0){
	*str++='-';
	x=-x;
	}
n=x;
p=str1;
j=0;
while(n!=0){
	chn=n%10;
	n=n/10;
	*p++=chn+'0';
	j++;
	}
if(j!=0){
	p--;
	for(i=0;i<j;i++)*str++=*p--;
	}
else    *str++='0';
*str=0;
return;
}
/*---------------------------------------------------------*/

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/


/*void dis_7219(uchar iw,uchar ix)                  /*串性數(shù)據(jù)發(fā)送*/
/*{
uchar i,j,nc;
clk=1;
for(j=0;j<10;j++)nc=0;
load=1;
iw=~iw; //~????????????
ab=iw;
for(i=0;i<8;i++){
	din=abit7;
	ab<<=1;
	clk=0;
	for(j=0;j<10;j++)nc=0;
	clk=1;
	}
ix=~ix;
ab=ix;
for(i=0;i<8;i++){
	din=abit7;
	ab<<=1;
	clk=0;
	for(j=0;j<10;j++)nc=0;
	clk=1;
	}
load=0;
}
/*---------------------------------------*/
/*void dis_set(void)
{
data uchar i,j,nc;
	dis_7219(0x0f,0x0); /*不測試*/
	//dis_7219(0x0a,0x04);/*亮度選擇*/
	//dis_7219(0x09,0x0f);/*譯碼選擇*/
	//dis_7219(0x0b,0x07);/*掃描LED的個數(shù)*/
	//dis_7219(0x0c,0x01);/*啟動*/
	//for(i=1;i<5;i++)dis_7219(i,0x0f);
        //for(i=5;i<9;i++)dis_7219(i,0x00);
//}     */
/*----------------------------------------*/
void dis_play(void)
{
uchar qw,sw,gw,y,i;
data long  int xx,bw;
code uint *me={"室內(nèi)溫度是:"};
code uint *lme={"the indoor tempe"} ;
code uint *llme={"rature is : "} ;
data uint str1[10];
code uint *str3={"."};
uint aa;
if(flag_sign)xx=~xx+1;
xx=85*tt.temp;
xx=xx/136;
aa=xx;
//if((!flag_sign)&&(aa>700)|(flag_sign)&&(aa<150))
//i=0;
   // dis_7219(6,0xff);// dis_7219(6,0x4);
//else  i=0; //dis_7219(6,0xff);//dis_7219(6,0x40);
qw=xx/1000;
bw=xx/100;
sw=xx/10%10;
gw=xx%10;
//if(flag_sign){
   // dis_7219(1,0x0a);
  //  flag_sign=0;
    //}
//else //dis_7219(1,0xff,0,0);
     P_RS=0;
     initial();
  //    delay10(250)  ;
      dis_str(1,1,lme);
      delay10(250);
      dis_str(2,1,llme);
      delay10(250);
      delay10(250);
      strcpy(str1,me);
     dis_hz_str(3,1,str1);

      //  delay(250);
      // dis_hz_str(4,1,"美");
      // delay(250);
      bw=bw*100;
      sw=sw*10;
      bw=bw+sw+gw;
        itoa(bw);  //bw
         str2[3]=str2[2]; str2[2]='.'; str2[4]=0;
      //str1[0]=bw;
       dis_str(4,1,str2);
       dis_hz(4,3,"℃");
        //delay(250);
          //itoa(gw);
         //str3[0]="." ;str3[1]=str2;
         //strcat(str3,str2);
        // dis_str(4,3,str2);
          //itoa(gw);
          //dis_str(4,5,str2);
      // itoa(sw); //sw);
      // dis_str(4,3,str2);
      //dis_str(4,3,".");
        //itoa(gw);
       //dis_str(4,4,str2);
       //delay(250);               // dis_7219(2,bw,0,0);
    // for (i=0;i<10;i++) { delay10(250)  ;
                        //  dis_7219(3,0xff,0,0);
      //                    for(y=0;y<0xff;y++){}
        //                   }


  //  dis_7219(3,sw|0x10,0,0);//第二位 和小數(shù)點(0x10)
/*    for (i=0;i<10;i++) { delay10(250)  ;
                         // dis_7219(4,0xff,0,0);
                          for(y=0;y<0xff;y++){}
                           }
  //  dis_7219(3,0x80,0,0);
    for (i=0;i<10;i++) { delay10(250)  ;
                       //   dis_7219(4,0xff,0,0);
                          for(y=0;y<0xff;y++){}
                           }
   //  dis_7219(4,gw,0,0);

          */
           i=0;
}
/*----------------------------------------*/
void main(void)
{
uchar ch,n,m,i,y;
flag_sign=0;

//temp[0]=0;
//temp[1]=0;
//dis_set();   //初始化7219
for(;;){
    f_exit=inti();       /*初始化  檢測1820是否存在*/
    if(f_exit){
        Wroutds();   //省去ROM操作,啟動溫度轉(zhuǎn)換
        for(n=0;n<100;n++){        //  延時等待溫度轉(zhuǎn)換完成
            for(m=0;m<10;m++){
                delay10(250);
                }
          rst_wdog();
            }
        Rdoutds();
        if((0x7f|tt.tp[0])==0xff)
        flag_sign=1;
      /*         for (i=0;i<10;i++) {
                          dis_7219(i,0xff,0,0);
                          for(y=0;y<0xff;y++){}
                           }

      /*----------------------------------------*/
        dis_play();
       /* ch=9;
        }
  //  else {
    //    dis_7219(1,2);
      //  dis_7219(2,0x0f);
       // dis_7219(3,0x0f);
        //dis_7219(4,0x0f);
      //  }     */
    rst_wdog();
   }
}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品亚洲午夜麻豆| 久久久久久99久久久精品网站| 欧美美女一区二区三区| 欧美剧在线免费观看网站 | 亚洲自拍偷拍麻豆| 日韩精品成人一区二区在线| 极品少妇一区二区| av亚洲精华国产精华精| 欧美三电影在线| 欧美精品一区二区三区很污很色的 | 欧美激情一区三区| 亚洲精品视频一区二区| 日本一不卡视频| 成人国产亚洲欧美成人综合网| 在线观看国产精品网站| 日韩欧美亚洲另类制服综合在线| 日本一区二区成人在线| 亚洲国产精品天堂| 国产馆精品极品| 欧美日韩电影一区| 国产精品看片你懂得| 亚洲不卡在线观看| 国产高清精品网站| 欧美日韩高清在线播放| 国产精品欧美综合在线| 日本亚洲三级在线| 色综合 综合色| 日韩精品专区在线影院重磅| 亚洲天堂精品在线观看| 精品一区二区在线视频| 欧美中文字幕一二三区视频| 久久色在线视频| 五月天欧美精品| thepron国产精品| 精品国产91亚洲一区二区三区婷婷 | 国产真实乱偷精品视频免| 91福利精品视频| 日本一区二区三区在线不卡| 免费高清在线一区| 在线观看91视频| 国产精品卡一卡二| 国产精品中文字幕欧美| 欧美高清性hdvideosex| 亚洲另类春色校园小说| 成人涩涩免费视频| 精品国产一区二区国模嫣然| 午夜成人在线视频| 91福利精品第一导航| 国产精品二区一区二区aⅴ污介绍| 激情欧美一区二区| 欧美精品99久久久**| 亚洲一级在线观看| 99久久国产免费看| 欧美极品xxx| 国产高清不卡一区二区| 精品免费视频一区二区| 日韩电影一二三区| 欧美日韩大陆一区二区| 亚洲制服欧美中文字幕中文字幕| av在线这里只有精品| 久久久久久久一区| 国产精品亚洲视频| 久久亚洲综合色一区二区三区 | 日韩午夜电影在线观看| 亚洲国产成人91porn| 欧美亚洲综合色| 亚洲一区日韩精品中文字幕| 97se亚洲国产综合在线| 自拍偷拍亚洲激情| 99精品视频一区二区| 国产精品福利一区| 97se亚洲国产综合在线| 亚洲免费资源在线播放| 91国内精品野花午夜精品| 亚洲精品福利视频网站| 欧洲一区在线电影| 亚洲一区中文日韩| 在线观看av不卡| 午夜精品久久久久久久久| 7777精品伊人久久久大香线蕉的| 亚洲bt欧美bt精品777| 欧美日本一区二区三区| 日韩成人av影视| 欧美一区二区三区影视| 久久精品国产一区二区三区免费看| 欧美一区二区三区在线观看 | 精品国产乱码久久久久久浪潮| 毛片av一区二区| 337p日本欧洲亚洲大胆精品| 国产在线国偷精品免费看| 国产午夜精品福利| 成人国产亚洲欧美成人综合网| 亚洲三级电影网站| 欧美日韩国产综合视频在线观看 | 欧美一区二区三区在线电影 | 欧美极品aⅴ影院| 一本一本大道香蕉久在线精品 | 色婷婷av一区二区三区软件 | 欧美一区二区视频在线观看2022 | 国产亚洲精品久| 不卡视频在线观看| 亚洲一区自拍偷拍| 日韩欧美一级二级三级久久久| 国产一区二区视频在线播放| 国产精品嫩草影院av蜜臀| 色综合久久六月婷婷中文字幕| 亚洲高清中文字幕| 精品免费国产一区二区三区四区| 国v精品久久久网| 一区二区免费在线播放| 欧美一区日韩一区| 成人免费高清在线| 亚洲国产wwwccc36天堂| 久久久三级国产网站| 色噜噜狠狠成人中文综合| 日韩va亚洲va欧美va久久| 中文字幕不卡的av| 欧美精选午夜久久久乱码6080| 国产一区二区在线影院| 亚洲男人电影天堂| 日韩欧美国产电影| 色域天天综合网| 国内精品国产成人| 亚洲精品免费在线观看| 精品国产伦一区二区三区观看方式| 高清不卡一区二区在线| 亚洲国产乱码最新视频 | 白白色 亚洲乱淫| 日本中文在线一区| 亚洲欧美自拍偷拍| 欧美一卡二卡在线| 91亚洲男人天堂| 久久精品国产亚洲a| 亚洲九九爱视频| 国产婷婷色一区二区三区在线| 欧美图片一区二区三区| 国产精品亚洲一区二区三区妖精| 亚洲成人动漫在线观看| 欧美国产亚洲另类动漫| 91精品在线麻豆| 色综合色狠狠综合色| 国产精品一区二区久久精品爱涩| 亚洲国产一二三| 中文字幕二三区不卡| 日韩欧美的一区| 欧美日韩精品欧美日韩精品| www.av精品| 国产精品综合视频| 日韩成人精品在线| 亚洲国产欧美在线| 亚洲色图在线播放| 国产欧美日韩精品一区| 日韩欧美成人午夜| 91 com成人网| 在线观看91视频| 91色综合久久久久婷婷| 成人免费看片app下载| 国产在线精品免费| 蜜臀99久久精品久久久久久软件| 一区二区三区日韩| 国产精品第五页| 国产精品午夜久久| 久久老女人爱爱| 精品av久久707| 日韩亚洲欧美在线| 在线播放视频一区| 欧美视频自拍偷拍| 91黄色免费观看| 99久久精品国产毛片| 成人av电影免费在线播放| 国产精品1区二区.| 欧美性videosxxxxx| 色综合天天综合网国产成人综合天| 国产成人aaa| 国产成人自拍高清视频在线免费播放| 美女视频黄久久| 免费成人你懂的| 日本一不卡视频| 美女视频免费一区| 久久国产精品色婷婷| 免费在线观看成人| 日本va欧美va瓶| 美女视频一区二区三区| 免费视频最近日韩| 奇米777欧美一区二区| 日韩精品一区第一页| 日韩在线观看一区二区| 午夜激情一区二区三区| 青青草91视频| 久久电影网站中文字幕| 精品亚洲成a人| 国产一区二区三区四 | 国产精品成人一区二区三区夜夜夜| 国产精品欧美一区二区三区| 国产精品久久免费看| 亚洲精品乱码久久久久久日本蜜臀| 亚洲人成网站在线| 亚洲综合精品久久| 天天亚洲美女在线视频| 美女网站在线免费欧美精品|