-
大小: 60KB文件類型: .zip金幣: 2下載: 1 次發(fā)布日期: 2021-12-09
- 語言: C/C++
- 標(biāo)簽: 溫控系統(tǒng)??
資源簡介
我們于本周進(jìn)行了硬件類課程設(shè)計(jì),我們的選題是DS18B20溫度傳感器設(shè)計(jì)。通過基于MCS-51系列單片機(jī)AT89C51和DS18B20溫度傳感器檢測溫度,熟悉芯片的使用,溫度傳感器的功能。數(shù)碼顯示管的使用,C語言的設(shè)計(jì),并把我們這一年所學(xué)的數(shù)字和模擬電子技術(shù)、檢測技術(shù)、單片機(jī)應(yīng)用等知識,通過理論聯(lián)系實(shí)際,從題目分析、電路設(shè)計(jì)調(diào)試、程序編制調(diào)試到傳感器的選定等這一完整的實(shí)驗(yàn)過程,培養(yǎng)了學(xué)生正確的設(shè)計(jì)思想,使學(xué)生充分發(fā)揮主觀能動(dòng)性,去獨(dú)立解決實(shí)際問題,以達(dá)到提升學(xué)生的綜合能力、動(dòng)手能力、文獻(xiàn)資料查閱能力的作用,為畢業(yè)設(shè)計(jì)和以后工作打下一個(gè)良好的基礎(chǔ)。

