基于stc89c52单片机的智能小车控制内容摘要:
其他扩展 控制方向指示灯、 逻辑部分板内取电接口 红外避障模块 红外避障的原理:用红外线传感器进行避障。 红外线发射头与接收头于一体江苏理工学院毕业论文 (说明书 ) 第 8 页 共 56 页 的检测开关,其工作原理是根据发射头发出的光束,被物体反射,接收头据此做出判断是否有障碍物。 当有光线反射回来时,输出低电平。 当没有光线反射回来时,输出高电平。 单片机根据接收头电平的高低做出相应控制,避免小车碰到障碍物。 由于接收管输出 TTL 电平,有利于单片机对信号的处理。 红外接收二极管又叫红外光电二极管,也可称红外光敏二极管。 它广泛用于各种家用电器的遥控接收器中,如音响、彩色电视机、空调器、 VCD 视盘机、 DVD 视盘机以及录像机等。 红外接收二极管能很好地接收红外发光二极管发射的波长为 94Onm 的红外光信号,而对于其他波长的光线则不能接收。 因而保证了接收的准确性和灵敏度。 小车采用红外线传感器进行避 障的电路原理图如下图 25所示,实物图如图26 所示。 红外模块的功能指标如表 22 所示。 表 22 红外模块的功能指标 使用芯片 NE555 工作电压 5V 输出模式 数字信号 测量距离 1CM 200CM 探测距离是否可以调节 是 检测信号 探测到障碍物为高电平,无障碍物或超出探测范围输出低电平 LED 红色为 Power 指示灯,绿色为 Status 指示灯 图 25 红外线传感器进行避障的电路原理图 江苏理工学院毕业论文 (说明书 ) 第 9 页 共 56 页 图 26 红外线传感器进行 避障的实物图 HCSR04 超声波测距模块 HCSR04 超声波测距模块可提供 2cm400cm 的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。 基本工作原理: (1)采用 IO口 TRIG 触发测距,给至少 10us 的高电平信号。 (2)模块自动发送 8个 40khz 的方波,自动检测是否有信号返回; (3)有信号返回,通过 IO口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。 测试距离 =(高电平时间 *声速 (340M/S))/2。 HCSR04 超声波测距模块的时序图如图 27所示。 图 27 超声波模块时序图 江苏理工学院毕业论文 (说明书 ) 第 10 页 共 56 页 以 上时序图表明你只需要提供一个 10uS 以上脉冲触发信号,该模块内部将 发出 8 个 40kHz 周期电平并检测回波。 一旦检测到有回波信号则输出回响信号。 回响信号的脉冲宽度与所测的距离成正比。 由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。 公式: uS/58=厘米或者 uS/148=英寸;或是:距离 =高电平时间 *声速( 340M/S) /2;建议测量周期为 60ms 以上,以防止发射信号对回响信号的影响。 HCSR04 超声波测距模块的电路图如图 28所示,实物图如图 29所示。 图 28 超声波模块的电路图 江苏理工学院毕业论文 (说明书 ) 第 11 页 共 56 页 图 29 超声波模块实物图 蜂鸣器驱动 电路 蜂鸣器是一种一体化结构的电子讯响器,采用 直流电压 供电,广泛应用于 计算机 、打印机、复印机、报警器、 电子玩具 、汽车电子设备、电话机、 定时器 等电子产品中作发声 器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 蜂鸣器在 电路 中用字母 “H” 或 “HA” (旧标准用 “FM” 、 “LB” 、 “JD”等)表示。 由于 自激 蜂鸣器是 直流电压 驱动的 ,不需要利用交流 信号 进行驱动,只需对驱动口输出驱动电平并通过 三极管 放大驱动电流就能使蜂鸣器发出声音 (其驱动电路如图 210 所示 ), 利用 定时器 来做定时,通过定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波形就可以用来驱动蜂鸣器了。 江苏理工学院毕业论文 (说明书 ) 第 12 页 共 56 页 LS1SPEAKER蜂鸣器PNPR21KR110GNDVCC 图 210 蜂鸣器驱动电路 液晶显示电路 该设计的显示部分采用 LCD1602 来显示超声波测距模块测得的距离。 对于现实电路我们可以采用数码管,也可以采用液晶显示。 液晶显示相对于数码管显示电路更简洁,显示更明了,故我们采用液晶显示电路。 液晶又分字符型和点 阵型,我们使用的液晶是字符型液晶。 LCD1602 自带字符库,不需要查找代码,英文字符可直接使用。 液晶电路使用时,如果发现液晶不亮可以调节连接液晶的电位器,调节液晶的亮度。 液晶显示电路如图 211 所示。 VSS1VDD2VO3RS4RW5EN6D07D18D29D310D411D512D613D714BLA15BLK16J2LCD1602VCCRSRWENVCCGNDR810KGND 图 211 液晶显示电路 江苏理工学院毕业论文 (说明书 ) 第 13 页 共 56 页 遥控部分独立按键电路 遥控部分的独立按键与单片机的接口设置为 、 、 、 、 ,分别控制小车的前进、后退、左转弯、右转弯、以及功能切换。 独立按键采用低电平触发,即当按下按键时给单片机一个低电平信号,单片机随后做出相应的处理,当按 键松开时,单片机接收到一个高电平信号,单片机随后继续做出相应处理。 遥控部分的独立按键电路如图 212所示。 SW5BUTTON_2SW4BUTTON_2SW2BUTTON_2SW1BUTTON_2GNDSW5BUTTON_2 图 212 遥控部分独立按键电路 江苏理工学院毕业论文 (说明书 ) 第 14 页 共 56 页 第 3 章 软件的设计与说明 软件设计 系统功能的实现依赖于软、硬件的协同工作。 主控芯片为 STC89C52RC单片机。 单片机控制软件实现遥控和小车的各项功能。 程序编译采用 Keil uVision4编程软件, Keil uVision4程序编译界面如图 31所示。 程序部分采用目前单片机最通用的 C语言进行编程。 程序的烧录软件采用 STC_ISP_V479软件烧写编译好的HEX文件, STC_ISP_V479软件程序烧写界面如图 32所示。 图 31 Keil uVision4 编程软件界面 江苏理工学院毕业论文 (说明书 ) 第 15 页 共 56 页 图 32 STC_ISP_V479软件程序烧写界面 软件的说明 遥控部分主程序流程 遥控部分主程序流程图如图 33 所示。 程序从主函数开始执行, 24L01 无线模块初始化,同时在主函数中定义单片机口对应的按键按下时所发出的函数值。 接下来判断是否有按键按下,如果有按键按下,则发送相应的按键对应的函数值,接着判断是否又有按键按 下。 如果未发现按键按下则在主函数中循环判断是否有按键按下。 江苏理工学院毕业论文 (说明书 ) 第 16 页 共 56 页 开 始2 4 L 0 1 初 始 化定 义 键 值是 否 有 按 下 按 键发 送 相 应 键 值YN 图 33 遥控主程序流程图 24L01 子程序流程图 24L01子程序流程图如图 34所示,本模块子程序采用收发一体的驱动程序,即使该模块既可以在需要时发送信号,又可以在需要时接收信号。 24L01 子程序模块先初始化,初始化的同时在设置的写入 reg 函数中写入本地地址,写入接收端地址,并且设置频道 0自动 ACK 应答允许。 设置 24L01 的允许接收地址只有频道 0,并且是信道工作在 ,以及设置数据长度为 32字节,发射速率 为 1MHz。 江苏理工学院毕业论文 (说明书 ) 第 17 页 共 56 页 开 始2 4 L 0 1 初 始 化写 本 地 地 址写 接 收 端 地 址设 置 频 道 0 自 动 A C K 应 答 允 许设 置 接 收 数 据 长 度 为 3 2 字 节设 置 信 道 工 作 为 2 . 4 G H Z允 许 接 收 地 址 只 有 频 道 0发 射 速 率 为 1 M H Z结 束 图 34 24L01子程序流程图 小车部分主程序流程图 小车部分主程序流程图如图 35 所示。 程序从主函数开始执行, 24L01 无线模块初始化,液晶显示模块初始化, 24L01 无线电模块初始化,超声波模块初始化。 各个模块初始化完毕后,单片机判断是否接受到了信号,如果接收到信号,则判断相应的按键值,如果没有接收到按键值则返回继续判断是否接受到信号。 接收到信号后,小车开始执行键值对应的相应的命令。 而超声波测距,并在液晶上显示相应距离,危险距离报警都是贯穿在整个 while( 1)的语句中的。 江苏理工学院毕业论文 (说明书 ) 第 18 页 共 56 页 开 始主 函 数 初 始 化超 声 波 模 块 初始 化2 4 L 0 1 初 始 化液 晶 初 始 化执 行 命 令判 断 按 键 值收 到 信 号超 声 波 测 距Y延 时 0 . 1 s危 险 距 离N蜂 鸣 器 报 警YN 图 35 小车部分主程序流程图 江苏理工学院毕业论文 (说明书 ) 第 19 页 共 56 页 第 4章 调试与总结 基于单片机的智能小车控制有许多的模块,在做整体设计之前首先是对每个模块的调试。 只有在确保每个模块都正常的情况下才能进行总体的设计和总体的调试。 每个模块都需要软硬件的调试才能确保模块的正常。 硬件部分 硬件的焊接 单片机的电路系统相对于简单一些,对于焊接只要多练习就不会出现问题,但是,单片机的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的交叉线较多,对于各种锋 利的引脚都要注意处理,否则会刺破带有包皮的导线,则会对电路造成短路现象。 在。基于stc89c52单片机的智能小车控制
相关推荐
4243VCC44U3STC89C52Y1VCC123GND4USB123456789RS112345678P412345678P312345678P612345678P51234567P7 22pFC922pFC8GND VCCGND10KR2 C1+1VDD2C13C2+4C25VEE6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15
址或间接 址 ,(data/idata)。 (2)高 128字节的内部 RAM(地址 :80HFFH) ,只能间接寻址 (普通 89C5有 ),(idata)。 (3)特殊功能寄存器 SFR(地址 :80HFFH) , 只能直接寻址 ,(data)。 特殊功能寄存器 SFR 和高 128 字节的内部 RAM 是通过寻址方式来区分的 ,传统的 8051 系 列单片机只有 128256 字节 RAM
5,根据 INTEL 总线读时序时序图读数据程序: uchar read_12C887(uchar add)//在指定的地址读出数 据 { uchar read_data。 DS=1。 RW=1。 AS=1。 CS=0。 P0=add。 AS=0。 DS=0。 P0=0XFF。 read_data=P0。 DS=1。 AS=1。 CS=1。 return(read_data)。 } 19
个字节的内容是温度的低八位,第二个字节是温度的高八位。 第三个和第四个字节是 TH、 TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。 第六、七、八个字节用于内部计算。 第九个字节是冗余检验字节。 6 表 2 DS18B20暂存寄存器分布表 寄存器内容 字节地址 温度最低数字位 0 温度最高数字位 1 高温限值 2 低温限值 3 保留 4 保留 5
产的单时钟 /机器周期 (1T)的单片机,是高速 /低功耗 /超强抗干扰的新一代 8051 单片机,指令代码完全兼容传统8051,但速度快 812倍。 内部集成 MAX810专用复位电路 ,2 路 PWM,8路高速 10 位A/D 转换 (250K/S),针对电机控制,强干 扰场合。 可通过串口( )直接下载用户程序,数秒即可完成一片。 8. 有 EEPROM 功能
发的方式,接受用户的输入。 控制器如何获得事件依赖于界面的运行平 台,控制器通过事件处理过程对输入事件进行处理,并为每个输入事件提供了相应的操作。 丽水学 院 2020 届学生毕业设计(论文) 3 图 22 MVC 工作原理 Hibernate 架构 Hibernate 是一个开源的持久化对象 /关系映射框架,采用低侵入式的设计,完全采用普通的JAVA对象 (POJO),对 JDBC 进