标题: STC12单片机+PT100温度测量程序 用Adc0832采集 [打印本页]

作者: 3081809973    时间: 2017-10-19 19:53
标题: STC12单片机+PT100温度测量程序 用Adc0832采集
用PT100测量温度,模数转换软件用的Adc0832.

所有资料51hei提供下载:
0程序.rar (28.65 KB, 下载次数: 75)


stc12单片机源程序如下:
  1. #include<reg52.h>                //头文件
  2. #include"shuma.h"
  3. #include"adc0832.h"
  4. uchar adc0;
  5. uint adc;
  6. uchar i;
  7. long  sum1=0;
  8. uint temp1;
  9. uchar point1;
  10. uint xdata getdat1[50];

  11. //数码管位选   根据硬件来编
  12. sbit   wei1   =  P2^0;
  13. sbit   wei2   =  P2^1;
  14. sbit   wei3   =  P2^2;
  15. //sbit   wei4   =  P1^3;
  16. unsigned char dispbuf[4]={0,1,2,3};
  17. uchar dis_cod[]=
  18. {
  19. 0xA0,0xBB,0x62,0x2A,0x39,0x2C,0x24,0xBA,0x20,0x28,0x30,0x25,0xE4,0x23,0x64,0x74
  20. };

  21. //延时子函数
  22. void  delay0(uint z)
  23. {
  24.         uint i,j;
  25.         for(i=0;i<z;i++)
  26.                 for(j=0;j<110;j++);
  27. }

  28. //显示函数
  29. void  display()
  30. {
  31.    uchar i;
  32.    for(i=0;i<20;i++);
  33.    {

  34.                 wei1=0;wei2=1;wei3=1;//wei4=1;         //位选
  35.                 P0=dis_cod[dispbuf[0]];                                 //段选
  36.                 delay0(2);

  37.                 wei1=1;wei2=0;wei3=1;//wei4=1;                 //位选
  38.                 P0=dis_cod[dispbuf[1]];                                 //段选
  39.                 delay0(2);

  40.                 wei1=1;wei2=1;wei3=0;//wei4=1;                 //位选
  41.                 P0=dis_cod[dispbuf[2]];                                 //段选
  42.                 delay0(2);
  43.         
  44.         }
  45.         wei1=0;wei2=0;wei3=0;P0=0XFF;                        //关闭显示;起消隐作用哦。不懂的就问问老师咯“啥叫消隐”
  46. }

  47. void main(void)                        //主函数
  48. {
  49.         for(i=0;i<50;i++)getdat1[i]=0;

  50.         while(1)
  51.         {

  52.          dispbuf[0]=adc0%1000/100;  
  53.          dispbuf[1]=adc0%100/10;  
  54.          dispbuf[2]=adc0%10;
  55.          display();

  56.         temp1=67-31.0*(170-Adc0832(0))/79;//读AD转换结果 ;
  57.         sum1=sum1+temp1-getdat1[point1];
  58.         getdat1[point1]=temp1;
  59.         point1++;
  60.         point1=point1%50;
  61.         adc0=sum1/50;
  62.                      
  63.         }
  64. }
复制代码




作者: yulin3192    时间: 2018-10-8 11:09
你这个注释也太少了
作者: xiaozhong1314    时间: 2019-7-13 12:38
有些地方都看不懂




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1