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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)控制兩個舵機(jī),沒辦法停下來,求大佬幫我看看哪里有問題

[復(fù)制鏈接]
ID:1116922 發(fā)表于 2024-4-16 22:09 | 顯示全部樓層 |閱讀模式
#include <intrins.h>
#include <REGX51.H>

sbit PWM = P1^0;  
sbit PWM2 = P0^1;


unsigned char counter,angle,counter2,angle2;     

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

        _nop_();
        _nop_();
        i = 127;
        j = 18;
        k = 107;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}

void delay(unsigned char i)
{
  unsigned char j,k;
  for(j=i;j>0;j--)
    for(k=125;k>0;k--);
}

void Timer1_Init()              
{
        TMOD = 0x10;            

        TL1 = 0x33;  
        TH1 = 0xFE;

        TF1 = 0;  
        TR1 = 1;   
        ET1 = 1;  
        EA  = 1;  
        PT1 = 1;  
}

void Timer1_Routine() interrupt 3
{
        TL1 = 0x33;  
        TH1 = 0xFE;  
        counter++;
        counter2++;
        if (counter >= 40)
        {
                counter = 0;
        }
        
        if (counter2 >= 40)
        {
                counter2 = 0;
        }
        
        if (counter < angle)
        {
                PWM = 1;
        }
        else
        {
                PWM = 0;
        }
        
        if (counter2 < angle2)
        {
                PWM2 = 1;
        }
        else
        {
                PWM2 = 0;
        }
}


void control ()
{
        counter = 0;
        angle = 1;  
  counter2 = 0;
        angle2 = 5;
}



void stop ()
{
  angle = 0;
  angle2 = 0;
}

#endif


#include "control.h"

void main ()
{
  Timer1_Init();
  control ();
  delay(100);
        stop();
}

main.png
control.h.png
回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2024-4-17 09:22 | 顯示全部樓層
control.h檔只有#endif沒有#ifndef沒報錯嗎?
main.c里沒有while(1),程序跑飛了
回復(fù)

使用道具 舉報

ID:1116922 發(fā)表于 2024-4-19 12:49 | 顯示全部樓層
lkc8210 發(fā)表于 2024-4-17 09:22
control.h檔只有#endif沒有#ifndef沒報錯嗎?
main.c里沒有while(1),程序跑飛了

我剛開始學(xué)習(xí)單片機(jī),還是不太明白while(1)要加在哪里,
回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2024-4-19 18:31 | 顯示全部樓層
776749410 發(fā)表于 2024-4-19 12:49
我剛開始學(xué)習(xí)單片機(jī),還是不太明白while(1)要加在哪里,

stop();后面
回復(fù)

使用道具 舉報

ID:1116922 發(fā)表于 2024-4-21 12:11 | 顯示全部樓層

#include "control.h"
int x;
void main ()
{

        Timer1_Init();
  control ();
  Delay3000ms();
        stop();
        while(1)
        {
        x=1;
        }
}

修改成這樣也不行,我如果去掉了延時函數(shù)它就不會轉(zhuǎn)了,我懷疑是不是延時函數(shù)的問題,但是我不清楚問題在哪
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美中文 | 日韩欧美国产精品一区二区 | 成人av一区二区亚洲精 | 无码一区二区三区视频 | 亚洲一区二区三区桃乃木香奈 | 精品国产欧美 | 免费中文字幕 | 国产一区二区三区在线看 | 日日摸日日添日日躁av | 欧美一级片久久 | 国产精品一区在线观看 | 国产精品99久久久久久www | 亚洲毛片 | 成人精品一区二区 | 亚洲一区二区三区在线免费观看 | 欧美影院| 中日韩欧美一级片 | 91电影在线 | a毛片| 爱高潮www亚洲精品 中文字幕免费视频 | 欧美一区二区三区在线观看 | 久久久久国产一级毛片高清网站 | 日日干干| 国产亚洲精品美女久久久久久久久久 | 婷婷国产一区 | 国产精品国色综合久久 | 亚洲一区导航 | 黄色一级免费观看 | 国产午夜精品福利 | 成人毛片网 | 亚洲成人中文字幕 | 久久久青草婷婷精品综合日韩 | 综合另类 | 午夜免费福利电影 | 国产一级网站 | 久久精品中文字幕 | 成人av一区二区三区 | 国产精品久久久久一区二区三区 | 麻豆av在线免费观看 | 999国产视频 | 国产黄色麻豆视频 |