资源简介
代码通过51单片机对当前道路具体情况进行采集,然后通过单品机的计算实现小车前进方向的调整。

代码片段和文件信息
#include
#define uint unsigned int
#define uchar unsigned char
//光电传感器
sbit led1=P1^4;
sbit led2=P1^3;
sbit led3=P1^2;
sbit led4=P1^1;
sbit led5=P1^0;
//控制驱动,电机
sbit zuo1=P3^4;
sbit zuo2=P3^5;
sbit you1=P3^6;
sbit you2=P3^7;
uchar zuo1_pwm_duty;
uchar you1_pwm_duty;
uchar zuo2_pwm_duty;
uchar you2_pwm_duty;
uchar num2;
void delay(uint z) //延时函数
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void init() //初始化
{
TMOD=0x10;
TH1=(65536-100)/256;
TL1=(65536-100)%256;
ET1=1;
TR1=1;
EA=1;
}
void time1() interrupt 3 //定时器1
{
TH1=(65536-100)/256;
TL1=(65536-100)%256;
num2++;
if(num2<=you1_pwm_duty) {you1=1;}
else{you1=0;}
if(num2<=you2_pwm_duty){you2=1;}
else{you2=0;}
if(num2<=zuo1_pwm_duty){zuo1=1;}
else{zuo1=0;}
if(num2<=zuo2_pwm_duty){zuo2=1;}
else{zuo2=0;}
if(num2>100){num2=0;}
}
void go()
{
zuo1_pwm_duty=50;
zuo2_pwm_duty=0;
you1_pwm_duty=50;
you2_pwm_duty=0;
delay(100);
}
void left_1()
{
zuo1_pwm_duty=20;
zuo2_pwm_duty=0;
you1_pwm_duty=40;
you2_pwm_duty=0;
delay(100);
}
void left()
{
zuo1_pwm_duty=0;
zuo2_pwm_duty=0;
you1_pwm_duty=30;
you2_pwm_duty=0;
}
void right_1()
{
zuo1_pwm_duty=40;
zuo2_pwm_duty=0;
you1_pwm_duty=20;
you2_pwm_duty=0;
delay(100);
}
void right()
{
zuo1_pwm_duty=30;
zuo2_pwm_duty=0;
you1_pwm_duty=0;
you2_pwm_duty=0;
delay(100);
}
void back()
{
zuo1_pwm_duty=0;
zuo2_pwm_duty=40;
you1_pwm_duty=0;
you2_pwm_duty=40;
delay(150);
}
void xunji() //主函数
{
init();
while(1) /*无限循环*/
{
switch(P1&0x1f)
{
case 0x10:{left(); }break;
case 0x08:{left_1(); }break;
case 0x04:{go(); }break;
case 0x02:{right_1();}break;
case 0x01:{right(); }break;
}
}
}
void main()
{
xunji();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-23 21:57 寻迹\
文件 6155 2017-03-31 17:17 寻迹\main
文件 1881 2017-03-31 17:17 寻迹\main.c
文件 946 2017-03-31 17:17 寻迹\main.hex
文件 56 2017-03-31 17:17 寻迹\main.lnp
文件 4938 2017-03-31 17:17 寻迹\main.LST
文件 10170 2017-03-31 17:17 寻迹\main.M51
文件 6688 2017-03-31 17:17 寻迹\main.OBJ
文件 164 2019-04-23 21:57 寻迹\main.plg
文件 55852 2017-04-02 19:47 寻迹\main.uvopt
文件 13421 2016-11-06 16:28 寻迹\main.uvproj
文件 55860 2017-04-01 21:27 寻迹\main_uvopt.bak
文件 0 2016-11-06 15:50 寻迹\main_uvproj.bak
文件 6376 2009-05-07 14:37 寻迹\STARTUP.A51
文件 14048 2017-03-31 17:17 寻迹\STARTUP.LST
文件 749 2017-03-31 17:17 寻迹\STARTUP.OBJ
相关资源
- 51 单片机 红外避障小车 大集合136
- 最新的北京地铁shp文件75146
- 程序员专用字体YaHei.Consolas.1.11b42517
- STC8951系列单片机中方指南
- Omron ETN21模块进行modbustcp通讯
- 基于MCS_51单片机的工业屏柜散热方案
- 清翔电子MCS51开发板资料_新版 01_开发
- MCS_51单片机与8255A的接口设计
- Rtx51_tiny_RTOS中文版.pdf
- 51单片机PWM程序,占空比、周期可调整
- 基于MFC扩展CListCtrl子项显示图片并叠
- 51单片机多功能自行车测速仪
- proteus仿真 AT89C51输出各种波形
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51模拟SPI读写SD卡(包括Fat和Fat32文件
- NRF24L01实现51与STM32双向通讯
- 基于c8051f020的AD转换程序及LCD显示程序
- 51单片机控制舵机程序
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 画图程序MFC/VC/VC CRectTracker 串行化
- STC12C5A60S2 CH4521 驱动数码管 显示
- 课程设计蔬菜大棚自动控制系统,包
- 可编辑的CListctrl 支持CEDIT文本框,C
- STC12C系列单片机函数库
评论
共有 条评论