版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、/PT100 自身溫度范圍 #define M_temper_MIN -200 / 最低溫度 #define M_temper_MAX 500 / 最高溫度 /CPU 引腳定義 #define P_LED P0 sbit LED_ S1 = =P2 A 0; /LED1 位選 sbit LED_ S2 = =P2 a 1; /LED2 位選 sbit LED_ S3 = P2 A 2; /LED3 位選 sbit LED_ S4 = P2 A 3; /LED4 位選 sbit KEY_ S1 = P1 A 0; / 上下限溫度設(shè)置 sbit KEY_ S2 = P1 A 1; / 溫度加 sb
2、it KEY_ S3 = P1 A 2; / 溫度減 / 全局變量寄存器 位LED顯示寄存器 編碼表 uchar M_LED1, M_LED2, M_LED3, M_LED4; /4 uchar LED_DISP_TAB = /LED 0X3f, 0X06, 0X5b, 0X4f, 0X66, 0X40, 0X23, 0X1c, 0X58 / 字符: - n u c ; 0X6d, 0X7d, 0X07, 0X7f, 0X6f, /0-9 uchar Set_count; / 溫度設(shè)置按鈕計數(shù) uchar T0_count; /T0 定時中斷計數(shù) uint T1_count; /T1 定時中斷
3、計數(shù) char M_temper_up; / 溫度上限 char M_temper_down; / 溫度下限 char M_temper_AI; / 設(shè)置中溫度 char M_temper_conver; / 當(dāng)前溫度 bit B_set,B_set_AI; / 溫度設(shè)置標(biāo)志 bit B_set_T0,B_set_ T1; / 定時器中斷標(biāo)志 / 函數(shù)聲明 void T1int_init(); /* 定時器 T1 初始化: 設(shè)置工作方式 賦初值 開啟中斷 */ void T0int_init(); /* 定時器 T0 初始化: 設(shè)置工作方式 賦初值 開啟中斷 */ void Set_tempe
4、r(); /* 設(shè)置上下限溫度: 按鍵次數(shù) =1:顯示上限溫度并處于操作狀態(tài) 按鍵次數(shù) =2:顯示下限溫度并處于操作狀態(tài) 按鍵次數(shù) =3:保存設(shè)置值并退出 */ void Inc_temper(); /* 提高設(shè)置的溫度 */ void Dec_temper(); /* 降低設(shè)置的溫度*/ void LED_data_BCD(char Disp_dat); /* 數(shù)碼管顯示溫度*/ void PT100_delay(uint count); /* PT100 延時程序 */ void PT100_reset(void); /*PT100 復(fù)位初始程序:根據(jù) PT100 要求對其進(jìn)行復(fù)位初始控制
5、 */ bit PT100_readbit(void) ; */ /*PT100 位讀子程序: 從 PT100 取出一位數(shù)據(jù) uchar PT100_readbyte(void); /*PT100 字節(jié)讀子程序: 讀出的一字節(jié)數(shù)據(jù)并返回數(shù)據(jù)值 */ void PT100_writebyte(uchar dat); /*PT100 字節(jié)寫子程序: 將輸入?yún)?shù)值寫入 PT100 */ void PT100_change(void); / 啟動 PT100 溫度轉(zhuǎn)換 uchar PT100_Gettemper(void); /*讀取PT100溫度數(shù)據(jù):單線方式讀取PT100轉(zhuǎn)換的溫度數(shù)據(jù), 并返回處
6、理后的溫度值*/ void Delay_ms(uint count); / void main() uchar M_temper_curr; SP=0 x50;/ M_temper_up =100; / M_temper_down=0; Delay_ms(500); T0int_init(); /T0 T1 T1int_init(); 延時子程序:延時 count (ms) 堆棧起始地址 初始溫度上下限 初始化 while(1) if (B_set_T0) /T0 定時讀取溫度標(biāo)志 EA=0; / 關(guān)總中斷 B_set_T0=0; if(!B_set) / 上下限設(shè)置狀態(tài)時,取消溫度讀取 PT
7、100_change(); / 讀取溫度 M_temper_curr=PT100_Gettemper(); M_temper_conver=(M_temper_curr 126 (127-M_temper_curr):M_temper_curr); / 轉(zhuǎn)換正負(fù)溫度 LED_data_BCD(M_temper_conver); /轉(zhuǎn)換LED顯示 EA=1; if (B_set_T1)T1定時LED顯示掃描標(biāo)志 TR1=0;B_set_T1=0; +T1_count; switch (T1_count) / 依次顯示 4 位 LED case 1: LED_S4 = 1; P_LED = LED
8、_DISP_TABM_LED1; LED_S1 = 0; break; case 2: LED_S1 = 1; P_LED = LED_DISP_TABM_LED2; LED_S2 = 0; break; case 3: LED_S2 = 1; P_LED = LED_DISP_TABM_LED3; LED_S3 = 0; break; case 4: LED_S3 = 1; P_LED = LED_DISP_TABM_LED4; LED_S4 = 0; T1_count = 0; break; TR1=1; / 開 T1 定時器 if (M_temper_converM_temper_dow
9、n) RED_ALARM=B_RED_OFF; GREEN_ALARM=B_GREEN_OFF; else BUZZ=B_BUZZ_ON; if(M_temper_converM_temper_down) RED_ALARM=B_RED_ON; / 低于下限溫度 else GREEN_ALARM=B_GREEN_ON; / 高于上限溫度 if (!KEY_S1) / 按鍵檢測 設(shè)置溫度 Set_temper(); / Delay_ms(200); if (B_set) if (!KEY_S2) Inc_temper(); / 溫度加 Delay_ms(200); if (!KEY_S3) De
10、c_temper(); / 溫度減 Delay_ms(200); void Set_temper()/設(shè)置溫度 +Set_count; B_set = 1; / 設(shè)置標(biāo)志 if (Set_count = 1) / 設(shè)置上限 將原上限溫度取出 B_set_AI = 0;LED_data_BCD(M_temper_up); M_temper_AI = M_temper_up; / void Dec_temper() / 溫度減 else if (Set_count = 2) / B_set_AI = 1; M_temper_up = M_temper_AI; / LED_data_BCD(M_te
11、mper_down); M_temper_AI = M_temper_down; / 設(shè)置下限 存入新的上限溫度 將原下限溫度取出 else / 確認(rèn) 退出 B_set = 0; 存入新的下限溫度 Set_count = 0; M_temper_down = M_temper_AI; / void Inc_temper() / 溫度加 if (B_set_AI) / 判斷當(dāng)前是設(shè)置上限 (0) 還是下限 (1) if (M_temper_AI M_temper_MAX) / 不能加到上線溫度和溫度范圍 else if (M_temper_AI M_temper_MIN) M_temper_AI
12、-; else if (M_temper_AI M_temper_MIN) LED_data_BCD(M_temper_AI); void PT100_delay(uint count) /PT100 特定延時 uint i; while(count) 復(fù)位初始 位讀子程序 i=200; while(i0) i-; count-; void PT100_reset(void) /PT100 uint i; DQ=0; i=103; while(i0)i-; DQ=1; i=4; while(i0)i-; bit PT100_readbit(void) /PT100 uint i; bit da
13、t; DQ=1;_nop_(); DQ=0;i+; DQ=1;i+;i+; dat=DQ; i=8;while(i0)i-; return (dat); uchar PT100_readbyte(void) /PT100 字節(jié)讀子程序 uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=PT100_readbit(); dat=(j1); / 把讀取的數(shù)據(jù)一位一位放進(jìn)去 return(dat); 字節(jié)寫子程序 void PT100_writebyte(uchar dat) /PT100 uint i; uchar j; bit testb; for(j=1;j1;
14、if(testb) /write 1 DQ=0; i+;i+; DQ=1; i=8;while(i0)i-; else DQ=0; /write 0 i=8;while(i0)i-; DQ=1; i+;i+; void PT100_change(void) /啟動 PT100 溫度轉(zhuǎn)換 PT100_reset(); PT100_delay(1); PT100_writebyte(0 xcc); PT100_writebyte(0 x44); uchar PT100_Gettemper() / 讀取 PT100 溫度數(shù)據(jù) uint temp; uchar M_temper_L=0,M_tempe
15、r_H=0; PT100_reset(); PT100_delay(1); PT100_writebyte(0 xcc); PT100_writebyte(0 xbe); M_temper_L=PT100_readbyte(); M_temper_H=PT100_readbyte(); temp=M_temper_H; / 溫度數(shù)據(jù)處理 temp0 xf0) / 正 (0) 負(fù) (1) 溫度值 temp=(0 x1000-(temp / 計算溫度 else temp=temp/16; M_temper_H=temp; return M_temper_H; void LED_data_BCD(char Disp_dat) /顯示數(shù)據(jù) LED編碼處理 if (Di
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)間合資經(jīng)營合同范本3篇
- 二零二五年建筑工程銷售合同編號規(guī)則與范本3篇
- 二零二五年新型安保人員派遣合作協(xié)議2篇
- 頭皮裂傷的護(hù)理查房
- 個人投資者參股公司規(guī)范合同書版B版
- 2024美容美發(fā)店美容美發(fā)設(shè)備更新?lián)Q購合同3篇
- 國慶節(jié)慶典活動策劃
- IT項目管理大學(xué)
- 二零二五年度P2P出借平臺投資者權(quán)益保護(hù)與糾紛解決合同3篇
- 2024版斷橋鋁封窗技術(shù)咨詢與服務(wù)合同
- 光伏電站運維課件
- 糧庫工程合同范本
- 江蘇省蘇州市2023-2024學(xué)年高一上學(xué)期期末學(xué)業(yè)質(zhì)量陽光指標(biāo)調(diào)研試題+物理 含解析
- 農(nóng)業(yè)合作社線上線下營銷方案
- 研發(fā)實驗室安全培訓(xùn)
- 地測防治水技能競賽理論考試題庫(含答案)
- 電信公司網(wǎng)絡(luò)安全管理制度
- 安全生產(chǎn)標(biāo)準(zhǔn)化知識培訓(xùn)考核試卷
- 中考英語復(fù)習(xí)分析如何寫英語高分作文課件
- 以諾書-中英對照
- 2024年中職高考數(shù)學(xué)計算訓(xùn)練 專題11 平面向量的基本計算(含答案解析)
評論
0/150
提交評論