資源簡介
1.采用單片機作為控制器,用戶通過鍵盤輸入設定水溫,LCD顯示器顯示當前溫度與設定溫度;2.采用溫度傳感器檢測出水溫度,當溫度與設定溫度不符時,由單片機輸出控制步進電動機,帶動混水閥轉動,調節混水閥,直至水溫達到要求;3.設置溫度保護區間,當設置溫度高于46℃或低于35℃,LCD顯示“溫度過高”或“溫度過低”,保護用戶安全;

代碼片段和文件信息
#include?
#include?
#define?key_port??P0??//鍵盤接口定義
//--------------------------stepper?motor----------------
sbit?pulse?=?P2^1;????????????????????
sbit?dir???=?P2^2;
//-----------------------------------------STC??EEPROM------------------------------------------------------------------------
//--------------------------------------------------------------
void?EEPROM_Byte_Program(unsigned?char?strunsigned?char?address_hunsigned?char?address_l);
void?EEPROM_Sector_Program(unsigned?char?address_hunsigned?char?address_l);
unsigned?char??EEPROM_Byte_Read(unsigned?char?address_hunsigned?char?address_l);
sfr?ISP_DATA=0xe2;//ISP/IAP操作寄存器-----------------------------------------
sfr?ISP_ADDRH=0xe3;//ISP/IAP操作地址寄存器高位-----------------------------------------
sfr?ISP_ADDRL=0xe4;//ISP/IAP操作地址寄存器低位-----------------------------------------
sfr?ISP_CMD=0xe5;//ISP/IAP操作命令寄存器-----------------------------------------
sfr?ISP_TRIG=0xe6;//ISP/IAP操作命令觸發寄存器-----------------------------------------
sfr?ISP_CONTRL=0xe7;//ISP/IAP操作控制寄存器-----------------------------------------
?????//???????|bit7?|bit6?|bit5?|bit4?|bit3??|bit2?|bit1?|bit0?|??
?????//???????|ISPEN?|SWBS???|SWRST?|-*-?|-*-??|WT2-?|WT1-?|WT0-???|?
#define?ISP_BYTE_READ??1??????//字節讀
#define?ISP_BYTE_PROGRAM?2???//字節寫
#define?ISP_SECTOR_ERASE?3???//扇區擦除
#define?WAIT_TIME_40??0???//等待時間?40MHz以下是0;20MHz以下是1;10MHz以下是2;5MHz以下是3
#define?WAIT_TIME_20??1???//等待時間?40MHz以下是0;20MHz以下是1;10MHz以下是2;5MHz以下是3
#define?WAIT_TIME_10??2???//等待時間?40MHz以下是0;20MHz以下是1;10MHz以下是2;5MHz以下是3
#define?WAIT_TIME_5???3???//等待時間?40MHz以下是0;20MHz以下是1;10MHz以下是2;5MHz以下是3
#define?ISPEN????0X80
#define?SWBS????0X40
#define?SWRST????0X20
/*************************************************************************
??**?函數名稱:?void?EEPROM_Byte_Program(unsigned?char?strunsigned?char?address_hunsigned?char?address_l)
??**?功能描述:?EEPROM?字節寫,如果寫入地址的數據不是空(0xff),需要先經行扇區擦除
??**?輸 入:???str?輸入數據,address_h?寫入地址高位,address_l?寫入數據低位?
??**?輸出??:??無
??**?全局變量:?無
??**?調用模塊:?
??**?說明:
??**?注意:????如果寫入地址數據不為空(0xff),需要先經行扇區擦除
**************************************************************************/
void?EEPROM_Byte_Program(unsigned?char?strunsigned?char?address_hunsigned?char?address_l)
{
?ISP_DATA=str;????//送入寫入數據
?ISP_ADDRH=address_h;?//送入寫入地址高位?
?ISP_ADDRL=address_l;?//送入寫入地址低位
?EA=0;?????//希望在寫入EEPROM過程中不允許外部中斷
?ISP_CONTRL=(WAIT_TIME_40|ISPEN);//使能ISP,同時設置等待時間
?ISP_CMD=ISP_BYTE_PROGRAM;????//寫入字節寫命令
?ISP_TRIG=0X46;?????//先寫0X46?然后寫0xb9到ISP觸發寄存器
?ISP_TRIG=0XB9;
?_nop_();
?ISP_CONTRL=0X00;????//禁止ISP操作
?ISP_CMD?=0X00;?????//去除ISP命令
?ISP_TRIG=0X00;?????//防止ISP命令誤觸發
?ISP_ADDRH=0X00;?????//讓地址指向非EEPROM區,防止意外
?ISP_ADDRL=0X00;
?EA=1;???????//使能全局中斷
}
/*************************************************************************
??**?函數名稱:?void?EEPROM_Sector_Program(unsigned?char?address_hunsigned?char?address_l)
??**?功能描述:?EEPROM?扇區擦除,如果寫入地址的數據不是空(0xff),需要先經行扇區擦除
??**?輸 入:???address
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????34424??2011-04-17?15:31??混水閥成品code\main.c
?????文件??????56157??2011-04-17?15:31??混水閥成品code\main.LST
?????文件??????40201??2011-04-17?15:31??混水閥成品code\main.OBJ
?????文件??????34227??2011-04-17?15:31??混水閥成品code\watermixingvalve
?????文件??????10001??2011-04-17?15:31??混水閥成品code\watermixingvalve.hex
?????文件?????????52??2011-04-17?15:31??混水閥成品code\watermixingvalve.lnp
?????文件??????45607??2011-04-17?15:31??混水閥成品code\watermixingvalve.M51
?????文件???????1030??2011-04-17?11:58??混水閥成品code\watermixingvalve.Opt
?????文件???????5955??2011-04-17?15:31??混水閥成品code\watermixingvalve.plg
?????文件???????2156??2011-04-13?16:45??混水閥成品code\watermixingvalve.Uv2
?????文件???????1022??2011-04-17?11:41??混水閥成品code\watermixingvalve_Opt.Bak
?????文件???????2152??2011-04-10?14:40??混水閥成品code\watermixingvalve_Uv2.Bak
?????目錄??????????0??2011-06-01?00:12??混水閥成品code
-----------?---------??----------?-----??----
???????????????232984????????????????????13
- 上一篇:QT實現抗鋸齒圓形頭像
- 下一篇:安卓客戶端與服務端交互源代碼包括安卓端和web端)
評論
共有 條評論