久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開始

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

求 超聲波避障帶舵機(jī)的程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:60391 發(fā)表于 2014-4-9 19:32 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
單片機(jī)為STC12c5616ad
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:2318 發(fā)表于 2014-7-8 17:27 來自手機(jī) | 只看該作者
求程序之前應(yīng)該要先發(fā)電路圖,不然別人怎么知,電路的連接
回復(fù)

使用道具 舉報(bào)

板凳
ID:141579 發(fā)表于 2016-10-7 16:43 | 只看該作者
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit ENA=P0^1;
sbit ENB=P0^2;
sbit out1 = P1^1 ; //P2.0到P2.3是電機(jī)驅(qū)動(dòng)輸出控制端
sbit out2 = P1^2 ;
sbit out3 = P1^4 ;
sbit out4 = P1^5 ;
sbit Trig = P0^4; //產(chǎn)生脈沖引腳
sbit Echo = P0^5; //回波引腳

sbit PWM=P0^3; //舵機(jī)pwm//
uint distance[4]; //測(cè)距接收緩沖區(qū)
uint distance1;
uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,PDATA; //自定義寄存器
bit succeed_flag; //測(cè)量成功標(biāo)志
unsigned long xdata rec_code;
unsigned long xdata time_us;
unsigned char xdata rec_cnt;
unsigned char xdata kbuf;
//uchar sdata,flag; //sdata是紅外遙控接收鍵值變量 flag是啟動(dòng)小車 或停止小車變量
uint j,a;
uchar pro;
bit rec_b;
bit key_save;
bit keyp;
void chaoshengbo();
void conversion(uint temp_data);
void delay_20us();
void delay_ms(uint x);
void delay(uint t) //延時(shí)程序1
        {
                uchar j;
                while(t--)
                        {
                                for(j=5;j>0;j--);
                        }
        }
               
void Init() //初始化
        {
//                flag=0;
                Trig=0;
                TMOD = 0x11;//T/C1采用16位定時(shí)器/計(jì)數(shù)器
                ET1 = 1;//定時(shí)器1開中斷
                ET0 = 1;
                TH0 = 0x00;
                TL0 = 0x00;
                TH1 = 0xff;
                TL1 = 0xce;
                TR1=0;
                TR0= 0;//定時(shí)計(jì)數(shù)器啟動(dòng)計(jì)數(shù)
                EX0 = 1;//外部中斷0關(guān)中斷
                PT1 = 1;
                EA = 1;//CPU開中斷
        }
//--------------------------------------------------
//-------超聲波測(cè)距----------------------------
void chaoshengbo()
        {
                uint distance_data;
                EA=0;
                Trig=1;
                delay_20us();
                Trig=0; //產(chǎn)生一個(gè)20us的脈沖,在Trig引腳
                while(Echo==0); //等待Echo回波引腳變高電平
                succeed_flag=0; //清測(cè)量成功標(biāo)志
                TH0=0; //定時(shí)器1清零
                TL0=0; //定時(shí)器1清零
                EX0=1; //打開外部中斷
                TR0=1; //啟動(dòng)定時(shí)器1
                EA=1;
                delay_ms(1);
//                if(succeed_flag==1)
//                        {
                                distance_data=outcomeH; //測(cè)量結(jié)果的高8位
                                distance_data<<=8; //放入16位的高8位
                                distance_data=distance_data|outcomeL;//與低8位合并成為16位結(jié)果數(shù)據(jù)
                                distance_data=(distance_data/25)*43/100;
//                        }
                a=distance_data;
                distance1=a;
        }
void delay_us(uint x)
        {
                do
                        {
                                x--;
                        }
                while(x>1);               
        }
void delay_ms(uint x)
        {
                while(x!=0)
                        {
                                delay_us(500);
                                x--;
                        }
        }


    baidong()
                {
                        TR1=1;
                        pro=24;
                        delay_ms(100);
                        pro=10;
                        delay_ms(100);
                        pro=36;
                        delay_ms(100);
                        pro=24;//90°
                        delay_ms(100);
                        TR1=0;
                }
void timer0() interrupt 3//定時(shí)0.1ms
        {
                TH1=0xff;
                TL1=0xce;
                j++;
                if(j<=pro)
                        {
                                PWM=1;
                        }
                else
                        {
                                PWM=0;
                        }
                if(j==400) //周期20ms
                        {
                                j=0;
                                PWM=~PWM;
                        }
                        }