代碼片段和文件信息
/*******************************************
**?????????溫度傳感器設(shè)計(jì)溫控系統(tǒng)?????????**
**???????STC89C52RC+DS18B20+LCD12864??????**
**?????????作者:九江學(xué)院?周遠(yuǎn)明??????????**
**????????完成日期:2015年04月01日????????**
********************************************/
#include
#define?uchar?unsigned?char
#define?uint?unsigned?int
sbit?sda_24c02=P2^0;//串行數(shù)據(jù)輸入/輸出端
sbit?scl_24c02=P2^1;//串行時(shí)鐘輸入端
sbit?DQ=P2^2;?//溫度傳感器?I/O?口
sbit?U1s=P2^7;//段位鎖存
sbit?U2s=P2^6;//位選鎖存
sbit?data_595si=P1^0;//595數(shù)據(jù)輸入口 ???
sbit?clk_595srck=P1^4;//595數(shù)據(jù)寫進(jìn)移位寄存器時(shí)鐘輸入口
sbit?e_595rck=P2^3;//595移位寄存器,數(shù)據(jù)送輸出的時(shí)鐘
sbit?PSB_12864=P1^3;//串/并方式控制
sbit?RST_12864=P1^5;//復(fù)位
sbit?led_d=P0^2;//led燈引腳定義
sbit?led_z=P0^1;//led燈引腳定義
sbit?led_g=P0^0;//led燈引腳定義
sbit?CS_12864=P2^5;
sbit?SID_12864=P2^6;
sbit?SCLK_12864=P2^4;
sbit?S1=P3^7;//定義按鍵
sbit?S2=P3^6;//定義按鍵
sbit?S3=P3^5;//定義按鍵
sbit?S4=P3^4;//定義按鍵
#define?keyL_A?S1//按鍵-左加
#define?keyL_S?S2//按鍵-左減
#define keyR_A?S3//按鍵-右加
#define?keyR_S?S4//按鍵-右減
long?int?temperature=0;
int?temp_Ltemp_H; //初始溫度值*10后的值
uchar?code?dis1[16]={“????溫控系統(tǒng)????“};
uchar?code?dis2[16]={“The?Contr?Range:“};
int?temp;//定義整型溫度數(shù)據(jù)變量
float?f_temp;//定義浮點(diǎn)型溫度數(shù)據(jù)變量
/*----------------延時(shí)函數(shù)部分-----------------------*/
void?delayms(uint?xms)//延時(shí)單位ms
{
uint?i;
for(;xms>0;xms--)
{
for(i=0;i<=110;i++)
{
;
}
}
}
void?delayus(uint?xus)//單位微妙us
{
while(xus)
{
xus--;
}
}
void?delay_ds18b20(uint?time)
{
?????uint??ij;
?for(i=0;i for(j=0;j<1;j++);
}
/*----------------初始化板子部分-----------------------*/
void?write_data_74hc595(uchar?da)//寫字節(jié)給74hc595芯片
{
uint?i;
e_595rck=0;//先置低電平為得到上升沿做準(zhǔn)備
for(i=1;i<=8;i++)
{
clk_595srck=0;//先置于低電平為得到上升沿做準(zhǔn)備
data_595si=da&0x80;//送一位最高位
da<<=1;//左移動(dòng)一位去掉已送的原先數(shù)據(jù)的最高的那一位,右邊自動(dòng)添零
clk_595srck=1;//置高電平,使得到一上升沿把數(shù)據(jù)中的最高的一位送入緩存寄存器中
}
e_595rck=1;//置為高電平得到上升沿把緩存寄存器中的數(shù)據(jù)送到數(shù)據(jù)口(即把8位數(shù)據(jù)送出)
data_595si=0;//把數(shù)據(jù)輸入口置為零,和單片機(jī)硬件接口有關(guān)
}
void?initboard(void)
{
U1s=1;
U2s=1;
P0=0x00;//關(guān)閉所有數(shù)碼管,避免驅(qū)動(dòng)電壓不夠
U1s=0;
U2s=0;
write_data_74hc595(0x40);//開通發(fā)光二極管的使能端
P1=0xff;//關(guān)閉所有發(fā)光二極管,避免驅(qū)動(dòng)電壓不夠
write_data_74hc595(0x00);//關(guān)閉發(fā)光二極管的使能端
}
/*----------------DS18B20溫度傳感器處理部分-----------------------*/
uchar?reset_ds18b20()
{
???uchar?presence;
???DQ=0;
???delay_ds18b20(29);??????//延時(shí)480?-?960??us
???DQ=1; ??
???delay_ds18b20(3);??????//延時(shí)?15?-?60???us
???presence=DQ;
???delay_ds18b20(25); ??//延時(shí)?60?-?240??us
???return(presence);
}
?uchar?read_bit_ds18b20()
{
uchar?i;
DQ=1;
delay_ds18b20(1);
DQ=0;
DQ=1;
for(i=0;i<3;i++);
return(DQ);
}?
void?write_bit_ds18b20(uchar?dat)
{
DQ=0;????????//置0?無需延時(shí)
if(dat==1)
??DQ=1;
delay_ds18b20(1); ?//延時(shí)?60?-?120??us
DQ=1;
delay_ds18b20(1); ?//延時(shí)?1?-?∞??us
}
void?write_byte_ds18b20(uchar?dat)
{
?????uchar?ij;
?for(i=0;i<8;i++)
?{
?????j=((dat>>i)&0x01);
?write_bit_ds18b20(j);
?}
}??
uchar?read_byte_ds18b20()
{
uchar?dat=0;
uchar?i;
for(i=0;i<8;i++)
?{
???if(read_bit_ds18b20())
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????????0??2015-04-05?10:32??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?
?????文件???????27404??2015-04-04?20:55??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級
?????文件???????11555??2015-04-04?20:55??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級.c
?????文件????????8063??2015-04-04?20:55??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級.hex
?????文件?????????102??2015-04-04?20:55??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級.lnp
?????文件???????25121??2015-04-04?20:55??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級.LST
?????文件???????40052??2015-04-04?20:55??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級.M51
?????文件???????31806??2015-04-04?20:55??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級.OBJ
?????文件????????5863??2015-04-04?21:00??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級.plg
?????文件???????55732??2015-04-04?21:00??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級.uvopt
?????文件???????13492??2015-04-01?00:45??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級.uvproj
?????文件???????55732??2015-04-04?19:53??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級_uvopt.bak
?????文件???????????0??2015-03-31?20:49??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?DS18B20娓╂帶緋葷粺錛堟恫鏅朵覆琛岋級_uvproj.bak
?????文件????????6376??2009-05-07?14:37??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?STARTUP.A51
?????文件???????14048??2015-04-04?20:55??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?STARTUP.LST
?????文件?????????749??2015-04-04?20:55??DS18B20娓╂帶緋葷粺錛堟恫鏅?姝h礋娓╁害+鏁版嵁淇濆瓨錛?STARTUP.OBJ
- 上一篇:c語言函數(shù)快速入門
- 下一篇:匯編實(shí)驗(yàn)參考代碼
評論
共有 條評論