资源简介
代码通过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单片机心形流水灯
- 51单片机,DS18B20实现程序
- 万能红外学习代码 单片机
- 交通灯程序设计1
- 51单片机+adc0809+PT100的24路温度巡检仪
- 6/4开关磁阻电机开环运行程序基于5
- stc12c5a60s2单片机两路pwm
- STC15W4K.h
- PCF8574LCD模块链接1602单片机51例程
- LED点阵显示汉字
- 51单片机流水灯仿真+程序
- 51单片机DHT11温湿度
- proteus与keil连接调试不可或缺的DLL文件
- 基于51单片机HC-06蓝牙模块使用
- 掌讯3518-V005原版-增加强刷.救砖模式增
- 基于51单片机的HC-08蓝牙程序
- STC89C52+LCD1602+DS1302电子时钟
- meanshift跟踪算法及源码
- 51单片机实用计算器汇编+数码管.zip
- 51单片机 菜单程序OLED屏
- 51单片机跑uC/OS II 2个任务
- STC89C52单片机与HC-06模块下位机测试程
- 基于51单片机的GPS定位程序
- C51双机模拟IIC通信源代码.rar
- wxCheckedListCtrl带checkbox的ListCtrl
- 基于51单片机和PROTEUS的非常形象的交
- 用STC12C5A60S2写的超声波C程序
- 最经典的51单片机经典流水灯汇编程序
- nRF51822低功耗睡眠函数应用
- 基于VC的ModbusTCP协议模型通信测试软件
评论
共有 条评论