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

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

QQ登錄

只需一步,快速開始

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

智能小車源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:410899 發(fā)表于 2018-10-17 08:33 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <reg52.h>
#include <intrins.h>

void Delay10ms();
void Delay5ms();
void Delay1ms();

#define uchar unsigned char
#define uint unsigned int

sbit a=P1^0;  //電機(jī)信號(hào)輸入
sbit b=P1^1;
sbit c=P1^2;
sbit d=P1^3;
sbit pwm1=P1^4;
sbit pwm2=P1^5;

sbit buzz=P2^7;

uchar cishu; //中斷次數(shù)
uchar p1;  //p1占空比
uchar p2;  //p2占空比



void qian()   //方向控制
{
        a=1;b=0;c=1;d=0;       
}
void hou()   //方向控制
{
        a=0;b=1;c=0;d=1;
}
void zuo()   //方向控制
{
        a=1;b=0;c=0;d=1;
}
void you()   //方向控制
{
        a=0;b=1;c=1;d=0;
}
void ting()   //方向控制
{
        a=0;b=0;c=0;d=0;
}

void jia()
{
       
        if(p1>29)
        {
                p1=30;p2=30; buzz=0;       
        }
        else
        {
        p1++; p2++;        buzz=1;
        }

}
void jian()
{
       
        if(p1<21)
        {
                p1=20;p2=20;buzz=0;       
        }
        else
        {
        p1--; p2--; buzz=1;
        }

}


uchar RxData()
{
   uchar tmp;   //定義一個(gè)臨時(shí)變量,用來保存接收到的數(shù)據(jù)
   while (!RI);//等待數(shù)據(jù)接收完,接收完后時(shí)RI會(huì)自動(dòng)置1
   RI = 0;     //清中斷標(biāo)志
   tmp = SBUF; //將接收到的數(shù)據(jù)保存到tmp中
   return tmp; //返回接收到的數(shù)據(jù)
}

void UartInit(void)                //9600bps@11.0592MHz
{

        SCON = 0x50;                //8位數(shù)據(jù),可變波特率

        TMOD &= 0x00;                //清除定時(shí)器1模式位
        TMOD |= 0x21;                //設(shè)定定時(shí)器1為8位自動(dòng)重裝方式
        TL1 = 0xFD;                //設(shè)定定時(shí)初值
        TH1 = 0xFD;                //設(shè)定定時(shí)器重裝值
        ET1 = 0;                //禁止定時(shí)器1中斷
        TR1 = 1;                //啟動(dòng)定時(shí)器1

        TL0 = 0xF1;                //設(shè)置定時(shí)初值
        TH0 = 0xFF;                //設(shè)置定時(shí)初值
        TF0 = 0;                //清除TF0標(biāo)志

        TR0 = 1;                //定時(shí)器0開始計(jì)時(shí)
        ET0 = 1;
        EA = 1;

        ES=1;
}


void main()
{
        UartInit();
        RI = 1;  
        p1=25;p2=25;  
        while(1)
        {
               
//                switch(RxData())
//                {
//                        case 0x01: qian(); Delay1ms(); p1=30;p2=30; break;
//                        case 0x02: hou(); Delay1ms(); p1=30;p2=30; break;
//                        case 0x03: zuo(); Delay1ms(); p1=21;p2=21; break;
//                        case 0x04: you(); Delay1ms(); p1=21;p2=21; break;
//                        case 0x00: ting(); Delay1ms(); p1=0;p2=0; break;
//                        default :  ;
//                }

        }
}

void es () interrupt 4
{
        uchar tmp;   //定義一個(gè)臨時(shí)變量,用來保存接收到的數(shù)據(jù)
        if(RI==1)
        {
                tmp = SBUF; //將接收到的數(shù)據(jù)保存到tmp中
                switch(tmp)
                {
                        case 0x01: qian(); Delay1ms();  break;        //p1=30;p2=30;
                        case 0x02: hou(); Delay1ms();   break;        //p1=30;p2=30;
                        case 0x03: zuo(); Delay1ms();   break;        //p1=21;p2=21;
                        case 0x04: you(); Delay1ms();   break;        //p1=21;p2=21;
                        case 0x00: ting(); Delay1ms();  break;        //p1=0;p2=0;
                        case 0x09: buzz=~buzz; break;
                        case 0x06:  jia(); buzz=0;Delay1ms();buzz=1; break;
                        case 0x07:  jian(); buzz=0;Delay1ms();buzz=1; break;
                        default :  ;
                }

        }
        RI=0;
}


void T_0 () interrupt 1
{
        TR0=0;
        TL0 = 0xF1;                //設(shè)置定時(shí)初值
        TH0 = 0xFF;                //設(shè)置定時(shí)初值
        if(cishu<=30)
        {
                cishu++;
        }
        else
        {
                cishu=0;
        }

        if(cishu<=p1)
        {
                pwm1=1;
        }
        else
        {
                pwm1=0;
        }

        if(cishu<=p2)
        {
                pwm2=1;
        }
        else
        {
                pwm2=0;
        }
        TR0=1;
}




void Delay10ms()                //@11.0592MHz
{
        unsigned char i, j;

        i = 108;
        j = 145;
        do
        {
                while (--j);
        } while (--i);
}

void Delay5ms()                //@11.0592MHz
{
        unsigned char i, j;

        i = 54;
        j = 199;
        do
        {
                while (--j);
        } while (--i);
}

void Delay1ms()                //@11.0592MHz
{
        unsigned char i, j;

        _nop_();
        _nop_();
        _nop_();
        i = 11;
        j = 190;
        do
        {
                while (--j);
        } while (--i);
}


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

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2018-10-17 13:26 | 只看該作者
補(bǔ)全原理圖或者詳細(xì)說明一下電路連接即可獲得100+黑幣
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 丝袜美腿一区二区三区 | 国产一区二区三区四区 | 91在线观看 | 九九热在线精品视频 | 91亚洲国产成人精品一区二三 | 国产午夜精品久久久 | 成人亚洲网站 | 九色porny自拍视频 | 日韩1区2区| 成人小视频在线观看 | 久久久久久久国产 | 国产精品久久国产精品 | 黄在线免费观看 | 亚洲精品久久久久久久不卡四虎 | 国产精品一区在线观看 | 国产中文字幕av | 伊人久久综合 | 国产91中文 | av天天澡天天爽天天av | 日韩欧美精品一区 | 日韩精品一区二区三区视频播放 | 精品综合在线 | 最新国产视频 | 亚洲精品乱码久久久久久蜜桃 | 欧美一级精品片在线看 | 亚洲一区二区久久久 | 亚洲国产成人av好男人在线观看 | 亚洲日本成人 | 欧美一级欧美三级在线观看 | 免费在线观看成人av | 91国在线| av一区二区在线观看 | 在线一区视频 | 精品一二区 | 国产一区二区小视频 | 国产精品欧美一区二区三区 | 亚洲精品日韩精品 | 国产视频一区在线 | 一区二区三区四区不卡 | 欧美一区二区免费 | 99久久婷婷 |