wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9240|回復: 2
收起左側

有關智能小車的程序

[復制鏈接]
ID:186510 發表于 2017-4-5 23:18 | 顯示全部樓層 |閱讀模式
#include<reg52.h>
#include <math.h>
#include <intrins.h>
#define uchar unsigned char
#define uint  unsigned int

sbit P10 = P1^0;
sbit P11 = P1^1;   //  1號電機  右前輪
sbit P12 = P1^2;       
sbit P13 = P3^2;   //  2號電機  左前輪
sbit P14 = P1^4;
sbit P15 = P1^5;   //  3號電機  左后輪
sbit P16 = P1^6;
sbit P17 = P1^7;   //  4號電機  右后輪

sbit P20=P2^0;
sbit P21=P2^1;    //風扇

sbit P26=P2^6;   //噪聲

sbit P35=P3^5;  //光敏

sbit TRIG = P3^6;    //   控制端
sbit ECHO = P3^7;           //   接收端


sbit a = P0^0;    // 避障 前右
sbit b = P0^1;    // 避障 前左                  
sbit c = P0^2;          // 避障 后右
sbit d = P0^3;    // 避障 后左

sbit f = P0^4;    // 循跡 前右
sbit g = P0^5;    // 循跡 前左
sbit h = P0^6;    // 循跡 后右
sbit i = P0^7;    // 循跡 后左

sbit PWM1=P2^2;   
sbit PWM2=P2^3;
sbit PWM3=P2^4;
sbit PWM4=P2^5;  //控制四個輪速度 需要用到定時器 在本程序中沒有設置

sbit Beep=P1^3;  //蜂鳴器

uchar e;
uchar n,angle,count;    //距離標志位,0.5ms次數,角度標識
float S;                //距離變量

void delay()                  
{
        uchar a;
        for(a=450;a>0;a--)
        {
                _nop_();
        }
}

void DelayUs2x(uchar t)
{   
        while(--t);
}

void DelayMs(uchar t)
{
        while(t--)
        {
            DelayUs2x(245);
            DelayUs2x(245);
        }
}                  //大致延時1mS       

void Time(void)
{
    TMOD|=0x21;   /*TMOD有高八位與第八位   GATE=0, C/T=0(定時器模式),  |=位操作寫法,強制賦值
                          定時器1工作方式2(8位自動重裝定時器) (藍牙),
                          定時器0(16位定時器)超聲波  */
                TH0=0x00;     //定時器0  高八位的初值
    TL0=0x00;     //低八位的初值     定時最大的值65.536ms
    SCON=0x50;   //0101 0000  SM0=0 SM1=1 (10位異步收發器(8位數據)) SM2=0(多機通訊位) REN=1(串行接受允許位)              串口方式1 SM0 SM1 01 允許接收  
    PCON=0x00;   /*PCON沒有位尋址的,不能直接操作  SMOD=0 16分頻 波特率不加倍
                        波特率=(2*SMOD)/32*定時器1的溢出率
                        定時器1的溢出率=單片機內的時鐘頻率/(256-X) X是定時器的初值   
                        因此 波特率=(2*SMOD)/32*(單片機內部的時鐘頻率/(256-X))    */
          TH1=0xFd;   
    TL1=0xFd;     /*11.0592晶振   9600波特率
                          在串行通信時,T1定時器是用作波特率發生器的,且為方式2,這樣,TL1是作為8位計數器的,
                          而TH1是作為時間常數的寄存器的,可以實現TL1計數回0時自動重裝時間常數,即將TH1中的數自動送給TL1,再次計數。
                    TH1,TL1是單片機的16位定時器T1,只有給TH1,TL1賦值,定時器就開始計數,才能控制串行通信的波特率,而這值是根據需要的波特率計算出來的。*/
          TR1=1;       //打開定時器1
          IE=0x92;     //IE中斷允許寄存器  1001 1010 即EA=1(打開總中斷) ES=1(打開串口中斷) ET1=1(打開定時器1源中斷) ET0=1(打開定時器0源中斷)

}

