欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9800|回復(fù): 25
收起左側(cè)

NTC10K熱敏電阻溫度計(jì)單片機(jī)程序,謝謝各位師博幫忙看看!

  [復(fù)制鏈接]
回帖獎勵 10 黑幣 回復(fù)本帖可獲得 10 黑幣獎勵! 每人限 1 次
ID:17109 發(fā)表于 2019-5-9 11:15 | 顯示全部樓層 |閱讀模式
熱敏電阻程序定義是P1.7,想改成P1.6的要什么改才有效,謝謝各位師博幫忙看看
#include <reg52.h>

sfr ADC_CONTR = 0XBC;        //轉(zhuǎn)換控制寄存器
sfr ADC_RES = 0XBD;                //轉(zhuǎn)換結(jié)果高8位
sfr ADC_LOW2 = 0XBE;        //轉(zhuǎn)換結(jié)果低2位
sfr P1ASF = 0X9D;                        //I/O口模式

#define ADC_POWER 0X80                //電源位
#define ADC_FLAG         0X10                //標(biāo)置位
#define ADC_START 0X08                //開啟位

//=======延時(shí)============
void ADdelay(unsigned char i)
{
        while(i--);
}
//=======初始化=========
void InitADC()
{
        P1ASF=0xC0;                                    //設(shè)P1.6和P1.7為ADC轉(zhuǎn)換
        ADC_RES=0;
        ADC_CONTR=ADC_POWER; //啟動ADC電源
        ADdelay(200);        
}
//=======P1AD轉(zhuǎn)換啟動=======
void ADCP1STA(unsigned char lch)
{
        ADC_CONTR=ADC_POWER|ADC_START|lch; //選擇一路啟動轉(zhuǎn)換采集
}
//=======獲取轉(zhuǎn)換結(jié)果=======
unsigned char GetADC(void)
{
        while(!(ADC_CONTR&ADC_FLAG));
        ADC_CONTR&=~ADC_FLAG;      //停止AD轉(zhuǎn)換
        return ADC_RES;
}


NTC10K溫度計(jì).rar

38.61 KB, 下載次數(shù): 178

回復(fù)

使用道具 舉報(bào)

ID:487604 發(fā)表于 2019-5-9 12:22 | 顯示全部樓層
//=======初始化=========
void InitADC()
{
        P1ASF=0xC0;                                    //設(shè)P1.6和P1.7為ADC轉(zhuǎn)換
        ADC_RES=0;
        ADC_CONTR=ADC_POWER; //啟動ADC電源
        ADdelay(200);        
}
//=======P1AD轉(zhuǎn)換啟動=======
void ADCP1STA(unsigned char lch)
{
        ADC_CONTR=ADC_POWER|ADC_START|lch; //選擇一路啟動轉(zhuǎn)換采集
}
這是你的源代碼,InitADC()函數(shù)已經(jīng)把P1.6和P1.7設(shè)為模擬輸入,也就是ADC轉(zhuǎn)換通道,啟動ADC轉(zhuǎn)換的時(shí)候調(diào)用ADCP1STA(unsigned char lch)函數(shù),lch的輸入6就是對P1.6進(jìn)行ADC轉(zhuǎn)換,lch的輸入7就是對P1.7進(jìn)行ADC轉(zhuǎn)換,

下面是改過的代碼

//=======初始化=========
void InitADC()
{     /*****下面3行代碼用哪,就把不用的屏蔽**********************/
        P1ASF=0xC0;                                    //設(shè)P1.6和P1.7為ADC轉(zhuǎn)換
     //   P1ASF=0x40;                                    //只設(shè)P1.6為ADC轉(zhuǎn)換
     //   P1ASF=0x80;                                    //只設(shè)P1.7為ADC轉(zhuǎn)換   /********************************************************/

        ADC_RES=0;
        ADC_CONTR=ADC_POWER; //啟動ADC電源
        ADdelay(200);        
}



STC12系列官方資料,第九章是AD轉(zhuǎn)換
回復(fù)

使用道具 舉報(bào)

ID:518085 發(fā)表于 2019-5-9 13:14 | 顯示全部樓層
P1ASF=0xC0;   改為 P1ASF=0x40;   作為A/D使用的口需先將P1ASF特殊功能寄存
器中的相應(yīng)位置為‘1’,將相應(yīng)的口設(shè)置為模擬功能。
回復(fù)

使用道具 舉報(bào)

