找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1467|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)車載智能設(shè)備程序源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:834151 發(fā)表于 2020-11-20 13:09 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這個(gè)程序是實(shí)現(xiàn)泥頭車遠(yuǎn)程智能管理,遠(yuǎn)程平臺(tái)可以實(shí)時(shí)對(duì)車輛進(jìn)行監(jiān)控。車載智能設(shè)備每隔3秒鐘就給平臺(tái)發(fā)送車輛位置,油剩余量,車速,揚(yáng)塵量數(shù)據(jù)發(fā)送到平臺(tái)。

單片機(jī)源程序如下:
  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)//順時(shí)針轉(zhuǎn)cofig=1;(關(guān)閉 )
  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) //逆時(shí)針轉(zhuǎn)cofig=0;( 打開  )
  141.     {
  142.         
  143.      
  144.      if((dateA>=30)&&(dateA<=300))//車蓬沒關(guān)好
  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++;}}//順時(shí)針
  174.                   else
  175.        if(BM==0)
  176.        {l++;if(l==5){dateA++;cofig=0x00;l=0;u++;}}//逆時(shí)針
  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.      }               
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2020-11-21 22:04 | 只看該作者
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報(bào)

板凳
ID:834151 發(fā)表于 2020-11-30 14:22 | 只看該作者
車載智能管理設(shè)備電路原理圖現(xiàn)在上傳
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表