本帖最后由 田雨软件客服 于 2013-2-24 23:04 编辑
当P1.1=1 时 电机由静止开始转动10秒,然后停止
当再次P1.1=1时 电机再循环上面的步骤!
我的程序但是不行 请大侠们修改一下。
/*预处理命令*/
#include<reg52.h> //包含
单片机寄存器的头文件
#define uchar unsigned char
#define uint unsigned int
/* 函数申明 -----------------------------------------------*/
void delay_main(uint z);
/* 变量定义 -----------------------------------------------*/
sbit relay=P2^1; //定义P0^1位为继电器relay的控制位
sbit k1=P1^1; //定义按键1
/*
********************************************************************************
** 函数名称 : main(void)
** 函数功能 : 主函数
********************************************************************************
*/
void main(void)
{
while(1)
{
if ( k1==1)
{
relay=0; //电机1 关闭
delay_main(1000);
relay=1;
k1=0;
}
}
}
/*
********************************************************************************
** 函数名称 : delay(uint z)
** 函数功能 : 延时函数
********************************************************************************
*/
void delay_main(uint z)//-----------------主延时函数1毫秒
{ uint x,y; for(x=z;x>0;x--)
for(y=100;y>0;y--);
}
{
while(1)
{
if (k1)//如果P1.1为1
{
delay_main(10); //延时10mS
if (k1)//如果P1.1还是为1,去除干扰
{
relay=0; //开电机
delay_main(1000);
relay=1;//关电机
while(k1);//等待P1.1为0退出,
}
}
}
}
一周热门 更多>