A. 用51單片機用PWM調速C語言程序怎麼寫·····
含糊其辭,不明不白。
其實,出題人也不想,要答案。
B. 51單片機怎麼產生pwm程序
正則表達式替換 import java.util.regex.Matcher; import java.util.regex.Pattern; public class $ { public static void main(String... _) { String sa = "<ABCDEFGHIJK>SDFER<EGD>FG"; Pattern p = Pattern.compile("<([A-Z]|[a-z]){0,}>"); Matcher match = p.matcher(sa); while (match.find()) { String str = match.group(); sa = sa.replaceFirst(str, str.toLowerCase()); } System.out.println(sa); } }
C. 51單片機產生頻率為1KHZ,占空比可調的PWM匯編程序,初學者,求完整程序
#include<reg51.h>
sbitP_OUT=P3^7;
sbitUP=P1^0;
sbitDN=P1^1;
unsignedcharp=5,n;
voidT0_INT()interrupt1
{
n++;
if(n>9)n=0;//0~9
if(n<=p)P_OUT=1;
elseP_OUT=0;
}
main()
{
TMOD=0x02;
TH0=156;
TR0=1;
IE=0x82;
while(1){
if(P<9&&!UP){while(!UP);p++;}
if(p>0&&!DN){while(!DN);p--;}
}
}
你編譯一下,匯編程序,就出來了。
D. 51單片機產生pwm波的c程序是什麼
用定時器產生程序如下:
unsigned int a=0 ,b=10;
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
void PWM() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256 ;
a++;
P1^1=0;
if(a=20)
{
a=0;
}
if(a=b)
{
P1^1=1;
}
}
調節a ,b的值即可調節占空比,程序框架就是這樣,具體自己改吧
E. 利用51單片機定時器產生PWM波的c語言程序,要求如下
#include<reg51.h>
#define uchar unsigned char
uchar pwm=50,cnt;
sbit pluse=P1^0;
sbit keyu=P1^4;
sbit keyd=P1^5;
void t0isr() interrupt 1
{
TH0=(65536-100)/256;
TL0=(65536-100)%256;
cnt++;
if(pwm>0)
{
if(cnt>100)cnt=0;
if(cnt<=pwm)pluse=1;
else pluse=0;
}
else pluse=0;
}
main()
{
TMOD=0x01;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(keyu==0)
{
while(keyu==0);
pwm++;
if(pwm>100)pwm=100;
}
if(keyd==0)
{
while(keyd==0);
if(pwm>0)pwm--;
}
}
}
F. 51單片機PWM 0-5V輸出的程序
這個好像不對啊?PWM是改變占空比的不是改變電壓的,你要求的是不是改變平均電壓啊?
G. 51單片機怎樣做PWM
STC的部分51單片機可以使用相關寄存器實現PWM功能,不用編寫復雜的程序(即不用中斷了),當然我一直看不懂STC編寫的說明書,所以一邊都用AVR單片機來製造PWM,而且非常簡單。
H. 51單片機是如何產生PWM波的
主要通過一個定時器和一個IO口來實現PWM的輸出。
在一個周期裡面,首先讓IO口輸出高電平,並定時一定的時間
然後再將IO口輸出低電平,定時一定的時間。
然後在while裡面循環輸出即可。
需要改變占空比的話就改變高電平的時間與低電平的時間比。