电机转速测量系统设计光电传感器课程设计报告.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电机 转速 测量 系统 设计 光电 传感器 课程设计 报告
- 资源描述:
-
《传感器原理与应用》课程设计 1、 题目:电机转速测量系统设计(光电转速传感器) 院 校: 专 业: 姓 名: 学 号: 班 级: 指导老师: 二0一六 年 六 月 目录 第一章 《传感器原理与应用》课程设计任务书 4 1.1总规定 4 1.2总任务 4 1.3设计题目 4 1.4设计内容 4 1.5设计进度或计划 4 1.6设计说明书涉及的重要内容 4 第二章 系统介绍 5 第三章 系统设计方案 5 3.1方案的设计与选择 5 3.1.1 转速测量的方法 5 3.1.2 整体控制方式 6 3.1.3 传感器模块 6 3.2 方案描述 7 第四章 系统理论分析与计算 8 4.1 信号采集电路的分析 8 4.2 电机转速的计算 9 第五章 硬件电路设计 9 5.1 单片机模块 9 5.1.1 STC89C52单片机简介 10 5.1.2 时钟电路 11 5.1.3 复位电路 12 5.2 显示电路 12 第六章 软件设计 13 6.1 系统总体设计 13 6.2 中断子程序设计 14 6.3 定期子程序设计 14 6.4 显示子程序设计 15 第七章 测试方案 16 7.1 电路调试 16 7.2 软件调试 16 第八章 心得体会 18 参考文献 19 附录 20 附录一 电路仿真图 20 附录二 程序清单 20 附录三 实物图 25 第一章 《传感器原理与应用》课程设计任务书 1.1总规定 课设题目尽量侧重于传感器检测模块设计,重要是绘制系统原理图、制作传感部分前端电路、实验调试及分析、撰写实验报告等。 电路图:传感检测/接口电路/控制电路、单片机检测系统电路(若题目规定,则应加上)。 程序:主程序、部分子程序(若题目规定,则应加上)。 说明书:按规范撰写。 1.2总任务 针对总规定进行原理及方案论证、模块设计、接口电路设计、焊接或插接与调试、精度分析以及撰写报告等工作。 1.3设计题目 电机转速测量系统设计 1.4设计内容 实现所有规定的实物功能,性能稳定,外形美观。 1.5设计进度或计划 1、准备及查阅资料 一天 2、方案设计及论证(总体方案) 二天 3、硬件设计 三天 4、程序设计 三天 5、实验室调试及结果分析 二天 6、整理报告及准备答辩 三天 1.6设计说明书涉及的重要内容 1、封面 2、目录 3、设计任务书 4、正文(可按下列内容撰写、仅供参考) (1)摘要:可涉及系统工作原理的介绍等。 (2)方案设计及论证:可按模块进行方案设计与论证,各模块设计中应涉及适当的精度分析及选型等。 (3)实验或系统调试:可涉及实验调试工具仪器、实验结果及适当的分析等。 (4)心得体会。 (5)重要参考文献。 第二章 系统介绍 转速的测量原理有两种:对于较高的转速,记录单位时间内的转速或角度,即频率测量法;对于较低的转速,记录每转所用的时间或没特定角度多用的时间,即周期测量法。由于本系统测量对象为直流电动机,转速较高,所以选择频率测量法,即在固定的测量时间内,对传感器产生的脉冲进行计数,从而算出实际转速。假设测量时间为Tc(min),脉冲个数为P,光码盘的小孔个数为m,则可算出实际转速N(r/min)为: 当采样周期为1s,光码盘开孔数为4个时,其实际转速N为: 本设计中采用光电传感器采集信号,方便了信号的采集,也提高了测量的精度,但容易受外界光线和环境的干扰,编码盘与电机转轴的固定连接,都是本设计的难点。用1602LCD的数码管以动态扫描清楚的显示了实时的转速,程序的编写成了本设计的重点。 第三章 系统设计方案 本系统重要由单片机模块、传感器模块以及显示模块组成,下面分别论述这几个模块的选择。 3.1方案的设计与选择 3.1.1 转速测量的方法 方案一:测周期法(T法) 它是测量光电脉冲发生器所产生的相邻两个转速脉冲信号的时间来拟定转速。相邻两个转速脉冲信号时间的测量是采用对已知高频脉冲信号进行计数来实现的。在极端情况下,时间的测量会产生1个高频脉冲周期,因此T法在被测转速较低(相邻两个转速脉冲信号时间较大)时,才有较高的测量精度,所以T法适合于低速测量。 方案二:测频法(M法) 在规定的检测时间内,检测光电脉冲发生器所产生的脉冲信号的个数来拟定转速。虽然检测时间一定,但检测的起止时间具有随机性,因此M法测量转速在极端情况下会产生1个转速脉冲的误差。当被测转速较高或电机转动一圈发出的转速脉冲信号的个数较大时,才有较高的测量精度,因此M法适合于高速测量。 方案三:频率/周期法(M/T法) 它是同时测量检测时间和在此检测时间内光电脉冲发生器所产生的转速脉冲信号的个数来拟定转速。由于同时对两种脉冲信号进行计数,因此只要“同时性”解决得当,M/T法在高速和低速时都具有较高的测速精度。由于M/T法可在整个速度范围内获得高分辨率,可在不损失精度和分辨率的前提下获得快速响应。 由于这次使用的是小马达,所以我选择使用方案二,测频法。 3.1.2 整体控制方式 方案一:采用集成电路控制方式 光电传感器感受到光信号并转换成电信号,此时的电信号为模拟信号,经信号解决电路滤除干扰,并转换成能被计数器接受的方波信号或脉冲信号,再通过计数、译码、显示电路,由数码管显示转速。可实现功能,但电路较复杂,系统调试也较繁杂。 方案二:采用单片机模块控制方式 单片机模块接受脉冲信号,进行计数、解决,把数据传送给LCD显示模块,达成实时检测和反馈的功能。基于单片机的转速测量系统,具有硬件电路简朴,程序简朴和运算速度快,测速范围广,抗干扰性能好的特点。 综合以上两种方案,选择方案二。 3.1.3 传感器模块 方案一:采用红外传感器 红外传感器是运用红外线的物理性质来进行测量的传感器,为反射式。红外线传感器测量时不与被测物体直接接触,因而不存在摩擦,并且有灵敏度高,反映快等优点。但红外线的发射、接受不好控制,并且容易受到外界光线和环境的干扰。 方案二:采用霍尔传感器 霍尔传感器是根据霍尔效应原理制成的霍尔元件。传感器的定子上有2个互相垂直的绕组A和B,在绕组的中心线上粘有霍尔片HA和HB,转子为永久磁钢,霍尔元件HA和HB的激励电机分别与绕组A和B相连,它们的霍尔电极串联后作为传感器的输出。 采用霍尔传感器在信号采样的时 图1 霍尔转速传感器结构图 候,会出现采样不精确,由于它是靠磁性感应才采集脉冲的,使用时间久了会出现磁性变小,影响脉冲的采样精度。 方案三:采用光电传感器 光电传感器是通过把光强度的变化转换成电信号的变化来实现控制的。光电传感器在一般情况下,有三部分构成,它们分为:发送器、接受器和检测电路。发送器对准目的发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。接受器有光电二极管、光电三极管、光电池组成。在接受器的前面,装有光学元件如透镜和光圈等。在其后面是检测电路,它能滤出有效信号和应用该信号。此外,光电开关的结构元件中尚有发射板和光导纤维。三角反射板是结构牢固的发射装置。它由很小的三角锥体反射材料组成,可以使光束准确地从反射板中返回,具有实用意义。 图2 光电传感器原理示意图 综合以上3种方案,选择方案三。 3.1.4 显示模块 方案一:用数码管动态显示,可以显示数字,但显示的内容有限,接线繁多,且不能连续显示字符,有一定局限性。 方案二:采用LED点阵显示,能动态扫描,变换颜色,但体积比较大,需要很多点阵组合使用,显示较为繁琐,但需要的I/O资源较多,影响总体布局。 方案三:采用LCD液晶显示,显示内容最丰富,不仅编程灵活,显示可靠,并且电路简朴,易与单片机连接,明亮对比度可调,显示非常清楚,是一种非常好的方案。 综合以上,选择方案三。 3.2 方案描述 STC89C52 单片机 本设计重要用STC89C52单片机作为控制核心,由光电传感器、LCD动态显示屏构成。STC89C52单片机接受光电传感器传来的脉冲信号,单片机根据外部中断,以及内部定期器进行记数计算出电机转速送到LCD显示,使能实时读出电机的转速。 显示电路 信号调理 光电传感器 图3 系统总体方框图 第四章 系统理论分析与计算 4.1 信号采集电路的分析 采集光信号的电路原理图如图4所示: 图4 采集光信号的电路原理图 在图中,U3为槽型光耦,它的左端是发光二极管,由于发光二极管的驱动电流为5~20mA,所以设立R2的值为500Ω,同理设立,光电接受晶体管的下拉电阻即R3为10KΩ。光耦的输出端用三极管进行电压放大,为使T1输出的电平为TTL电平,将R5和R4的阻值设定为1KΩ。 该部分设计采用了红外光电传感器,进行非接触式检测。当有物体挡在红外光电发光二极管和高灵敏度的光电晶体管之间时,传感器将会输出一个低电平,而当没有物体挡在中间时,则输出高电平,从而形成一个脉冲。系统在光电传感器收发端之间加上电动机,并在电动机转轴上安装一转盘。在这个转盘的边沿处挖若干个圆形通光孔,把传感器的检测部分放在圆孔的圆心位置。每当转盘旋转时,传感器将输出若干个脉冲。把这些脉冲通过放大整形成单片机可以辨认的TTL电平,即可计算出轮子的转速。 转盘的圆孔的个数决定了测量的精度,个数越多,精度越高。这样就可以再单位时间里尽也许多地得到脉冲数。从而避免了由于两个过孔之间距离过大,而正好在过孔之前或者是在下一个过孔之前就停止了,导致较大的误差。设计中转盘的圆孔的实际个数受到技术限制。为了达成预定的效果 设计,在转盘过孔的设计上采用20个过孔,再通过软件对采集的数据进行计算。 图5 光码盘 4.2 电机转速的计算 在编程时让单片机每隔一秒记录一次接受到的脉冲总数,然后根据如下计算电机的转速 (1) n:电机转速 T:采样周期 N:采样周期T内光脉冲个数 P:光码盘开孔的总数 当采样周期为1秒时,转速 (2) f:1秒内采集到的光脉冲个数 第五章 硬件电路设计 5.1 单片机模块 单片微型计算机简称单片机,它把组成微型计算机的各个功能部件:中央解决器CPU、随机存取存储器RAM、只读存储器ROM、可编程存储器EPROM、并行及串行输入输出I/O接口电路、定期器/计数器、中断控制器等部件集成在一块半导体芯片上,构成一个完整的微型计算机。 5.1.1 STC89C52单片机简介 STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改善使得芯片具有传统51单片机不具有的功能。在单芯片上,拥有机灵的8位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门 狗定期器,内置4KB EEPROM,MAX810复位电路,3个16位定期器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。此外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定期器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。 图6 单片机管脚图 VCC:供电电压 GND:接地 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸取8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0可以用于外部程序数据存储器,它可以被定义为数据/地址的第八位。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接受输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接受,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接受输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为STC89C52的一些特殊功能口。 5.1.2 时钟电路 时钟是单片机的心脏,单片机各功能部件的运营都是以时钟频率为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。 图7 单片机晶振电路 图8 单片机复位电路 单片机内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2这两个引脚跨接在石英晶体振荡器和微调电路,就构成一个稳定的自激振荡器。 电路中的电容C1和C2典型值通常选择30pF左右,该电容大小会影响振荡器频率的高低,振荡器的稳定性和起振的快速性。晶振的振荡器频率的范围通常在1.2~12MHz之间,晶体的频率越高,则系统得时钟频率也就变高,单片机的运营速度也就越快。但反过来运营速度快,对存储器的速度规定就高。对印刷电路板的工艺规定也高,即规定浅间的寄生电容要小;晶体和电容应尽也许安装得与单片机芯片靠近,以减少寄生生活,更好的保证振荡器稳定,可靠地工作。 5.1.3 复位电路 为保证微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。 单片机在启动时都需要复位,以使CPU及系统各部件处在拟定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处在正常工作状态时,且振荡器稳定后,假如RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。 5.2 显示电路 LCD1602液晶显示模块可以和单片机STC89C52直接接口,电路如图所示。 图9 显示电路 1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多余来的2条线是背光电源线。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表达不忙,否则此指令失效。 图10 LCD1602管脚图 3.3V或5V的工作电压,对比度可调。内含复位电路,可提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能。有80字节显示数据存储器DDRAM,并建有192个5X7点阵的字型的字符发生器CGROM,有8个可由用户自定义的5X7的字符发生器CGRAM。 第六章 软件设计 6.1 系统总体设计 单片机按编入的程序运营,开始后对显示液晶的初始化及中断定期的初始化,为后续程序做好准备,初始化好后开始检测定期是否到达1秒,等到达1 秒后便取出计数脉冲值,将脉冲值经算法运算后得出转速信息送到液晶模块显示,如此循环每隔1秒刷新一次转速显示。系统总体流程图如图11所示。 开始 中断定期初始化 LCD初始化 定期是否1S N Y Y 取数计算 数码管显示 图11 系统总体流程图 6.2 中断子程序设计 开始 中断程序为下降沿触发,从IT0引脚传送到单片机,程序每来一次中断,表白有脉冲触发,计一次脉冲,不断的中断循环,来一个脉冲触发一次中断。中断子程序设计流程图如图12。 是否有脉冲 否 是 计数脉冲加1 图12 中断子程序流程图 6.3 定期子程序设计 定期函数为计时50ms的函数,定期器初始化完毕后便开始计时,每一次计开始 时为50ms,在定期程序中判断是否计时20次到达1秒,到达1秒后便计时完毕,由单片机相应其它子程序,由重新开始计时。定期子程序设计流程图如图13所示。 定期器初始化(50ms) 是否有中断 定期计数器加1 是否认期1S 计时1秒完毕 图13 定期子程序流程图 6.4 显示子程序设计 显示程序初始化完毕后,等待由定期器的1秒计时完毕后,将中断函数产生的脉冲值计算后送到液晶显示部分显示,每隔1秒计时刷新一次显示,如此循环。显示子程序设计流程图如图14所示。 开始 显示函数初始化 是否认期1S 否 刷新转速显示 是 图14 显示子程序流程图 第七章 测试方案 7.1 电路调试 在本次课程设计中出现了一部分问题,初始我的设计思绪是想要自己设计一个发射电路和接受电路,但是由于发光二极管我没能找到,所以我就想着用一个槽型光耦来代替,由于槽型光耦刚好符合这个特性,于是我就在网上搜了一下槽型光耦的引脚图和内部电路结构,然后按照预先设计好的电路进行连接,本来一个简朴的电路,但是由于自己接反了习惯性的认为槽型光耦和电路图中的同样是相应的,所以我就直接按照相应的线路来接了,调试了两天,我也多次改变了下拉电阻的大小,但并没有出现自己想要的结果,然后周3的时候,我用万用表测量了一下电路中每一路的电流,发现有一路是没有电流,所以我就把本来的接线位置对调了一下,这次电路终于通了。由于集电极输出电压不是TTL电平,所以加上一个三极管,对其进行放大,是其变成TTL电平,即可直接接单片机的I/O口,对其输出脉冲进行计数。 7.2 软件调试 由于本程序较大,而C语言编程具有很强的灵活性,便于编写与理解,因此采用C程序语言编写。采用自下而上的调试方法,先调试功能电路,再调试整个系统。 我们所使用的调试软件是51系列单片机开发软件Keil C51,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision。Keil提供涉及C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。 Keil能以单步执行、过程单步执行、全速执行等多种运营方式进行程序调试。假如发现程序有错,可采用在线汇编功能对程序进行在线修改,不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的环节。对于一些必须满足一定条件(如按键被按下等)才干被执行的、难以用单步执行方式进行调试的程序行,可采用断点设立的方法解决。在模拟调试程序后,还须通过编程器将.hex目的文献烧写入单片机中才干观测目的样机真实的运营状况。 这次我们还用到了Protel软件画电路图,在之前的课程设计中我们没有用过Protel,因此我又学习了Protel软件的使用,我运用的是Protel的升级版Altium Designer。 Altium Designer是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,重要运营在Windows操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,纯熟使用这一软件必将使电路设计的质量和效率大大提高。Altium Designer 除了全面继承涉及Protel 99SE、Protel DXP在内的先前一系列版本的功能和优点外,还增长了许多改善和很多高端功能。该平台拓宽了板级设计的传统界面,全面集成了FPGA设计功能和SOPC设计实现功能,从而允许工程设计人员能将系统设计中的FPGA与PCB设计及嵌入式设计集成在一起。重要功能有:原理图设计、印刷电路板设计、FPGA的开发、嵌入式开发、3D PCB设计。 这次由于使用了单片机,所以我还用到了烧录软件STC-ISP-v4.80,以前做实验的时候见过这个东西,所以刚好自己查了下用法。 STC单片机具有通过串口编程功能,简朴到通过串口3三根线就能将程序烧录到单片机内,这大大的方便了开发人员,省去了昂贵复杂的编程器,在调试程序时也可将内部数据直接通过串口发送到PC上观看,一些不太复杂的程序甚至可以省掉仿真器。 目前大部分的计算机都不带串口,这里还得介绍一下一个小转换工具,可将PC上的USB口转换成单片机的TTL电平。插入硬件后提醒安装驱动,完毕后查看PC上设备管理器,端口中会多余一个串口,这里是COM3,记住这个串标语,下面给单片机烧录是要用。 单片机板和转换板连线相应连接好,如发现无法通讯,可调整2、3的连线。 1,地线----地线 2,TXD-----RXD 3,RXD-----TXD 转换板由于PC供电,指对外提供很小的供电能力,建议单片机板用单独的电源供电,牢记不能外接电源和转换板同时对单片机板供电,否则会烧设备或计算机的危险。 硬件连接正常后就是通过STC专门的烧录软件进行烧录了。 1、现在相应的单片机型号 2、打开编译过的需要写入单片机内的程序,类型都是以.bin和.Hex结尾的文献。 3、选择连接的串标语,就是上边在设备管理器里看到的COM3。 4、选择通讯波特率,单片机目的板上有晶振的,这一项基本可以不用理睬,系统会自动适应合适的波特率。假如目的板使用的是内部振荡,由于内部制造误差,自动波特率也许会连接不成功,这时就要手工设立,最高和最低都设成同样,从最大数到最小数一个一个试,直到连接成功为止,最差的就只能以1200的波 特率烧录了,烧录时间稍长些,没办法就多等会儿吧。其它选项不知道啥意思的就不要乱选。 5、最后一项就是烧录了,一定记住要先点击“下载”,然后再给单片机目的板供电。 第八章 心得体会 通过这次课程设计,我学到了很多东西,然后让我对以前学的东西又进行了进一步的加深,在这个过程中,让我对以前学的似懂非懂的单片机又进行了进一步的了解,我的专业知识和动手能力都得到了进一步的提高。 由于C语言是大一刚来学的时候学的,而那时候第一次接触这种繁琐的东西,就会产生一种抵触,所以并没有去好好学习这门课,所以导致了这次课设要用到C语言写程序时头都大了,所以我又相称于重新学了一点C语言的知识,然后通过从书上的和网上的程序,结合了下就写出了自己所需要的程序。仿真软件由于之前用过,所以还算是比较容易的一步。仿真时,重要使用软件keil、Proteus 8 Professional。其中keil用来编写C语言程序,以及编译连接使之产生后缀名为hex的文献,将其烧录在软件Proteus 8 Professional中进行测试仿真调试。还运用到了Altium Designer用来画电路图。这次实习的重点就是如何编写程序以及仿真中的行骗各个管脚的连接问题,重要的元器件有STC89C52、lcd1602液晶显示等。 本次设计把理论应用到了实践中,同时通过设计,也加深了自己对理论知识的理解和掌握,在解决困难的过程中,获得了许多专业方面的知识,拓展了视野。提高了理论水平和实际的动手能力,学会了解决问题的方法,激发了我的探索精神。这样的课程设计是很好的锻炼机会,这次课程设计是我们上大学以来第二次关于电子方面的课程设计,我相信通过这两次的课程设计的铺垫,以后我们在做毕业设计的时候,应当会省事的多,所以我坚信我们会做出一个好的毕业设计,然后在毕业之后能有一个好的出路。 参考文献 [1] 张毅坤.陈善久,裘雪红. 单片微型计算机原理及应用[M]. 西安电子科技大学出版社. 2023. 124-162. [2] 秦曾煌. 电工学[M]. 高等教育出版社. 2023. 36-86. [3] 何立民. 单片机应用技术选编[M]. 北京航空航天大学出版社. 2023. 89-112. [4] 刘笃仁. 传感器原理及应用技术[M]. 西安电子科技大学出版社. 2023. 169-185. [5] 谭浩强. C程序设计(第二版)[M]. 清华大学出版社. 2023.78-105. [6] 童诗白. 模拟电子技术基础[M]. 高等教育出版社. 2023. 128-169. [7] 马忠梅. 单片机的C语言应用程序设计[M]. 北京航空航天大学出版社. 2023.189-221. [8] 周润景. PROTEUS入门实用教程[M]. 机械工业出版社. 2023.57-85. [9] 肖婧. 单片机系统设计与仿真——基于Protues[M]. 北京航空航天大学出版社. 2023. 124-140. [10] 李丽荣,张常全,郑建红. 51单片机应用设计[M]. 北京理工大学出版社. 2023. 194-211. [11] 蓝和慧,宁武,闫晓金. 全国大学生电子设计竞赛单片机应用技能精解[M]. 2023. 191-217. 附录 附录一 电路仿真图 附录二 程序清单 #include <reg52.h> #include <intrins.h> unsigned char code cdis1[] = { "SPEED:" }; unsigned char code cdis2[] = { "r/min" }; sbit LCD_RS = P2 ^ 6; //寄存器选择位,将RS位定义为P2.6引脚 sbit LCD_RW = P2 ^ 5;//读写选择位,将RW位定义为P2.5引脚 sbit LCD_EN = P2 ^ 7;//使能信号位,将EN位定义为P2.7引脚 bit sec = 0; unsigned char msec = 0, Hdata = 0, Ldata = 0, Count = 0; unsigned long temp = 0; unsigned char data display[] = { 0x00, 0x00, 0x00, 0x00, 0x00 }; char code reserve[3]_at_ 0x3b; //保存0x3b开始的3个字节 /********************************************************* us延时函数 *********************************************************/ void delayNOP() { _nop_(); _nop_(); _nop_(); _nop_(); } /********************************************************* ms延时函数 *********************************************************/ void delayms(unsigned int ms) { unsigned char n; while (ms--) { for (n = 0; n < 114; n++) ; } } /********************************************************** 检查LCD忙状态 lcd_busy为1时,忙,等待。 lcd-busy为0时,闲,可写指令与数据。 **********************************************************/ bit lcd_busy() { bit result; LCD_RS = 0;//根据规定,RS为低电平,RW为高电平时,可以读状态 LCD_RW = 1; LCD_EN = 1;//EN=1,才允许读写 delayNOP();//空操作,给硬件反映时间 result = (bit)(P0 &0x80);//将忙碌标志电平赋给P0.7 LCD_EN = 0; //将E恢复低电平 return (result); } /********************************************************** 写指令数据到LCD RS=L,RW=L,E=高脉冲,D0-D7=指令码。 **********************************************************/ void lcd_wcmd(unsigned char cmd) { while (lcd_busy()) ;//假如忙就等待 LCD_RS = 0; //根据规定,RS和R/W同时为低电平时,可以写入指令 LCD_RW = 0; LCD_EN = 1; //E置低电平(写指令时,E为高脉冲,就是让E从0到1发生正跳变,所以应先置"0") P0 = cmd;//将数据送入P0口,即写入指令或地址 delayNOP();//空操作,给硬件反映时间 LCD_EN = 0;//当E由高电平跳变成低电平时,液晶模块开始执行命令 } /********************************************************** 将数据(字符的标准ASCII码)写入液晶模块 RS=H,RW=L,E=高脉冲,D0-D7=数据。 **********************************************************/ void lcd_wdat(unsigned char dat) { while (lcd_busy()) ; LCD_RS = 1;//RS为高电平,RW为低电平时,可以写入数据 LCD_RW = 0; LCD_EN = 1; P0 = dat; //将数据送入P0口,即将数据写入液晶模块 delayNOP(); LCD_EN = 0; //当E由高电平跳变成低电平时,液晶模块开始执行命令 } /************************展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




电机转速测量系统设计光电传感器课程设计报告.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3418586.html