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

標(biāo)題: 智能小車源代碼 [打印本頁]

作者: 815444    時間: 2018-10-17 08:33
標(biāo)題: 智能小車源代碼
#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ī)信號輸入
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;   //定義一個臨時變量,用來保存接收到的數(shù)據(jù)
   while (!RI);//等待數(shù)據(jù)接收完,接收完后時RI會自動置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;                //清除定時器1模式位
        TMOD |= 0x21;                //設(shè)定定時器1為8位自動重裝方式
        TL1 = 0xFD;                //設(shè)定定時初值
        TH1 = 0xFD;                //設(shè)定定時器重裝值
        ET1 = 0;                //禁止定時器1中斷
        TR1 = 1;                //啟動定時器1

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

        TR0 = 1;                //定時器0開始計(jì)時
        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;   //定義一個臨時變量,用來保存接收到的數(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è)置定時初值
        TH0 = 0xFF;                //設(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);
}



作者: admin    時間: 2018-10-17 13:26
補(bǔ)全原理圖或者詳細(xì)說明一下電路連接即可獲得100+黑幣




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩视频免费 | 成人免费视频 | 精品免费视频 | 精品国产乱码久久久 | 久久最新网址 | 日韩超碰在线 | 日韩一区和二区 | 国产精品99久久久久久久vr | 久久久久久国产精品免费免费狐狸 | 伊人久久综合 | 久久久青草婷婷精品综合日韩 | 一级看片免费视频 | 国产免费一区 | 亚洲小视频在线播放 | 99久久日韩精品免费热麻豆美女 | 久久久一区二区三区四区 | 久久综合久久自在自线精品自 | 欧美日韩在线免费 | 91精品国产乱码久久久久久久久 | 中文字幕乱码亚洲精品一区 | 天天综合网天天综合色 | 美女福利视频一区 | 龙珠z国语版在线观看 | 免费观看av网站 | 2一3sex性hd | 国产a级毛片 | 羞羞在线视频 | 夜夜干夜夜操 | 亚洲区一区二区 | 在线观看中文字幕 | 最近最新中文字幕 | 99亚洲精品视频 | 久久99精品国产 | 91小视频在线 | 日韩二三区 | 在线观看成人免费视频 | 日本电影韩国电影免费观看 | 日韩av免费在线观看 | 国产成人网 | 亚洲精品久久久久久下一站 | 精品入口麻豆88视频 |