為什么不能控制脈沖大小改變,請(qǐng)問一下是什么問題呢

#include "CH552.H"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

#include "Debug.H"

#include "Timer.H"

#include "stdio.h"

#include "GPIO.H"


#pragma? NOAREGS


//UINT8 FLAG;

//UINT16 Cap[8] = {0};

//typedef unsigned int uint16_t;

sbit LED1 = P3^4;

sbit led2 = P1^3;

sbit key = P1^4;

unsigned int condition=0;//這里高電平占一份

unsigned int cnt;? //整個(gè)周期

void button();


void main( )?

{

? ? CfgFsys( );? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //CH554時(shí)鐘選擇配置? ?

? ? mDelaymS(5);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//修改主頻,建議稍加延時(shí)等待主頻穩(wěn)定

? ? Port3Cfg(1,4);

? ? Port1Cfg(1,3);

? ? Port1Cfg(3,4);

? ? mTimer0Clk12DivFsys();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//T0定時(shí)器時(shí)鐘設(shè)置

? ? mTimer_x_ModInit(0,2);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//T0 定時(shí)器模式設(shè)置

? ? mTimer_x_SetData(0,0x5555);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//T0定時(shí)器賦值

? ? mTimer0RunCTL(1);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //T0定時(shí)器啟動(dòng)

? ? ET0 = 1;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//T0定時(shí)器中斷開啟

? ? EA = 1;

? ? while(1)

{

? ?if(cnt>=100)

? ?{

? ? ? LED1=0;

? ? }

? ?if(cnt<condition)

{

? ? ?LED1=1;

}

else

{

? ? LED1=0;

}

? ? button();

}

}

void Time0Interrupt(void) interrupt INT_NO_TMR0 using 1

{

? ? mTimer_x_SetData(0,0x5555);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//T0定時(shí)器賦值

? ? cnt++;

}

void button()

{

? ?if(key==0)

? ?{

? ? ? ?mDelaymS(5);

? ? ? if(key==0)

? ?{

? ? ? ? ? ?condition=condition+30; //調(diào)制脈寬

? ? ? ? ? ? led2=!led2;//led燈反轉(zhuǎn)

? ? ? ? ? ? if(condition>=90)//如果脈寬等于總周期了等于0

{

? ? ? ? ? condition=90;

? ? ? ? ? ? }

? ? ? ? ? ? while(!key);? //等待按鍵松手

? ?}

? }

}


您好,您說的脈沖大小改變指的是脈寬的變化嗎?

貼出來的代碼有部分丟失。


這是完整的代碼

image.png


這邊不太清楚代碼到底是怎么運(yùn)行的,猜測是定時(shí)器中對(duì)cnt做加加運(yùn)行,尚且不知道主循環(huán)中對(duì)cnt的判斷是怎么的,是和condition這個(gè)變量做比較嗎?您可以仔細(xì)閱讀一下前面的代碼,看一下缺少的是哪一個(gè)部分,將對(duì)應(yīng)的部分代碼貼出來


已經(jīng)可以了


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频