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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能测速小车实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能测速小车实验报告.docx

1、智能测速小车实验报告XXXX大学智能测速小车系统的设计 报 告 书院(系)名称:学生姓名:专业名称:班 级:时间:1.绪论1.1 开发背景 随着科学技术迅猛发展,人们对设备越来越高的应用需要已经无法满足当前和未来高性能的应用与发展需求。显然,嵌入式系统的软、硬件技术和开发手段,正日益受到重视,成为各领域技术创新的重要基础。目前,嵌入式系统是近年来发展很快的计算机方面的学科方向,并迅速渗透到控制、自动化、仪器仪表等学科。嵌入式方向包括了软硬件协同设计、嵌入式体系结构、实时操作系统、嵌入式产品设计等方面的知识,大于当代大学生,更需要掌握嵌入式系统设计的典型开发工具和开发核心技术。 近年来,随着计算

2、机技术及集成电路技术的发展,嵌入式技术日渐普及,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的作用。嵌入式系统无疑成为当前最热门最有发展前途的IT应用领域之一。毋庸置疑,机电一体化人才的培养不论是在国外还是在国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对机电一体化的兴趣与强化机电一体化的相关知识。所以作为机电一体化学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过

3、独立设计一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。所以立“基于单片机的智能小车测速设计”一题作为尝试。 这项设计是以采购的小车为基础,采用16位STC89C52单片机作为控制核心,逐步实现测速、调速、显示这三大功能。 本次设计主要解决问题是如何实现所要求的三大功能,最后完成硬件实物的组装,并编制相关程序,使其实现功能的融合,做出具有预先要求功能的实物。1.2设计思路图1.1 简易硬件框图2.STC89C52RC单片机简介STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K字节系统可编程Flash存储器。ST

4、C89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。2.1标准功能具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,C

5、PU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。2.2主要特性8K字节程序存储空间;512字节数据存储空间;内带4K字节EEPROM存储空间;可直接使用串口下载; 2.3器件参数增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051.1 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V 单片机)工作频率范围:040MHz,相当于普通8051 的080MHz,实际工作 频率可

6、达48MHz用户应用程序空间为8K字节片上集成512 字节RAM通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片;具有EEPROM 功能共3 个16 位定时器/计数器。即定时器T0、T1、T2外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒通用异步

7、串行口(UART),还可用定时器软件实现多个UART工作温度范围:-40+85(工业级)/075(商业级)PDIP封装2.4引脚说明单片机STC89C52如下图2-1所示Vss:第20个引脚,功能是电源地。Vcc:第40个引脚,功能是电源引脚。正常操作、空闲、掉电以及对OTPROM、FlashROM编程或校验进的工作电压。一般为2.76.0V(89C5X、89C5XX2电源电压一般为5.0V)。P00P17:作为I/O口使用时,P0口是漏极开路双向口,向口锁存器写入1时,I/O口引脚悬空,是高阻输入引脚;在读写外部存储器时,P0口作为低8位地址/数据总线。P10P17:内部带有弱上拉的准双向口

8、I/O口,作为输入引脚使用前,先向P1口锁存器写入1,使P1口引脚上拉至高电平。P10,P11口除了作为一般I/O口使用外,还具有第二输入/输出功能。T2(P10)定时器T2的计数输入端或定时器T2的时钟输出端。T2EX(P11)定时器T2的外 图2.1 STC89C52引脚图部触发输入端。P20P27:内部带有弱上拉的准双向I/O口,作输入引脚使用前,先向P2口锁存器写入1,使P2口引脚上拉至高电平。在读写外部存储器时,P2口输出高8位地址信号A15A8。P30P37:内部带有弱上拉的准双向I/O口,作输入引脚使用前,先和向P3口锁在器写入1,使P2口引脚上拉至高电平。P3口除了可作为一般的

9、I/O口使用外,还具有第二输入/输出功能。RXD(P30)串行数据接收(输入)端。TXD(P31)串行数据发送(输出)端。INT0(P32)外部中为0输入端。INT1(P33)外部中断1输入端。T0(P34)定时/计数T0的外部输入端。T1(P35)定时/计数T1的外部输入端。WR(P36)外部数据存储器写选通信号,低电平有效。RD(P37)外部数据存储器读选通信号,低电平有效。RST:第9个引脚,功能是复位信号输入端,高电平有效。ALE:第30个引脚。低8位地址锁存信号。PSEN:第29个引脚。外部程序存储器读选通信号,低电平有效。从外部程序存储器取指令时,每个机器周期PSEN信号被激活两次

