|
本帖最后由 劉海龍 于 2016-10-22 13:08 編輯
硬件只需STC單片機(jī)+DS18B20+3位共陰數(shù)碼管
單片機(jī)STC15W408AS(內(nèi)部集成了高精度可調(diào)晶振)通過DS18B20讀取溫度,用推挽方式直接驅(qū)動(dòng)3位共陰數(shù)
碼管顯示溫度。(0-99.9攝氏度)
單片機(jī)和數(shù)碼管疊羅漢(單片機(jī)插在面包板上后數(shù)碼管插在面包板單片機(jī)引腳對應(yīng)的位置)
程序中DS18B20.H驅(qū)動(dòng)不適合直接用于STC89/STC90系列及其他公司的單片機(jī)(延時(shí)時(shí)間不同需修改)
- /*********************************************************************************************
- 程序名: 3位共陰數(shù)碼管顯示溫度
- 編寫人: 劉海龍(部分程序來自網(wǎng)絡(luò))
- 編寫時(shí)間: 2016年7月3日
- 硬件支持: STC15W408AS單片機(jī)(12M晶振)+DS18B20+共陰數(shù)碼管
- 接口說明: P5.5接口接DS18B20單總線
- /*********************************************************************************************/
- #include <STC15w.h>
- #include <intrins.h>
- #include <4LED_YIN.h>
- #include <DS18B20.h>
- /*******************************************/
- void delay1ms (unsigned int a){ // 1ms延時(shí)程序
- unsigned int i;
- while( --a != 0){
- for(i = 0; i < 630; i++);//STC單片機(jī)在晶振為12MHz時(shí)i值上限為630
- } //AT89C51單片機(jī)在外部晶振為12MHz時(shí)i值上限為125
- }
- /**********************************************************************************************/
- void main (void){
- unsigned char i;
- delay1ms(300); //
- init();
-
- while(1){//主循環(huán)
-
- disp(ReadTemperature());//刷新顯示溫度
- }
- }
- /*****************************************************************************/
復(fù)制代碼
|
-
-
3位共陰數(shù)碼管溫度計(jì).rar
2016-10-16 22:49 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
3.72 MB, 下載次數(shù): 458, 下載積分: 黑幣 -5
源程序
-
-
DS18B20溫度計(jì)原理圖.rar
2016-10-22 13:05 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
31.68 KB, 下載次數(shù): 198, 下載積分: 黑幣 -5
PADS9.5畫的
評分
-
查看全部評分
|