freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機和ds18b20的數(shù)字溫度計設計-資料下載頁

2025-06-06 22:45本頁面
  

【正文】 // led顯示子程序//void LED_Display(char n){ unsigned char i,j,k; k=0; j=array_led[n]; for(i=0; i8; i++) { if( (jamp。0x01) ==1) { LED_DATA=1; k++; } else { LED_DATA=0; k++; } j=1; LED_CLK=~LED_CLK; LED_CLK=~LED_CLK; }}//// 顯示//void LED_Display_Six(char *Point){ unsigned char i; for(i=0; i32;i++) //清除LED上電時出現(xiàn)的亂碼 { LED_DATA=0; LED_CLK=~LED_CLK; LED_CLK=~LED_CLK; } for(i=4; i0; i) LED_Display(*(Point+i1));} //// 串口初始化//void init_serial(void) { TMOD=0x21; //裝載計數(shù)初值 TL1=0xE5; TH1=0xE5;//采用串口工作方式1,無奇偶校驗 TH0=0xdc; TL0=0x00; SCON=0x50; //串口波特率不加倍 PCON=0x80; //開總中斷,開串口中斷 IE=0x80; //啟動定時器1 IP=0x02; TR1=1; TR0=1; } //// 延時子程序// void delay(unsigned int i) { while(i); } //// 初始化18b20// Init_DS18B20(void) { unsigned char x=0; DQ = 1; //DQ復位 delay(8); //稍做延時 DQ = 0; //單片機將DQ拉低主機發(fā)送一個最少480us的低電平 delay(80); //精確延時 大于 480us此delay要大于480微秒 DQ = 1; //總線釋放 拉高總線準備讀 delay(28); //等待不能超過1560us x=DQ; //收到低電平則初始化成功 delay(20); } //// 讀一字節(jié)//ReadOneChar(void){ unsigned char i=0; unsigned char dat = 0; for (i=8;i0;i) { DQ = 0; //給脈沖信號 dat=1;//空出最高位 DQ = 1; //總線釋放 if(DQ) //主機檢測 由此會發(fā)現(xiàn)上一句的dq=1不會影響此處的dq值,可為1或0 dat|=0x80; delay(4); } return(dat);}//// 寫一字節(jié)//WriteOneChar(unsigned char dat){ unsigned char i=0; for (i=8; i0; i) { DQ = 0; DQ = datamp。0x01; //取出最低位 delay(5); DQ = 1; dat=1; }}//// 讀取溫度值//void ReadTemperature(void){ unsigned char a=0; unsigned char b=0; unsigned char c=0; unsigned int d=0; float s=0; Init_DS18B20(); WriteOneChar(0xCC); // 跳過讀序號列號的操作 WriteOneChar(0x44); // 啟動溫度轉(zhuǎn)換 Init_DS18B20(); WriteOneChar(0xCC); //跳過讀序號列號的操作 WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度 a=ReadOneChar(); b=ReadOneChar(); if(b0x07) TS=1; else TS=0; //if b0x07 說明這是一個零下溫度 c=bamp。0x07; //取出除了溫度標志的后3位 d=c*256+a; //整合一下 TT=d*6.25/100;// 0.0625為溫度系數(shù) if(TS==1) { if((int)(TT*100)%100) s=0.1; TT=128TT+s; }}//// 主循環(huán)//void main(void){ int j=3; unsigned char i; unsigned char p[4]; char n[4]={1,21,2,7}; int m=27; init_serial(); LED_DATA=0; LB1=0; while(1) { ReadTemperature();//讀溫度 if(C==0) { p[0]=(int)(TT/100)%10; p[1]=(int)(TT/10)%10; p[2]=(int)TT%10+10; p[3]=(int)(TT*10)%10; if(TT127||(TS==1amp。amp。TT99)) {p[0]=22;p[1]=22;p[2]=22;p[3]=22;} else if(TT10) {p[0]=21;p[1]=21;} else if(TT100) p[0]=21; if(TS==1) p[0]=22; LED_Display_Six(p); if(TTmamp。amp。n[0]==1) { LB=~LB; LB1=1; } else LB1=0; } else { p[0]=n[0]; p[1]=n[1]; p[2]=n[2]; p[3]=n[3]; if(B1==0) { delay(30000); j; if(j==1) j=0; if(j==1) j=3; } else if(B2==0) { delay(30000); j++; if(j==1) j=2; if(j==4) j=0; } if(B3==0) { delay(30000); p[j]++; if((j==0amp。amp。p[j]==2)||p[j]==10) p[j]=0; } if(B4==0) { delay(30000); p[j]; if(p[j]==1) { if(j==0) p[j]=1; else p[j]=9; } } Use=p[0]; m=10*p[2]+p[3]; n[j]=p[j]; LED_Display_Six(p); delay(100000); p[j]=22; LED_Display_Six(p); delay(100000); p[j]=n[j]; } LED_Display_Six(p); delay(50000); if(B0==0) { delay(40000); C=~C; } } }致 謝通過不斷努力,終于完成了此次畢業(yè)設計。在此,首先感謝導師劉海洋老師,正是他在萬忙之中還抽出寶貴的時間對我進行精心的指導,才使我順利完成了畢業(yè)設計。同時也感謝宿遷學院各個領導和老師對我三年來的關心和幫助。使我在大學中學到了許多寶貴的知識和經(jīng)驗。在此,衷心地感謝你們!
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1