void csb()
{
        TRIG=1;            //觸發信號是高電平脈沖,寬度大于10us
    DelayUs2x(10);
    TRIG=0;         
    while(!ECHO);   //等待高電平
    TR0=1;          //T0開始運行
    while(ECHO);    //等待低電平
    TR0=0;          //T0關閉
    S=TH0*256+TL0;  //取出定時器值高8位和低8位合并
    S=S/58;         //為什么除以58等于厘米,  Y米=(X秒*344)/2
                    // X秒=( 2*Y米)/344 -> X秒=0.0058*Y米 -> 厘米=微秒/58
    if(S>=40)
     {
                   n=1;        //距離大于40cm  標記
                 }
    if(S<40)
     {
                    n=0;       //距離小于40   標記
                 }

    TH0=0;
    TL0=0;         //清除定時器0寄存器中的值       
}

void FMQ()
{
                uint n;       
                                        for(n=1;n<20;n++)
                                {
                                                        uint m;
                                        for(m=800;m>0;m--)          
                                        {
                                                Beep=~Beep;       
                                                delay();               
                                        }
                                        for(m=500;m>0;m--)         
                                        {
                                                Beep=~Beep;
                                                delay();
                                                delay();       
                                        }
                                }
}

void fsz()
{
        P20=0;
        P21=1;
}

void fsf()
{
        P20=1;
        P21=0;
}

void fst()
{
        P20=0;
        P21=0;
}
void  run(void)                 // 前進
{

  P10 =1;
  P11 =0;

  P12 =1;
  P13 =0;

  P14 =1;
  P15 =0;

  P16 =1;
  P17 =0;
}

void backrun(void)                // 后退
{
  P10 =0;
  P11 =1;

  P12 =0;
  P13 =1;

  P14 =0;                                                         
  P15 =1;

  P16 =0;
  P17 =1;
}

void stop(void)                         // 停止
{
  P10 =0;
  P11 =0;

  P12 =0;
  P13 =0;

  P14 =0;
  P15 =0;

  P16 =0;
  P17 =0;
}

void leftrun(void)           // 左轉
{
  P10 =1;
  P11 =0;

  P12 =0;
  P13 =1;

  P14 =0;
  P15 =1;

  P16 =1;
  P17 =0;
}

void rightrun(void)                 // 右轉
{
  P10 =0;
  P11 =1;

  P12 =1;
  P13 =0;

  P14 =1;
  P15 =0;

  P16 =0;
  P17 =1;
}


