《智能小车循迹、避障、红外遥控C语言代码》由会员分享,可在线阅读,更多相关《智能小车循迹、避障、红外遥控C语言代码(13页珍藏版)》请在人人文库网上搜索。

1、智能小车避障、循迹、红外遥控C语言代码/实现功能有超声波避障,红外遥控智能小车,红外传感器实现小车自动循迹,1602显示小车的工作状态,另有三个独立按键分别控制三种状态的转换/注:每个小车的引脚配置都不一样,要注意引脚的配置,但是我的代码注释比较多,看起来比较容易一点#include #include #includelcd.h#include #define uchar unsigned char #define uint unsigned int uchar ENCHAR_PuZh18= run ;/1602显示数组uchar ENCHAR_PuZh28= back ;uchar ENCH。

2、AR_PuZh38= stop ;uchar ENCHAR_PuZh48= left ;uchar ENCHAR_PuZh58= right ;uchar ENCHAR_PuZh68= xunji ;uchar ENCHAR_PuZh78= bizhang;uchar ENCHAR_PuZh88= yaokong;#define HW P2 /红外传感器引脚配置P2k口#define PWM P1 /* L298N管脚定义 */*超声波引脚控制*/sbit ECHO=P32; /超声波接收引脚定义 兼红外遥控按键 state_total =2sbit TRIG=P33; /超声波发送引脚定义 。

3、/红外控制引脚配置sbit KEY2=P37; /红外接收器数据线兼循迹按键state_total= 0sbit KEY1=P34; /独立按键p3.4控制 自动避障 state_total=1uchar state_total=3,state_2=0;/总状态控制全局变量 0为自动循迹模块1为自动避障模块2为红外遥控uchar state_1,DAT; /红外扫描标志位uchar time_1=0,time_2=0;/定时器1中断全局变量time_ 2控制PWM脉冲计数 time_1控制转弯延时计数也做延时一次0.005suchar time,timeH,timeL,state=0;/超声波。

4、测量缓冲变量 state为超声波状态检测控制全局变量uint count=0;/1602显示计数/*/unsigned char IRCOM7; /红外接收头接收数据缓存 IRCOM2存放的为数据unsigned char Number,distance4,date_data8=0,0,0,0,0,0,0,0; /红外接收缓存变量/*/void IRdelay(char x); /x*0.14MS 红外头专用delayvoid run();void back();void stop();void left_90();void left_180();void right_90();void de。

5、lay(uint dat);/void init_test();void delay_100ms(uint ms) ;void display(uchar temp); /超声波显示 驱动void bizhang_test();void xunji_test();void hongwai_test();void Delay10ms(void);void init_test()/定时器0 1 外部中断0 1 延时初始化 TMOD=0x11; /设置定时器0 1 工作方式1 16位初值定时器 TH1=0Xfe; /装入初值定时一次为0.0005s 2000hzTL1=0x0c;TF0=0; /定时。

6、器0方式1计数溢出标志TF1=0; /定时器1方式1计数溢出标志ET0=1; /允许定时器0中断溢出ET1=1; /允许定时器1中断溢出EA=1; /开总中断if(state_total=1)/为超声波模块时初始化 TRIG=0; /发射引脚低电平ECHO=0; / 接收引脚低电平EX0=0; /关闭外部中断IT0=1; /由高电平变低电平,触发外部中断0if(state_total=2) /红外遥控初始化 IT1=1; /外部中断1为负跳变触发EX1=1; /允许外部中断1TRIG=1; / 3.3为高电平I/O口初始化delay(60); /等待硬件操作void main() uint i。

7、;delay(50);init_test();TR1=1; /开启定时器1LCD1602_Init() ;delay(50); while(state_2=0)if(KEY1=0)/检测按键s1是否按下Delay10ms();/消除抖动if(KEY1=0) state_total=0; /总状态定义0为自动循迹模块 1为自动避障模块 2为红外遥控 while(i=30)EX1=1;return; /0.14ms计数过长自动离开。 /高电平计数完毕 IRCOMj=IRCOMj 1; /数据最高位补“0”if (N=8) IRCOMj = IRCOMj | 0x80; /数据最高位补“1”N=0;。

