這個很實用,主要用來給電熱水懷加熱控制的。
制作出來的實物圖如下:
15444612081920.17350934727717082.jpg (316.43 KB, 下載次數: 54)
下載附件
2018-12-11 01:00 上傳
20181211_005103.jpg (298.74 KB, 下載次數: 56)
下載附件
2018-12-11 00:58 上傳
20181211_005117.jpg (317.07 KB, 下載次數: 58)
下載附件
2018-12-11 00:58 上傳
20181211_005128.jpg (326.3 KB, 下載次數: 46)
下載附件
2018-12-11 00:58 上傳
單片機源碼:
- //* 基于STC15W408AS的NTC溫度計設計 */
- /* 測溫范圍-40°~110° */
- //NTC使用MF52-103/3435;10K±1%精度;B值:3435±1%
- //NTC溫度輸出端子接P1.7
- #include "reg52.h"
- #include "intrins.h"
- #define uchar unsigned char
- #define uint unsigned int
- //聲明增加的寄存器地址
- sfr AUXR = 0x8e; //輔助寄存器
- sfr P3M0 = 0xB2; //P3口引腳模式寄存器
- sfr P2M0 = 0x96; //P2口引腳模式寄存器
- sfr P1M0 = 0x92; //P1口引腳模式寄存器
- sfr ADC_CONTR = 0xBC;//A/D 轉換控制寄存器 ADC_POWER,SPEED1,SPEED0,ADC_FLAG,ADC_START,CHS2,CHS1,CHS0;0000,0000
- sfr ADC_RES = 0xBD;//A/D 轉換結果高8位 ADCV.9 ADCV.8 ADCV.7 ADCV.6 ADCV.5 ADCV.4 ADCV.3 ADCV.2;0000,0000
- sfr ADC_RESL = 0xBE;//A/D 轉換結果低2位 ADCV.1 ADCV.0;0000,0000
- sfr P1ASF = 0x9D;//P1引腳功能選擇寄存器
- #define ADC_POWER 0x80 //ADC電源控制位
- #define ADC_FLAG 0x10 //ADC完成標志位
- #define ADC_START 0x08 //ADC啟動控制位
- #define ADC_SPEED0 0x00 //ADC轉換速度,一次轉換需要540個時鐘
- #define ADC_SPEED1 0x20 //ADC轉換速度,一次轉換需要360個時鐘
- #define ADC_SPEED2 0x40 //ADC轉換速度,一次轉換需要180個時鐘
- #define ADC_SPEED3 0x60 //ADC轉換速度,一次轉換需要90個時鐘
- #define N 8 //ADC采樣使用遞推平均濾波算法,采樣次數
- unsigned int Temp_Buf[N+1]; //采樣數組
- unsigned char Ledcount,ADCcount; //數碼管顯示計數變量,ADC采樣次數變量
- sbit SCL=P2^0; //CLK
- sbit SDA=P2^1; //DIO
- sbit k1 = P2^2;//綠色線
- sbit k2= P2^3;//白色線
- sbit out = P2^4;//輸出繼電器
- int set,wd;//設置溫度
- sbit scl_24=P2^5;//24c02時鐘線
- sbit sda_24=P2^6;//24c02數據線
- void usdelay()
- {
- _nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();
- }
- /***************以下開始為24CXX用子程序**********************/
- void star24() //開始信號
- {//時鐘線在高電平時,數據線由高變低即為開始信號 由高變低即為開始信號
- sda_24=1;
- usdelay();
- scl_24=1;
- usdelay();
- sda_24=0;//數據線由高變低即為開始信號
- usdelay();
- scl_24=0;
- }
- void stop24() //結束信號
- {//時鐘線在高電平時,數據線由低變高即為結束信號
- sda_24=0;
- usdelay();
- scl_24=1;
- usdelay();
- sda_24=1;
- usdelay();
- sda_24=0; //這句可有可無
- scl_24=0; //這句可有可無
- }
- void Ack24()//應答
- { uchar i;
- scl_24=1;
- usdelay();
- while((sda_24==1)&&(i<200))i++;
- scl_24=0;
- usdelay();
- }
- /*
- void NoAck24() //不應答
- {
- sda_24=1; //時鐘線高電平時,數據線高,即為不應答
- usdelay();
- scl_24=1;
- usdelay();
- scl_24=0;
- usdelay();
- } */
- /**********24c0初始化***************************/
- void init_24()
- {
- sda_24=1;
- usdelay();
- scl_24=1;
- usdelay();
- }
- /**********讀數據24c02***************************/
- void write_byte(uchar dat)
- {
- uchar i,temp;
- temp=dat;
- //scl_24=0;//低電平可以變數據,為高時是讀,且不能變
- for(i=0;i<8;i++)
- {
- temp=temp<<1;
- scl_24=0;
- usdelay();
- sda_24=CY;//CY是PSW寄存器中的CY位,再把CY賦給SDA,再由SCL控制發出去
- //sda_24=(bit)(temp&0x80);//用這句也可以換掉上一句(bit)是強制轉換命令,把數據轉成非0即1
- usdelay();
- scl_24=1;
- usdelay();
- }
- scl_24=0;
- usdelay();
- sda_24=1;//釋放總線
- usdelay();
- }
- /**********讀數據24c02***************************/
- uchar read_byte()
- {
- uchar i,k;
- scl_24=0; //這句可有可無
- usdelay(); //這句可有可無
- sda_24=1; //釋放總線
- usdelay();
- for(i=0;i<8;i++)
- {
- scl_24=1;
- usdelay();
- k=(k<<1)|sda_24;//判斷8次,移位7次
- scl_24=0;
- usdelay();
- }
- return k;
- }
- /**********寫24c02指定地址的數據***************************/
- void write_add(uchar add,uchar dat)
- {
- star24();
- write_byte(0xa0);//呼叫器件,高四位為定了的1010,即A,低四位三個接了地,所以為000,最后一個0是寫標志
- Ack24();//寫了后要馬上應答
- write_byte(add);//寫要往哪個地址寫數據00-1023
- Ack24();//每寫一次要給一個應答位
- write_byte(dat);//把數據寫入
- Ack24();
- stop24();//給一個停止位,結束寫數據
- }
- /**********讀數據24c02指定地址的數據***************************/
- uchar read_add(uchar add)
- {
- uchar dat;
- star24();
- write_byte(0xa0);//呼叫器件,高四位為定了的1010,即A,低四位三個接了地,所以為000,最后一個0是寫標志
- Ack24();//寫了后要馬上應答
- write_byte(add);//寫入要往哪個地址讀數據00-1023
- Ack24();//每寫一次要給一個應答位
- star24();
- write_byte(0xa1);//呼叫器件,高四位為定了的1010,即A,低四位三個接了地,所以為000,最后一個1是讀標志
- Ack24();//寫了后要馬上應答
- dat=read_byte();
- stop24();//給一個停止位,結束讀數據
- return dat;//返回一個DAT(數據)
- }
- unsigned char code xsbcdbuf[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77};
- unsigned int sum,tempvalue;//溫度
- /*************************************
- NTC阻值與溫度關系表
- Vcc---NTC(±1%)---R(10K±1%)---GND
- |
- ADC端子
- NTC使用MF52-103/3435;10K±1%精度;B值:3435±1%
- **************************************/
- unsigned int code NTCcode[] = {
- /*ADC采樣值****溫度值*******電阻值**********/
- 0x033, // -40.00 190.5562
- 0x034, // -39.00 183.4132
- 0x037, // -38.00 175.6740
- 0x039, // -37.00 167.6467
- 0x03c, // -36.00 159.5647
- 0x03f, // -35.00 151.5975
- 0x042, // -34.00 143.8624
- 0x045, // -33.00 136.4361
- 0x049, // -32.00 129.3641
- 0x04d, // -31.00 122.6678
- 0x050, // -30.00 116.3519
- 0x054, // -29.00 110.4098
- 0x059, // -28.00 104.8272
- 0x05d, // -27.00 99.5847
- 0x061, // -26.00 94.6608
- 0x066, // -25.00 90.0326
- 0x06a, // -24.00 85.6778
- 0x06f, // -23.00 81.5747
- 0x074, // -22.00 77.7031
- 0x079, // -21.00 74.0442
- 0x07e, // -20.00 70.5811
- 0x084, // -19.00 67.2987
- 0x089, // -18.00 64.1834
- 0x08f, // -17.00 61.2233
- 0x095, // -16.00 58.4080
- 0x09b, // -15.00 55.7284
- 0x0a1, // -14.00 53.1766
- 0x0a8, // -13.00 50.7456
- 0x0af, // -12.00 48.4294
- 0x0b5, // -11.00 46.2224
- 0x0bd, // -10.00 44.1201
- 0x0c4, // -9.00 42.1180
- 0x0cb, // -8.00 40.2121
- 0x0d3, // -7.00 38.3988
- 0x0db, // -6.00 36.6746
- 0x0e3, // -5.00 35.0362
- 0x0eb, // -4.00 33.4802
- 0x0f3, // -3.00 32.0035
- 0x0fb, // -2.00 30.6028
- 0x0104, // -1.00 29.2750
- 0x010d, // 0.00 28.0170
- 0x0115, // 1.00 26.8255
- 0x011e, // 2.00 25.6972
- 0x0127, // 3.00 24.6290
- 0x0130, // 4.00 23.6176
- 0x0139, // 5.00 22.6597
- 0x0142, // 6.00 21.7522
- 0x014b, // 7.00 20.8916
- 0x0154, // 8.00 20.0749
- 0x015d, // 9.00 19.2988
- 0x0166, // 10.00 18.5600
- 0x0167, // 11.00 18.4818
- 0x016b, // 12.00 18.1489
- 0x0172, // 13.00 17.6316
- 0x017b, // 14.00 16.9917
- 0x0185, // 15.00 16.2797
- 0x0190, // 16.00 15.5350
- 0x019c, // 17.00 14.7867
- 0x01a9, // 18.00 14.0551
- 0x01b6, // 19.00 13.3536
- 0x01c2, // 20.00 12.6900
- 0x01cf, // 21.00 12.0684
- 0x01dc, // 22.00 11.4900
- 0x01e8, // 23.00 10.9539
- 0x01f4, // 24.00 10.4582
- 0x01ff, // 25.00 10.0000
- 0x020a, // 26.00 9.5762
- 0x0215, // 27.00 9.1835
- 0x021f, // 28.00 8.8186
- 0x0229, // 29.00 8.4784
- 0x0233, // 30.00 8.1600
- 0x023c, // 31.00 7.8608
- 0x0245, // 32.00 7.5785
- 0x024e, // 33.00 7.3109
- 0x0257, // 34.00 7.0564
- 0x0260, // 35.00 6.8133
- 0x0268, // 36.00 6.5806
- 0x0271, // 37.00 6.3570
- 0x0279, // 38.00 6.1418
- 0x0282, // 39.00 5.9343
- 0x028a, // 40.00 5.7340
- 0x0292, // 41.00 5.5405
- 0x029a, // 42.00 5.3534
- 0x02a2, // 43.00 5.1725
- 0x02aa, // 44.00 4.9976
- 0x02b1, // 45.00 4.8286
- 0x02b9, // 46.00 4.6652
- 0x02c1, // 47.00 4.5073
- 0x02c8, // 48.00 4.3548
- 0x02d0, // 49.00 4.2075
- 0x02d7, // 50.00 4.0650
- 0x02de, // 51.00 3.9271
- 0x02e5, // 52.00 3.7936
- 0x02ec, // 53.00 3.6639
- 0x02f3, // 54.00 3.5377
- 0x02fa, // 55.00 3.4146
- 0x0301, // 56.00 3.2939
- 0x0308, // 57.00 3.1752
- 0x030f, // 58.00 3.0579
- 0x0316, // 59.00 2.9414
- 0x031d, // 60.00 2.8250
- 0x0320, // 61.00 2.7762
- 0x0324, // 62.00 2.7179
- 0x0328, // 63.00 2.6523
- 0x032d, // 64.00 2.5817
- 0x0331, // 65.00 2.5076
- 0x0336, // 66.00 2.4319
- 0x033b, // 67.00 2.3557
- 0x0341, // 68.00 2.2803
- 0x0346, // 69.00 2.2065
- 0x034b, // 70.00 2.1350
- 0x034f, // 71.00 2.0661
- 0x0354, // 72.00 2.0004
- 0x0358, // 73.00 1.9378
- 0x035d, // 74.00 1.8785
- 0x0361, // 75.00 1.8225
- 0x0365, // 76.00 1.7696
- 0x0368, // 77.00 1.7197
- 0x036c, // 78.00 1.6727
- 0x036f, // 79.00 1.6282
- 0x0372, // 80.00 1.5860
- 0x0376, // 81.00 1.5458
- 0x0378, // 82.00 1.5075
- 0x037b, // 83.00 1.4707
- 0x037e, // 84.00 1.4352
- 0x0381, // 85.00 1.4006
- 0x0383, // 86.00 1.3669
- 0x0386, // 87.00 1.3337
- 0x0389, // 88.00 1.3009
- 0x038b, // 89.00 1.2684
- 0x038e, // 90.00 1.2360
- 0x0391, // 91.00 1.2037
- 0x0393, // 92.00 1.1714
- 0x0396, // 93.00 1.1390
- 0x0399, // 94.00 1.1067
- 0x039b, // 95.00 1.0744
- 0x039e, // 96.00 1.0422
- 0x03a1, // 97.00 1.0104
- 0x03a3, // 98.00 0.9789
- 0x03a6, // 99.00 0.9481
- 0x03a8, // 100.00 0.9180
- 0x03ab, // 101.00 0.8889
- 0x03ad, // 102.00 0.8610
- 0x03b0, // 103.00 0.8346
- 0x03b2, // 104.00 0.8099
- 0x03b4, // 105.00 0.7870
- 0x03b6, // 106.00 0.7665
- 0x03b7, // 107.00 0.7485
- 0x03b9, // 108.00 0.7334
- 0x03ba, // 109.00 0.7214
- 0x03ba // 110.00 0.7130
- };
- /******************************
- 函數說明:延時函數,執行一次1毫秒,STC_ISP_V6.21軟件給出
- 入口參數:i=延時毫秒數
- 出口參數:無
- ******************************/
- void Delay_MS(unsigned int ms)
- {
- unsigned char i, j;
- while(ms--)
- {
- i = 6; j = 211;
- do{
- while (--j);
- } while (--i);
- }
- }
- void IIC_delay(void)
- {
- unsigned char i;
- for(i=0;i<20;i++) _nop_();
- }
- void start_IIC(void)// 啟動IIC
- {
- SCL=1; //給芯片發送開始信號
- SDA=1;
- IIC_delay();
- SDA=0;
- IIC_delay();
- SCL=0; //開始信號傳送完
- IIC_delay();
- }
- void stop_IIC(void) //停止IIC
- {
- SCL=0;
- IIC_delay();
- SDA=0;
- IIC_delay();
- SCL=1;
- IIC_delay();
- SDA=1;
- }
- void ack_IIC()
- {
- SCL=0;
- _nop_();_nop_();_nop_();
- while(SDA);
- SCL=1;
- _nop_();_nop_();_nop_();
- SCL=0;
- }
- void WriteByte(unsigned char WriteData) //寫一個字節數據
- {
- unsigned char i;
- for(i=0;i<8;i++)//開始傳送8位數據,每循環一次傳送一位數據
- {
- SCL=0;
- IIC_delay();
- WriteData=WriteData>>1;
- SDA=CY;
- IIC_delay();
- SCL=1;
- IIC_delay();
- }
- //8位數據傳送完
- ack_IIC(); //判斷芯片發過來的ACK應答信號
- }
- void write_LEDSROM(unsigned char addr,unsigned char WData) //寫一字節數據到LEDSROM
- {
- start_IIC(); //調用開始信號
- WriteByte(addr); //寫起始地址命令(0C0H),地址00H單元。
- WriteByte(WData);//給顯示寄存器寫顯示數據,值可根據實參改變
- stop_IIC(); //調用結束信號,一個字節命令發送完畢,可以發送下一個命令
- }
- /******************************
- 函數說明:初始化ADC寄存器,設置P1.7為ADC輸入功能
- 入口參數:無
- 出口參數:無
- ******************************/
- void Init_ADC(void)
- {
- P1ASF = 0x80; //打開P1.7口的ADC功能
- ADC_RES = 0;
- ADC_RESL= 0; //清掉ADC轉換結果寄存器
- ADC_CONTR = ADC_POWER | ADC_SPEED3; //使能A/D供電,設置轉換速度90T
- }
- /******************************
- 函數說明:查詢方式讀取ADC轉換結果
- 入口參數:ch ADC采樣通道
- 出口參數:int ADC_RES ADC轉換結果
- ******************************/
- unsigned int Get_ADC_Result(unsigned char ch)
- {
- unsigned int result;
- ADC_RES = 0;
- ADC_RESL= 0; //清掉ADC轉換結果寄存器
- ADC_CONTR =ADC_POWER|ADC_SPEED3|ch|ADC_START;//配置ADC,設置轉換通道,啟動轉換
- _nop_(); _nop_();
- _nop_(); _nop_(); //等待設置ADC_POWER完畢
- while (!(ADC_CONTR & ADC_FLAG));//讀取轉換完畢標志位ADC_FLAG
- ADC_CONTR &= ~ADC_FLAG; //清除ADC_FLAG標志位
- result = ADC_RES<<2|ADC_RESL; //讀取10位轉換結果保存到result
- return result; //返回ADC轉換結果10位
- }
- void Timer0Init(void)//定時器0,方式0(16位自動重裝),2毫秒@6.000MHz
- {
- AUXR &= 0x7F; //定時器時鐘12T模式
- TMOD &= 0xF0; //設置定時器模式
- TL0 = 0x18; //設置定時初值
- TH0 = 0xFC; //設置定時初值
- TF0 = 0; //清除TF0標志
- TR0 = 1; //定時器0開始計時
- }
- void display(int temp) //顯示
- {
-
- SDA=1;
- SCL=1;
- start_IIC(); //調用開始信號
- WriteByte(0x40);//寫命令40H(數據設置)
- stop_IIC(); //調用結束信號,一個字節命令發送完畢,可以發送下一個命令
-
-
- //write_LEDSROM(0xC1,xsbcdbuf[temp/1000]); //第一個數碼管
- write_LEDSROM(0xC1,xsbcdbuf[temp%1000/100]); //第二個數碼管,0x80打開DP小數點
- // write_LEDSROM(0xC1,xsbcdbuf[temp%1000/100]|0x80); //第二個數碼管,0x80打開DP小數點
- write_LEDSROM(0xC2,xsbcdbuf[temp%100/10]); //第三個數碼管
- // write_LEDSROM(0xC3,xsbcdbuf[temp%10]);//第四個數碼管
-
- write_LEDSROM(0xC0,0x00);//第四個數碼管
- write_LEDSROM(0xC3,0x58);//第四個數碼管
-
-
-
-
- IIC_delay();
- start_IIC(); //調用開始信號
- WriteByte(0x8a); //送開屏命令,(8BH),亮度可以根據低三位調節。//顯示亮度
- stop_IIC(); //調用結束信號,一個字節命令發送完畢,可以發送下一個命令
- }
- void display2(int temp) //顯示
- {
-
- SDA=1;
- SCL=1;
- start_IIC(); //調用開始信號
- WriteByte(0x40);//寫命令40H(數據設置)
- stop_IIC(); //調用結束信號,一個字節命令發送完畢,可以發送下一個命令
-
-
- //write_LEDSROM(0xC1,xsbcdbuf[temp/1000]); //第一個數碼管
- write_LEDSROM(0xC1,xsbcdbuf[temp%1000/100]); //第二個數碼管,0x80打開DP小數點
- // write_LEDSROM(0xC1,xsbcdbuf[temp%1000/100]|0x80); //第二個數碼管,0x80打開DP小數點
- write_LEDSROM(0xC2,xsbcdbuf[temp%100/10]); //第三個數碼管
- // write_LEDSROM(0xC3,xsbcdbuf[temp%10]);//第四個數碼管
-
- write_LEDSROM(0xC0,0x40);//第四個數碼管
- write_LEDSROM(0xC3,0x58);//第四個數碼管
-
-
-
-
- IIC_delay();
- start_IIC(); //調用開始信號
- WriteByte(0x8a); //送開屏命令,(8BH),亮度可以根據低三位調節。//顯示亮度
- stop_IIC(); //調用結束信號,一個字節命令發送完畢,可以發送下一個命令
- }
- void display3(int temp) //顯示
- {
-
- SDA=1;
- SCL=1;
- start_IIC(); //調用開始信號
- WriteByte(0x40);//寫命令40H(數據設置)
- stop_IIC(); //調用結束信號,一個字節命令發送完畢,可以發送下一個命令
-
-
- //write_LEDSROM(0xC1,xsbcdbuf[temp/1000]); //第一個數碼管
- // write_LEDSROM(0xC1,xsbcdbuf[temp%1000/100]); //第二個數碼管,0x80打開DP小數點
- // write_LEDSROM(0xC1,xsbcdbuf[temp%1000/100]|0x80); //第二個數碼管,0x80打開DP小數點
- write_LEDSROM(0xC1,xsbcdbuf[temp%100/10]); //第三個數碼管
- write_LEDSROM(0xC2,xsbcdbuf[temp%10]);//第四個數碼管
-
- write_LEDSROM(0xC0,0x49);//第四個數碼管
- write_LEDSROM(0xC3,0x58);//第四個數碼管
-
-
-
-
- IIC_delay();
- start_IIC(); //調用開始信號
- WriteByte(0x8a); //送開屏命令,(8BH),亮度可以根據低三位調節。//顯示亮度
- stop_IIC(); //調用結束信號,一個字節命令發送完畢,可以發送下一個命令
- }
- /******************************
- 函數說明:獲取溫度值
- 入口參數:無
- 出口參數:無
- ******************************/
- void Get_Temp(void)
- {
- unsigned char xx;
- uint a,i;
- sum = tempvalue =0;
- Temp_Buf[N]=Get_ADC_Result(7); //將ADC轉換結果放數組最高位
-
- if( ++ADCcount < 8) //采樣初期不使用濾波算法
- {
- for(xx=0;xx<N;xx++) //準備濾波算法的數據
- {
- Temp_Buf[xx]=Temp_Buf[xx+1];//所有數據循環左移
- }
- tempvalue=Temp_Buf[N];//采樣初期使用當前采樣值
- }
- else //只有采樣次數大于8次以后才使用濾波算法
- {
- ADCcount=8; //采樣次數超過8次后,固定設置為8
- for(xx=0;xx<N;xx++) //濾波算法
- {
- Temp_Buf[xx]=Temp_Buf[xx+1];//所有數據循環左移
- sum+=Temp_Buf[xx]; //求和
- }
- tempvalue=sum/N; //求平均值
- }
- xx=0;
- while( tempvalue > NTCcode[xx] ) //將當前溫度值與溫度表對比,得到所在位置
- { xx++; }
- tempvalue=xx*10 + (tempvalue*10 - NTCcode[xx-1]*10)/( NTCcode[xx] - NTCcode[xx-1] );
- //插值法計算溫度,將數據全部擴大10倍,使小數變為整數
- //tempvalue=tempvalue-30;//修正溫度,比正常高3.0度(擴大10倍為30)
-
-
- if(tempvalue>400) //正溫度(大于0度)
- {
- tempvalue=tempvalue-400; //取得0°以上溫度
- display(tempvalue);//顯示溫度值 display
-
- }
- else //負溫度(小于0度)
- {
- tempvalue=410-tempvalue; //取得0°以下溫度
- //插值法計算溫度,將數據全部擴大10倍,使小數變為整數,+5是四舍五入
- display2(tempvalue);//顯示溫度值
- }
- if(tempvalue>=set)
- {
- out=1;//繼電器工作停止
- }
- else
- {
- out=0;//繼電器工作輸出
- }
-
-
- if(k1==0)//加溫度
- {
- set=set+10;
- if(set>=990)set=990;
- for(a=5;a>0;a--) //多顯示一會兒
- {
- display3(wd); //顯示設置溫度
- write_add(0,wd);//在地址2 寫入min
- Delay_MS(1);
- }
- }
-
- if(k2==0)//加溫度
- {
- set=set-10;
- if(set<=10)set=10;
- for(a=5;a>0;a--) //多顯示一會兒
- {
- display3(wd); //顯示設置溫度
- write_add(0,wd);//在地址2 寫入min
- Delay_MS(1);
- }
- }
-
- }
- void main(void)
- {
-
- Init_ADC(); //初始化ADC
- ADCcount=0; //ADC采樣次數 //1.7
- //set=500;
- wd=set/10;//
- out=1;
- k1=1;
- k2=1;
- init_24();//24c02初始化
- Delay_MS(101);
- wd=read_add(0);//從地址( )中讀出以前保存的數據
- Delay_MS(101);
- set=wd*10;//放大數據用于參考輸出
- while(1)
- {
- Get_Temp(); //獲取溫度值
- Delay_MS(900);
-
- write_add(0,wd);//在地址2 寫入min
- Delay_MS(1);
- wd=set/10;//只保持255數據,用于讀寫24C02
- }
- }
復制代碼
全部資料51hei下載地址:
1637顯STC15按鈕24 C02 NTC10K溫度OK.zip
(69.5 KB, 下載次數: 171)
2018-12-11 00:58 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|