10、。只有执行外部程序存储器中的指令时,PSEN才有效,而执行其它操作时PSEN无效。EA/Vpp:第31个引脚。外部程序存储器读选通信号,低电平有效。XTAL1:第19个引脚。片内晶振电路反相放大器输入端,接CPU内部时钟电路。XTAL2:第18个引脚。片内部晶振电路反相放大器输出端。3.光电传感器3.1 光电传感器工作原理光电传感器是通过把光强度的变化转变成电信号的变化来实现控制的。一般的光电传感器由三大部分组成:发光器、光接收器和检测电路发光器对准发光目标(光接收器或者是某种反光物质)发射光束,发射的光束一般来自半导体光源,如:发光二极管、激光二极管或红外发射二极管。光接收器接收发光器发出的

11、光(或者反光物质反射回来的光)。常用的光接收器一般有:光电二极管、光电三极管及光电池。为了增强光电传感器的检测灵敏度及精确度,可以再接收器的前面装一个光学元件,如:透镜、光圈等。光接收器接检测到的光信号转换成相应的电信号,电信号传递给给相应的检测电路和滤波电路,从而提供正确的有效信号。3.2 光电传感器的常用类型槽型光电传感器所谓的槽型光电传感器就是把一个光发射器和一个接收器面对面地组装于一个凹槽的两侧。正常工作状态下,发光器能够在在驱动电路的工作下发出红外光或者是可见光,光接收器是用来接收发光器所发出的光的。若发光器与接收器之间没有遮挡物,即槽内无障碍,发光器发出的光可以被接收器接收;反之则

12、不能。当接收器不能接收到发光器发出的光时,相应的光电开关便动作。该种传感器能检测的距离很小,一般只有数厘米。对射型光电传感器为了使检测距离增大,可以将发光器和接收器分开组装在相距较远的两个物体上,这就是对射型光电传感器。对射式光电传感器可以检测较远的距离,一般能达到数米甚至数十米的距离。使用时将发光器和接收器固定在检测物通过的路径的两侧,检测物通过该光电传感器时,检测物挡住发光器发出的光,接收器检测不到光信号,做出相应的开关动作。 反光型光电传感器反光型光电传感器把发光器和接收器装入同一个装置,在其前方固定一块反光板,利用反射原理完成光电控制。一般情况发光器发出的光可以被光接收器接收,但当传感

13、器与反光板之间有不透光的障碍物时,由反光板反射回来的光就不能被光接收器接收,光电开光就做出相应的动作,输出一个开关控制信号。扩散型光电传感器扩散型光电传感器内装有一个发光器和一个光接收器。但前面没有挡光板,正常情况光接收器不能检测到发光器发出的光;若发光器前方有障碍物时,发光器发出的光照在障碍物上发生漫反射,将部分光发射回来,由光接收器接收。光接收器接收到反射回来的光信号,输出一个相应的开关信号。4.仿真图及其结果4.1仿真电路图图4.1 仿真电路图4.2仿真结果启动仿真图4.2 仿真电路图-启动实现“加速”操作图4.3 仿真电路图-加速实现“减速”操作图4.4 仿真电路图-减速实现“置零”操

14、作图4.5 仿真电路图-置零实现“重置”操作图4.6 仿真电路图-重置5.软件程序设计5.1语言的选用本设计中采用的处理器是AT89S52单片机,由此可采用面向MCS-51的程序设计语言,包括ASM51汇编语言和C51高级语言,这两种语言各有特点。汇编语言更接近机器语言,常用来编制与系统硬件相关的程序,如访问I/O端口、中断处理程序、实时控制程序、实时通信程序等;而数学运算程序则适合用C51高级语言编写,因为用高级语言编写运算程序可提高编程效率和应用程序的可靠性。C语言是一种通用的计算机程序设计语言,在国际上十分流行,它即可用来编写计算机系统程序,也可以用来编写一般的应用程序。以前计算机的系统