ID:94031 發(fā)表于 2019-5-9 13:59 | 顯示全部樓層
傳統(tǒng)51是不帶AD的,你得說明你用的是什么型號的單片機(jī)。
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2019-5-9 15:33 | 顯示全部樓層
1、端口號改一下。(定義P1.7的變量改定義為P1.6)
2、采樣通道號改一下。(采樣命令下達(dá)的命令代碼由通道7改為通道6)
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2019-5-9 15:58 | 顯示全部樓層
改這樣P1.6或P1.7隨便用,只要在主程序改        ADCP1STA(6);//啟動AD轉(zhuǎn)換 或 ADCP1STA(7); //啟動AD轉(zhuǎn)換

  1. #include <reg52.h>

  2. sfr ADC_CONTR = 0XBC;        //轉(zhuǎn)換控制寄存器
  3. sfr ADC_RES = 0XBD;                //轉(zhuǎn)換結(jié)果高8位
  4. sfr ADC_LOW2 = 0XBE;        //轉(zhuǎn)換結(jié)果低2位
  5. sfr P1ASF = 0X9D;                        //I/O口模式

  6. #define ADC_POWER 0X80                //電源位
  7. #define ADC_FLAG         0X10                //標(biāo)置位
  8. #define ADC_START 0X08                //開啟位

  9. //=======延時(shí)============
  10. void ADdelay(unsigned char i)
  11. {
  12.         while(i--);
  13. }
  14. //=======初始化=========
  15. void InitADC()
  16. {
  17.         P1M1 = 0xc0;                                 //設(shè)置P1.6,P1.7高阻
  18.         P1M0 = 0x00;
  19.         P1ASF=0xC0;                                    //設(shè)P1.6和P1.7為ADC轉(zhuǎn)換
  20.         ADC_RES=0;
  21.         ADC_CONTR=ADC_POWER; //啟動ADC電源
  22.         ADdelay(200);       
  23. }
  24. //=======P1AD轉(zhuǎn)換啟動=======
  25. void ADCP1STA(unsigned char lch)
  26. {
  27.         ADC_CONTR=ADC_POWER|ADC_START|lch; //選擇一路啟動轉(zhuǎn)換采集
  28. }
  29. //=======獲取轉(zhuǎn)換結(jié)果=======
  30. unsigned char GetADC(void)
  31. {
  32.         while(!(ADC_CONTR&ADC_FLAG));
  33.         ADC_CONTR&=~ADC_FLAG;      //停止AD轉(zhuǎn)換
  34.         return ADC_RES;
  35. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2019-5-9 19:04 | 顯示全部樓層
//頭文件:
#include <reg52.h>
#include "SMG4.h"
#include "STCADC.h"

//常量表                               
code unsigned char tempbuf[] ={188,186,184,181,179,177,175,172,170,168,166,165,164,163,
                                                                                                                                161,158,155,152,149,146,143,139,136,133,130,128,125,122,
                                                                                                                                119,117,115,112,110,108,105,103,101,99,97,95,93,91,89,87,
                                                                                                                                85,83,81,79,77,76,74};                //0~50度的對應(yīng)值,通過熱敏電阻的B值表計(jì)算所得
//變量定義
unsigned char ly_temp=0;                        //保存溫度值

//主函數(shù)       
void main(void)  
{
        unsigned char i;
        InitADC();
               
        while(1){               
                ADCP1STA(7);                      //啟動AD轉(zhuǎn)換  <------ 想改成P1.6的要改成ADCP1STA(6)才有效
                ly_temp=GetADC();                        //讀取AD轉(zhuǎn)換值
               
                for(i=0;i<50;i++)                        //比較獲得正確的溫度值
                {
                        if(ly_temp>tempbuf[i])
                                break;
                }
                ly_temp=--i;
                       
                ly_SMGcp[2]=1;          //在第三位數(shù)碼上顯示點(diǎn)       
                ly_SMGbuf[2]=11;        //顯示單位C
                ly_SMGbuf[3]=10;        //第四位不顯示
               
                ly_SMGbuf[0]=ly_temp/10;                //溫度的十位和個(gè)位分開                       
                ly_SMGbuf[1]=ly_temp%10;
                       
                DisPlayS(10000);        //調(diào)用顯示函數(shù)
        }
}

回復(fù)

使用道具 舉報(bào)

ID:17109 發(fā)表于 2019-5-9 23:48 來自觸屏版 | 顯示全部樓層
angmall 發(fā)表于 2019-5-9 19:04
//頭文件:
#include
#include "SMG4.h"

師傅你好這個(gè)溫度計(jì)能測0~50度能否可以修改增加到99度嗎
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2019-5-10 06:40 | 顯示全部樓層
ll13536121668 發(fā)表于 2019-5-9 23:48
師傅你好這個(gè)溫度計(jì)能測0~50度能否可以修改增加到99度嗎

可以修改

//        MF52E 10K at 25, B = 3950, ADC = 12 bits
u16 code temp_table[]={
                140,        //;-40        0
                149,        //;-39        1
                159,        //;-38        2
                168,        //;-37        3
                178,        //;-36        4
                188,        //;-35        5
                199,        //;-34        6
                210,        //;-33        7
                222,        //;-32        8
                233,        //;-31        9
                246,        //;-30        10
                259,        //;-29        11
                272,        //;-28        12
                286,        //;-27        13
                301,        //;-26        14
                317,        //;-25        15
                333,        //;-24        16
                349,        //;-23        17
                367,        //;-22        18
                385,        //;-21        19
                403,        //;-20        20
                423,        //;-19        21
                443,        //;-18        22
                464,        //;-17        23
                486,        //;-16        24
                509,        //;-15        25
                533,        //;-14        26
                558,        //;-13        27
                583,        //;-12        28
                610,        //;-11        29
                638,        //;-10        30
                667,        //;-9        31
                696,        //;-8        32
                727,        //;-7        33
                758,        //;-6        34
                791,        //;-5        35
                824,        //;-4        36
                858,        //;-3        37
                893,        //;-2        38
                929,        //;-1        39
                965,        //;0        40
                1003,        //;1        41
                1041,        //;2        42
                1080,        //;3        43
                1119,        //;4        44
                1160,        //;5        45
                1201,        //;6        46
                1243,        //;7        47
                1285,        //;8        48
                1328,        //;9        49
                1371,        //;10        50
                1414,        //;11        51
                1459,        //;12        52
                1503,        //;13        53
                1548,        //;14        54
                1593,        //;15        55
                1638,        //;16        56
                1684,        //;17        57
                1730,        //;18        58
                1775,        //;19        59
                1821,        //;20        60
                1867,        //;21        61
                1912,        //;22        62
                1958,        //;23        63
                2003,        //;24        64
                2048,        //;25        65
                2093,        //;26        66
                2137,        //;27        67
                2182,        //;28        68
                2225,        //;29        69
                2269,        //;30        70
                2312,        //;31        71
                2354,        //;32        72
                2397,        //;33        73
                2438,        //;34        74
                2479,        //;35        75
                2519,        //;36        76
                2559,        //;37        77
                2598,        //;38        78
                2637,        //;39        79
                2675,        //;40        80
                2712,        //;41        81
                2748,        //;42        82
                2784,        //;43        83
                2819,        //;44        84
                2853,        //;45        85
                2887,        //;46        86
                2920,        //;47        87
                2952,        //;48        88
                2984,        //;49        89
                3014,        //;50        90
                3044,        //;51        91
                3073,        //;52        92
                3102,        //;53        93
                3130,        //;54        94
                3157,        //;55        95
                3183,        //;56        96
                3209,        //;57        97
                3234,        //;58        98
                3259,        //;59        99
                3283,        //;60        100
                3306,        //;61        101
                3328,        //;62        102
                3351,        //;63        103
                3372,        //;64        104
                3393,        //;65        105
                3413,        //;66        106
                3432,        //;67        107
                3452,        //;68        108
                3470,        //;69        109
                3488,        //;70        110
                3506,        //;71        111
                3523,        //;72        112
                3539,        //;73        113
                3555,        //;74        114
                3571,        //;75        115
                3586,        //;76        116
                3601,        //;77        117
                3615,        //;78        118
                3628,        //;79        119
                3642,        //;80        120
                3655,        //;81        121
                3667,        //;82        122
                3679,        //;83        123
                3691,        //;84        124
                3702,        //;85        125
                3714,        //;86        126
                3724,        //;87        127
                3735,        //;88        128
                3745,        //;89        129
                3754,        //;90        130
                3764,        //;91        131
                3773,        //;92        132
                3782,        //;93        133
                3791,        //;94        134
                3799,        //;95        135
                3807,        //;96        136
                3815,        //;97        137
                3822,        //;98        138
                3830,        //;99        139
                3837,        //;100        140
                3844,        //;101        141
                3850,        //;102        142
                3857,        //;103        143
                3863,        //;104        144
                3869,        //;105        145
                3875,        //;106        146
                3881,        //;107        147
                3887,        //;108        148
                3892,        //;109        149
                3897,        //;110        150
                3902,        //;111        151
                3907,        //;112        152
                3912,        //;113        153
                3917,        //;114        154
                3921,        //;115        155
                3926,        //;116        156
                3930,        //;117        157
                3934,        //;118        158
                3938,        //;119        159
                3942        //;120        160
};
回復(fù)

使用道具 舉報(bào)

ID:17109 發(fā)表于 2019-5-10 12:39 來自觸屏版 | 顯示全部樓層
angmall 發(fā)表于 2019-5-10 06:40
可以修改

//        MF52E 10K at 25, B = 3950, ADC = 12 bits

師傅能上傳上面這條代碼的,打包好的源程序嗎謝謝!
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2019-5-10 17:31 | 顯示全部樓層
ll13536121668 發(fā)表于 2019-5-10 12:39
師傅能上傳上面這條代碼的,打包好的源程序嗎謝謝!

打包好的源程序

NTC測溫度-C和匯編.zip

91.5 KB, 下載次數(shù): 188

回復(fù)

使用道具 舉報(bào)

ID:17109 發(fā)表于 2019-5-11 11:12 | 顯示全部樓層

師傅上傳一個(gè)1寸時(shí)鐘的資料給你看看,帶有四位LED的數(shù)字鐘,帶兩只按鍵可以切換NTC溫度計(jì)顯示的,測溫很準(zhǔn),程序里面看不到有NTC阻值表,看看能不能把NTC溫度修改分離充電就顯示溫度計(jì)
回復(fù)

使用道具 舉報(bào)

ID:17109 發(fā)表于 2019-5-11 11:14 | 顯示全部樓層
師傅上傳一個(gè)1寸時(shí)鐘的資料給你看看,帶有四位LED的數(shù)字鐘,帶兩只按鍵可以切換NTC溫度計(jì)顯示的,測溫很準(zhǔn),程序里面看不到有NTC阻值表,看看能不能把NTC溫度修改分離充電就顯示溫度計(jì)

1寸時(shí)鐘資料.rar

810.12 KB, 下載次數(shù): 86

回復(fù)

使用道具 舉報(bào)

ID:17109 發(fā)表于 2019-5-11 11:15 | 顯示全部樓層
本帖最后由 ll13536121668 于 2019-5-11 17:15 編輯

師傅上傳一個(gè)1寸時(shí)鐘的資料給你看看,帶有四位LED的數(shù)字鐘,帶兩只按鍵可以切換NTC溫度計(jì)顯示的,測溫很準(zhǔn),程序里面看不到有NTC阻值表,看看能不能把NTC溫度修改分離充電就顯示溫度計(jì)
回復(fù)

使用道具 舉報(bào)

ID:149451 發(fā)表于 2019-5-12 07:28 | 顯示全部樓層
我覺得12樓的靠譜,不錯(cuò)的........
回復(fù)

使用道具 舉報(bào)

ID:17109 發(fā)表于 2019-5-12 18:43 來自觸屏版 | 顯示全部樓層
angmall 發(fā)表于 2019-5-10 17:31
打包好的源程序

師博修改成顯示溫度的可以嗎上傳看看
回復(fù)

使用道具 舉報(bào)

ID:79544 發(fā)表于 2019-6-24 16:14 | 顯示全部樓層
學(xué)習(xí)啦!!!!!!!!!!!!
回復(fù)

使用道具 舉報(bào)

ID:171556 發(fā)表于 2019-6-25 16:14 | 顯示全部樓層
公式計(jì)算方便地
回復(fù)

使用道具 舉報(bào)

ID:573568 發(fā)表于 2019-10-11 08:59 | 顯示全部樓層
學(xué)習(xí)一下,正好在弄這方面的。
回復(fù)

使用道具 舉報(bào)

ID:361422 發(fā)表于 2020-2-24 16:00 | 顯示全部樓層
謝謝各位師傅,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:697350 發(fā)表于 2020-2-26 11:28 | 顯示全部樓層

謝謝各位師傅,長見識 了。
回復(fù)

使用道具 舉報(bào)

ID:725316 發(fā)表于 2020-5-10 09:45 | 顯示全部樓層
大家好,我用P1.6腳作ADC輸出,測P1其余腳均只有1.1V左右,無法作作I/O腳用,請問怎么解決?
回復(fù)

使用道具 舉報(bào)

ID:725316 發(fā)表于 2020-5-10 09:54 | 顯示全部樓層
大家好,請問P1口其他腳可以作I/O腳用嗎?
回復(fù)

使用道具 舉報(bào)

ID:725316 發(fā)表于 2020-5-10 09:56 | 顯示全部樓層
775144281 發(fā)表于 2020-2-26 11:28
謝謝各位師傅,長見識 了。

新手報(bào)到!請各位高手指教
回復(fù)

使用道具 舉報(bào)

ID:741634 發(fā)表于 2020-5-10 13:29 | 顯示全部樓層
謝謝各位師傅,又漲了一點(diǎn)見識
回復(fù)

使用道具 舉報(bào)

ID:748312 發(fā)表于 2020-5-10 14:25 | 顯示全部樓層
謝謝分享資料
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表