#include<reg52.h> //头文件 //宏定义
#define uchar unsigned char
#define uint unsigned int
#define CYCLE 10 //定义PWM的周期T为10ms
/********电机驱动端口定义*********/
sbit L298_ENA=P0^2; //298左使能控制,高电平使能,低电平禁止输出
sbit L298_IN1=P0^0; //左电机正反转控制
sbit L298_IN2=P0^1;
sbit L298_ENB=P0^5; //298右使能控制,高电平使能,低电平禁止输出
sbit L298_IN3=P0^6; //右电机正反转控制
sbit L298_IN4=P0^7;
sbit JD=P3^5;
sbit huoyan=P3^3;
sbit qianjin=P1^0;
sbit houtui=P1^1;
sbit zuozhuan=P1^2;
sbit youzhuan=P1^3;
uchar PWM_ON1=6;
uchar count=0; //中断计时
//sbit qidong=P1^3;
/***********延时函数***********************/
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
/*************前进子程序*************/
void G_FORWARD()
{
L298_IN1=1;
L298_IN2=0;
L298_IN3=1;
L298_IN4=0;
}
/*************后退子程序*************/
void back()
{
L298_IN1=0;
L298_IN2=1;
L298_IN3=0;
L298_IN4=1;
}
/*************左转子程序*************/
void Z_FORWARD()
{
L298_IN1=0;
L298_IN2=0;
L298_IN3=1;
L298_IN4=0;
}
/*************右转子程序*************/
void Y_FORWARD()
{
L298_IN1=0;
L298_IN2=1;
L298_IN3=0;
L298_IN4=0;
}
/**********按键控制******************/
void key()
{
if(qianjin==1)
{
delayms(1);
if(qianjin==1)
{
G_FORWARD();
while(qianjin);
}
}
if(houtui==1)
{
delayms(1);
if(houtui==1)
{
back();
while(houtui);
}
}
if(zuozhuan==1)
{
delayms(1);
if(zuozhuan==1)
{
Z_FORWARD();
while(zuozhuan);
}
}
if(youzhuan==1)
{
delayms(1);
if(youzhuan==1)
{
Y_FORWARD();
while(youzhuan);
}
}
if(huoyan==0)
{
JD=0;
}
}
void main()
{
L298_ENA=1;
L298_ENB=1;
EA=1;
TMOD=0X10;
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
ET1=1;
TR1=1;
while(1)
{
key();
}
}
void T1_timer() interrupt 3
{
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
count++;
if(count>CYCLE)
count=0;
if(count<PWM_ON1) //如果计时时间在不大于高电平时时间,左电机转
L298_ENB=0;
else //如果计时时间大于高电平时时间,左电机停
L298_ENB=1;
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本资源内容概要: 这是基于51单片机的灭火小车设计,包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开) 。 本资源适合人群: 单片机爱好者、电子类专业学生、电子diy爱好者。 本资源能学到什么: 可以通过查看电路学习电路设计原理,查看代码学习代码编写原理。 本资源使用建议: 建议使用者需要具备一定电子技术基础,掌握一些常用元器件原理,例如三极管、二极管、数码管、电容、稳压器等。了解C语言基础设计原理,能看懂基础的电路图,具备一定的电路图软件使用能力。
资源推荐
资源详情
资源评论
收起资源包目录
53、基于51单片机灭火小车电路图及程序.rar (21个子文件)
53、基于51单片机灭火小车电路图及程序
电路图
灭火小车 PCB ECO 2012-5-4 星期五 22-25-11.LOG 1KB
灭火小车 PCB ECO 2012-5-4 星期五 22-19-54.LOG 7KB
__Previews
Sheet1.SchDocPreview 70KB
灭火小车.PcbDocPreview 71KB
History
Sheet1.SchDoc 201KB
灭火小车 PCB ECO 2012-5-4 星期五 22-31-43.LOG 650B
灭火小车.PcbDoc.htm 5KB
灭火小车.PcbDoc 397KB
灭火小车.pcbdoc_viewstate 3KB
程序
程序_uvopt.bak 54KB
程序_uvproj.bak 0B
程序 5KB
程序.M51 9KB
程序.c 2KB
程序.hex 1KB
程序.uvproj 13KB
程序.plg 3KB
程序.OBJ 6KB
程序.lnp 40B
程序.uvopt 54KB
程序.LST 6KB
共 21 条
- 1
资源评论
>行者<
- 粉丝: 217
- 资源: 135
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功