void main(void)
{
                     
    Time();             //初始化定時器
        while(1)
        {
                         if(e=='2')
                         {
                                        run();
                                                                while((a==1)&&(b==0))     //前左側遇到障礙物右拐
                                                                {
                                                                        rightrun();
                                                                        DelayMs(200);
                                                                }
                                                                while((a==0)&&(b==1))     //前右側遇到障礙物左拐
                                                                {
                                                                        leftrun();
                                                                        DelayMs(200);
                                                                }
                                                                while((a==0)&&(b==0))     //兩邊同時遇到障礙物左拐
                                                                {
                                                                        stop();
                                                                        DelayMs(5000);
                                                               
                                                                }
                                                                while((c==1)&&(d==0))      //后右側遇到障礙物右拐
                                                                {
                                                                        rightrun();
                                                                        DelayMs(200);
                                                                }
                                                                while((c==0)&&(d==1))     //后右側遇到障礙物左拐
                                                                {
                                                                        leftrun();
                                                                        DelayMs(200);
                                                                }
                                                                while((f==1)&&(g==0))     //左邊遇到白右轉 1黑0白
                                                                {
                                                                        rightrun();
                                                                        DelayMs(170);       
                                                                }
                                                                while((f==0)&&(g==1))     //右邊遇到白左轉
                                                                {
                                                                        leftrun();
                                                                        DelayMs(170);
                                                                }
                                                                while((h==0)&&(i==1))    //右邊遇到白左轉
                                                                {
                                                                        leftrun();
                                                                        DelayMs(170);
                                                                }
                                                                while((h==1)&&(i==0))    //左邊遇到白右轉
                                                                {
                                                                        rightrun();
                                                                        DelayMs(170);
                                                                }
                                                         }                               //按鍵2 前進(帶避障)
                                                         
                                                                else if(e=='4') leftrun();     //按鍵4 向左轉
                                                         
                                                                else if(e=='6')  rightrun();   //按鍵6 向右轉
                                                         
                                                                else if(e=='8')
                                                                {
                                                                                        backrun();
                                                                                        while((a==1)&&(b==0))     //前左側遇到障礙物右拐
                                                                                        {
                                                                                                rightrun();
                                                                                                DelayMs(200);
                                                                                        }
                                                                                 while((a==0)&&(b==1))     //前右側遇到障礙物左拐
                                                                                        {
                                                                                                leftrun();
                                                                                                DelayMs(200);
                                                                                        }
                                                                                 while((a==0)&&(b==0))     //兩邊同時遇到障礙物左拐
                                                                                        {
                                                                                                stop();
                                                                                                DelayMs(5000);
                                                                                        }
                                                                                 while((c==1)&&(d==0))      //后右側遇到障礙物右拐
                                                                                        {
                                                                                                rightrun();
                                                                                                DelayMs(200);
                                                                                        }
                                                                                 while((c==0)&&(d==1))      //后右側遇到障礙物左拐
                                                                                        {
                                                                                                leftrun();
                                                                                                DelayMs(200);
                                                                                        }
                                }                                      //按鍵8 后退(帶避障)
                               
                                else if(e=='1')
                                {
                                        FMQ();
                                        DelayMs(100);                         //按鍵1 蜂鳴器
                                }
                               
                                else if(e=='A') run();                //向上箭頭 僅前進
                                       
                                else if(e=='B') backrun();            //向下箭頭 僅后退
                               
                                else if(e=='C') leftrun();            //向左箭頭 僅左轉
                               
                                else if(e=='D') rightrun();           //向右箭頭 僅右轉
                               
                                else if(e=='7') fsz();
                               
                                else if(e=='9') fsf();
                               
                                else if(e=='5') fst();
                       
                                else stop();
                               
                                if(P26==0) FMQ();
                               
                                else Beep=0;
                               
         }
}

void serial() interrupt 4
{
        RI=0;                              //接受中斷位 必須由軟件置0  硬件置1
        e=SBUF;                            //接受緩沖器SBUF賦值給e
}

void Time0_0(void) interrupt 1      //定時器中斷   (void)是必須的
{
        ECHO=0;
}
回復

使用道具 舉報

ID:440298 發表于 2018-12-5 18:37 | 顯示全部樓層
感謝
回復

使用道具 舉報

