51单片机的某个I/O口 输出一组脉冲,求例子程序,谢谢了

 我来答
GUEL86
2013-03-01 · TA获得超过5856个赞
知道大有可为答主
回答量:5538
采纳率:86%
帮助的人:2733万
展开全部

#include<reg51.h>   // 
sbit P1_0 = P1^0;   // PWM  脉冲输出
sbit key10 = P3^2;
sbit key11 = P3^3;
unsigned char Set_PWM0 = 2; // 占空比调整
unsigned char counter = 0;  // 计数的
bit bdata tt1;      // 标志位
void main()
{
 TMOD=0x01;
 TH0=(65536-2000)/256;      // 定时时间  可以修改
 TL0=(65536-2000)%256; 
 EA=1;
 ET0=1;
 TR0=1;
 while(1)
 {                          // 开关调整 PWM  占空比
 if(key10==0 && tt1==0) {tt1 = 1; Set_PWM0++;} // K1、K2
 if(key11==0 && tt1==0) {tt1 = 1; Set_PWM0--;} 
 if(key10==1 && key11==1) tt1=0;
 }
}
void Timer0(void) interrupt 1 // 定时器0   PWM 控制
{                           
  TH0=(65536-2000)/256;       // 定时时间  可以修改
  TL0=(65536-2000)%256;
  counter++;
  if(counter >= 16) counter = 0;   // PWM  16级  可以修改
  if(counter >= Set_PWM0) P1_0 = 0; else P1_0 = 1;
}

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shifa2008
2013-03-01 · 超过34用户采纳过TA的回答
知道答主
回答量:135
采纳率:0%
帮助的人:71.6万
展开全部
你要 输出 也宽 的 买脉冲 。。。。。
#include <reg51.h>
delay_ms(unsigned int )
{
……
}
void main()
{
P1=~P1;
delay_ms(1);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e9f676ee8
2013-03-01 · TA获得超过713个赞
知道小有建树答主
回答量:717
采纳率:66%
帮助的人:579万
展开全部
#include<reg52.h>
void main()
{
while(1)
{
P0=0x00;
P0=0xff;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式