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里面循环输出即可。
需要改变占空比的话就改变高电平的时间与低电平的时间比。