找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 581|回复: 7
收起左侧

STC8H1K28单片机温度为什么没有显示?哪里错了

[复制链接]
ID:72649 发表于 2023-12-1 22:25 | 显示全部楼层 |阅读模式
  1. /*************  功能说明    **************

  2. 本例程基于STC8H1K24为主控芯片的STC8H实验箱9进行编写测试

  3. 4位数码管显示,显示范围-40度-160度

  4. 下载时钟选择 6 MHZ   adc为P17

  5. ******************************************/

  6. #include <STC8H.h>


  7. code unsigned char DuanMa[]={        //段码P27-P20分别对应a-h
  8.         0x03,/*0*/
  9.         0x9F,/*1*/
  10.         0x25,/*2*/
  11.         0x0D,/*3*/
  12.         0x99,/*4*/
  13.         0x49,/*5*/
  14.         0x41,/*6*/
  15.         0x1F,/*7*/
  16.         0x01,/*8*/
  17.         0x09,/*9*/};

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

  183. #define SMG_WeiShu 3
  184. idata unsigned char SMG_HuanCun[SMG_WeiShu];//数码管缓存

  185. void main()
  186.         {
  187.         P_SW2=0x80;

  188.                 P0M0 = 0x00; P0M1 = 0x00;
  189.     P1M0 = 0x00; P1M1 = 0xc0;
  190.     P2M0 = 0x00; P2M1 = 0x00;
  191.     P3M0 = 0x00; P3M1 = 0x00;
  192.     P4M0 = 0x00; P4M1 = 0x00;
  193.     P5M0 = 0x00; P5M1 = 0x00;
  194.     P6M0 = 0x00; P6M1 = 0x00;
  195.     P7M0 = 0x00; P7M1 = 0x00;

  196.         P1IE=0xF7;
  197.         ADCCFG=0x20;
  198.         TH0=0xF9;
  199.         IP=0x02;
  200.         TCON=0x50;
  201.         IE=0xAA;
  202.         for(;;)PCON|=0x01;//省电模式
  203. }

  204. SMG_SaoMiao()interrupt 1
  205. {//数码管扫描
  206.         static idata unsigned char a;
  207.         switch (a)
  208.   {
  209.           case2:P14 = 0 ;P15 = 1; P33 = 1;                  break;    //P14 P15 P33位码
  210.           case1:P14 = 1 ;P15 = 0; P33 = 1;                  break;
  211.                 case0:P14 = 1 ;P15 = 1; P33 = 0;                  break;
  212.   }
  213.         P2=SMG_HuanCun[a];
  214.         if(++a>=SMG_WeiShu)a=0;
  215. }

  216. ShiZhong()interrupt 3
  217. {//时钟
  218.         idata unsigned char HM;
  219.         if(++HM>4)
  220.                 {//调节刷新速度
  221.                 HM=0;
  222.                 ADC_CONTR=0xC7;//开始测量ADC
  223.           }
  224. }

  225. NTC_DuWenDu()interrupt 5
  226. {
  227.         //NTC读温度
  228.         idata unsigned char b,c;
  229.         idata unsigned int a;
  230.         ADC_CONTR=0x80;
  231.         a=4096-(ADC_RES<<8|ADC_RESL);
  232.         for(b=1;b<sizeof(DuiZhaoBiao)/2;b++)
  233.         {
  234.                 if(a<DuiZhaoBiao[b])
  235.                         {
  236.                         idata char d;
  237.                         SMG_HuanCun[0]=DuanMa[(a-DuiZhaoBiao[b-1])*10/(DuiZhaoBiao[b]-DuiZhaoBiao[b-1])];//计算小数
  238.                         d=b-40;
  239.                         SMG_HuanCun[1]=DuanMa[d%10]&0x7F;//显示小数点
  240.                         c=d/10%10;
  241.                         if(c==0)
  242.                                         {
  243.                                         if(d<0)SMG_HuanCun[2]=0xBF;//负号
  244.                                         else SMG_HuanCun[2]=0xFF;//高位消0
  245.                                         SMG_HuanCun[3]=0xFF;//高位消0
  246.                                         return;
  247.                                         }
  248.                         else SMG_HuanCun[2]=DuanMa[c];
  249.                         c=d/100%10;
  250.                         if(c==0)
  251.                                         {
  252.                                         if(d<0)SMG_HuanCun[3]=0xBF;//负号
  253.                                         else SMG_HuanCun[3]=0xFF;//高位消0
  254.                                         }
  255.                         else SMG_HuanCun[3]=DuanMa[c];
  256.                         return;
  257.                  }
  258.         }
  259. }
复制代码


回复

使用道具 举报

ID:72649 发表于 2023-12-3 11:01 | 显示全部楼层
难道没有人知道?
回复

使用道具 举报

ID:744809 发表于 2023-12-4 09:06 | 显示全部楼层
ShiZhong()interrupt 3
{//时钟
        static idata unsigned char HM;
        if(++HM>4)
                {//调节刷新速度
                HM=0;
                ADC_CONTR=0xC7;//开始测量ADC
          }
}
回复

使用道具 举报

ID:980889 发表于 2023-12-4 09:08 来自手机 | 显示全部楼层
硬件的图呢?还有例程有配套的原理图吗,和自己的硬件对比看看吧
回复

使用道具 举报

ID:72649 发表于 2023-12-4 15:32 来自手机 | 显示全部楼层
C_Y_J 发表于 2023-12-4 09:08
硬件的图呢?还有例程有配套的原理图吗,和自己的硬件对比看看吧

修改的图在下面,段码P27-20对应a-h。
Image_1701183792951.jpg
回复

使用道具 举报

ID:72649 发表于 2023-12-4 15:35 来自手机 | 显示全部楼层
C_Y_J 发表于 2023-12-4 09:08
硬件的图呢?还有例程有配套的原理图吗,和自己的硬件对比看看吧

这个是程序对应的图纸。
IMG_20231204_153458.png
回复

使用道具 举报

ID:161164 发表于 2023-12-7 10:37 | 显示全部楼层
2023-12-07_103610.png
???
上电初始化后就进掉电模式,当然不显示啦
回复

使用道具 举报

ID:72649 发表于 2023-12-12 19:00 | 显示全部楼层
lkc8210 发表于 2023-12-7 10:37
???
上电初始化后就进掉电模式,当然不显示啦

/*************  功能说明    **************

本例程基于STC8H8K64U为主控芯片的STC8H实验箱9进行编写测试

4位数码管显示,显示范围-40度-160度

下载时钟选择 6 MHZ

请使用C51 9.61或更高的版本编译本项目

******************************************/
#include <STC8H.h>
#define SMG_WeiShu 4   //数码管位数

code unsigned char DuanMa[]={//段码
// 0    1    2    3    4    5    6    7    8    9
  0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,
};

//电子温度表测量范围-40-120度
//MF52E 10K at 25, B = 3950, ADC = 12 bits
code unsigned int DuiZhaoBiao[]={//对照表
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表