测速仪文档.doc_第1页
测速仪文档.doc_第2页
测速仪文档.doc_第3页
测速仪文档.doc_第4页
测速仪文档.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目名称: 数字测速仪的设计 班 级: 电子201003班 姓 名: 吴沈明 学 号: 201003041424 指导教师: 温锦辉 日 期: 2012.06.18 摘要本项目基于光电传感器的汽车测速仪的设计。以STC-AT89S52 为控制中心,OPTCG光断续器测转速,实现对汽车速度时间的测量统计,并能见汽车的里程数及速度信息送给单片机,并通过单片机输出驱动信号,用LCD实时显示。系统的硬件部分包括单片机的控制部分、信号输入部分、电源模块、复位电路和LCD显示部分。OPTCG光断续器用于信号输入;显示部分采用了LCD12864显示输出电压的值。本文主要研究了电子称所涉及的硬件方面的问题及单片机、OPTCG光断续器、系统出现的误差和电路设计中出现的问题进行分析和讨论。【关键词】: 速度、单片机、光断续器、LCD液晶显示器。目 录摘要- 2 -第一章 设计要求及任务- 4 -第二章 方案设计与论证- 4 -一、系统设计的方框图- 4 -第三章 模块电路设计- 4 -一、单片机AT89C51- 4 -二 、OPTC光断续器- 5 -三、LCD液晶显示模块- 6 -四、电源- 6 -四章软件设计- 8 -一、程序图- 8 -二、系统仿真及调试- 9 -六、元器件清单- 9 -一、 基于AT89C51单片机的LCD测速仪元件清单- 9 -总结- 10 -致谢- 11 -参考文献- 11 -附录1 实验仿真电路:- 12 -附录2 源程序:- 13 -第一章 设计要求及任务对汽车进行实时速度的测量,显示出速度值。利用软件计算出汽车速度,并通过单片机输出信号驱动LCD显示。第二章 方案设计与论证一、系统设计的方框图图1基于AT89C51的LCD数字测速仪系统框图第三章 模块电路设计一、单片机AT89C51AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。图2 AT89C51管脚图二 、OPTC光断续器光断续器都是用来检测物体的靠近、通过等状态。其发射、接收器做在体积很小的同一塑料壳体中,所以两者能可靠对准。可分为遮断式和反射式两种,遮断式的槽宽,深度及光敏元件各不同,反射式的检测距离较短,多用于安装空间较小的场合。由于检测范围小,光电断续器的发光二极管可用直流电驱动,红外LED的正向压降约1.2到1.5V,驱动电流控制在几十毫安。光电断续器是较便宜,简单,可靠的光电器件,广泛用于自动控制系统,机电一体化设备,办公设备和家用电器中。本设计采用遮断式光电断续器,将其输出端口与单片机的P3.2口相连接,用于向单片机提供一定频率的脉冲。图3 光断续器结构图三、LCD液晶显示模块第LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。在本设计中,我们将LCD的D0D7口分别与单片机的p1.0p1.7口相连接,因p1口是一个准双向口,可用作通用I/O口。内部有上拉电阻与电源相连。图4 LM016L 功能引脚图四、电源这里采用7.2V的电源供电,用LM2940进行稳压处理,将7.2V稳降到5V以供单片机以及各芯片使用。经测试7.2V电源完全可以满足实际需要。这里采用我们熟知的串口通讯方式,AT89C52具有一个可编程的全双工串行通信口,它可以用作UART,也可以用作同步移位寄存器,其帧格式可以有8位、10位、11位,并能设置各种波特率,给使用带来很大的灵活性。其中,电源的稳定性很重要,它关系着单片机的工作稳定性,更为系着整个系统的稳定性与寿命长短。故必须利用LM2940芯片进行稳压处理,在实验调试过程中,应该使用示波器观察电压波形及幅值的稳定性,以便于进行下一步的调整。图5 电源经LM2940稳压后电路图四章软件设计一、程序图 图6基于AT89C51的LCD数字测速仪主程序流程图二、系统仿真及调试单片机系统的硬件调试和软件调试是密不可分的,许多硬件错误往往在软件调试中发现和纠正。但是,通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。硬件的调试是基础,如果硬件调试不能通过,软件的调试则无从谈起。 硬件的调试主要是把电路各种参数调整到符合设计要求。先排除硬件电路故障,包括设计性错误和工艺性故障。一般原则是先静态后动态。硬件静态调试主要是检测电路是否有短路、断路、虚焊等,检测芯片引脚焊接是否有错位,数码管段位是否焊接正确。利用万用表或逻辑测试仪器,检查电路中的各器件以及引脚是否连接正确,是否有短路故障。在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,先查Vcc与GND之间的电位,正常范围为4.85V。单片机AT89C52是系统的核心,利用万用表检测单片机电源引脚Vcc(40脚)为+5V,晶振是否正常工作(可用示波器测试,也可以用万用表检测两引脚电压一般在1.82.3V之间)、复位引脚RST(复位时为高电平,单片机工作时候为低电平)、EA是否为高电平。六、元器件清单一、 基于AT89C51单片机的LCD测速仪元件清单元件名称型号数量/个用途单片机AT89C521控制核心晶振12Mhz1晶振电路电容30pf2晶振电路电解电容20uf/10V1复位电路电源Vcc+9v南孚碱性电池1提供电源LCD显示器LM016L 1显示电路光断续器OPTC1信号输入电路电阻10k1复位电路电位器10k2调节电路按键1复位电路稳压器LM78051稳定系统电压总结经过两个星期左右的努力,基于AT89C51的LCD测速仪设计终于完成。 在整个设计过程中,出现过很多的难题,但都在老师和同学的帮助下顺利解决了,在不断的学习过程中我体会到:做项目是一个循序渐进的过程,从最初刚做项目时对测速仪问题的模糊认识到最后能够对该问题有深刻的认识,我体会到实践对于学习的重要性。以前只是知晓理论,没有经过实践考验,对知识的理解不够明确。通过这次的设计,将所学知识运用于实践,总结出凡是需躬行,求学需严谨。从开始接到课题到设计方案的确定,再到设计报告的完成,头脑中的设计思路慢慢清晰。在这段时间里,我学到了很多知识,也有很多感触。通过这次设计我学会了独立的学习和探索,查看相关的资料和书籍,使自己的设计逐步完善起来,每一次改进都使我收益颇丰。做设计需要有系统、连贯的思维方式和方法,对待要解决的问题,要耐心的去运用已有的资源来充实自己。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样才能更加有效。虽然我的设计不是很成熟,还有很多不足之处,但是我付出了自己的劳动,我相信只有经历过的人才会明白其中的酸甜苦辣。这次做设计的经历也使我终身受益,我感受到做设计是要真正用心去做的一件事情,是真正的自己学习的过程和研究的过程。在本次设计过程中,时间紧迫、任务重。尤其是对C语言以及相关芯片编程控制的不熟练,通过查询大量的书籍文献,借助网络资源,和师兄学长们一起交流,特别是得到辅导教师的大力支持,指导。经过自己的摸索、研究,终于如期完成指导教师交给的任务。致谢在课题设计期间,无论是确定工作方案、收集资料还是撰写设计报告,我都得到了老师的全力帮助和耐心指导。老师学识渊博、治学严谨、平易近人,是我们学习和生活的榜样,在此我特向老师表示最崇高的敬意和由衷的感谢。大学几年的生活转眼就要结束了,这几年是我人生中最重要的学习时间。在大学的校园里,我不仅学到了丰富的专业知识,也学到了终身受用的学习知识和积极的生活态度,通过对课程的学习和与相关专业老师的沟通,使我深感机会难得,获益非浅。母校严谨的学风和老师的广博丰富的知识令我敬佩。各位老师的悉心授课使我对电气专业有了更多、更丰富的认识,为今后的学习和工作打下了坚实的基础。此时此刻,我要感谢工学院的全体老师几年来对我的指导和帮助,他们广博精湛的学识,严谨的治学态度使我得到的不仅是知识,还有他们对知识孜孜不倦的追求精神及做人的品质,这将使我终身受益,尤其是对老师表示由衷的感谢。老师在百忙之中对我的设计给予了细心的指导和耐心的指导,他在学术上精益求精、一丝不苟的精神和工作上严谨求实的作风,以及忘我的学习态度给我留下了深刻的印象。另外在设计过程中还得到了师兄、师姐的大力帮助,在此表示感谢,我将在以后的工作中不断努力学习,在不久的将来成为一名优秀的技术人才。最后再次感谢母校和各位老师对我两年里的培养和帮助!参考文献1 杨居易.单片机课程设计指导.清华大学出版社.20092 朱善君. 单片机接口技术与应用.北京:清华大学出版社, 2005.3 徐时亮,张友德. 单片机软件设计技术.重庆:科学技术文献出版社,2001.附录1 实验仿真电路:图7本设计总电路图附录2 源程序:#include reg51.h#include intrins.hsbit LCM_RS=P30;sbit LCM_RW=P31;sbit LCM_EN=P37;#define BUSY 0x80 /常量定义#define DATAPORT P1#define uchar unsigned char#define uint unsigned int#define L50uchar str016,str116,count;uint speed;unsigned long time;void ddelay(uint);void lcd_wait(void);void display();void initLCM();void WriteCommandLCM(uchar WCLCM,uchar BusyC);void STR();void account();void int0_isr(void) interrupt 0 /*遥控使用外部中断0,接P3.2口*/ unsigned int temp;time=count; TR0=0;temp=TH0;temp=(temp 8) | TL0); TH0=0x3c; TL0=0xaf;count=0; TR0=1;time=time*50000+temp;void time0_isr(void) interrupt 1 /*遥控使用定时计数器1 */ TH0 =0x3c; TL0 =0xaf; count+;void main(void) TMOD=0x01; /*TMOD T0选用方式1(16位定时) */ IP|=0x01; /*INT0 中断优先*/ TCON|=0x11; /*TCON EX0下降沿触发,启动T0*/ IE|=0x83; TH0=0x3c; TL0=0xaf;initLCM(); WriteCommandLCM(0x01,1); /清显示屏for(;)account();display();void account()unsigned long a; if (time!=0)a=L*360000000/time;speed=a;void STR()str00=S;str01=p;str02=e; str03=e;str04=d;str05= ;str06=(speed%100000)/10000+0x30;str07=(speed%10000)/1000+0x30;str08=(speed%1000)/100+0x30;str09=.;str010=(speed%100)/10+0x30;str011=speed%10+0x30;str012=k;str013=m;str014=/;str015=h;/*延时K*1ms,12.000MHz*/void ddelay(uint k) uint i,j; for(i=0;ik;i+) for(j=0;j60;j+) ; /*写指令到LCD子函数*/void WriteCommandLCM(uchar WCLCM,uchar BusyC) if(BusyC)lcd_wait();DATAPORT=WCLCM; LCM_RS=0; /* 选中指令寄存器*/ LCM_RW=0; / 写模式 LCM_EN=1;_nop_();_nop_();_nop_(); LCM_EN=0;/*写数据到LCD子函数*/void WriteDataLCM(uchar WDLCM) lcd_wait( ); /检测忙信号DATAPORT=WDLCM; LCM_RS=1; /* 选中数据寄存器 */ LCM_RW=0; / 写模式 LCM_EN=1; _nop_();_nop_();_nop_(); LCM_EN=0;/*lcd内部等待函数*/void lcd_wait(void) DATAPORT=0xff; /读LCD前若单片机输出低电平,而读出LCD为高电平,则冲突,Proteus仿真会有显示逻辑黄色LCM_EN=1; LCM_RS=0; LCM_RW=1; _nop_(); _nop_();_nop_(); while(DATAPORT&BUSY) LCM_EN=0; _nop_(); _nop_(); LCM_EN=1; _nop_(); _nop_(); LCM_EN=0;/*LCD初始化子函数*/void initLCM( )DATAPORT=0;ddelay(15);WriteCommandLCM(0x38,0); /三次显示模式设置,不检测忙信号 ddelay(5); WriteCommandLCM(0x38,0); ddelay(5)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论