|
本帖最后由 劉海龍 于 2016-10-22 13:08 編輯
硬件只需STC單片機+DS18B20+3位共陰數(shù)碼管
單片機STC15W408AS(內部集成了高精度可調晶振)通過DS18B20讀取溫度,用推挽方式直接驅動3位共陰數(shù)
碼管顯示溫度。(0-99.9攝氏度)
單片機和數(shù)碼管疊羅漢(單片機插在面包板上后數(shù)碼管插在面包板單片機引腳對應的位置)
照片 003.jpg (3.56 MB, 下載次數(shù): 178)
下載附件
2016-10-16 22:48 上傳
照片 002.jpg (3.49 MB, 下載次數(shù): 202)
下載附件
2016-10-16 22:47 上傳
照片 001.jpg (3.57 MB, 下載次數(shù): 240)
下載附件
2016-10-16 22:47 上傳
DS18B20溫度計.png (26.05 KB, 下載次數(shù): 195)
下載附件
2016-10-22 13:04 上傳
程序中DS18B20.H驅動不適合直接用于STC89/STC90系列及其他公司的單片機(延時時間不同需修改)
- /*********************************************************************************************
- 程序名: 3位共陰數(shù)碼管顯示溫度
- 編寫人: 劉海龍(部分程序來自網絡)
- 編寫時間: 2016年7月3日
- 硬件支持: STC15W408AS單片機(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延時程序
- unsigned int i;
- while( --a != 0){
- for(i = 0; i < 630; i++);//STC單片機在晶振為12MHz時i值上限為630
- } //AT89C51單片機在外部晶振為12MHz時i值上限為125
- }
- /**********************************************************************************************/
- void main (void){
- unsigned char i;
- delay1ms(300); //
- init();
-
- while(1){//主循環(huán)
-
- disp(ReadTemperature());//刷新顯示溫度
- }
- }
- /*****************************************************************************/
復制代碼
|
-
-
3位共陰數(shù)碼管溫度計.rar
2016-10-16 22:49 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
3.72 MB, 下載次數(shù): 458, 下載積分: 黑幣 -5
源程序
-
-
DS18B20溫度計原理圖.rar
2016-10-22 13:05 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
31.68 KB, 下載次數(shù): 198, 下載積分: 黑幣 -5
PADS9.5畫的
評分
-
查看全部評分
|