ID:357019 發表于 2018-12-9 09:38 | 顯示全部樓層
程序很到位,謝謝樓主,第一次接觸這類的東西。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
欧美精品激情在线观看| 天天操天天爱天天爽| 精品国产露脸精彩对白| 91色九色蝌蚪| 天天影视欧美综合在线观看| 在线xxxx| 天天曰天天操| 性一交一乱一精一晶| 美女被到爽高潮视频| www.avtt| 国产欧美在线播放| 一区国产精品视频| 在线视频国内自拍亚洲视频| 成人免费观看男女羞羞视频| 婷婷亚洲最大| 国产精品久久久久77777丨| 手机亚洲第一页| 97理论电影| 久久久久久久久影院| 国产白嫩美女无套久久| 国产日韩欧美大片| 成人自拍爱视频| 久久夜色精品亚洲噜噜国产mv| 色一情一乱一乱一91av| 成人精品免费网站| 你懂的国产精品| 黑人久久a级毛片免费观看| 超碰在线网址| 中文字幕4区| 91九色蝌蚪视频| 亚洲产国偷v产偷v自拍涩爱| 久久这里只有精品国产| 在线中文字日产幕| 欧美精品卡一卡二| 国产在线观看一区| 国产做受69高潮| 一本一道久久a久久精品逆3p| 欧美喷水一区二区| 亚洲蜜臀av乱码久久精品 | 天堂中文资源在线| 自拍电影在线观看| 丰满熟妇人妻中文字幕| 国产无遮无挡120秒| 久久久老熟女一区二区三区91| 国产91在线视频观看| 久久久久成人精品免费播放动漫| 欧美亚洲另类视频| 欧美成人h版在线观看| 91精品国产日韩91久久久久久| 一区二区三区四区亚洲| 99天天综合性| 美女诱惑一区二区| 99国产一区| 99久久综合狠狠综合久久aⅴ| 成人免费91| 日韩av电影资源网| 国产美女精品写真福利视频| melody高清在线观看| 中文字幕电影在线观看| 免费羞羞视频| 手机在线色视频| 精品卡一卡卡2卡3网站| 黑人乱码一区二区三区av| 一级特黄aaa大片在线观看| 久久久久久久久久免费视频 | 狠狠色噜噜狠狠狠狠8888| 天堂网在线播放| av av片在线看| 国产精品视频一二区| 日韩乱码一区二区三区| 欧美不卡视频在线观看| 国产无码精品久久久| 久久免费在线观看视频| 国产男女猛烈无遮挡在线喷水| 精品人妻一区二区三区视频| 无码人妻aⅴ一区二区三区| 亚洲国产精品成人综合久久久| 中文字幕一区二区在线观看视频| 亚洲在线观看网站| 中文在线一区二区三区| 免费成人深夜天涯网站| 男人与禽猛交狂配| 亚洲国产精一区二区三区性色| 九一国产在线观看| 中文字幕码精品视频网站| 国产精品怡红院| 色一情一乱一乱一区91av| 四虎影视最新网站入口在线观看| 国产精品视频福利一区二区| 九九热视频在线| 国产乱妇乱子| 国产小视频免费在线观看| 国产激情视频在线| 天堂av手机版| 人妻视频一区二区三区| 欧美乱妇18p| xxxxx性| 美女av网站| 大片免费播放在线视频| 岛国av免费在线观看| 91精品视频一区二区| 成人性生交大片免费看96| 精品国产乱码久久久久久1区2匹| 国产精品九九| 麻豆国产欧美日韩综合精品二区| 91小视频免费看| 一区二区三区不卡视频| 在线精品视频免费观看| 国产视频精品久久久| 欧美大片va欧美在线播放| 国产精品白嫩初高中害羞小美女| 国产伦精品一区二区三区视频黑人 | 国产91在线播放| 欧美另类交人妖| 国产精品91久久久久久| 激情伦成人综合小说| 中文字幕欧美日韩一区二区| 免费一级特黄毛片| 激情综合激情五月| 欧美爱爱小视频| 99草在线视频| 欧美人善交videosg| 狠狠色一日本高清视频| av香蕉成人| 国产精品视频一区二区三区| 欧美午夜精彩| 久久国产成人午夜av影院| 亚洲国产精品黑人久久久| 在线观看不卡一区| 日韩在线免费视频观看| 成人h猎奇视频网站| 亚洲最新在线| 亚洲理论中文字幕| 91精品国产高清一区二区三蜜臀| 成人在线免费观看av| 久久久久久国产精品日本| a在线视频播放观看免费观看| 国产熟女一区二区丰满| 高清wwwwxxxx| 特级毛片在线| 精品少妇3p| 久久久噜噜噜久久狠狠50岁| 国产精品久久久久一区二区三区 | 久久综合九色综合久99| 女人另类性混交zo| 国产wwwwxxxx| 国产视频手机在线观看| 天天色天天草天天射| 欧美videossex另类| 日韩av字幕| 韩国毛片一区二区三区| 亚洲无人区一区| 国产一区av在线| 99视频在线播放| 欧美一级黄色影院| 中文字幕影音先锋| 欧美性猛交ⅹxxx乱大交免费| 中文字幕在线中文字幕二区| 国内欧美日韩| 爽好多水快深点欧美视频| 亚洲国产精品自拍| 久久这里有精品| 欧美日韩国产高清视频| 丰满岳乱妇一区二区| 国产又粗又大又爽视频| 国产h色视频在线观看| 亚洲一级少妇| 极品少妇一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 伊人一区二区三区久久精品| 国产精品亚洲综合| 亚洲自偷自拍熟女另类| 精品无码人妻一区二区三区| 国产激情网址| 成年男女免费视频网站不卡| 欧美激情1区2区| 综合久久一区二区三区| 日韩亚洲成人av在线| 先锋在线资源一区二区三区| 粉嫩精品久久99综合一区| 最近中文字幕mv免费高清电影| 日韩大片在线永久免费观看网站| 不卡av一区二区| 国产女人18水真多18精品一级做| 国产婷婷97碰碰久久人人蜜臀 | 日韩在线视频免费播放| jizzjizzwww| 91精品国产色综合久久不卡粉嫩| 久久成人羞羞网站| 精品国产1区二区| 精品视频在线观看| 男人天堂av电影| 一日本道久久久精品国产| av黄在线观看| 国产人成精品一区二区三| 欧美日韩国产专区| 国产精品久久久久久久久久久久久久| 在线免费视频a| a天堂视频在线| 成年网站在线| 91精品国产自产在线观看永久∴| 亚洲天天做日日做天天谢日日欢 | av影片在线| 久久九九国产| 日本韩国视频一区二区| 国产精品一区二区三区久久久| 最新天堂在线视频| 亚洲福利在线观看视频| 黄色的网站在线观看| 欧美日韩网址| 色噜噜久久综合| 官网99热精品| www久久久久久久| 奇米网人体黄视频| 天天干天天做天天操| 免费看a在线观看| 黄色工厂这里只有精品| 欧美影院一区二区| 波多野结衣一区二区三区在线观看| 性一交一黄一片| 骚虎黄色影院| 婷婷综合六月| av在线不卡网| 欧美大片免费看| 天天综合网日韩| 综合区小说区图片区在线一区| mm视频在线视频| 成人午夜大片免费观看| 久久国产精品久久久久久久久久| 欧美xxxxx在线视频| 亚洲精品国产suv一区| 8x8ⅹ拨牐拨牐拨牐在线观看| 精品一二三四区| www国产精品com| 777视频在线| 五月天婷亚洲天综合网精品偷| 91综合国产| 国产精品色婷婷| 91免费电影网站| 亚洲色图综合区| 亚洲kkk444kkk在线观看| 亚洲激情精品| 亚洲国产高潮在线观看| www.av毛片| 亚洲视频在线观看不卡| 亚洲国产伊人| 夜夜嗨av一区二区三区四季av | 在线观看中文字幕亚洲| 尤蜜粉嫩av国产一区二区三区| 影音先锋中文字幕在线视频 | 第九色区av在线| 国内精品久久久久影院薰衣草| 久久久国产一区二区三区| 黄色片子免费看| www.色五月| 欧美成人tv| 亚洲欧美一区二区三区四区| 日本爱爱免费视频| 高清在线观看免费韩剧| 欧美亚洲色图校园春色| 欧美午夜宅男影院| 91.com在线| 国产在线精选视频| 精品久久91| 日韩美女主播在线视频一区二区三区| 一二三四视频社区在线| 国产xxx免费观看| 久久影视一区| 精品视频久久久久久久| 先锋资源在线视频| 三上悠亚一区二区三区| 久久婷婷av| 久久久免费av| www日韩在线| 1stkiss在线漫画| 国产精品少妇自拍| 欧美日韩一区二区三区免费| 丰满人妻一区二区三区四区53| 亚洲精品aⅴ| 97久久视频| 亚洲少妇激情视频| 波多野结衣影院| 欧美黄色小说| proumb性欧美在线观看| 999视频在线免费观看| 中文字幕欧美在线观看| 爱情电影网av一区二区| 欧美亚洲愉拍一区二区| 日韩中文字幕二区| 很黄很污的网站| 精品一区二区国语对白| 91免费的视频在线播放| 国产又粗又猛又黄| 老牛国内精品亚洲成av人片| 亚洲精品v天堂中文字幕| 一边摸一边做爽的视频17国产 | 久久久999| 青青久久av北条麻妃海外网| 女人十八岁毛片| 高清久久精品| 欧美精品1区2区3区| 伊人色在线视频| 天堂中文资源在线| 久久久噜噜噜久噜久久综合| 欧美人xxxxx| 欧美bbxxx| 亚洲一区二区毛片| 国产成+人+综合+亚洲欧洲| 国产成人精品亚洲| 久久电影在线| 一本色道久久88综合日韩精品| 1024在线看片| 黄色在线免费观看网站| 欧美视频在线一区二区三区 | 中文字幕中文字幕99| 精品无人区乱码1区2区3区免费| 黄色av一区| 国产日韩欧美在线| 内射无码专区久久亚洲| 中出一区二区| 91黑丝在线观看| 在线观看一二三区| 欧美一区二区性| 欧美激情视频网| 夜夜狠狠擅视频| 青青草成人影院| 97精品国产97久久久久久春色 | 福利写真视频网站在线| 一本色道久久综合亚洲精品按摩| www.com黄色片| 国产视频二区在线观看| 一区二区三区四区av| 91蝌蚪视频在线观看| 黄色在线小视频| 亚洲国产视频直播| 天堂网成人在线| 性欧美video高清bbw| 欧美日本视频在线| 欧美成人短视频| 9999精品免费视频| 日韩一区二区欧美| 国产情侣小视频| 91偷拍一区二区三区精品| 日韩av片免费在线观看| 神马午夜一区二区| 久久久亚洲一区| 精品一区二区日本| freehdxxxx| 国产欧美一区二区三区在线老狼| 好吊妞无缓冲视频观看| 九九在线视频| 在线观看国产精品网站| 无码人妻丰满熟妇啪啪欧美| 玖玖精品在线| xxx一区二区| 国产91视频在线| 亚洲中字黄色| 欧美精品亚洲| 毛片毛片毛片毛片毛片毛片| 亚洲欧美国产三级| 亚洲一区和二区| 成人在线观看免费播放| 国产精品 日产精品 欧美精品| 久久riav二区三区| jizzjizzjizz中国| 亚洲青青青在线视频| 91香蕉视频免费看| 唐人社导航福利精品| 永久免费精品影视网站| 国产精品久久影视| 香蕉久久久久久久av网站| 天堂av一区二区| 无圣光视频在线观看| 欧美性猛交xxxx乱大交退制版| 777777国产7777777| 群体交乱之放荡娇妻一区二区| 国产va免费精品高清在线| 国产精品日日爱| 久久这里都是精品| 伊人色在线视频| 欧美成人毛片| 97精品在线观看| 国产一级片儿| 国产精品久久久99| 日韩 中文字幕| 成人h动漫精品一区二区器材| 国产成人精品av| 日皮视频在线免费观看| 亚洲精品视频在线看| 亚洲国产天堂av| 日韩高清三区| 99免费在线视频观看| 亚洲一本大道| 91麻豆精品国产自产在线| 精品不卡一区二区| 美女诱惑黄网站一区| 日本xxxxxxxxxx75| 忘忧草在线影院两性视频| 欧美高清视频在线| 国产寡妇树林野战在线播放|