8、/end for k/end for jif(IRCOM2!=IRCOM3) /判断数据码与数据反码是否正确 真确返回 EX1=1;return; EX1 = 1; void time1_suspend1(void) interrupt 3 /3 为定时器1的中断号 1 定时器0的中断号 0 外部中断1 2 外部中断0 4 串口中断TH1=0Xec; /装入初值定时一次为0.0005s 2000hzTL1=0x78;time_2+; /控制PWM 脉冲计数if(state_total!=3) /判断进入按键是否按下 进入状态1 避障 或者 0 循迹state_2=1; /退出按键判断/*if(。

9、time_2100)time_2=0;else if(time_20;c-)for(b=38;b0;b-)for(a=130;a0;a-);void delay(uint dat) /延时函数用于初始化uint i;for(i=dat;i0;i-)_nop_();void delay_100ms(uint ms) /延时函数用于超声波 uint i,j;for(i=ms;i0;i-)for(j=200;j0;j-)_nop_();_nop_();_nop_();_nop_();_nop_();/小车前进void run(void)PWM=0X56;/小车后退void back(void)PWM。

10、=0XA9;TR1=1;time_2=0;while(time_22) /小于15厘米 小车后退 再左转back(); left_180();if(count=20)bai=temp/100; /1602显示数据date_data5=bai;shi=(temp%100)/10;date_data 6=shi;ge=temp%100%10;date_data7=ge;for(i=0;idistance1) else distance0=distance1;if(distance0distance2) else distance0=distance2;if(distance0distance3) 。

11、else distance0=distance3;distance_dat=distance0;j=0;display(distance_dat);count+; void xunji_test() int i;delay(50);for(i=0;i8;i+) LCD1602_WriteCom(0x80+i);LCD1602_WriteData(ENCHAR_PuZh6i);while(1)/ delay(10);state_1=HW;DAT=state_1&(0x0f); /判断低4位的状态 每隔5ms检测一次switch(DAT) case 0x00:run();break;case 0x。

12、01:right_120();break;case 0x02:right_90();break;case 0x04:left_90(); break;case 0x06:run();break;case 0x03:right_120();break;case 0x08:left_120();break;case 0x0c:left_120();break;default:run(); break;void hongwai_test() int i;delay(60);for(i=0;i8;i+) LCD1602_WriteCom(0x80+i);LCD1602_WriteData(ENCHAR。

13、_PuZh8i);/TR1=1; while(1) Number=IRCOM2;switch(Number)case 0x18:PWM=0X56; /前进for(i=0;i8;i+) LCD1602_WriteCom(0x80+i);LCD1602_WriteData(ENCHAR_PuZh1i);break;case 0x08:PWM=0X50; /右两轮正转 左转for(i=0;i8;i+) LCD1602_WriteCom(0x80+i);LCD1602_WriteData(ENCHAR_PuZh4i);break;case 0x1c:PWM=0X00;for(i=0;i8;i+) LC。

14、D1602_WriteCom(0x80+i);LCD1602_WriteData(ENCHAR_PuZh3i);break;case 0x5a:PWM=0X06; /左两轮正转右转for(i=0;i8;i+) LCD1602_WriteCom(0x80+i);LCD1602_WriteData(ENCHAR_PuZh5i);break;case 0x52:PWM=0XA9; /后退for(i=0;i8;i+) LCD1602_WriteCom(0x80+i);LCD1602_WriteData(ENCHAR_PuZh2i);break;default:break;/display(IRCOM2。

循迹智能小车c语言主程序,智能小车循迹、避障、红外遥控C语言代码相关推荐

  1. 遥控汽车的编程c语言,智能小车循迹、避障、红外遥控C语言代码.docx

    //智能小车避障.循迹.红外遥控C语言代码 // 实现功能有超声波避障, 红外遥控智能小车, 红外传感器实现小车自动循迹, 1602 显示小 车的工作状态,另有三个独立按键分别控制三种状态的转换 // ...

  2. 基于单片机智能灯光光控照明系统设计、基于单片机HX711电子秤自动计价系统设计、基于单片机GPRS远程测控系统设计、基于单片机多功能循迹避障无线遥控蓝牙智能小车-设计资料

    基于单片机智能灯光光控照明系统设计 智能光控照明系统设计原理: 本系统采用STC89C52系列的单片机为核心,利用BH1750传感器测量实时光照强度,并将亮度的模拟信号转化成数字信号,大大减少了系统的 ...

  3. 基于单片机HX711电子秤自动计价系统设计-基于单片机GPRS远程测控系统设计-818基于单片机循迹避障无线遥控蓝牙智能小车-基于单片机24s倒计时篮球积分器系统-基于单片机智能洗衣机控制系统

    816基于单片机HX711电子秤自动计价系统设计 本设计使用高精度电阻应变式压力传感器,用A/D转换器HX711(HX711数据手册)对传感器信号进行调理转换.AT89s52(AT89s52数据手册) ...

  4. STC单片机实现智能小车避障功能的C语言例程

    使用STC单片机实现智能小车避障功能的C语言例程: #include <reg52.h>// 定义GPIO口映射宏,需根据具体型号和连接方式进行修改 #define MOTOR_LEFT_ ...

  5. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹、避障、遥控实验综合程序

    在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 注意 红外遥控程序注意将IRremote 复制到ARDuino安装 ...

  6. 避障机器人程序c语言,移动机器人的避障实验设计+源程序+流程图.doc

    移动机器人的避障实验设计源程序流程图 移动机器人的避障实验设计+源程序+流程图 摘要:随着科学技术的日益,机器人越来越融入到人们的生活.近年来,特别是智能机器人的开发与研究引起了很多学者的关注.其中, ...

  7. stm32项目_stm32f103c8t6项目_循迹避障小车完整制作过程_智能小车设计_STM32智能小车教程-循迹-避障-蓝牙遥控-跟随

    [硬件] 元件选型 照片上传出问题了,改天补上,着急的可以看视频 视频链接在这里 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sKjJGMXv-16463139639 ...

  8. 39、基于51单片机小车红外循迹、避障、遥控控制系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.程序 部分代码 七.资料包括 摘要 随着计算机.微电子.信息技术的快速进 ...

  9. 避障跟随测距c语言程序,红外避障小车c语言程序.pdf

    智能小车红外避障智能小车红外避障 c 语言程序语言程序 #include bit RandomFactor = 0 ; bit RandomFactorBuf = 0 ; #include #defi ...

最新文章

  1. 敏捷开发:如何通过回顾保持学习状态
  2. shiro权限管理_重量级课程发布~企业权限管理平台(SpringBoot2.0+Shiro+Vue)
  3. 基础数据仓库环境搭建(三)Zookeeper的安装与配置和操作
  4. Ubuntu16.04安装NVIDIA显卡(RTX20系列)驱动+CUDA10.0+cudnn+Pytorch1.1.0
  5. 对自己有用的VS调试技巧
  6. nodejs上传图片并展示
  7. EasyUI基础入门之Droppable(可投掷)
  8. AngularJS开发指南5:AngularJS表达式详解
  9. Flutter实战一Flutter聊天应用(十三)
  10. php 解析今日头条视频,今日头条的视频地址解析方法
  11. 文献补充材料怎么下载?
  12. Qt + OpenGL 教程(三):线
  13. vbscript for 转 php for,VBS教程:VBscript语句-For...Next 语句
  14. 2021年百度账号批量取消绑定手机号教程
  15. 如何落户北京?19年积分落户规模为6000人!
  16. C++学生类和成绩排序
  17. python 模拟键盘 linux,在Linux中使用Python模拟键盘按键,linuxpython
  18. Monorail学习笔记
  19. SAN存储和服务器虚拟化安装方案,基于SAN存储架构的x86服务器虚拟化测试方案.pdf...
  20. Angluar WARNING System.import() is deprecated and will be removed soon. Use import() instead

热门文章

  1. python大众点评霸王餐_python抓取大众点评商户信息
  2. 1.jQuery入门
  3. C语言学习日记(3)——printf函数
  4. 房贷流水不够怎么办及假流水办房贷通过了会有风险吗?这真不是危言耸听!
  5. AFNetworking的使用
  6. 禾瑞亚科触摸屏驱动程序移植过程与遇到的问题--egalax_i2c
  7. 浏览器跳不同 不同页面 php,利用js根据不同浏览器自动跳转不同页面
  8. 矢量与场论 | 哈密顿算子,哈密顿算子,散度点乘,旋度叉乘的计算过程以及以及定理
  9. F-散度(F-divergence)
  10. 阿里云购买域名实名认证及网站备案