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

正文內(nèi)容

基于51單片機(jī)的溫度計(jì)設(shè)計(jì)-資料下載頁

2025-06-28 00:20本頁面
  

【正文】 SBUF=l_tmpdate[k]。//發(fā)送串行數(shù)據(jù) while(TI==0)。//等待發(fā)送完成 TI=0。 } } } for(m=0。m6。m++) { l_tmpdateold[m]=l_tmpdate[m]。 } display(l_tmpdate,j)。 //輸出顯示獲取的鍵值碼 // else break。 if(l_key==0x0b)break。 if(l_key==0x0d)func3_flag = 1。//使能串口通信,向副機(jī)發(fā)送數(shù)據(jù) }}void func2(void)//功能2函數(shù) 顯示溫度{ int i,k,equ。 func3_flag = 0。 while(1) { ReadKey()。 displaytemp()。 if(l_key==0x0d)func3_flag = 1。//使能串口通信,向副機(jī)發(fā)送數(shù)? if(func3_flag == 1) { for(k=0。k6。k++) { if(l_tmpdate[k]!=l_tmpdateold[k]) {equ = 0。break。} equ = 1。 } if(equ ==0 ) { for(k=0。k6。k++)//將數(shù)據(jù)通過串口發(fā)送給從機(jī),當(dāng)串口打開時可以發(fā)送 { SBUF=l_tmpdate[k]。//發(fā)送串行數(shù)據(jù) while(TI==0)。//等待發(fā)送完成 TI=0。 } } } for(k=0。k6。k++) { l_tmpdateold[k]=l_tmpdate[k]。 } if(l_key==0x0a)break。 }}void _init(void)//串口初始化程序{ EA=1。 //開啟總中斷 //下面是產(chǎn)生9600波特率的初值,你們可以用工式計(jì)算下:16位計(jì)數(shù)為6553612000000/32/9600 RCAP2L = 0xD8。 RCAP2H = 0xFF。 TL2=0XD8。 TH2=0XFF。 T2CON=0X34。 //此寄存器為設(shè)置定時器2做波特率發(fā)生器 SCON=0X50。 //串口的工作方式,設(shè)置為方式1 ES=1。 //打開串口中斷} include include extern unsigned char l_tmpdate[6]。 extern int temp。 extern char func3_flag。 void displaytemp(void) { int l_tmp,i。 tmpchange()。 //溫度轉(zhuǎn)換 l_tmp=tmp()。 //讀取溫度值 //if(l_tmp0) //l_tmpdate[0]=57。 //判斷溫度為負(fù)溫度,前面加 //else// {// l_tmpdate[0]=l_tmp/1000。 //顯示百位,這里用1000,是因?yàn)槲覀冎肮砸?0了// if(l_tmpdate[0]==0) // l_tmpdate[0]=32。//判斷溫度為正溫度且沒有上百,前面不顯示,查表第 是空// } l_tmp=l_tmp%1000。 l_tmpdate[0]=l_tmp/100。//獲取十位 l_tmp=l_tmp%100。 l_tmpdate[1]=l_tmp/10。//獲取個位再 l_tmpdate[1]+=16。//加入小數(shù)點(diǎn),查表可得出有小數(shù)點(diǎn)的排在后10位,所以加10 l_tmpdate[2]=l_tmp%10。//獲取小數(shù)第一位 l_tmpdate[3]=12。 if(func3_flag==1) { for(i=0。i6。i++)//將數(shù)據(jù)通過串口發(fā)送給從機(jī),當(dāng)串口打開時可以發(fā)送 { SBUF=l_tmpdate[i]。//發(fā)送串行數(shù)據(jù) while(TI==0)。//等待發(fā)送完成 TI=0。 } } for(i=0。i10。i++){ //循環(huán)輸出10次,提高亮度 display(l_tmpdate,4)。 }}void delayb(unsigned int count) //delay{ unsigned int i。 while(count) { i=200。 while(i0) i。 count。 }}void dsreset(void) //DS18B20初始化{ unsigned int i。 DS=0。 i=103。 while(i0)i。 DS=1。 i=4。 while(i0)i。}bit tmpreadbit(void) // 讀一位{ unsigned int i。 bit dat。 DS=0。i++。 //小延時一下 DS=1。i++。i++。 dat=DS。 i=8。while(i0)i。 return (dat)。}unsigned char tmpread(void) //讀一個字節(jié){ unsigned char i,j,dat。 dat=0。 for(i=1。i=8。i++) { j=tmpreadbit()。 dat=(j7)|(dat1)。 //讀出的數(shù)據(jù)最低位在最前面,這樣剛好//一個字節(jié)在DAT里 } return(dat)。 //將一個字節(jié)數(shù)據(jù)返回}void tmpwritebyte(unsigned char dat) { //寫一個字節(jié)到DS18B20里 unsigned int i。 unsigned char j。 bit testb。 for(j=1。j=8。j++) { testb=datamp。0x01。 dat=dat1。 if(testb) // 寫1部分 { DS=0。 i++。i++。 DS=1。 i=8。while(i0)i。 } else { DS=0。 //寫0部分 i=8。while(i0)i。 DS=1。 i++。i++。 } }} void tmpchange(void) //發(fā)送溫度轉(zhuǎn)換命令{ dsreset()。 //初始化DS18B20 delayb(1)。 //延時 tmpwritebyte(0xcc)。 // 跳過序列號命令 tmpwritebyte(0x44)。 //發(fā)送溫度轉(zhuǎn)換命令}int tmp() //獲得溫度{ float tt。 unsigned char a,b。 dsreset()。 delayb(1)。 tmpwritebyte(0xcc)。 tmpwritebyte(0xbe)。 //發(fā)送讀取數(shù)據(jù)命令 a=tmpread()。 //連續(xù)讀兩個字節(jié)數(shù)據(jù) b=tmpread()。 temp=b。 temp=8。 temp=temp|a。 //兩字節(jié)合成一個整型變量。 tt=temp*。 //得到真實(shí)十進(jìn)制溫度值,因?yàn)镈S18B20//,所以讀回?cái)?shù)據(jù)的最低位代表的是//。 temp=tt*10+。 //放大十倍,這樣做的目的將小數(shù)點(diǎn)后第一位//也轉(zhuǎn)換為可顯示數(shù)字,同時進(jìn)行一個四舍五入操作。 return temp。 //返回溫度值}void readrom() //read the serial 讀取溫度傳感器的序列號{ //本程序中沒有用到此函數(shù) unsigned char sn1,sn2。 dsreset()。 delayb(1)。 tmpwritebyte(0x33)。 sn1=tmpread()。 sn2=tmpread()。}void delay10ms() { unsigned char a,b。 for(a=10。a0。a)for(b=60。b0。b)。}本科生課程設(shè)計(jì)成績評定表姓 名性 別 別專業(yè)、班級課程設(shè)計(jì)題目:MATLAB的繪圖課程設(shè)計(jì)答辯或質(zhì)疑記錄:成績評定依據(jù):最終評定成績(以優(yōu)、良、中、及格、不及格評定)指導(dǎo)教師簽字:55
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1