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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2960|回復(fù): 0
收起左側(cè)

51單片機(jī)pwm測試源程序

[復(fù)制鏈接]
ID:378322 發(fā)表于 2018-7-24 09:48 | 顯示全部樓層 |閱讀模式
#include "reg52.h"                           
#include "main.h"
#include "distance_measure.h"
#define TIMER_DELAY                (500) //定時器定時500us=0.5ms
uint counter = 0;                   //計數(shù)
uchar PWM[4]={8,8,8,8};         
uchar motor_max=5;                  //pwm最大值

//四路馬達(dá)
//    1   3
//          2          4
sbit ENA = P1^5;
sbit motor1 = P1^4;
sbit motor2 = P1^3;
sbit motor3 = P1^2;
sbit motor4 = P1^1;
sbit ENB = P1^0;

//STC89系列單片機(jī)延時1ms
void delay_ms(unsigned int x)
{
        char j=0;
        while(x--)
                for(j=0;j<125;j++)
                        ;
}

//定時器初始化
void timer_init()
{
    //AUXR &= 0x7F;                //定時器時鐘12T模式
    TMOD &= 0xF0;                //設(shè)置定時器模式:定時器0方式1
        TMOD |= 0x01;                //設(shè)置定時器模式:定時器0方式1
        EA=1;                                   //開總中斷
        TH0=(65535-TIMER_DELAY)/256;   //設(shè)置初值
        TL0=(65535-TIMER_DELAY)%256;
        ET0=1;                                   //啟用定時器中斷
        TR0=1;                                   //開啟
}

//T0中斷服務(wù)子程序
void timer0_isr() interrupt 1
{
        TH0=(65535-TIMER_DELAY)/256;                //重新賦值
        TL0=(65535-TIMER_DELAY)%256;
        counter ++;                  
        //計數(shù)累加1ms清零
        if(counter == 20)
        {
                counter = 0;        
        }
        //比較輸出PWM
        motor1 = PWM[0] > counter;
        motor2 = PWM[1] > counter;
        motor3 = PWM[2] > counter;
        motor4 = PWM[3] > counter;

}
void motor_up()                                 //前進(jìn)
{
        PWM[0]=motor_max;
        PWM[1]=0;
        PWM[2]=motor_max;
        PWM[3]=0;

}
void motor_stop()                   //后退
{
        PWM[0]=0;
        PWM[1]=motor_max;
        PWM[2]=0;
        PWM[3]=motor_max;
}
void motor_left()                   //左轉(zhuǎn)
{
        PWM[0]=motor_max;
        PWM[1]=0;
        PWM[2]=0;
        PWM[3]=0;
}
void motor_right()                  //右轉(zhuǎn)
{
        PWM[0]=0;
        PWM[1]=0;
        PWM[2]=motor_max;
        PWM[3]=0;
}
void main()
{
        timer_init();         //定時器初始化
        ENA=1;
        ENB=1;
        motor_up();
        while(1)
        {
                if(get_distance() <= 50)                 //判斷是否有障礙物
                {
                        delay_ms(10);                                //消抖
                        if(get_distance() <= 50)   //確實有障礙物
                        {
                                motor_left();
                                delay_ms(500);
                        }
                }
                else
                {
                        motor_up();
                }           
               
        
        }


}



回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产在线小视频 | 91精品国产自产精品男人的天堂 | 精品在线一区二区 | 欧美一级免费看 | 国产精品久久久久久婷婷天堂 | www.久久.com| 日韩国产欧美视频 | 黄色av网站在线免费观看 | 成人不卡| 成人福利片 | 日日骚网| 日日摸天天添天天添破 | 国产1区在线 | wwwxxx国产 | 日韩 欧美 二区 | 看片91 | 日韩插插 | 久久精品在线 | 欧美在线一区二区三区四区 | 中文字幕一级毛片视频 | 国产精品99免费视频 | 国产露脸对白88av | 亚洲激精日韩激精欧美精品 | 免费精品| 国产亚洲一区二区精品 | 亚洲一区二区三区免费视频 | 中文字幕精品一区久久久久 | 日一区二区三区 | 欧美日韩第一页 | 中国一级大毛片 | 羞羞的视频免费看 | 国产小视频在线看 | 国产一区 日韩 | 欧美一区二区大片 | 在线不卡av | 久久高清免费视频 | 日本免费视频在线观看 | 亚洲精品久久久久中文字幕二区 | 日韩欧美在线观看视频 | 日韩视频精品 | 欧美a∨|