找回密码
 立即注册

QQ登录

只需一步,快速开始

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

missing function-prototype求大佬指点指点,哪里错了?

[复制链接]
跳转到指定楼层
楼主
ID:699245 发表于 2020-2-27 18:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include<reg52.h>
  2. #include<Temp.h>
  3. sbit LSA=P2^2;
  4. sbit LSC=P2^3;
  5. sbit LSB=P2^4;
  6. uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  7. uchar Display[8];
  8. float tp;
  9. void delay(uint i)
  10. {
  11.   while(i--);
  12. }
  13. void datapros(int temp)
  14. {
  15. if (temp<0)
  16. {
  17.   
  18.   Display[0]=0x40;
  19.   temp=temp-1;
  20.   temp=~temp;
  21.   tp=temp;
  22.   temp=tp*0.0625*100+0.5;
  23. }
  24. else
  25. {
  26. Display[0]=0x00;
  27. tp=temp;
  28. temp=tp*0.0625*100+0.5;
  29. }
  30. Display[1]= smgduan[temp/10000];
  31. Display[2]= smgduan[temp%10000/1000];
  32. Display[3]= smgduan[temp%10000%1000/100] | 0x80;
  33. Display[4]= smgduan[temp%100/10];
  34. Display[5]= smgduan[temp%10];
  35. }
  36. void dianliang()
  37. {
  38.   uchar i;
  39.   for(i=0;i<=5;i++)
  40.    {
  41.      switch(i)
  42.     {  
  43. case(0):LSA=1;LSB=1;LSC=1;break;
  44. case(1):LSA=0;LSB=1;LSC=1;break;
  45. case(2):LSA=1;LSB=0;LSC=1;break;
  46. case(3):LSA=0;LSB=0;LSC=1;break;
  47. case(4):LSA=1;LSB=1;LSC=0;break;
  48. case(5):LSA=0;LSB=1;LSC=0;break;
  49. }
  50. P0=Display[i];
  51. delay(100);
  52. P0=0x00;
  53.    }
  54. }

  55. void main()
  56. {
  57. while(1)
  58. {
  59.   datapros(Ds18b20_ReadTemp());
  60.   dianliang();
  61. }

  62. }




  63. #include"Temp.h"
  64. void Delay_ms(uint y)
  65. {
  66. uint x;
  67. for( ; y>0; y--)
  68. {
  69.   for(x=110; x>0; x--);
  70. }
  71. }
  72. uchar Ds18b20_Init()
  73. {
  74. uchar i;
  75. DQ = 0;
  76. i = 70;
  77. while(i--);
  78. DQ = 1;   
  79. i = 0;
  80. while(DQ)
  81. {
  82.   Delay_ms(1);
  83.   i++;
  84.   if(i>5)
  85.   {
  86.    return 0;
  87.   }

  88. }
  89. return 1;
  90. }
  91. void Ds18b20_WriteByte(uchar dat)
  92. {
  93. uint i;
  94. for(i=0;i<8;i++)
  95. {
  96.   DQ=0;
  97.   i++;
  98.   DQ=dat&0x01;
  99.   i=6;
  100.   while(i--);
  101.   DQ=1;
  102.   dat=dat>>1;
  103. }
  104. }
  105. uchar Ds18b20_ReadByte()
  106. {
  107. uchar bi,Byte;
  108. uint i,j;
  109. for(i=0;i<8;i++)
  110. {
  111.   DQ=0;
  112.   j=0;
  113.   DQ=1;
  114.   j++;
  115.   j++;
  116.   bi=DQ;
  117.   Byte =(Byte>>1)|(bi<<7);
  118.   i=4;
  119.   while(i--);
  120. }
  121. return Byte;
  122. }

  123. void Ds18b20_ConvertTemp()
  124. {
  125. Ds18b20_Init();
  126. Delay_ms(1);
  127. Ds18b20_WriteByte(0xcc);
  128. Ds18b20_WriteByte(0x44);
  129. }
  130.       
  131. void Ds18b20_ReadTempCom()
  132. {
  133. Ds18b20_Init();
  134. Delay_ms(1);
  135. Ds18b20_WriteByte(0xcc);
  136. Ds18b20_WriteByte(0xbe);
  137. }

  138. int Ds18b20_ReadTemp()
  139. {
  140. int temp=0;
  141. uchar tmh,tml;
  142. Ds18b20_ConvertTemp();
  143. Ds18b20_ReadTempCom();
  144. tml=Ds18b20_ReadByte();
  145. tmh=Ds18b20_ReadByte();
  146. temp=tmh;
  147. temp<<=8;
  148. temp|=tml;
  149. return temp;
  150. }




  151. #ifndef _temp_H
  152. #define _temp_H
  153. #include<reg52.h>
  154. sbit DQ=P3^7;
  155. #ifndef uchar
  156. #define uchar unsigned char
  157. #endif
  158. #ifndef uint
  159. #define uint unsigned int
  160. #endif
  161. int Ds18b20Read_Temp();
  162. #endif
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:699245 发表于 2020-2-27 18:48 | 只看该作者

这是错误提示

本帖最后由 Ozner 于 2020-2-27 22:13 编辑

Build target 'Target 1'
compiling main.c...
MAIN.C(66): warning C206: 'Ds18b20_ReadTemp': missing function-prototype
compiling Temp.c...
linking...
Program Size: data=21.0 xdata=0 code=1463
creating hex file from "Temp"...
"Temp" - 0 Error(s), 1 Warning(s).
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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