當前位置:編程學習大全網 - 編程軟體 - 電機PWM調速,程序裏面有壹段程序不懂,程序在下面,求懂得大神講解壹下beep();有什麽作用。

電機PWM調速,程序裏面有壹段程序不懂,程序在下面,求懂得大神講解壹下beep();有什麽作用。

先解釋下此函數的功能

void beep(void)

{

uchar t;

for(t=0;t<100;t++)//循環,***輸出50個脈沖

{

delaynms(1);//延時,即兩個脈沖的間隔時間

FMQ=!FMQ; //產生脈沖,此句貌似有錯誤,應該寫成 FMQ = ~FMQ;

}

FMQ=1; //關閉脈沖,即循環後,不管結果如何,必須讓此端口置 1

delaynms(300);//延時,此句有沒有都可以

}

看程序的開頭 sbit FMQ = P3^6; 可知,這是壹個輸出端口,至於連接的什麽不得而知

但從函數本身看,這只是壹個簡單的利用延時函數來輸出脈沖的函數,其精度不高

程序開頭有四句

sbit PWM11 = P1^0;

sbit PWM12 = P1^1;

sbit PWM13 = P1^2;

sbit PWM14 = P1^3;

並且在中斷函數中進行控制,初步可以斷定,這是壹個利用L298N 控制的兩相步進電機

但此程序的可讀性太差,除了當時編程的時候可以理解其內容,等過段時間就會忘記流程啦

此程序有待改進!

  • 上一篇:初中生不想上學該怎麽辦
  • 下一篇:四川嵌入式技術專科的自考學分是多少?
  • copyright 2024編程學習大全網