光电式速度计课程设计

上传人:桔**** 文档编号:501999110 上传时间:2023-09-27 格式:DOC 页数:17 大小:121.50KB
返回 下载 相关 举报
光电式速度计课程设计_第1页
第1页 / 共17页
光电式速度计课程设计_第2页
第2页 / 共17页
光电式速度计课程设计_第3页
第3页 / 共17页
光电式速度计课程设计_第4页
第4页 / 共17页
光电式速度计课程设计_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《光电式速度计课程设计》由会员分享,可在线阅读,更多相关《光电式速度计课程设计(17页珍藏版)》请在金锄头文库上搜索。

1、课程设计题 目 光电式速度计 二级学院 专 业 班 级 学生姓名 学 号 指导教师 考核工程设计50分平时成绩20分辩论30分得分总分考核等级教师签名摘要光电式传感器,是基于光电效应的传感器,在受到可见光照射后即产生光电效应,将光信号转换成电信号输出。它除能测量光强之外,还能利用光线的透射、遮挡、反射、干预等测量多种物理量,如尺寸、位移、速度、温度等,因而是一种应用极广泛的重要敏感器件。光电测量时不与被测对象直接接触,光束的质量又近似为零,在测量中不存在摩擦和对被测对象几乎不施加压力。因此在许多应用场合,光电式传感器比其他传感器有明显的优越性。其缺点是在某些应用方面,光学器件和电子器件价格较贵

2、,并且对测量的环境条件要求较高。而光电式速度计就是基于光电传感器将速度的变化转变成光通量的变化,在通过光电转换元件将光通量的变化转换成电量变化,即利用光电脉冲变成电脉冲,通过对电脉冲的一系列计数,换算,即可实现光电式计算速度。目录一、 概述二、 硬件电路设计及描述1. 阐述方案选择及设计思想2. 绘制原理框图3. 简述工作原理4. 绘制原理电路图三、 软件设计流程及描述1. 绘制系统模块层次结构图2. 程序流程图3. 源程序代码四、 测试五、 总结参考文献元器件清单一览表个人总结一、 概述本次课程设计我们所做的是光电式速度计,它主要是利用光电式传感器收到光照射后产生的光电效应,将光信号转换成电

3、信号输出。通过对输出的电信号计时,就可计算出在这期间的平均速度。系统利用光电式传感器设计速度计量系统,具有计数功能,且系统工作满足速度计的一般要求。二、 硬件电路设计及描述1 阐述方案选择及设计思想我们在选择方案的时候选择了用外部中断0和51的T0定时/计数器。因为这样会让电路更加简洁,直接用外部中断0的H/L来判定是否进入中断。由于外部中断0的是L触发,所以当外部中断0开始输入L时,T0定时/计数器开始计时。当外部中断0重新输入H时,T0定时/计数器结束计时,就得到在INT0期间的时间,因为转盘的弧长或者木条的长度l,由v=l/t,就可以得到在INT0期间的平均速度。再通过LCD1602将所

4、得的时间t和速度v输出到液晶屏上。2 绘制原理框图1602液晶显示器D0-D7 控制位89C51 P0.0XTAL1XTAL2 P0.7 P2.5RST P2.7 P3.2/INT0晶振电路复位电路红外光电传感器3 简述工作原理如上图所示,上图是硬件原理框图。可以看到硬件是由几大模块主成的。晶振电路主要是为51内部产生时钟信号。复位电路是为51回到初始化的状态的一种操作,它可以在1602显示乱码,或者电路其它局部的上电状态与预期不一样时,按下复位按钮就可以使51回到初始化的状态。1602液晶显示器是一块16*2的液晶显示,它会显示两行16个字符或数字。1602有3个控制位。RS为存放器选择,高

5、电平1时选择数据存放器,低电平0时选择指令存放器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。E(或EN)端为使能(enable)端,写操作时,下降沿使能;读操作时,E高电平有效。VSS一般接地,VDD接电源+5V,V0液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高比照度过高时会产生“鬼影,使用时可以通过一个10K的电位器调整比照度。红外光电传感器是将利用光电式传感器收到光照射后产生的光电效应,将光信号转换成电信号输出。当转盘或者木条经过时,挡住了红外光电传感器一直输给INT0的高电平,触发了INT0,T0就开始计时了,当INT0再次接受到H时,T0计时结束。

