(急)单片机如何产生PWM信号的?

 我来答
aleda
推荐于2018-02-10 · TA获得超过1667个赞
知道小有建树答主
回答量:739
采纳率:100%
帮助的人:291万
展开全部
好多单片机内部都 嵌有 PWM输出的
常用的STC系列的51单片机,Microchip的单片机,种类繁多

对其编程就可以PWM输出了

你可以查阅下资料,上面都写着的

可以进入 www.dzsc.com 找到 这些单片机的pdf文档
具体看一下
百度网友4172d76
2008-06-15 · TA获得超过140个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:0
展开全部
使用ADUC842,51内核,即可产生PWM
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
N_0_1
高粉答主

推荐于2016-02-22 · 关注我不会让你失望
知道大有可为答主
回答量:8628
采纳率:47%
帮助的人:836万
展开全部
1、用普通I/O口采用软件定时器中断可以模拟PWM输出。"/**/"里面的内用是对程序的标注,解析。
2、/*采用6MHz晶振,在P1.0脚上输出周期为2.5s,占空比为20%的脉冲信号*/
/*定时100ms,周期2.5s需25次中断,高电平0.5s需5次中断*/
#include <reg51.h>
typedef unsigned char uchar;
sbit P1_0=P1^0;
uchar time=0;
uchar period=25;
uchar high=5;
void timer0() interrupt 1 using 1
{
TH0=0x3c; /*定时器初值重装载*/
TL0=0xb0;
time++;
if(time==high) /*高电平持续时间结束,变低*/
{ P1_0=0;}
else if(time==period) /*周期时间到,变高*/
{ time=0;
P1_0=1;
}
}
void main()
{
TMOD=0x01; /*定时器0方式1*/
TH0=0x3c; /*定时器装载初值*/
TL0=0xb0;
EA=1; /*开CPU中断*/
ET0=1; /*开定时器0中断*/
TR0=1;/*启动定时器0*/
while(1) /*等待中断*/
{}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式