找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机车载智能设备程序源码

[复制链接]
ID:834151 发表于 2020-11-20 13:09 | 显示全部楼层 |阅读模式
这个程序是实现泥头车远程智能管理,远程平台可以实时对车辆进行监控。车载智能设备每隔3秒钟就给平台发送车辆位置,油剩余量,车速,扬尘量数据发送到平台。

单片机源程序如下:
  1. #include "eeprom.h"
  2. #include "bianma.h"
  3. #include <reg52.h>
  4. #include <intrins.h>


  5. sbit AM=P3^2;
  6. sbit BM=P3^3;
  7. sbit k=P3^7;
  8. sbit s=P3^6;
  9. extern uint temp,temp2;

  10. extern uint AR,BR;
  11. extern uint date;
  12. extern uchar kc;

  13. extern uint AT,BT;

  14. uchar num_a=0;
  15. uchar num_b=0;
  16. uint dateA, dateB,numB;
  17. uchar cofig,key,a=0;
  18. uchar ok,u;
  19. uchar i,r;
  20. uint Compare[5]={0,0,0,0,0};
  21. uint Compare1[5]={0,0,0,0,0};
  22. void waiint()
  23. {
  24. EX0=1;
  25. IT0=0;
  26. EA=1;   
  27.     }
  28. void delayss(UINT16 z)
  29. {
  30. UINT16 x,y;
  31.   for(x=z;x>0;x--)
  32.   for(y=120;y>0;y--);
  33. }


  34. void main()
  35. {  
  36.   waiint();
  37.   intt();
  38.         
  39.   num_a=EEPROMReadByte(1);delayss(60);
  40.   num_b=EEPROMReadByte(2);delayss(60);

  41.    //date=num_a+(254*num_b);
  42.    
  43.    SBUF=num_a;while(TI==0);TI=0;
  44.       TR1=1;
  45.     SBUF=num_b;while(TI==0);TI=0;
  46.   delay(100);
  47.   date=num_a;
  48.   date=(date<<8)&0xff00;
  49.   date=date|num_b;
  50.    key=2;
  51.    kc=0;
  52.    dateA=0;

  53.   while(1)
  54.   {
  55.    
  56.    if(s==0)
  57.    {
  58.      delay(10);
  59.      if(s==0)
  60.       {  AR=0;}}

  61.   while(k==0)
  62.   {   TR0=1;
  63.     while(k==0)
  64.      {
  65.          
  66.       
  67.      
  68.        ok=1;
  69.      if(Compare1[0]==0xff&&Compare1[1]==0xff&&Compare1
  70.    [2]==0xff&&Compare1[3]==0xff&&Compare1[4]==0xff)
  71.        {r++;}
  72.           else
  73.    if(Compare1[0]==0x00&&Compare1[1]==0x00&&Compare1
  74.    [2]==0x00&&Compare1[3]==0x00&&Compare1[4]==0x00)
  75.        {r++;}
  76.           else
  77.        { Compare[4]=0x00;}   
  78.   if(r==5&&Compare[0]<Compare[4])            
  79.       {dateA=Compare[4];r=0;}
  80.     // dateA=Compare[9];
  81.       
  82.          TR1=1;
  83.          
  84.     if(dateA!=0)
  85.      {      
  86.      SBUF=num_a=dateA>>8;
  87.      while(TI==0);TI=0;TR1=1;
  88.      SBUF=num_b=dateA&0XFF;   
  89.       while(TI==0);TI=0; }}
  90.         
  91.       TR0=0;
  92.       delay(1);
  93.      EA=0;
  94.      EEPROMSectorErase(1);
  95.       
  96.      EEPROMWriteByte(1,num_a);
  97.       
  98.      EEPROMWriteByte(2,num_b);
  99.        delay(1000); EA=1; }
  100.                            
  101.      
  102.      
  103.    //  mm: dateA=caiji();
  104.          

  105.       // if(dateA==0xff)
  106.        //  {goto mm;}

  107.   
  108.    if(Compare1[0]==0xff&&Compare1[1]==0xff&&Compare1
  109.    [2]==0xff&&Compare1[3]==0xff&&Compare1[4]==0xff)
  110.        {r++;}
  111.           else
  112.    if(Compare1[0]==0x00&&Compare1[1]==0x00&&Compare1
  113.    [2]==0x00&&Compare1[3]==0x00&&Compare1[4]==0x00)
  114.        {r++;}
  115.           else
  116.        { Compare[4]=0x00;}   
  117.   if(r==5&&Compare[0]<Compare[4])            
  118.       {dateA=Compare[4];r=0;}               


  119.     if(key==10)//顺时针转cofig=1;(关闭 )
  120.     {  
  121.       
  122.       if(dateA>20)
  123.       {   TR2=1;
  124.          if(temp>=1000)
  125.            {
  126.              temp=0;
  127.            if(date<=(dateA+5))// 车蓬闭合良好
  128.            { SBUF=0xd2;while(TI==0);TI=0;dateA=0;
  129.              key=2;AT=BT=0;TF2=0;TR2=0;delay(1000);}
  130.                     else
  131.              {SBUF=0xd1;while(TI==0);TI=0;TF2=0; delay(100);}
  132.                                              
  133.                                                    }}
  134.          
  135.            
  136.            
  137.                                                    }
  138.                  
  139.                  
  140.     if(key==2) //逆时针转cofig=0;( 打开  )
  141.     {
  142.         
  143.      
  144.      if((dateA>=30)&&(dateA<=300))//车蓬没关好
  145.        {      
  146.                TR2=1;
  147.             if(temp>1000)            
  148.             {SBUF=0xd1;while(TI==0);TI=0;temp=0;}
  149.                            }
  150.            
  151.        if(dateA>350)
  152.          {temp=0;TR2=0;}
  153.   
  154.      if(date<=(dateA+30)) //车篷全开
  155.        {
  156.         temp=0;
  157.         TR2=0;SBUF=0xd3;while(TI==0);
  158.          TI=0;dateA=0;key=1;AT=BT=0;TF2=0;delay(10);}
  159.       
  160.                   }                  
  161.                            
  162.         
  163.                            

  164.                         }}
  165.    



  166.                                  
  167. void teim(void) interrupt 0                        
  168. {    uchar h,l;
  169.       while(AM==0);
  170.      if(ok==1)  
  171.       {
  172.        if(BM==1)
  173.        {h++;if(h==5){dateA++;cofig=0xff;h=0;u++;}}//顺时针
  174.                   else
  175.        if(BM==0)
  176.        {l++;if(l==5){dateA++;cofig=0x00;l=0;u++;}}//逆时针
  177.        Compare[u]=dateA;
  178.        Compare1[u]=cofig;
  179.        if(u==5){u=0;}
  180.                   
  181.                ok=0; }TR0=0;TR1=1;}
  182.                            
  183.                
  184.       
  185.   void time4(void) interrupt 4                  
  186.    {TR1=0;}               
  187.                  
  188. void time0(void) interrupt 1                  
  189.   {   
  190.    TH0=(65536-5000)/256;                        
  191.    TL0=(65536-5000)%256;
  192.     temp++; temp2++;      
  193.    if (temp2>5000)
  194.        {temp2=0;}
  195.    if(temp>2000)   
  196.       {temp=0;}
  197.      }               
复制代码


回复

使用道具 举报

ID:1 发表于 2020-11-21 22:04 | 显示全部楼层
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

ID:834151 发表于 2020-11-30 14:22 | 显示全部楼层
车载智能管理设备电路原理图现在上传
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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