标题:
这是一个51单片机写的洒水车的程序
[打印本页]
作者:
wenmang618
时间:
2018-11-18 15:29
标题:
这是一个51单片机写的洒水车的程序
这一次来不及写很多介绍了,下次 再一一详细的说
单片机源程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define con P1
#define k
sbit pul =P2^0; //脉冲
sbit dir =P2^1; //方向
sbit hongwai1 =P2^2;//电机的红外检测1
sbit hongwai2 =P2^3;//电机的红外检测2
sbit shui=P2^4; //水泵1
sbit shui2=P2^5; //水泵2
sbit f0 =P2^6; //车移动的红外检测1
sbit f1 =P2^7; //车移动的红外检测2
sbit qi=P3^3; //继电器
unsigned char code qianjin[2]={0xaa,0x00};
void delay(uint x) //X=1,0.5MS
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
void Timer0Init()
{
TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。
TH0=0XFC; //给定时器赋初值,定时1ms
TL0=0X18;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
}
/*
void dianji()
uchar j=0;
uint i=0;
uint flag=0;
uint yiyi=0;
uint k=0;
uint flag2=0;
pul=0;
dir=0;
while(1)
{if(flag==0)
// {
// pul=~pul;
// delay(2);
// j++;
// if(j==2)
// {
// j=0;i++;
// }
// }
if((i==1600)/*&&(flag==0)) {flag=1;j=0;break;}
}
*/
void Timer0() interrupt 1
{
static uchar i;
pul=0;
TH0=0XFC; //给定时器赋初值,定时1ms
TL0=0X18;
i++;
if(i==8)
{
i=0;
pul=~pul;
}
}
void main()
{
shui2=1;
//qi=0;
shui=1;//水泵共阳极
if((f0==1)&&(f0==1))
{
con=qianjin[0];
}
if ((f0==0)||(f1==0))
{
con=qianjin[0];
delay(500);
qi=1;
dir=1;
TR0=1;//打开定时器
con=qianjin[1];
Timer0Init();
delay(8000);
qi=0;
delay(8000);
TR0=0;
if((hongwai1==0)||(hongwai2==0))
{
shui=0;
delay(2000);
shui=1;
dir=0;
TR0=1;
delay(8000);
//dianji(4);
qi=1;
delay(8000);
dir=1;
}
}
}
复制代码
所有资料51hei提供下载:
智能车洒水.zip
(23.79 KB, 下载次数: 29)
2018-11-18 15:28 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
eflyfly
时间:
2018-11-18 20:05
学到很多
作者:
ssk7793
时间:
2018-11-20 15:44
麻烦说下用到的组件及接线图,谢谢
作者:
arduino-kevin
时间:
2018-12-21 11:51
water_car:1:18: error: reg52.h: No such file or directory
compilation terminated.
exit status 1
reg52.h: No such file or directory
作者:
arduino-kevin
时间:
2018-12-21 11:51
这是哪里的错误,校验不通过
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1