15、软件主要是用汇编语言编写的,对于单片机应用系统来说更是如此。由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用程序的周期长,而且调试和排错也比较困难。C语言具有很好的可移植性和硬件控制能力,表达和运算能力也较强。它具有以下特点:语言简洁,使用方便灵活;可移植性好;表达能力强;表达方式灵活;可进行架构化程序设计;可以直接操作计算机硬件;生成的目标代码质量高。为了提高编制计算机系统和应用程序的效率,改善程序的可读性和可移植性,在此采用高级语言编程。5.2程序设计流程图图 5.1 程序设计流程图程序说明:将定时器设置为方式1,对外部脉冲进行计数,并判断Flag_clac的值。当Fl

16、ag_calc=1时,将脉冲的数值由十六进制转换成十进制,按转速转换公式转换后,载入数据缓冲区。图5.2 定时显示程序流程图程序说明:定时器设置为方式1,定时10ms。当定时达到10ms时,产生中断,对数码管显示屏进行刷新,显示转速,并使时间计数标志T加1。当时间计数标志T=500时,使Flag_calc置1,取出计数器在此时间内计算的脉冲数,通过转速计算程序计算得出转速值后,存入数据缓冲区,供数码管显示使用。5.心得体会5.1 个人心得xx:此次课程设计涉及模拟电路和数字电路知识,还涉及到了单片机、AD转换器、显示器等多种器件。是对大学期间所学知识的一次综合的应用,是一个知识融会贯通的过程。

17、此外,由于课题要求制作实物,在考察所掌握专业知识的同时也对自身的动手能力提出了挑战。本系统的设计过程并非一帆风顺,刚开始接触这个课题时,心中并没有一个清晰的框架,通过翻看手册与查阅相关资料后,我渐渐有了设计的思路,对于系统所要用到的元器件类型也有了一定程度的了解。本设计能够顺利完成,还承蒙老师以及身边的很多同学的指导和帮助。在设计过程中,老师给予了悉心的指导,最重要的是给了我解决问题的思路和方法,并且在设计环境和器材方面给予了大力的帮助和支持,在此,我对老师表示最真挚的感谢!同时感谢所有帮助过我的同学!xx:从开始进行设计智能壁障小车到完成实现壁障和测速功能,我找了很多资料,并应用了Prote

18、us 8 professional软件进行仿真,运用单片机知识进行编程以完成设计要求的功能。在途中,也遇到了好多问题。我已经尽了自己的最大努力,也从中学到了很多知识,获益匪浅。特别是每次把问题解决以后,那种心情是非常开心的,当看到小车自动测速以后,脸上自然露出自豪的笑容。感谢学院给我们提供这样的实践动手机会,并通过课程设计使我们能够有机会将书本上学到的知识运用到的实际中去。在课设过程中陈老师给了我很多的指导和帮助,并监督我及时完成了本次课程设计在此特别感谢老师和给予我帮助的同组同学。xx:经过自己不断的搜索努力以及老师的耐心指导和热情帮助,本设计已经基本完成。在这个过程中老师以及曾做过此类设计

19、的同学给予了我很大的帮助,给我提供了大量的硬件和软件资料,也给我的设计提出了宝贵的意见和建议。在此,对大家表示衷心的感谢!这次设计不仅是对我的专业知识的一次集中地检验,同时也为我们提供了一个进入职场前的实战机会;通过这次在老师指导下做设计的机会,我对于技术实践方面有了更深刻的认识,也进一步夯实了所学的专业知识。虽然在设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。由于自身水平有限,设计中一定存在很多不足之处,敬请老师批评指正。5.2总结:本设计采用光电开关测速法,利用对射式光电开关

20、采集转速信号,通过信号处理电路得到适合的脉冲后,输入单片机进行处理、计算,得出实际的转速值,辅以数码管显示屏显示。1.此系统实现了设计的要求:光电开关与电机转换平台简单适用采集电路能实时采集转速信息单片机处理系统运算快速简单,程序可读性强,条理分明,能形成独立模块以便于其他类似系统的计算数码管显示屏为主体的人机界面能准确显示速度值2.本设计存在的问题:系统选择位数最多的定时/计数器工作方式1(为16位),但仍有其局限性。此计数器的最大计数脉冲数为63336(216),若每秒钟计算一次,则当1秒内外部脉冲的输入数超过65536个时,计数器会溢出,从而产生中断,使得测出的转速值小于实际的转速值。根

