資源簡介
內包括protus仿真以及protel電路原理圖,keil程序運行無誤,論文,并且有學習視頻及軟件壓縮包。功能介紹:本設計為一種溫控風扇系統,具有靈敏的溫度感測和顯示功能,系統STC89C52單片機作為控制平臺對風扇轉速進行控制。可由用戶設置高、低溫度值,測得溫度值在高低溫度之間時打開風扇弱風檔,當溫度升高超過所設定的溫度時自動切換到大風檔,當溫度小于所設定的溫度時自動關閉風扇,控制狀態隨外界溫度而定。所設高低溫值保存在溫度傳感器DS18B20內部E2ROM中,掉電后仍然能保存上次設定值,性能穩定,控制準確。
代碼片段和文件信息
#include??//包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
#include?“intrins.h“ ???
#define?????uchar?? unsigned?char
#define?????uint??? unsigned?int
uchar?yushe_wendu=40; //溫度預設值高
uchar?yushe_wendu_L=25; //溫度預設值低
uint?wendu;? //溫度值全局變量
//運行模式??
uchar?Mode=0; ? //
//管腳聲明
sbit?pwm?=?P1^1;??
uchar?f_pwm_l?; ??//越小越暗
void?Init_Timer0(void);
void?Init_Timer1(void);
bit?ReadTempFlag;//定義讀時間標志
//管腳聲明
sbit?DQ?=?P1^0; ?//ds18b20的數據引腳
#define???SMG_NUM???4
uchar?code?DisplayNum[16]={
0xc0 //0
0xf9 //1
0xa4 //2
0xb0 //3
0x99 //4
0x92 //5
0x82 //6
0xf8 //7
0x80 //8
0x90 //9
0x88 //A
0x83 //b
0xc6 //C
0xa1 //d
0x86 //E
0x8e //F
};
//
uchar?code?DisplayOther[]={
0xff? //0 空
0x7f? //1 “.“
0xbf //2 “-“???pgfe?dcba
0xa7 //3 c?????1010?0111
0x89
0xc7
};
/********************************************************************
*?名稱?:?delay_1ms()
*?功能?:?延時1ms函數
*?輸入?:?q
*?輸出?:?無
***********************************************************************/
void?delay_ms(uint?q)
{
uint?ij;
for(i=0;i for(j=0;j<110;j++);
}
//數碼管位選定義
sbit?smg_we1?=?P2^0; ????//東西數碼管2
sbit?smg_we2?=?P2^1; //東西數碼管1
sbit?smg_we3?=?P2^2; //南北數碼管2
sbit?smg_we4?=?P2^3; //南北數碼管1
/***********************數碼位選函數*****************************/
void?smg_we_switch(uchar?i)
{
switch(i)
{
case?0:?smg_we1?=?0;??smg_we2?=?1;?smg_we3?=?1;??smg_we4?=?1;?break;
case?1:?smg_we1?=?1;??smg_we2?=?0;?smg_we3?=?1;??smg_we4?=?1;?break;
case?2:?smg_we1?=?1;??smg_we2?=?1;?smg_we3?=?0;??smg_we4?=?1;?break;
case?3:?smg_we1?=?1;??smg_we2?=?1;?smg_we3?=?1;??smg_we4?=?0;?break;
}
}
/********************************************************************
*?名稱?:?uchar?ChangeFor(uchar?dat)
*?功能?:?交換一個字節位的位置用于數碼管顯示
*?輸入?:?需要改變的數
*?輸出?:?改變后的數
***********************************************************************/
#define?LED_a 0 //數碼管段選的a段接在段選IO口的第0位
#define?LED_b 2
#define?LED_c 6
#define?LED_d 4
#define?LED_e 3
#define?LED_f 1
#define?LED_g 7
#define?LED_dp 5
uchar?ChangeFor(uchar?dat)
{
uchar?temp=0;
if(dat&0x01) //判斷數據的第一位是否為1
temp|=0x01< if(dat&0x02)
temp|=0x01< if(dat&0x04)
temp|=0x01< if(dat&0x08)
temp|=0x01< if(dat&0x10)
temp|=0x01< if(dat&0x20)
temp|=0x01< if(dat&0x40)
temp|=0x01< if(dat&0x80)
temp|=0x01< return?temp;
}
uchar?dis_smg[SMG_NUM]; //顯示緩存數組
/********************************************************************
*?名稱?:?display()
*?功能?:?數碼管顯示
*?輸入?:?無
*?輸出?:?無
***********************************************************************/
void?DisplayScan()
{
static?uchar?i;
P0?=?0xff; ??????????//消隱?
smg_we_switch(i);?? ?? //位選
P0?= ChangeFor(dis_smg[i]); ??//段選 ??
i++;
if(i>=SMG_NUM)
i=0;
}
/*****延時子程序:該延時主要用于ds18b20延時*****/
void?Delay_DS18B20(in
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-06-01?08:33??1設計資料\
?????目錄???????????0??2017-05-31?15:16??1設計資料\01__c程序+注釋\
?????目錄???????????0??2017-05-31?15:16??1設計資料\01__c程序+注釋\Debug\
?????文件???????33792??2017-04-26?19:03??1設計資料\01__c程序+注釋\Debug\vc60.idb
?????文件???????28672??2017-04-26?19:03??1設計資料\01__c程序+注釋\Debug\vc60.pdb
?????目錄???????????0??2017-05-31?15:16??1設計資料\01__c程序+注釋\keil4版\
?????文件???????16325??2017-05-24?19:30??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇
?????文件???????10760??2017-05-24?19:30??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇.c
?????文件????????5617??2017-05-24?19:30??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇.hex
?????文件??????????56??2017-05-24?19:30??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇.lnp
?????文件???????23944??2017-05-24?19:30??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇.LST
?????文件???????23058??2017-05-24?19:30??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇.M51
?????文件???????18676??2017-05-24?19:30??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇.OBJ
?????文件????????1068??2017-05-24?19:30??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇.plg
?????文件???????71951??2017-04-26?16:42??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇.uvgui.Zhang?Liqiang
?????文件???????71951??2017-04-26?16:43??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇.uvgui_Zhang?Liqiang.bak
?????文件???????54918??2017-05-24?21:20??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇.uvopt
?????文件???????13290??2017-04-26?19:14??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇.uvproj
?????文件???????54918??2017-05-15?18:55??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇_uvopt.bak
?????文件???????13476??2017-04-26?16:42??1設計資料\01__c程序+注釋\keil4版\智能溫控風扇_uvproj.bak
?????文件?????????162??2017-04-27?16:18??1設計資料\01__c程序+注釋\~$智能溫控風扇.docx
?????文件???????10734??2017-04-26?16:41??1設計資料\01__c程序+注釋\智能溫控風扇.c
?????文件???????24861??2017-04-28?13:05??1設計資料\01__c程序+注釋\智能溫控風扇.docx
?????文件????????3473??2017-04-26?19:03??1設計資料\01__c程序+注釋\智能溫控風扇.dsp
?????文件?????????532??2017-04-26?21:47??1設計資料\01__c程序+注釋\智能溫控風扇.dsw
?????文件???????33792??2017-04-26?21:47??1設計資料\01__c程序+注釋\智能溫控風扇.ncb
?????文件???????48640??2017-04-26?21:47??1設計資料\01__c程序+注釋\智能溫控風扇.opt
?????文件????????1355??2017-04-26?19:03??1設計資料\01__c程序+注釋\智能溫控風扇.plg
?????文件???????10734??2017-04-26?16:41??1設計資料\01__c程序+注釋\智能溫控風扇.txt
?????目錄???????????0??2017-06-01?08:10??1設計資料\02__原理圖\
?????文件???????43305??2017-05-31?20:35??1設計資料\02__原理圖\Backup?of?Backup?of?智能溫控風扇?-?硬件電路.sch
............此處省略153個文件信息
評論
共有 條評論