教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高等教育 >

智能小车论文单片机循迹测速避障液晶显示(2)

来源:网络收集 时间:2026-04-27
导读: 第三章 系统硬件设计 3.1车体结构及其驱动电路 硬件部分则在采购的小车基础上进行,小车的实物图如图3-1所示。 3-1图 3.2循迹功能 智能小车利用的光电传感器进行循迹功能。如图3-2所示。 3.3 测速模块的设计 光电传

第三章 系统硬件设计

3.1车体结构及其驱动电路

硬件部分则在采购的小车基础上进行,小车的实物图如图3-1所示。

3-1图

3.2循迹功能

智能小车利用的光电传感器进行循迹功能。如图3-2所示。

3.3 测速模块的设计

光电传感器是通过把光强度的变化转换成电信号的变化来实现控制的。光电传感器在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。其安装在小车上如图所示。

3-3图 安装图

3.3 PWM调速模块的设计

调速模块决定了小车的调速功能,本次设计使用PWM进行调速。 脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。一种模拟控制方式,根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定。

脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON) 或断(OFF)的重复脉序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。

3.4 无线电模块

利用无线电XL24L01P-D01进行控制小车在非循迹状态的前走、后退、左转、右转、暂停的功能。并控制小车进入循迹状态。

3.5 超声波测距

超声波测距采用IO口TRIG触发测距,给至少10us高电平信号;模块自动发送8个40KHZ的方波,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出以后高电平,高电平持续时间就是方波从发射到返回的时间。如图所示:

3.6 LCD12864显示

用LCD12864显示“小车路程、小车左轮速度、小车右伦速度、小车前方障碍物距离”的具体信息。如图所示:

第四章 系统软件的设计

4.1 循迹与无线电接收功能单片机程序

#include <reg52.h> #include <intrins.h> //#include<12864cusu.c> #include <XUNJIG.c> typedef unsigned char uchar; typedef unsigned char uint;

//****************************************IO端

sbit CE =P1^5; 同决定NRF24L01的状态

sbit CSN =P1^0; sbit SCK =P1^4; sbit MOSI=P1^1; sbit MISO=P1^3; sbit IRQ =P1^2;

//SPI片选使能,低电平使能 //SPI时钟 //SPI串行输入 //SPI串行输出 //中断,低电平使能*/

0-9

//工作模式控制,在CSN为低的情况下,CE协同NRF24L01的CONFIG寄存器共

//******************************************************************************

uchar seg[10]={0xC0,0xCF,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //0~~9段码 //

//**********************************************************************************

sbit KEY1=P3^2; sbit KEY2=P3^3; sbit KEY3=P3^4; sbit KEY4=P3^5;

//***********************************

**************************************************

sbit led1=P0^7; sbit led0=P0^6;

//*********************************************NRF24L01*************************************

#define TX_ADR_WIDTH 5 #define RX_ADR_WIDTH 5 #define TX_PLOAD_WIDTH 32 #define RX_PLOAD_WIDTH 32

// 5字节发射地址宽度 // 5字节接收地址宽度 // 20 uints TX payload // 20 uints TX payload

uint const TX_ADDRESS[TX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; //本地地址 uint const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; //接收地址 //***************************************NRF24L01

*******************************************************

#define READ_REG 0x00 // 读寄存器指令,读操作的寄存器的地址,设置地址 AAAAA = 00000,以后要变更地址只需在该数值上加即可

#define WRITE_REG 0x20

// 写寄存器指令,写操作的寄存器的地址,设置地址 AAAAA

= 00000,以后要变更地址只需在该数值上加即可

#define RD_RX_PLOAD 0x61 // 读取接收数据指令(即读RX有效数据) #define WR_TX_PLOAD 0xA0 // 写待发数据指令(即写TX有效数据) #define FLUSH_TX 0xE1 // 冲洗发送 FIFO指令,(清除 TX FIFO 寄存器) #define FLUSH_RX 0xE2

// 冲洗接收 FIFO指令,(清除 RX FIFO 寄存器)

#define REUSE_TX_PL 0xE3 // 定义重复装载数据指令 #define NOP 0xFF

// 保留 (空操作)

//*************************************SPI(nRF24L01)寄

****************************************************

#define CONFIG 0x00 // 配置收发状态,CRC校验模式以及收发状态响应方式 #define EN_AA 0x01 // 自动应答功能设置 #define EN_RXADDR 0x02 // 可用信道设置 #define SETUP_AW 0x03 // 收发地址宽度设置 #define SETUP_RETR 0x04 // 自动重发功能设置 #define RF_CH 0x05 // 工作频率设置

#define RF_SETUP 0x06 // 发射速率、功耗功能设置 #define STATUS 0x07 // 状态寄存器 #define OBSERVE_TX 0x08 // 发送监测功能 #define CD 0x09 // 地址检测 #define RX_ADDR_P0 0x0A // 频道0接收数据地址 #define RX_ADDR_P1 0x0B // 频道1接收数据地址 #define RX_ADDR_P2 0x0C // 频道2接收数据地址 #define RX_ADDR_P3 0x0D // 频道3接收数据地址 #define RX_ADDR_P4 0x0E // 频道4接收数据地址 #define RX_ADDR_P5 0x0F // 频道5接收数据地址 #define TX_ADDR 0x10 // 发送地址寄存器

#define RX_PW_P0 0x11 // 接收频道0接收数据长度 #define RX_PW_P1 0x12 // 接收频道0接收数据长度 #define RX_PW_P2 0x13 // 接收频道0接收数据长度 #define RX_PW_P3 0x14 // 接收频道0接收数据长度 #define RX_PW_P4 0x15 // 接收频道0接收数据长度 #define RX_PW_P5 0x16 // 接收频道0接收数据长度 #define FIFO_STATUS 0x17 // FIFO栈入栈出状态寄存器设置

//**************************************************************************************

void Delay(unsigned int s); void inerDelay_us(unsigned char n); void init_NR …… 此处隐藏:4022字,全部文档内容请下载后查看。喜欢就下载吧 ……

智能小车论文单片机循迹测速避障液晶显示(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/125211.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)