ImageVerifierCode 换一换
格式:PPT , 页数:57 ,大小:1.26MB ,
资源ID:12569421      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/12569421.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(2022年单片机课件基于C单片机的触觉导航模块.ppt)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

2022年单片机课件基于C单片机的触觉导航模块.ppt

1、第一章 MCS51单片机硬件结构及指令系统,第一章 MCS51单片机硬件结构及指令系统,主讲:雷道仲,2,4,5,模块功能描述,必备知识,设计案例,学习内容,第10章 基于C51单片机的触觉导航模块,1,3,相关知识,思考练习与拓展训练,本章概述,1任务,任务一:测试触觉传感器;,任务二:轮式教育机器人触觉导航;,2要求,(1)能够正确使用I/O端口的输入接口功能获取外界信息;,(2)能够实现轮式教育机器人的触觉避障功能;,1,2,3,模块功能描述,必备知识,设计案例,学习内容,第九章 基于C51单片机的伺服电机控制,1,1,相关知识,思考练习与拓展训练,10.1 模块功能描述,本案例模块的

2、主要内容是:通过给轮式教育机器人增加触觉传感器来学习单片机如何应用触觉传感器获取外界信息,以及如何将获取的信息通过单片机的输入接口迸入单片机,由单片机根据反馈信息进行计算和决策,然后通过输出接口发出控制命令,去控制系统相应的执行机构(直流伺服电机)完成触觉导航任务。通过该项目的学习与实践,可以让读者获得如下知识和技能:,掌握单片机通过触觉传感器获取外界信息的基本原理,掌握应用单片机实现轮式教育机器人触觉导航的基本方法,1,2,3,模块功能描述,必备知识,设计案例,学习内容,第九章 基于C51单片机的伺服电机控制,1,1,相关知识,思考练习与拓展训练,10.2 必备知识,10.2.1,触觉传感器

3、设计案例所用到的触觉传感器工作原理非常简单,它的原理图如下如图10-1所示,其中的“右触须”、“左触须”实际上就是两个带触须的联动开关,它们平时都处于常开状态,因此连接到单片机P的1_4和P2_3引脚平时都为高电平状态,当触须触碰到物体时,与它联动的开关因受力而闭合,从而拉低对应的单片机引脚电平,单片机通过判断对应引脚电平的高低来间接感知外部事件(触须触碰到障碍物)是否发生。,10.2 必备知识,10.2.1,触觉传感器,图10-1 触须电路示意图,10.2 必备知识,10.2.2,串口通信程序(uart.h)简介,Uart.h是用于串口通信的头文件,其主要功能是完成对串行口进行初始化(包括

4、设置波特率、串口工作方式等)并实现轮式教育机器人与PC机之间的双机通信,在本书的所有应用程序中都可以用include语句将uart.h包含进来,调用Printf()函数就可以将轮式教育机器人运行的一些状态信息通过串行口发送到PC机,然后在PC机上打开串口调试工具直接观察轮式教育机器人的状态信息,可见,它给程序的调试工作提供了很大的方便,有关uart.h更详细的内容本书将在串口通信一章中介绍,此处读者只须了解它的功能,知道如何应用就行了,需要注意的是:在用include包含uart.h之前,必须先将uart.h头文件复制到C:KeilC51INC文件夹下,否则程序在编译时将因找不到头文件而出错。

5、10.3 设计案例,10.3.1 系统设计方案,系统采用“MCU+传感器+执行机构”的总体设计方案,要求MCU根据传感器获取的外部信息进行计算决策,控制执行机构实现轮式机器人的自动导航功能。其中MCU采用目前性价比较高的AT89C51单片机,并以此为核心构建最小控制系统;传感器采用带“触须”的开关接触式触觉传感器,通过直接接触的形式探测前方障碍物信息;执行机构采用PARALLAX公司生产的连续旋转伺服电机,其优点是编程控制方便且不需额外增加驱动电路,系统总体框图如下:,图91 直流伺服电机控制框图,10.3 设计案例,10.3.1 系统设计方案,图102 系统框图,10.3 设计案例,10.

6、3.2 硬件电路设计,具有触觉导航的电原理图如图10-3所示。它是在单片机最小系统的基础上,外接伺服电机和触觉传感器构成,其中左轮伺服电机的控制信号由单片机的P1_0提供,右轮伺服电机的控制信号由单片机的P1_1提供,左右触须的状态信息分别由P1_4和P2_3获取。,10.3 设计案例,10.3.2 硬件电路设计,图103系统原理图,9.3 设计案例,10.3.3 软件设计,任务一:测试触觉传感器,本任务是编程测试触须传感器,利用串口调试工具将传感器获取的信息在PC上显示出来。,1、源程序,/*=,功 能:测试触须状态,并在PC机上直接显示左右触须的状态。,=*/,#include,#defi

