① 設計一個溫度測試系統,溫度數據可以自動採集,自動保存,能夠顯示歷史曲線實時曲線。
溫度測試系統,n你這個要寫
程序,具體怎麼說,非常之幽默
② WPS,一列表格內容為收錄和未收錄,使用什麼公式自動填充顏色把他們區別出來
用條件格式。
選中這一列,點「格式」---條件格式---單元格數值---選等於----填寫收錄----格式---圖案----選顏色----確定。凡是收錄的格就都有你選的顏色了,未收錄可以不標色,也能區分了。要標色可以點「添加」再選等於未收錄,再選另一顏色--確定。
③ 溫度採集與顯示 [ 標簽:溫度 ] 一、任務: 使用DS18B20、數碼管和單片機實現溫度採集和控制系統的設計。
#include <AT89X52.H>
#include <INTRINS.h>
unsigned char code displaybit[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsigned char code displaycode[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x00,0x40};
unsigned char code dotcode[32]={0,3,6,9,12,16,19,22,
25,28,31,34,38,41,44,48,
50,53,56,59,63,66,69,72,
75,78,81,84,88,91,94,97};
unsigned char displaycount;
unsigned char displaybuf[8]={16,16,16,16,16,16,16,16};
unsigned char timecount;
unsigned char readdata[8];
sbit DQ=P3^7;
bit sflag;
bit resetpulse(void)
{
unsigned char i;
DQ=0;
for(i=255;i>0;i--);
DQ=1;
for(i=60;i>0;i--);
return(DQ);
for(i=200;i>0;i--);
}
void writecommandtods18b20(unsigned char command)
{
unsigned char i;
unsigned char j;
for(i=0;i<8;i++)
{
if((command & 0x01)==0)
{
DQ=0;
for(j=35;j>0;j--);
DQ=1;
}
else
{
DQ=0;
for(j=2;j>0;j--);
DQ=1;
for(j=33;j>0;j--);
}
command=_cror_(command,1);
}
}
unsigned char readdatafromds18b20(void)
{
unsigned char i;
unsigned char j;
unsigned char temp;
temp=0;
for(i=0;i<8;i++)
{
temp=_cror_(temp,1);
DQ=0;
_nop_();
_nop_();
DQ=1;
for(j=10;j>0;j--);
if(DQ==1)
{
temp=temp | 0x80;
}
else
{
temp=temp | 0x00;
}
for(j=200;j>0;j--);
}
return(temp);
}
void main(void)
{
TMOD=0x01;
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
ET0=1;
EA=1;
while(resetpulse());
writecommandtods18b20(0xcc);
writecommandtods18b20(0x44);
TR0=1;
while(1)
{
;
}
}
void t0(void) interrupt 1 using 0
{
unsigned char x;
unsigned int result;
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
if(displaycount==2)
{
P0=displaycode[displaybuf[displaycount]] | 0x80;
}
else
{
P0=displaycode[displaybuf[displaycount]];
}
P2=displaybit[displaycount];
displaycount++;
if(displaycount==8)
{
displaycount=0;
}
timecount++;
if(timecount==150)
{
timecount=0;
while(resetpulse());
writecommandtods18b20(0xcc);
writecommandtods18b20(0xbe);
readdata[0]=readdatafromds18b20();
readdata[1]=readdatafromds18b20();
for(x=0;x<8;x++)
{
displaybuf[x]=16;
}
sflag=0;
if((readdata[1] & 0xf8)!=0x00)
{
sflag=1;
readdata[1]=~readdata[1];
readdata[0]=~readdata[0];
result=readdata[0]+1;
readdata[0]=result;
if(result>255)
{
readdata[1]++;
}
}
readdata[1]=readdata[1]<<4;
readdata[1]=readdata[1] & 0x70;
x=readdata[0];
x=x>>4;
x=x & 0x0f;
readdata[1]=readdata[1] | x;
x=2;
result=readdata[1];
while(result/10)
{
displaybuf[x]=result%10;
result=result/10;
x++;
}
displaybuf[x]=result;
if(sflag==1)
{
displaybuf[x+1]=17;
}
x=readdata[0] & 0x0f;
x=x<<1;
displaybuf[0]=(dotcode[x])%10;
displaybuf[1]=(dotcode[x])/10;
while(resetpulse());
writecommandtods18b20(0xcc);
writecommandtods18b20(0x44);
}
}
④ 溫度採集電路設計設計並製作一個溫度測量與顯示系統,基本原理:
溫度感測器——LM45/35
放大器——OP07/NE5532/TL082
A/D轉換器——ADC0809
ROM—— AT28C16
解碼電路——CD451
顯示電路——共陽數碼管
要求:( 1)被測溫度范圍 0∼99°C;
工作原理:
溫度感測器——LM45/35產生溫度的模擬信號電壓
放大器——OP07/NE5532/TL082:將代表溫度的模擬電壓放大到適合於ADC轉換的幅度。
A/D轉換器——ADC0809:將放大後的電壓進行轉換,變成適合顯示的數字信號,存入ROM中。
這個信號,可以直接顯示,也可以由單片機進行處理後再進行顯示。
解碼電路——CD451:將ROM保存的或單片機送出的待顯示的數據翻譯成適合於7段顯示數碼管的電平信號,去驅動數碼管實現對測量出來的溫度進行顯示。
⑤ 或未被收錄。是什麼意思
前面應該還有半句是吧?或未被收錄的意思是或者是沒有被收錄的意思,但是因為有個或,所以並非是肯定的一種回答,代表有這種不被收錄的可能,但是不肯定,不排除這種結果的意思.以上供參考.
⑥ 溫度採集與顯示
/********************************************************
* DS18B20溫度感測器 *
* C51 *
* yajou 2008-06-28 無CRC *
********************************************************/
#include "reg51.h"
#include "intrins.h"
#include "DS18B20.h"
/********************************************************
* us延時程序 *
********************************************************/
void Delayus(uchar us)
{
while(us--); //12M,一次6us,加進入退出14us(8M晶振,一次9us)
}
/********************************************************
* DS18B20初始化 *
********************************************************/
bit Ds18b20_Init(void) //存在返0,否則返1
{
bit temp = 1;
uchar outtime = ReDetectTime; //超時時間
while(outtime-- && temp)
{
Delayus(10); //(250)1514us時間可以減小嗎
ReleaseDQ();
Delay2us();
PullDownDQ();
Delayus(100); //614us(480-960)
ReleaseDQ();
Delayus(10); //73us(>60)
temp = dq;
Delayus(70); //us
}
return temp;
}
/********************************************************
* 寫bit2DS18B20 *
********************************************************/
void Ds18b20_WriteBit(bit bitdata)
{
if(bitdata)
{
PullDownDQ();
Delay2us(); //2us(>1us)
ReleaseDQ(); //(上述1-15)
Delayus(12); //86us(45- x,總時間>60)
}else
{
PullDownDQ();
Delayus(12); //86us(60-120)
}
ReleaseDQ();
Delay2us(); //2us(>1us)
}
/********************************************************
* 寫Byte DS18B20 *
********************************************************/
void Ds18b20_WriteByte(uchar chrdata)
{
uchar ii;
for(ii = 0; ii < 8; ii++)
{
Ds18b20_WriteBit(chrdata & 0x01);
chrdata >>= 1;
}
}
/********************************************************
* 寫 DS18B20 *
********************************************************/
//void Ds18b20_Write(uchar *p_readdata, uchar bytes)
//{
// while(bytes--)
// {
// Ds18b20_WriteByte(*p_readdata);
// p_readdata++;
// }
//}
/********************************************************
* 讀bit From DS18B20 *
********************************************************/
bit Ds18b20_ReadBit(void)
{
bit bitdata;
PullDownDQ();
Delay2us(); //2us( >1us)
ReleaseDQ();
Delay8us(); //8us( <15us)
bitdata = dq;
Delayus(7); //86us(上述總時間要>60us)
return bitdata;
}
/********************************************************
* 讀Byte DS18B20 *
********************************************************/
uchar Ds18b20_ReadByte(void)
{
uchar ii,chardata;
for(ii = 0; ii < 8; ii++)
{
chardata >>= 1;
if(Ds18b20_ReadBit()) chardata |= 0x80;
}
return chardata;
}
/********************************************************
* 讀 DS18B20 ROM *
********************************************************/
bit Ds18b20_ReadRom(uchar *p_readdata) //成功返0,失敗返1
{
uchar ii = 8;
if(Ds18b20_Init()) return 1;
Ds18b20_WriteByte(ReadROM);
while(ii--)
{
*p_readdata = Ds18b20_ReadByte();
p_readdata++;
}
return 0;
}
/********************************************************
* 讀 DS18B20 EE *
********************************************************/
bit Ds18b20_ReadEE(uchar *p_readdata) //成功返0,失敗返1
{
uchar ii = 2;
if(Ds18b20_Init()) return 1;
Ds18b20_WriteByte(SkipROM);
Ds18b20_WriteByte(ReadScr);
while(ii--)
{
*p_readdata = Ds18b20_ReadByte();
p_readdata++;
}
return 0;
}
/********************************************************
* 溫度採集計算 *
********************************************************/
bit TempCal(float *p_wen) //成功返0,失敗返1 (溫度范圍-55 --- +128)
{
uchar temp[9],ii;
uint tmp;
float tmpwen;
TR1 = 0;
TR0 = 0;
//讀暫存器和CRC值-----------------------
if(Ds18b20_ReadEE(temp))
{
TR1 = 1;
TR0 = 1;
return 1;
}
//-------------------------------------
//CRC校驗------------------------------
//
//此處應加入CRC校驗等
//
//
//-------------------------------------
//使溫度值寫入相應的wen[i]數組中-----
for(ii = i; ii > 0; ii--)
{
p_wen++;
}
i++;
if(i > 4) i = 0;
//-------------------------------------
//溫度正負數處理-----------------------
//
//-------------------------------------
//溫度計算-----------------------------
tmp = temp[1]; //
tmp <<= 8; //
tmp |= temp[0]; //組成溫度的兩位元組合並
tmpwen = tmp;
*p_wen = tmpwen / 16;
//-------------------------------------
//開始溫度轉換-------------------------
if(Ds18b20_Init())
{
TR1 = 1;
TR0 = 1;
return 1;
}
Ds18b20_WriteByte(SkipROM);
Ds18b20_WriteByte(Convert);
ReleaseDQ(); //寄生電源時要拉高DQ
//------------------------------------
TR1 = 1;
TR0 = 1;
return 0;
}
//////////DS18B20.h/////////////////////////
/********************************************************
* I/O口定義 *
********************************************************/
sbit dq = P1^3;
sbit dv = P1^4; //DS18B20強上拉電源
/********************************************************
* 命令字定義 *
********************************************************/
#define uchar unsigned char
#define uint unsigned int
#define ReleaseDQ() dq = 1; //上拉/釋放匯流排
#define PullDownDQ() dq = 0; //下拉匯流排
#define Delay2us() _nop_();_nop_(); //延時2us,每nop 1us
#define Delay8us() _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
//設置重復檢測次次數,超出次數則超時
#define ReDetectTime 20
//ds18b20命令
#define SkipROM 0xCC
#define MatchROM 0x55
#define ReadROM 0x33
#define SearchROM 0xF0
#define AlarmSearch 0xEC
#define Convert 0x44
#define WriteScr 0x4E
#define ReadScr 0xBE
#define CopyScr 0x48
#define RecallEE 0xB8
#define ReadPower 0xB4
/********************************************************
* 函數 *
********************************************************/
void Delayus(uchar us);
//void Dog(void);
bit Ds18b20_Init(void); //DS18B20初始化,存在返0,否則返1
void Ds18b20_WriteBit(bit bitdata); //寫bit2DS18B20
void Ds18b20_WriteByte(uchar chrdata); //寫Byte DS18B20
void Ds18b20_Write(uchar *p_readdata, uchar bytes); //寫 DS18B20
bit Ds18b20_ReadBit(void); //讀bit From DS18B20
uchar Ds18b20_ReadByte(void); //讀Byte DS18B20
bit Ds18b20_ReadRom(uchar *p_readdata); //讀 DS18B20 ROM:成功返0,失敗返1
bit Ds18b20_ReadEE(uchar *p_readdata); //讀 DS18B20 EE :成功返0,失敗返1
bit TempCal(float *p_wen); //成功返0,失敗返1 (溫度范圍-55 --- +128)
⑦ 以8088cpu 為核心設計一個溫度採集系統
0.0 偶也要...哥們中北的吧...
⑧ 設計一個溫度測量及超限報警電路
我給你提供方法吧 你自己去實現
一個溫度感測器 一個比較器 當你設定的值超過 比較器設定的80度時的值,就輸出驅動蜂鳴器工作 就這么簡單
⑨ 設計一個基於MCS51單片機的溫度採集與顯示系統
浪費,用帶AD的晶元又不貴,而且還可以是十位精度的,比你的0809的八位高了四倍。多一個東西就等於多了一個隱患。0809應該10塊左右,這個錢買個帶AD的主晶元已經夠了。看你的說明,你用個20腳的51晶元就行了,
⑩ 未收錄是什麼意思
是指網路這樣的搜索引擎嗎?
一、正常情況下:先看一下 收錄是什麼意思?
網路收錄就是與互聯網用戶共享網址,網站收錄前提是網站首頁提交給網路,蜘蛛才會光顧,每次抓取網頁時都會向索引中添加並更新新的網站,站長只需提供頂層網頁即可,不必提交各個單獨的網頁。抓取工具能夠找到其他網頁。符合相關標准提交的網址,會在1個月內按搜索引擎收錄標准被處理。
二、網路未收錄怎麼辦?
1、不要把整個網頁做成一個Flash或是一張圖片,盡量少用圖片和flash。網頁中使用過分復雜的Java Script.某些Java Script的內容對於搜索引擎是不可見的,所以不能被識別和登錄。
2、不在網頁中使用Frame(框架結構)。在網路的搜索引擎優化技能中我們可以看到:「frame/frameset/iframe標簽,會導致網路蜘蛛的抓取困難,建議不要使用」。所以說目前所有的搜索引擎都無法識別頁面ifram框架中被調用的鏈接、文本、圖片等等內容的,原因很簡單因為該內容不屬於該頁面,只是在用戶訪問的時候被臨時的調用。
3、網站內容有規律的更新,提高文章的質量,盡量做到原創文章。如果做不到原創文章就做偽原創,降低內容的重復度。
4、穩定的有規律的增加網站外鏈,做高質量的外鏈,去權重高的網站發帖。
5、與權重高的排名好的網站做友情鏈接,友情鏈接是網站之間鏈接互換是互相推廣的一種重要方式,友情鏈接比到各大搜索引擎提交來的效果更快
6、網站上線之後在沒有正常收錄情況之下不要做大的調整或改動,特別是網站的三個標簽(title、keywords、description)不要做隨意更改,所以我們在網站上線之前就應該把這些東西都確定好。
7、網站在沒有收錄或是只收錄一個首頁的情況之下,不要大量的去做外鏈,如果操作過度的化也會造成網站比較難收錄。
8、創建網路旗下相關產品賬號。創建網路空間、網路知道發帖回帖、網路創建新詞條、網路收藏新站。
9、流量的引入,新站初成自然流量都是很低的,這就要seoer做好引流工作。有足夠的流量會讓搜索引擎認為頁面的質量很高,當然前提是要把站內做好,而且不能發垃圾外鏈。