找回密码
 立即注册

QQ登录

只需一步,快速开始

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

这是一个51单片机写的洒水车的程序

[复制链接]
跳转到指定楼层
楼主
ID:428714 发表于 2018-11-18 15:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这一次来不及写很多介绍了,下次 再一一详细的说

单片机源程序如下:
  1. #include<reg52.h>


  2. #define uchar unsigned char
  3. #define uint unsigned int
  4.        
  5. #define  con P1
  6. #define  k

  7. sbit pul =P2^0;          //脉冲
  8. sbit dir =P2^1;   //方向
  9. sbit hongwai1 =P2^2;//电机的红外检测1
  10. sbit hongwai2 =P2^3;//电机的红外检测2
  11. sbit shui=P2^4;         //水泵1
  12. sbit shui2=P2^5; //水泵2
  13. sbit f0 =P2^6;  //车移动的红外检测1
  14. sbit f1 =P2^7;   //车移动的红外检测2
  15. sbit qi=P3^3;   //继电器

  16. unsigned char code qianjin[2]={0xaa,0x00};

  17. void  delay(uint x)                //X=1,0.5MS
  18. {
  19.         uchar i;
  20.         while(x--)
  21.         {
  22.                 for(i=0;i<120;i++);
  23.         }
  24. }

  25. void Timer0Init()
  26. {
  27.         TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。

  28.         TH0=0XFC;        //给定时器赋初值,定时1ms
  29.         TL0=0X18;       
  30.         ET0=1;//打开定时器0中断允许
  31.         EA=1;//打开总中断
  32.         TR0=1;//打开定时器                       
  33. }

  34. /*
  35. void dianji()

  36.         uchar j=0;
  37.         uint i=0;
  38.         uint flag=0;
  39.         uint yiyi=0;
  40. uint k=0;
  41.         uint flag2=0;
  42.         pul=0;
  43.         dir=0;       
  44.         while(1)
  45.         {if(flag==0)                                                                                                                  
  46.         //        {               
  47.         //                 pul=~pul;
  48.         //                delay(2);
  49.         //        j++;
  50.         //                if(j==2)
  51.         //                {
  52.         //                j=0;i++;
  53.         //                }       
  54.                        
  55.         //        }
  56.         if((i==1600)/*&&(flag==0))         {flag=1;j=0;break;}
  57.   }   
  58. */

  59. void Timer0() interrupt 1
  60. {
  61.         static uchar i;
  62.         pul=0;
  63.         TH0=0XFC;        //给定时器赋初值,定时1ms
  64.         TL0=0X18;
  65.         i++;
  66.         if(i==8)
  67.         {
  68.                 i=0;
  69.                 pul=~pul;       
  70.         }       
  71. }



  72.         void main()
  73.         {
  74.                
  75.               shui2=1;
  76.               //qi=0;
  77.               shui=1;//水泵共阳极
  78.        
  79.                
  80.                 if((f0==1)&&(f0==1))
  81.                   {  
  82.                                 con=qianjin[0];
  83.                   }
  84.           
  85.                  if ((f0==0)||(f1==0))
  86.                  {   
  87.                            con=qianjin[0];
  88.                            delay(500);
  89.                            qi=1;
  90.                                  dir=1;
  91.                            TR0=1;//打开定时器
  92.          con=qianjin[1];
  93.          Timer0Init();                         
  94.          delay(8000);
  95.                            qi=0;
  96.                            delay(8000);
  97.                            TR0=0;
  98.                                  if((hongwai1==0)||(hongwai2==0))
  99.                                  {
  100.                                     shui=0;
  101.                                           
  102.                                           delay(2000);
  103.                                            shui=1;
  104.                                           dir=0;
  105.                                           TR0=1;
  106.                                           delay(8000);
  107.                                           //dianji(4);
  108.                                           qi=1;
  109.                                           delay(8000);
  110.                                           dir=1;
  111.                                  }
  112.                                  
  113.                          }

  114.                  }
复制代码

所有资料51hei提供下载:
智能车洒水.zip (23.79 KB, 下载次数: 29)


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

使用道具 举报

沙发
ID:204941 发表于 2018-11-18 20:05 | 只看该作者
学到很多
回复

使用道具 举报

板凳
ID:424598 发表于 2018-11-20 15:44 来自手机 | 只看该作者
麻烦说下用到的组件及接线图,谢谢
回复

使用道具 举报

地板
ID:451362 发表于 2018-12-21 11:51 | 只看该作者







water_car:1:18: error: reg52.h: No such file or directory

compilation terminated.

exit status 1
reg52.h: No such file or directory
回复

使用道具 举报

5#
ID:451362 发表于 2018-12-21 11:51 | 只看该作者
这是哪里的错误,校验不通过
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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