//左轉(zhuǎn)
void comeleft()
        {
                out1=0;
                out2=1;
                out3=1;
                out4=0;
                delay_ms(40);
        }
//右轉(zhuǎn)
void comeright ()
        {
                out1=1;
                out2=0;
                out3=0;
                out4=1;
                delay_ms(40);
        }
//前進(jìn)加速;
void comeon()
        {
                out2=0;
                out4=0;
                out1=1;
                out3=1;
        }
//后退;
void back()
        {
                out2=1;
                out4=1;
                out1=0;
                out3=0;
                delay_ms(200);
        }
void stop() //停止
        {
                out1=0;
                out2=0;
                out3=0;
                out4=0;
        }
//避障原路返回
void shunback()
        {
                uint DATA1,DATA2;
                chaoshengbo();
                if(distance1<8)
        {
                stop();
                TR1=1;
                pro=10;//0°
                delay_ms(50);
                TR1=0;
                PWM=1;
                chaoshengbo();
                DATA1= distance1;
                distance1=0;
                TR1=1;
                pro=36;//180°
                delay_ms(50);
                TR1=0;
                PWM=1;
                chaoshengbo();
                DATA2= distance1;
                distance1=0;
                TR1=1;
                pro=24;//180°
                delay_ms(50);
                TR1=0;
                if(DATA1>=8 && DATA1>DATA2)
                        {
                                comeright ();comeon();
                        }
                else if (DATA2>=8 && DATA2>=DATA1)
                        {
                                comeleft(); comeon();
                        }
                else if (DATA2<8 && DATA1<8)
                        {
                                back(); comeleft();comeon(); }
                        }
                else
                        {        
                                comeon();
                        }
        }
void main(void)
        {
                P1=0XFF;
                P2=0XFF;
                P3=0XFF;
                P0=0XFF;
                Init();
                baidong();
                while(1)
                        {
                                shunback();
                        }
        }
//***************************************************************
//外部中斷0,用做判斷回波電平
INTO_() interrupt 0 // 外部中斷是0號(hào)
        {
                outcomeH =TH0; //取出定時(shí)器的值
                outcomeL =TL0; //取出定時(shí)器的值
                succeed_flag=1; //至成功測(cè)量的標(biāo)志
                EX0=0; //關(guān)閉外部中斷
                TR0=0;
        }
//****************************************************************
//******************************************************************
void delay_20us()
{        
        uchar bt ;
        for(bt=0;bt<100;bt++);
}
回復(fù)

使用道具 舉報(bào)

地板
ID:183197 發(fā)表于 2017-4-8 13:00 | 只看該作者
請(qǐng)問復(fù)制時(shí)為什么會(huì)有那么多的??
回復(fù)

使用道具 舉報(bào)

5#
ID:292119 發(fā)表于 2018-6-12 17:25 | 只看該作者
不好用,
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品国产一区二区三区四区在线 | 国产高清免费 | 午夜视频在线免费观看 | 丁香婷婷综合激情五月色 | 亚洲xxxxx | 日韩毛片中文字幕 | 国产毛片久久久久久久久春天 | 国产四区 | 国产精品电影网 | 天天操天天摸天天爽 | 亚洲精品电影在线观看 | 求毛片 | 少妇性l交大片免费一 | 国产精品一区二区在线 | 一二三四在线视频观看社区 | 午夜看电影在线观看 | 色婷婷一区二区三区四区 | 国产电影一区二区三区爱妃记 | 精品一区二区三区在线观看国产 | 欧美黄 片免费观看 | 黄色a级一级片 | 在线视频一区二区三区 | 91精品国产一区二区三区 | 成人性生交大片 | 香蕉av免费 | 午夜视频在线播放 | 国产精品国产成人国产三级 | 91最新在线视频 | 日韩av大片免费看 | 99色视频| a欧美| 成人精品一区 | 日韩a v在线免费观看 | 国产精品美女久久久久久免费 | 国产精品久久久亚洲 | 美女天天操| 一级黄色片一级黄色片 | 久久久久久久久久久久久91 | 一区二区三区中文字幕 | 欧美精品一区二区三区四区五区 | 一二区成人影院电影网 |