7、ne uint unsigned int,9.3 设计案例,10.3.3 软件设计,任务一:测试触觉传感器,本任务是编程测试触须传感器,利用串口调试工具将传感器获取的信息在PC上显示出来。,1、源程序,#define uchar unsigned char,void delay_ns(uint i)/延时ns,i=i/10;,while(-i);,void delay_nms(uint n)/延时n ms,n=n+1;,while(-n),delay_ns(900);,uchar P1_4state(void)/获取P1_4的状态,return(P1,9.3 设计案例,10.3.3 软件设计,

8、任务一:测试触觉传感器,本任务是编程测试触须传感器,利用串口调试工具将传感器获取的信息在PC上显示出来。,1、源程序,uchar P2_3state(void)/获取P2_3的状态,return(P2,void main(void),uchar Left,Right;,uart_Init();,while(1),Right=P1_4state();,Left=P2_3state();,printf(右边触须的状态:%d,Right);,printf(左边触须的状态:%dn,Left);,delay_nms(150);,9.3 设计案例,9.3.3 软件设计,任务一:测试触觉传感器,本任务是编程

9、测试触须传感器,利用串口调试工具将传感器获取的信息在PC上显示出来。,2、程序运行及调试,按图10-3连接触觉传感器电路和伺服电机,将轮式教育机器人与PC机的串行口用串口线连接起来,参考第1章介绍的操作步骤编译以上程序,将产生的可执行文件烧写到单片机程序存储器,开机运行,然后打开串口调试工具,用手触碰触须,在PC机上可以观察到状态信息,达到测试触觉传感器目的,如下图:,1-.3 设计案例,10.3.3 软件设计,任务一:测试触觉传感器,本任务是编程测试触须传感器,利用串口调试工具将传感器获取的信息,在PC上显示出来。,。,3、程序设计思路,下面简要分析以上程序的设计思路,程序设计流程如下:,1

10、3 设计案例,10.3.3 软件设计,任务一:测试触觉传感器,本任务是编程测试触须传感器,利用串口调试工具将传感器获取的信息,在PC上显示出来。,。,3、程序设计思路,下面简要分析以上程序的设计思路,程序设计流程如下:,图10-5主函数流程图,1-.3 设计案例,10.3.3 软件设计,任务一:测试触觉传感器,本任务是编程测试触须传感器,利用串口调试工具将传感器获取的信息,在PC上显示出来。,。,3、程序设计思路,主程序先是调用串口初始化函数uart_Init()完成对串行口的初始化,为轮式教育机器人向PC机发送状态作息作好通信准备,接着调用P2_3state()和P1_4state()函

11、数用于获取左右触须的状态,P2_3state()和P1_4state()是用于获取对应引脚状态的两个函数,其函数原形如下:,1-.3 设计案例,10.3.3 软件设计,任务一:测试触觉传感器,本任务是编程测试触须传感器,利用串口调试工具将传感器获取的信息,在PC上显示出来。,。,3、程序设计思路,uchar P1_4state(void)/获取P1_4的状态,return(P1 /当左触须触碰到障碍物时:P1=1110 1111B,uchar P2_3state(void)/获取P2_3的状态,return(P2 /当右触须触碰到障碍物时:P2=1111 0111B,1-.3 设计案例,10.

12、3.3 软件设计,任务一:测试触觉传感器,本任务是编程测试触须传感器,利用串口调试工具将传感器获取的信息,在PC上显示出来。,。,3、程序设计思路,当左触须有触碰到障碍物时,P2_3被拉低,P2_3state()函数返回值为0,,没有碰到障碍物时则返回值为1;同样,当右触须有触碰到障碍物时,,P1_4被拉低,P2_3state()函数返回值为0,没有碰到障碍物时则返回值为1;,在获得引脚的状态信息之后,程序调用Printf()函数将引脚的状态信息,发送到PC机并在串口调试窗口显示。,10.3 设计案例,10.3.3 软件设计,任务二:,轮式教育机器人触觉导航,在本任务中,编写程序引导轮式教育机

13、器人航行实现触觉避障功能。,1、源程序,/*=,功 能:通过触觉传感器导航,实现轮式教育机器人避障。,=*/,#include,#define uint unsigned int,#define uchar unsigned char,10.3 设计案例,void delay_ns(uint i);,void delay_nms(uint n);,uchar P1_4state(void);,uchar P2_3state(void);,void Forward(void);,void Left_Turn(void);,void Right_Turn(void);,void Backward(

14、void);,uchar state;,第九章 基于C51单片机的伺服电机控制,1、C51单片机通过输入接口直接获取的外界信息必须是数字量,,delay_ns(1300);,counter=counter+1;,当左右触须同时碰到障碍物时:state=3;,任务二:轮式教育机器人触觉导航,本章概述,1 轮式教育机器人的简单人工智能决策,uchar Left,Right;,设计案例所用到的触觉传感器工作原理非常简单,它的原理图如下如图10-1所示,其中的“右触须”、“左触须”实际上就是两个带触须的联动开关,它们平时都处于常开状态,因此连接到单片机P的1_4和P2_3引脚平时都为高电平状态,当触须

15、触碰到物体时,与它联动的开关因受力而闭合,从而拉低对应的单片机引脚电平,单片机通过判断对应引脚电平的高低来间接感知外部事件(触须触碰到障碍物)是否发生。,uchar state;,void Backward(void);,counter=counter+1;,switch(表达式),形式一:if(表达式)语句,10.3 设计案例,void main(void),while(1),if(P1_4state()=0)&(P2_3state()=0)/两触须同时碰到,Backward();/向后,Left_Turn();/向左,Left_Turn();/向左,else if(P1_4state()=

16、0)/右触须碰到,Backward();/向后,Left_Turn();/向左,10.3 设计案例,else if(P2_3state()=0)/左触须碰到,Backward();/向后,Right_Turn();/向右,else/触须没有碰到,Forward();/向前,void delay_ns(uint i)/延时ns,i=i/10;,while(-i);,10.3 设计案例,void Forward(void),P1_1=1;,delay_ns(1700);,P1_1=0;,P1_0=1;,delay_ns(1300);,P1_0=0;,delay_nms(20);,void Left

17、Turn(void),uchar i;,for(i=1;i=26;i+),P1_1=1;,10.3 设计案例,delay_ns(1300);,P1_1=0;,P1_0=1;,delay_ns(1300);,P1_0=0;,delay_nms(20);,void Right_Turn(void),uchar i;,for(i=1;i=26;i+),P1_1=1;,delay_ns(1700);,P1_1=0;,10.3 设计案例,P1_0=1;,delay_ns(1700);,P1_0=0;,delay_nms(20);,void Backward(void),uchar i;,for(i=1

18、i4),counter=1;,Backward();/向后,Left_Turn();/向左,Left_Turn();/向左,else,counter=1;,10.4 相关知识,10.4.2,轮式教育机器人进入死区后的人工智能决策,if(P1_4state()=0)&(P2_3state()=0)/两触须同时碰到,Backward();/向后,Left_Turn();/向左,Left_Turn();/向左,else if(P1_4state()=0)/右触须碰到,Backward();/向后,Left_Turn();/向左,10.4 相关知识,10.4.2,轮式教育机器人进入死区后的人工智能决

19、策,else if(P2_3state()=0)/左触须碰到,Backward();/向后,Right_Turn();/向右,else/触须没有碰到,Forward();/向前,10.4 相关知识,10.4.2,轮式教育机器人进入死区后的人工智能决策,仔细观察程序中改变的部分,不难发现,程序中先是新定义了三个变量,uchar counter=1;/触须碰撞总次数,uchar old_R=1;/右触须旧状态,uchar old_L=0;/左触须旧状态,其中counter用来记录交替探测的次数,初值设为1;old_L、old_R分别用来记录左右触须旧的状态值,old_R的初值设为1,old_L的初

20、值设为0,当触须在墙角交替触碰值累计到4时,counter复位为1。,10.4 相关知识,10.4.2,轮式教育机器人进入死区后的人工智能决策,根据前面介绍的思路,首先要检查的是:是否有且只有一个触须被触动。简单的方法就是询问P1_4state()的返回值与P2_3state()的返回值是否相等。其具体判断语句如下:,if(P1_4state()!=P2_3state(),如果有触须被触动,接下来要做的事情就是检查当前状态是否确实与上次不同。换言之:old_R不等于P1_4state()且old_L不等于P2_3state()吗?如果是,就在触须触动计数器上加1,同时记下当前的状态,将当前的P

21、1_4state()返回值赋给old_R,当前的P2_3state()返回值赋给old_L,即:,10.4 相关知识,10.4.2,轮式教育机器人进入死区后的人工智能决策,if(old_R!=P1_4state()&(old_L!=P2_3state(),counter=counter+1;,old_R=P1_4state();,old_L=P2_3state();,if(counter4),counter=1;,Backward();/向后,Left_Turn();/向左,Left_Turn();/向左,1,2,3,模块功能描述,必备知识,设计案例,学习内容,第九章 基于C51单片机的伺服电

22、机控制,1,1,相关知识,思考练习与拓展训练,10.5 思考练习与拓展训练,10.5.1,思考练习,1、C51单片机通过输入接口直接获取的外界信息必须是数字量,,如果要采集模拟数据该如何处理?,2、试比较用if语句或switch/case语句实现多分支选择结构时各自的优缺点。,10.5 思考练习与拓展训练,10.5.2,拓展训练,任务:,P1做输入口,连接8个开关(K1-K8),P2口输出连接至,8只发光二极管(L1-L8)。编写程序,将开关的电平通过,发光二极管指示灯显示出来,即当P1.0为高电平时L1亮,当其P1.0为低电平时L1灭,其他以次类推。,要求:,设计满足任务要求的单片机最小系统硬件电路。,给出程序的设计思路,画出详细的程序流程框图。,给出程序清单并加上必要的注释。,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服