6、由v=l/t,就得到了速度。4 绘制原理电路图5 绘制器件清单列表元器件清单列表见附页。三、 软件设计流程及描述1 绘制系统模块层次结构图2 程序流程图开始LCD初始化t0_num=0T0计数器置0int0_flag=0INT0标志置0EA=1开总中断LCD清屏,LCD第一行显示t=xxx.xxxx s 第二行显示v=xxx.xxxx m/s把v和t的浮点数转成字符串,保存小数点后4位计算v和tIfint0_flag=2While1开总中断LCD显示:no interrupt 0 LCD清屏T0初始化如上图所示,上图是主函数程序流程图。可以看到程序开始后,先进行LCD的初始化,再对T0进行初始

7、化。然后是对LCD的清屏,在没有INT0的时候,LCD显示no interrupt 0,让EA=1开外部总中断。判断int0_flag=2,计算在INT0期间的时间t,由转盘的弧长或者小木条的长度l,故v=l/t。当然在程序中要注意单位的转换,让最后时间t的单位为s,最后v的单位为m/s。再把v和t的浮点数转成字符串,保存小数点后4位。令LCD清屏,1602的第一行显示t=xxx.xxxx s,第二行显示v=xxx.xxxx m/s。对t0_num置0,int0_flag置0,EA置1开总中断,等待下一次INT0。T0初始化EA=0关总中断IT0=1INT0边沿触发EX0=1允许INT0中断T

8、MOD=0x01;初始化T0,工作方式一,16位计数器计数器设初值TH0=(65536-1000)/256; TL0=(65536-1000)%256;t0_num 每1ms计一次 EA=1开总中断3 源程序代码#include#define uchar unsigned char#define uint unsigned intuchar code table0=no interrupt 0;uchar code table1=counting; sbit lcden=P26;sbit lcdrs=P25;sbit lcdrw=P27;uchar num;unsigned int t0_nu

9、m=0;unsigned int tt;float aa;float v;unsigned int l=10; /10cmunsigned char int0_flag=0; /INT0的中断标志位unsigned char t0_max=65000; /T0的最大中断次数void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com) /1602写命令函数 lcdrs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_

10、data(uchar date) /1602写数据函数 lcdrs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;void ftostr1(double fNum, unsigned char str,unsigned int dotsize)/将浮点数转字符串 int iSize=0; /记录字符串长度的数 int n=0; /用作循环的临时变量 unsigned long int i_predot;/小数点前的数 unsigned long int i_afterdot;/小数点后的数 float f_afterdot;/实数型的小

11、数局部 unsigned char *p=str;/做换向时用的指针 unsigned char *s=str;/做换向时用的指针 i_predot=(unsigned long int)fNum;/将小数点之前的数变为整数 f_afterdot=fNum-i_predot;/单独取出小数点之后的数 /根据设定的要保存的小数点后的位数,将小数点后相应的位数变到小数点之前 for(n=dotsize+1;n!=0;n-) f_afterdot=f_afterdot*10; i_afterdot=(unsigned long int)f_afterdot;/将小数点后相应位数的数字变为整数 n=i

12、_afterdot%10; n/=5; i_afterdot/=10;/将i_afterdot恢复到实际要求的小数位数 if(n!=0)/判断最后一位是否大于或者等于5,并进行四舍五入处理 /i_afterdot/=10;/将i_afterdot恢复到实际要求的小数位数 i_afterdot+; n=i_afterdot; /先将小数点后的数转换为字符串 n=dotsize; while(n!=0) n-; striSize+=i_afterdot%10+0;/对10取余并变为ASCII码 i_afterdot=i_afterdot/10;/对10取商 if(dotsize!=0)/小数点位数大于零的情况下 striSize+ =.;/加上小数点 /处理小数点前为0的情况。 if(i_predot=0) striSize+=0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号