找回密码
 立即注册

QQ登录

只需一步,快速开始

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

新手求助?*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS

[复制链接]
跳转到指定楼层
楼主
ID:978933 发表于 2021-11-14 19:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <reg52.h>
  2. #include <intrins.h>

  3. sbit RS=P2^0;   
  4. sbit RW=P2^1;
  5. sbit E=P1^2;
  6. sbit DQ=P1^4;

  7. sbit buzz=P0^6;
  8. unsigned char temp0,temp1,temp2,readtemp;
  9. unsigned char s[]={"Temp:"};
  10. unsigned char str[]={0,1,2,3,4,5,6,7,8,9};


  11. //************************************************************************
  12. void delay(unsigned int n)
  13. {
  14.   unsigned i=0,j=0;
  15.     for(i=0;i<n;i++)
  16.     {
  17.       for(j=0;j<120;j++);
  18.     }
  19. }
  20. //*************************ds18b20****************************************
  21. void Write_DS18B20(unsigned char dat)
  22. {
  23.         unsigned char i;
  24.         for(i=0;i<8;i++)
  25.         {
  26.                 DQ = 0;
  27.                 DQ = dat&0x01;
  28.                 delay(5);
  29.                 DQ = 1;
  30.                 dat >>= 1;
  31.         }
  32.         delay(5);
  33. }
  34. unsigned char Read_DS18B20(void)
  35. {
  36.         unsigned char i;
  37.         unsigned char dat;

  38.         for(i=0;i<8;i++)
  39.         {
  40.                 DQ = 0;
  41.                 dat >>= 1;
  42.                 DQ = 1;
  43.                 if(DQ)  
  44.                 {
  45.                         dat |= 0x80;
  46.                 }            
  47.                 delay(5);
  48.         }
  49.         return dat;
  50. }
  51. bit init_ds18b20(void)
  52. {
  53.           bit initflag = 0;
  54.          
  55.           DQ = 1;
  56.           delay(12);
  57.           DQ = 0;
  58.           delay(80);
  59.           DQ = 1;
  60.           delay(10);
  61.           initflag = DQ;     
  62.           delay(5);

  63.           return initflag;
  64. }
  65. unsigned char Readtemp(void)
  66. {
  67.     unsigned char low,high;
  68.           char temp;  

  69.           init_ds18b20();
  70.           Write_DS18B20(0xCC);
  71.           Write_DS18B20(0x44);
  72.           delay(200);

  73.           init_ds18b20();
  74.           Write_DS18B20(0xCC);
  75.           Write_DS18B20(0xBE);

  76.           low = Read_DS18B20();
  77.           high = Read_DS18B20();

  78.           temp = high<<4;   
  79.           temp |= (low>>4);

  80.           return temp;
  81. }

  82. //*********************1602************************************
  83. void writedat(unsigned char dat)
  84. {
  85.   RS=1;
  86.     RW=0;  
  87.     E=0;   
  88.     P0=dat;
  89.     delay(5);
  90.     E=1;
  91.     E=0;
  92. }

  93. void writecom(unsigned char com)
  94. {
  95.   RS=0;
  96.     RW=0;  
  97.     E=0;  
  98.     P0=com;
  99.     delay(5);
  100.     E=1;
  101.     E=0;
  102. }
  103. void initlcd()
  104. {
  105.   writecom(0x38);  
  106.     writecom(0x0c);  
  107.     writecom(0x06);  
  108.     writecom(0x01);  
  109. }

  110. //*************************************************************

  111. void display()//ÏÔê¾oˉêy
  112. {
  113.         unsigned int temp0=0,temp1=0,temp2=0,i=0;
  114.         temp0=readtemp/100;
  115.         temp1=(readtemp%100)/10;
  116.         temp2=readtemp%10;
  117.         writecom(0x80);  
  118.         delay(5);            
  119.         while(s[i]!='\0')
  120.         {
  121.           writedat(s[i]);
  122.                 delay(5);
  123.                 i++;
  124.         }
  125.         
  126.         writecom(0x80+0x40+5);  
  127.         delay(5);
  128.         writedat(str[temp0]);
  129.         delay(5);           
  130.         writedat(str[temp1]);
  131.         delay(5);            
  132.         writedat(str[temp2]);
  133.         delay(5);         
  134.         writedat(0xDF);
  135.         delay(5);         
  136.         writedat('C');
  137.         delay(5);           
  138. }


  139. void main()
  140. {
  141.         initlcd();
  142.         while(1)
  143.         {
  144.          readtemp=Readtemp();
  145.          display();
  146.         }
  147. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2021-11-14 20:48 | 只看该作者
变量与函数同名错误:readtemp=Readtemp();
回复

使用道具 举报

板凳
ID:978933 发表于 2021-11-14 21:17 | 只看该作者
wulin 发表于 2021-11-14 20:48
变量与函数同名错误:readtemp=Readtemp();

已解决!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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