预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

课程设计 题目光电式速度计 二级学院 专业 班级 学生姓名 学号 指导教师 考核项目设计50分平时成绩20分答辩30分得分总分考核等级教师签名 摘要 光电式传感器,是基于光电效应的传感器,在受到可见光照射后即产生光电效应,将光信号转换成电信号输出。它除能测量光强之外,还能利用光线的透射、遮挡、反射、干涉等测量多种物理量,如尺寸、位移、速度、温度等,因而是一种应用极广泛的重要敏感器件。光电测量时不与被测对象直接接触,光束的质量又近似为零,在测量中不存在摩擦和对被测对象几乎不施加压力。因此在许多应用场合,光电式传感器比其他传感器有明显的优越性。其缺点是在某些应用方面,光学器件和电子器件价格较贵,并且对测量的环境条件要求较高。而光电式速度计就是基于光电传感器将速度的变化转变成光通量的变化,在通过光电转换元件将光通量的变化转换成电量变化,即利用光电脉冲变成电脉冲,通过对电脉冲的一系列计数,换算,即可实现光电式计算速度。 目录 概述 硬件电路设计及描述 阐述方案选择及设计思想 绘制原理框图 简述工作原理 绘制原理电路图 软件设计流程及描述 绘制系统模块层次结构图 程序流程图 源程序代码 测试 总结 参考文献 元器件清单一览表 个人总结 概述 本次课程设计我们所做的是光电式速度计,它主要是利用光电式传感器收到光照射后产生的光电效应,将光信号转换成电信号输出。通过对输出的电信号计时,就可计算出在这期间的平均速度。 系统利用光电式传感器设计速度计量系统,具有计数功能,且系统工作满足速度计的一般要求。 硬件电路设计及描述 阐述方案选择及设计思想 我们在选择方案的时候选择了用外部中断0和51的T0定时/计数器。因为这样会让电路更加简洁,直接用外部中断0的H/L来判定是否进入中断。由于外部中断0的是L触发,所以当外部中断0开始输入L时,T0定时/计数器开始计时。当外部中断0重新输入H时,T0定时/计数器结束计时,就得到在INT0期间的时间,因为已知转盘的弧长或者木条的长度l,由v=l/t,就可以得到在INT0期间的平均速度。再通过LCD1602将所得的时间t和速度v输出到液晶屏上。 绘制原理框图 1602液晶显示器 D0---D7控制位 89C51P0.0 XTAL1 XTAL2 P0.7 P2.5 RST P2.7 P3.2/INT0 晶振电路 复位电路 红外光电传感器 简述工作原理 如上图所示,上图是硬件原理框图。可以看到硬件是由几大模块主成的。晶振电路主要是为51内部产生时钟信号。复位电路是为51回到初始化的状态的一种操作,它可以在1602显示乱码,或者电路其它部分的上电状态与预期不一样时,按下复位按钮就可以使51回到初始化的状态。1602液晶显示器是一块16*2的液晶显示,它会显示两行16个字符或数字。1602有3个控制位。RS为寄存器选择,高电平1时选择数据寄存器,低电平0时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。E(或EN)端为使能(enable)端,写操作时,下降沿使能;读操作时,E高电平有效。VSS一般接地,VDD接电源(+5V),V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。红外光电传感器是将利用光电式传感器收到光照射后产生的光电效应,将光信号转换成电信号输出。当转盘或者木条经过时,挡住了红外光电传感器一直输给INT0的高电平,触发了INT0,T0就开始计时了,当INT0再次接受到H时,T0计时结束。由v=l/t,就得到了速度。 绘制原理电路图 绘制器件清单列表 元器件清单列表见附页。 软件设计流程及描述 绘制系统模块层次结构图 程序流程图开始 LCD初始化 t0_num=0(T0计数器置0) int0_flag=0(INT0标志置0) EA=1(开总中断) LCD清屏, LCD第一行显示t=xxx.xxxxs 第二行显示v=xxx.xxxxm/s 把v和t的浮点数转成字符串,保留小数点后4位 计算v和t If(int0_flag==2) While(1) 开总中断 LCD显示: nointerrupt0 LCD清屏 T0初始化 如上图所示,上图是主函数程序流程图。可以看到程序开始后,先进行LCD的初始化,再对T0进行初始化。然后是对LCD的清屏,在没有INT0的时候,LCD显示nointerrupt0,让EA=1开外部总中断。判断int0_flag==2,计算在INT0期间的时间t,由已知转盘的弧长或者小木条的长度l