51单片机的某个I/O口 输出一组脉冲,求例子程序,谢谢了
答案:3 悬赏:30
解决时间 2021-01-27 05:03
- 提问者网友:轻浮
- 2021-01-26 07:33
51单片机的某个I/O口 输出一组脉冲,求例子程序,谢谢了
最佳答案
- 二级知识专家网友:青尢
- 2021-01-26 09:05
#include
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;
}
全部回答
- 1楼网友:渊鱼
- 2021-01-26 10:46
#include<reg52.h>
void main()
{
while(1)
{
P0=0x00;
P0=0xff;
}
}
void main()
{
while(1)
{
P0=0x00;
P0=0xff;
}
}
- 2楼网友:大漠
- 2021-01-26 10:07
你要输出也宽 的 买脉冲 。。。。。
#include <reg51.h>
delay_ms(unsigned int )
{
……
}
void main()
{
P1=~P1;
delay_ms(1);
}
#include <reg51.h>
delay_ms(unsigned int )
{
……
}
void main()
{
P1=~P1;
delay_ms(1);
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