21、据转速计算方法(若转盘齿数为10),Vmax=65536*60s/(10*1)=39321r/min,所以本系统不能测量范围不能超过此值。通过T1计数时,单片机每读取一个脉冲至少需要3个机器周期的时间来完成。本系统采用的晶振为12MHz,所以一个机器周期Tcy=12/f=1us。若要使单片机准确读取外部脉冲,则脉冲的输入周期不能超过3us。如此可计算(转盘齿数为10),系统能测量的转速需低于:Vmax=60s/(3us*10)=6000000r/min。此外,光电开关的反应速度也会对转速测量值的大小产生影响。若转速过快,则光电开关来不及处理,这样会造成测速不准,甚至测不出数值。3.针对存在的问

22、题,可以采取以下方法改进:采用时钟频率更高、定时/计数器位数更多的单片机来处理脉冲,现某些高速单片机可达到40MHz的处理速度,可以大大提高测速范围。应用反应速度更快的传感器来做光电开关。现在高速光电开关的响应速度可达到0.1ms,每分钟可进行30万次检测操作,这样就能检出高速转动的微小物体。综上所述,在测速过程中,虽然由于硬件的缘故,未能实现对高速的测量,但本装置结构简单、实用,在降低测速器成本,提高测速稳定性及可靠性等方面有一定价值,而且可以达到一般工业测速的测量标准,具有广泛的前景。附录A 元器件清单表1 元器件清单表序号器 件 类 型器 件 参 数数 量备 注1单片机STC89C521

23、2电阻10K83电容30pf24电解电容220u15四角开关566晶振CRYSTAL17排阻RESPACK-818共阳数码管SM41056219电机MOTOR210NPN三极管D882611PNP三极管B772P2附录B 源程序#include#define uchar unsigned char#define uint unsigned int#define count 1#define PI 3.14sbit wela2=P20;sbit wela1=P21;sbit key1=P15;sbit key2=P16;sbit key3=P17;sbit ENA= P22;sbit ENB=P

24、23;unsigned char zkb1=0 ;unsigned char t=0;unsigned char zkb2=0 ;uchar speed=0;uchar datt;bit keychange=1;uchar code tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void Display(uchar dat);void Keyboard(void);/*延时函数*/void delay(uint xms) uint i,j;for(i=xms;i0;i-)for(j=120;j0;j-);void init()TMO

25、D=0x51;TH0=(65536-100)/256;TL0=(65536-100)%256;EA=1;ET0=1;TR0=1;TH1=(65536-count)/256;TL1=(65536-count)%256;ET1=1;IT1=1;TR1=1;/*中断函数+脉宽调制*/void timer0() interrupt 1TH0=(65536-100)/256;TL0=(65536-100)%256;if(tzkb1)ENA=1;elseENA=0;if(t=100)t=0;void timer1() interrupt 3TR1=0;TH1=(65536-count)/256;TL1=(

26、65536-count)%256;speed+;if(speed=10)speed=10;TR1=1;/*主程序*/void main()zkb1=50;zkb2=50;datt=zkb1;init();while(1)Keyboard();Display(datt);/-显示函数-void Display(uchar dat)wela2=0;wela1=1;P0=tabdat%10;delay(3);P0=0xff;wela1=0;wela2=1;P0=tabdat/10;delay(5);P0=0xff;void Keyboard(void)if(keychange=1)if(key1=0)delay(10);if(key1=0)zkb1=zkb1+10;zkb2=zkb2+10;if(zkb1=100)zkb1=90;if(zkb2=100)zkb2=90;while(!key1);if(key2=0)delay(10);if(key2=0)zkb1=zkb1-10;zkb2=zkb2-10;if(zkb1=0)zkb1=0;if(zkb2=0)zkb2=0;while(!key2);datt=zkb1;elsedatt=speed;if(key3=0)delay(10);if(key3=0)keychange =keychange;while(!key3);附录C 实物图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1