新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于51單片機的無線遙控小車設計

        基于51單片機的無線遙控小車設計

        作者: 時間:2012-09-15 來源:網絡 收藏

        //////////////////////////////////////////////////////////***C51程序*******////////////////////////////////////////

        #include reg51.h>#define TH0C  0xff#define TL0C  0xf6unsigned int  dr_l,dr_r,times;      //duty  ratio  是占空比的意思。unsigned char flag;sbit leftv=P1^0;sbit leftg=P1^1;sbit rightv =P1^2;sbit rightg =P1^3;sbit ena=P1^4;sbit enb=P1^5;sbit key0=P2^5;sbit key_a=P2^0;sbit key_r=P2^1;sbit key_l=P2^2;sbit key_b=P2^3;void beforeint(void);void main(){while(1){     P2=0xff;if(key0){ena=1;enb=1;if(key_a){flag=1;dr_l=50;dr_r=50;leftv=1;rightv=1;beforeint();}if(key_r){flag=2;dr_l=99;dr_r=1;leftv=1;rightg=1;beforeint();}if(key_l){flag=3;dr_l=1;dr_r=99;leftg=1;rightv=1;beforeint();}if(key_b){flag=4;dr_l=50;dr_r=50;leftg=1;rightg=1;beforeint();}}else{ena=0;enb=0;flag=0;P1=0xff;continue;}          }}void  beforeint(void){TMOD=0x01;TH0=TH0C;TL0=TL0C;TR0=1;ET0=1;EA=1;}void time0(void) interrupt 1 using 2{times=0;TH0=TH0C;TL0=TL0C;times+=1;if(times>99){times=0;}if(flag==1){if(times=dr_l){leftg=0;}else{leftg=1;}if(times=dr_r){rightg=0;}else{rightg=1;}}else  if(flag==2){if(times=dr_l){leftg=0;}else{leftg=1;}if(times=dr_r){rightv=0;}else{rightv=1;}     }else if(flag==3){if(times=dr_l){leftv=0;}else{leftv=1;}if(times=dr_r){rightg=0;}else{rightg=1;}}else if(flag==4){if(times=dr_l){leftv=0;} else{leftv=1;}if(times=dr_r){rightv=0;}else{rightv=1;}}}

        ////////////////////////////////////////////////////******************************///////////////////////////////////
        完整的程序代碼從這里下:http://www.51hei.com/ziliao/file/xiaoch.rar
        小車的演示視頻:http://v.youku.com/v_show/id_XMTM3MDkyMDA4.html
        程序是根據2272接收到的型號判斷該左轉右轉還是前進后退,這個是四個基本功能,我們的小車也就實現這些功能,對于電源我們處理的不是很好,只是簡單的將小車共地。并且把L298的邏輯電壓單獨接出來,這個小車以后還是會改進的,呵呵。

        后記:該說的都說的差不多了,程序很簡單,我只用了幾個鐘頭包括仿真(Proteus仿真圖就不貼出來了),主要是控制,然后就是產生PWM來進行對小車的調速,不過調試的時候 一次通過,雖然轉的比較快,但是不影響轉彎。有問題請隨意,呵呵。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 调兵山市| 托里县| 资兴市| 安福县| 赣州市| 天峻县| 平安县| 玉田县| 盘锦市| 桐城市| 新安县| 建始县| 故城县| 梅州市| 西平县| 来宾市| 定结县| 金昌市| 昂仁县| 忻城县| 旌德县| 天镇县| 晋宁县| 吴川市| 晋中市| 克拉玛依市| 夏津县| 顺义区| 都江堰市| 金沙县| 五常市| 灵山县| 东城区| 金寨县| 靖远县| 武邑县| 洪泽县| 长丰县| 柘城县| 五指山市| 措美县|