unsigned int code wendubiao[62]={924,959,996,1033,1071,1110,1150,1190,1232,1273,1315,1358,1401,1443,1487,1501,1574,1619,1663,1706,1751,1756,1776,1810,1853,1903,1958,2017,2078,2141,2204,2266,2327,2387,2444,2500,2554,2607,2657,2706,2738,2800,2844,2889,2931,2974,3016,3056,3098,3139,3179,3218,3257,3296,3333,3372,3408,3446,3484,3519,3554,3590};//根據(jù)NTC電阻隨溫度變化進(jìn)而引起電壓變化得出的數(shù)據(jù),用來(lái)查表計(jì)算室溫(進(jìn)而對(duì)熱電偶冷端補(bǔ)償)
bit e=1,f=1,g,h=1;//e,f,h用來(lái)保存編碼器上一次的狀態(tài),g用來(lái)保存震動(dòng)開(kāi)關(guān)上一次的狀態(tài)
bit huancunkaiguan=0;//用于改變?cè)O(shè)定溫度后延時(shí)顯示設(shè)定溫度(而不是立刻顯示t12溫度)
bit xiumiankaiguan=0;//定義休眠開(kāi)關(guān)
bit xiumianjishukaiguan=0;//定義休眠計(jì)數(shù)開(kāi)關(guān)
bit ganggangkaiji=1;//定義剛剛開(kāi)機(jī)(用于確保剛開(kāi)機(jī)未震動(dòng)手柄能進(jìn)入休眠狀態(tài),因?yàn)槊看涡菝哂?jì)時(shí)是通過(guò)震動(dòng)傳感器狀態(tài)改變觸發(fā)的,而剛開(kāi)機(jī)手柄沒(méi)有震動(dòng)所以要特殊處理)
bit guanjikaiguan=0;//定義關(guān)機(jī)開(kāi)關(guān)
bit guanjijishukaiguan;//定義關(guān)機(jī)計(jì)數(shù)開(kāi)關(guān)
bit huifumoren=0;//是否恢復(fù)默認(rèn)參數(shù)
bit shezhimoshi=0;//設(shè)置模式還是正常工作模式
bit shezhixianshijishukaiguan;//用于設(shè)置模式延時(shí)顯示P01,P02等菜單項(xiàng)
bit jinzhicaozuo=1;//用于設(shè)置模式下某時(shí)刻禁止編碼器操作
bit xianship;//用于設(shè)置模式下顯示菜單P01,P02等的字母P
bit wendujiaqiang;//溫度加強(qiáng)開(kāi)關(guān)
bit wendujiaqiangjishukaiguan;//溫度加強(qiáng)計(jì)數(shù)開(kāi)關(guān)
bit moshijishukaiguan;//編碼器按下時(shí)間計(jì)數(shù)開(kāi)關(guān),用來(lái)判斷長(zhǎng)按還是短按
signed char wenduxiuzheng;
signed int huancun;//顯示函數(shù)直接顯示huancun,要顯示一個(gè)數(shù)據(jù)將必須這個(gè)數(shù)據(jù)賦值給緩存(由于數(shù)碼管只有三位,為了在顯示三位數(shù)同時(shí)保持四位數(shù)的精度,所以實(shí)際顯示的是數(shù)據(jù)除以10,支持顯示負(fù)數(shù).但是在參數(shù)設(shè)置模式下顯示的是實(shí)際值,不除以10)
signed int shiwen;//10倍實(shí)際室溫,即實(shí)際室溫乘以10(為了精確)(允許的室溫范圍為-11度至50度)
signed int t12wendu;//T12烙鐵頭的實(shí)際溫度(非熱電偶的溫差)(同樣為10倍溫度)
unsigned int jiareshu;//每200ms加熱周期內(nèi)需要加熱的次數(shù)(一次等于1ms,相當(dāng)于加熱占空比)
unsigned int huancunjishu;//用于改變?cè)O(shè)定溫度后保持顯示設(shè)定溫度一段時(shí)間再顯示t12溫度(而不是立刻顯示t12溫度)
unsigned int baocunwendu;//用于進(jìn)入休眠時(shí)保存退出休眠時(shí)恢復(fù)原來(lái)的設(shè)定溫度
unsigned int zengyi;//運(yùn)算放大器增益
unsigned int shezhixianshijishu;//設(shè)置模式中用于延時(shí)顯示菜單項(xiàng)
unsigned int moshijishu;//編碼器按下時(shí)間計(jì)數(shù),用來(lái)判斷長(zhǎng)按還是短按
unsigned int shijian;
unsigned long cankaodianya0,t12dianya,ntcdianya,dianyuandianya;//用于參考電壓(ADC后的直接數(shù)據(jù),未轉(zhuǎn)換為mV),計(jì)算電源電壓,熱電偶經(jīng)放大器放大后的電壓和NTC電阻確定的室溫電壓(單位均為mV)
unsigned long xiumianjishu;//等待多長(zhǎng)時(shí)間進(jìn)入休眠狀態(tài)(單位ms)
unsigned long guanjijishu;//等待多長(zhǎng)時(shí)間進(jìn)入關(guān)機(jī)狀態(tài)(單位ms)
unsigned long wendujiaqiangjishu;//多長(zhǎng)時(shí)間退出溫度加強(qiáng)模式(單位ms)
void display(signed int a)//顯示函數(shù)(顯示實(shí)際數(shù)據(jù)除以10(參數(shù)設(shè)置模式除外),支持顯示負(fù)數(shù),負(fù)數(shù)顯示方式為百位顯示負(fù)號(hào)"-"十位和個(gè)位顯示數(shù)據(jù))