找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机程序编译错误,求改正

[复制链接]
跳转到指定楼层
楼主
50黑币
  1. #include <reg51.h>
  2. sbit Natural_wind_button  =P2^0;
  3. sbit Ordinary_wind_button =P2^1;
  4. sbit Sleep_wind_button  =P2^2;
  5. sbit Time_button          =P3^6;
  6. sbit Shake_button         =P3^7;

  7. void BUTTON_Config()
  8. {
  9.    Natural_wind_button = 1;   
  10.       Ordinary_wind_button = 1;
  11.       Sleep_wind_button =1;

  12.    Time_button = 1;
  13.    Shake_button = 1;
  14. }
  15. sbit Natural_wind_LED   =P2^3;
  16. sbit Ordinary_wind_LED  =P2^4;
  17. sbit Sleep_wind_LED    =P2^5;  
  18. sbit NO_Wind_LED     =P2^6;
  19. sbit Buzzer               =P0^3;
  20. void GUIDE_Led_Config()
  21. {
  22.    Natural_wind_LED = 1;
  23.       Ordinary_wind_LED = 1;
  24.       Sleep_wind_LED = 1;

  25.       NO_Wind_LED = 0;
  26.    
  27.    Buzzer = 0;         
  28. }
  29. sbit dq = P2^7;
  30. void sdelay(unsigned int i)
  31. {
  32.   while(i--);
  33. }
  34. void DS18B20_Reset()
  35. {
  36.   unsigned char x=0;
  37.   dq=1;   
  38.   sdelay(8);  
  39.   dq=0;   
  40.   sdelay(80);
  41.   dq=1;   
  42.   sdelay(14);
  43.   sdelay(20);
  44. }

  45. void DS18B20_Write_Byte(unsigned char dat)
  46. {
  47.   unsigned char i=0;
  48.   for(i=8;i>0;i--)
  49.   {
  50.     dq=0;
  51.     dq=dat&0x01;
  52.     sdelay(5);
  53.     dq=1;
  54.     dat>>=1;
  55.   }
  56. }
  57. unsigned char DS18B20_Read_Byte()
  58. {
  59.   unsigned char i=0,dat=0;
  60.   for(i=8;i>0;i--)
  61.   {
  62.     dq=0;
  63.     dat>>=1;
  64.     dq=1;
  65.     if(dq)
  66.     dat|=0x80;
  67.     sdelay(4);
  68.   }
  69.   return(dat);
  70. }
  71. unsigned int GET_Temperature()
  72. {
  73.   unsigned char a=0,b=0;
  74.   unsigned int t=0;
  75.   float tt=0;
  76.   DS18B20_Reset();
  77.   DS18B20_Write_Byte(0xCC);
  78.   DS18B20_Write_Byte(0x44);
  79.   DS18B20_Reset();
  80.   DS18B20_Write_Byte(0xCC);
  81.   DS18B20_Write_Byte(0xBE);
  82.   a=DS18B20_Read_Byte();
  83.   b=DS18B20_Read_Byte();
  84.   t=b;
  85.   t<<=8;
  86.   t=t|a;
  87.   tt=t*0.0625;        
  88.   t= tt*10+0.5;      
  89.   return(t);
  90. }
  91. unsigned char t0, add0;
  92. unsigned char t1,add1;
  93. sbit EN0=P3^4;
  94. sbit EN1=P3^5;
  95. sbit IN1=P3^0;
  96. sbit IN2=P3^1;
  97. sbit IN3=P3^2;
  98. sbit IN4=P3^3;
  99. void L298_Config()
  100. {
  101.    t0=50;
  102.    t1=50;
  103.    IN1=0;
  104.    IN2=1;
  105.    IN3=0;
  106.     IN4=1;
  107.    
  108. }
  109. void TIM_Config()
  110. {
  111.   TMOD = 0x11;
  112.     TH0 = (65536-50000)/256;;
  113.     TL0 = (65536-50000)%256;;
  114.     ET0 = 1;
  115.     TR0 = 1;

  116.   TH1 = (65536-50000)/256;;
  117.   TL1 = (65536-50000)%256;;
  118.   ET1 = 1;
  119.     TR1 = 1;

  120.   EA = 1;
  121. }
  122. void TIM0() interrupt 1
  123. {
  124.     TH0=(65536-50000)/256;
  125.        TL0=(65536-50000)%256 ;
  126.          
  127.        if(add0==100)
  128.        {
  129.             add0=0;
  130.       EN0=1;
  131.        }
  132.        if(add0==t0)
  133.        {
  134.       EN0=0;
  135.        }
  136.     add0++;
  137. }
  138. void TIM1() interrupt 3
  139. {
  140.     TH1=(65536-50000)/256;
  141.        TL1=(65536-50000)%256 ;
  142.         
  143.        if(add1==100)
  144.        {
  145.             add1=0;
  146.       EN1=1;
  147.        }
  148.        if(add1==t1)
  149.        {
  150.       EN1=0;
  151.        }
  152.     add1++;  
  153. }
  154. unsigned char code table[]="temperature 27'c" ;     
  155. unsigned char code table1[]="status   NO Wind" ;
  156. sbit lcdrs=P0^0;                          
  157. sbit lcdwr=P0^1;                           
  158. sbit lcde=P0^2;                             
  159. void LCD1206_config()
  160. {
  161.   unsigned char i;                           
  162.   init();
  163.   write_com(0x80);         
  164.   for(i=0;i<16;i++)                  
  165.   {
  166.     write_dat(table[i]);
  167.     delay(50);                    
  168.   }
  169.   write_com(0x80+0x40);
  170.   for(i=0;i<16;i++)
  171.   {
  172.     write_dat(table1[i]);
  173.     delay(50);
  174.   }
  175. }
  176. void delay(unsigned char x)                        
  177. {
  178.   unsigned char i,j;
  179.   for(i=x;i>0;i--)
  180.   for(j=110;j>0;j--);
  181. }
  182. void write_com(unsigned char com)        
  183. {                              
  184.    P1=com;
  185.    lcde=0;   
  186.    lcdrs=0;
  187.    lcdwr=0;
  188.    delay(5);
  189.    lcde=1;
  190.    delay(5);
  191.    lcde=0;
  192. }
  193. void write_dat(unsigned char dat)                  
  194. {
  195.    P1=dat;
  196.    lcde=0;
  197.    lcdrs=1;
  198.    lcdwr=0;
  199.    delay(5);
  200.    lcde=1;
  201.    delay(5);
  202.    lcde=0;
  203. }
  204. void init()                              
  205. {
  206.   write_com(0x01);      
  207.   write_com(0x3f);      
  208.   write_com(0x0f);      
  209.   write_com(0x06);     
  210. }
复制代码

51hei图片20200226174920.png (146.61 KB, 下载次数: 40)

51hei图片20200226174920.png

51hei图片20200226174854.png (245.22 KB, 下载次数: 56)

51hei图片20200226174854.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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