找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2121|回复: 2
收起左侧

pt100测温程序

[复制链接]
ID:357680 发表于 2018-6-24 11:28 | 显示全部楼层 |阅读模式
下载后可显示仿真图片,网上观看可能不支持图片
0.png 0.png

  1. #include"at89X52.h"
  2. sbit LCD_RS    =P2^0;
  3. sbit LCD_RW    =P2^1;
  4. sbit LCD_E    =P2^2;
  5. sbit ADC_CS    =P2^3;
  6. sbit ADC_WR   =P3^6;
  7. sbit ADC_RD    =P3^7;
  8. #define LCD_DATA P0
  9. unsigned char LcdBuf1[10]="";

  10. unsigned char code Bmp001[][8]=
  11. {
  12.   {0x06,0x09,0x09,0x06,0x00,0x00,0x00,0x00},
  13.   {0x06,0x09,0x10,0x10,0x10,0x09,0x06,0x00}
  14. };

  15. void dellay(unsigned int h)
  16. {
  17.   while(h--);   //0.01MS
  18. }

  19. void WriteDataLcd(unsigned char wdata)
  20. {
  21.   LCD_DATA=wdata;
  22.   LCD_RS=1;
  23.   LCD_RW=0;
  24.   LCD_E=0;
  25.   dellay(1000);
  26.   LCD_E=1;

  27. }

  28. void WriteCommandLcd(unsigned char wdata)
  29. {
  30.   LCD_DATA=wdata;
  31.   LCD_RS=0;
  32.   LCD_RW=0;
  33.   LCD_E=0;
  34.   dellay(1000);
  35.   LCD_E=1;
  36. }

  37. void lcd_init(void)
  38. {
  39.   LCD_DATA=0;
  40.   WriteCommandLcd(0x38);
  41.   dellay(1000);
  42.   WriteCommandLcd(0x38);
  43.   dellay(1000);
  44.   WriteCommandLcd(0x01);
  45.   WriteCommandLcd(0x0c);

  46. }

  47. void display_xy(unsigned char x,unsigned char y)
  48. {
  49.   if(y==1)
  50.     x+=0x40;
  51.    x+=0x80;
  52.    WriteCommandLcd(x);
  53. }

  54. void display_string(unsigned char x,unsigned char y,unsigned char *s)
  55. {
  56.   display_xy(x,y);
  57.   while(*s)
  58.     {
  59.       WriteDataLcd(*s);
  60.       s++;

  61.     }

  62. }

  63. void Write_CGRAM(unsigned char add,unsigned char *char_num)
  64. {
  65.   unsigned i;
  66.   add=add<<3;
  67.   WriteCommandLcd(0x40|add+8);
  68.   for(i=0;i<8;i++)
  69.    {
  70.      WriteDataLcd(*char_num++);

  71.    }
  72.   
  73. }

  74. void delayms()
  75. {
  76.   int i;
  77.   for(i=110;i>0;i--);

  78. }
  79. void delay1s()
  80. {
  81.   int i,j;
  82.   for(i=1000;i>0;i--);
  83.    for(j=110;j>0;j--);
  84. }

  85. void convert()
  86. {
  87.   unsigned long value;
  88.   char i;
  89.   unsigned long res;
  90.   int temp,temp2;
  91.   int w;
  92.   P1=0xff;
  93.   ADC_RD=0;
  94.   for(i=0;i<10;i++);
  95.   value=P1;
  96.   res=(float)(2550000+110000*value/30)/(2550-11*value/30);
  97.   temp=(float)(res*10000-10000000)/3851-545;
  98.   temp2 = temp;
  99.   if(temp >= 0)
  100.   {
  101.           for(i=6;temp>0;i--)
  102.            {
  103.              LcdBuf1[i]=temp%10+48;
  104.                  temp/=10;
  105.            }
  106.   }
  107.   if(temp < 0 )
  108.           {
  109.                
  110.                 w= -temp;
  111.               for(i=6;w>0;i--)
  112.            {
  113.              LcdBuf1[i]=w%10+48;
  114.                  w/=10;
  115.            }
  116.         }
  117.   if(i>=0&&temp<0)
  118.   {          
  119.             if(temp > -10)
  120.           {
  121.                   LcdBuf1[i] = '0';
  122.                   i--;
  123.           }
  124.           LcdBuf1[i] = '-';
  125.           i--;          
  126. /*          if(i==5)
  127.           {
  128.           LcdBuf1[5] = '0';
  129.           i --;
  130.           }
  131.           LcdBuf1[4] = '-';
  132.           i--;         */
  133.           
  134.   }
  135.   for(;i>=0;i--)
  136.   LcdBuf1[i]=' ';
  137.   for(i=0;i<5;i++)
  138.   LcdBuf1[i]=LcdBuf1[i+1];
  139.   if(LcdBuf1[4]==' ')LcdBuf1[4]='0';
  140.   LcdBuf1[5]='.';
  141.   LcdBuf1[7]=1;
  142.   LcdBuf1[8]='C';
  143.   WriteCommandLcd(0x84);
  144.   display_string(3,0,LcdBuf1);
  145.   ADC_RD=1;
  146.   ADC_WR=0;
  147.   for(i=0;i<10;i++)
  148.   ADC_WR=1;
  149.   delayms();


  150. }

  151. main()
  152. {
  153.   unsigned char i;
  154.   lcd_init();
  155.   for(i=0;i<2;i++)
  156.   Write_CGRAM(i,Bmp001[i]);
  157.   ADC_CS=0;
  158.   ADC_WR=0;
  159.   for(i=0;i<10;i++);
  160.   ADC_WR=1;
  161.   while(1)
  162.    {
  163.      convert();
  164.          delay1s();
  165.    }

  166. }
复制代码


pt100测温程序.zip

44.9 KB, 下载次数: 53, 下载积分: 黑币 -5

回复

使用道具 举报

ID:506839 发表于 2019-5-6 18:31 | 显示全部楼层
不建议下载,,wps格式
回复

使用道具 举报

ID:421308 发表于 2019-7-12 12:12 | 显示全部楼层
不是工程格式吗???
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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