我想要51单片机的管脚输出100个高低脉冲,但为什么脉冲数控制不了,示波器上显示的脉冲数根本停不下来?
#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbi...
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit PUL=P0^0; //붨ÒåPUL
sbit DIR=P0^1; //붨ÒåDIR
sbit ENA=P0^2; //붨ÒåENA
uchar i;
void delay (uint z)//ÑÓʱº¯Êý
{
uint x,y;
for(x=z;x>0;x--)
for(y=14;y>0;y--);
}
void delay_us(uint x )
{
for (i=0;i<x;i++)
{
_nop_();
}
}
void main()
{
DIR = 0;
ENA = 1;
delay(100);
for(i=0;i<100;i++)
{
PUL = 0;
delay_us(50);
PUL = 1;
delay_us(50);
}
} 展开
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit PUL=P0^0; //붨ÒåPUL
sbit DIR=P0^1; //붨ÒåDIR
sbit ENA=P0^2; //붨ÒåENA
uchar i;
void delay (uint z)//ÑÓʱº¯Êý
{
uint x,y;
for(x=z;x>0;x--)
for(y=14;y>0;y--);
}
void delay_us(uint x )
{
for (i=0;i<x;i++)
{
_nop_();
}
}
void main()
{
DIR = 0;
ENA = 1;
delay(100);
for(i=0;i<100;i++)
{
PUL = 0;
delay_us(50);
PUL = 1;
delay_us(50);
}
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询