找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4664|回复: 2
打印 上一主题 下一主题
收起左侧

STC12单片机+PT100温度测量程序 用Adc0832采集

[复制链接]
跳转到指定楼层
楼主
ID:241054 发表于 2017-10-19 19:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用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. }
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:234782 发表于 2018-10-8 11:09 | 只看该作者
你这个注释也太少了
回复

使用道具 举报

板凳
ID:421308 发表于 2019-7-13 12:38 | 只看该作者
有些地方都看不懂
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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