基于51单片机的光电编码器测速报告(2)

1970-01-01 08:00

图1 系统总体框架

2)总体工作原理

由于定时器工作模式2是八位,可装入的值太小,每进行一个周期的脉冲统计需要进入5000次定时器中断,由于进入中断的次数太多,所以很容易出现在低八位装满本应触发而程序还在中断子程序中运行,而无法触发中断的情况,所以不采用工作模式2。工作模式0只需要进入定时中断1000次就可以进行一个周期的脉冲统计,所以选择功能模式0。方案一中用,用纯软件计数虽然电路简单,但是计数速度慢,难以满足实时性要求,而且容易出错。我们可以用单片机内部的计数器来实现加减计数。单片机片内有两个16位定时计数器都可以用来脉冲计数,用两个外部中断来检测正反转,避免了每一个脉冲都要进行高低电平检测的步骤。 控制按键,液晶和复位方面的设计在方案一和方案二中一样。综上考虑,最终方案确定为方案二。

6

三、硬件设计

3.1 单片机最小系统

单片机要正常工作,首先要产生片内时钟信号。在单片机内部的振荡器的输入端XTAL1和输出端XTAL2之间接一个石英晶振就可以够成一个自激振荡器。再在两端之间串联接个电容并且在两个电容之间接地以便于稳定频率还对振荡频率有微调作用。电容通常选30PF左右,振荡脉冲频率范围为0~24MHZ。该电路中选用12MHZ晶振。时钟电路图如下:

图2 时钟电路图

单片机在启动时与其他微处理器一样,要让CPU及系统各部件处于确定的初始状态,并从初始开始工作。这就需要复位操作。复位电路有两种方式:上电自动复位和按键自动复位。上电自动复位只是在开始接通电源瞬间复位,接下来想要再次复位就需要断电重启,不方便。按键自动复位不仅可以在开始接通电源瞬间复位还可以通过按下按键复位随时复位。所以选择按键复位方式。复位电路如下:

图3 复位电路图

3.2 液晶显示模块

该可调直流电机最大速度为每分钟1200转,采用1602液晶显示。控制1602液晶亮度的是蓝白滑动变阻器。1602液晶有16个管脚。编号为1,2管脚为电源正负极管脚,15,16为背光源正负极管脚;7~14为dataI/O管脚与单片机的P0口相连,负责液晶与芯片之间的信息传送;4,5,6分别为数据/命令选择端、读/写选择端、使能端,与单片机的, P2^0、P2^1、P2^2相连,负责控制液晶与芯片之间数据命令的读写操作;3为液晶显示偏压信号端,用于调整液晶显示对比度。1602液晶显示原理图如下:

7

321VCCGND12345678910111213141516VOP0.0P0.1P0.2P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7GNDVCCVORSRWENDB0DB1DB2DB3DB4DB5DB6DB7BLABLKGND1602液晶VCC

图4 液晶显示系统图

RV13.3 系统电源

为了方便控制系统的上电与断电,系统电源中连接了一个蓝白自锁开关。此开关两边各有三个引脚,不同的连接方式,开关的控制方法就不同。电源的正负极各接在此开关的两边。为了方便观察电源是否接上,在电路中的VCC与GND之间接一个发光二极管并且加一个限流电阻防止发光二极管烧坏,电源通电时发光二极管亮,断电时,则暗。再接四个排针便两边的两个排针用于外部电源给系统上电,中间的两个排针是用于单片机烧录程序。如图所示:

321

图5 系统电源图

3.4光电编码器电路

这是一张光电编码器部分的电路原理图。图上的74LS74芯片上就是两个D触发器。A相接在P3^4的引脚用于计数器0采集脉冲。A相同时接在CLK端,B相接在D端,Q接在P3.2引脚,外部中断0检测和Q非接在P3.3外部中断1来检测。另外A相和B相各需接一个上拉电阻,阻值为1K。这样输出的脉冲就可以直接接在单片机上,进行检测了。另外74LS74芯片的SET引脚,CLR引脚,VCC引脚都接电源,GND引脚接地。整个电路就连接完成了。

8

A相P3.4U4P212341VCC2A相3B相4GND8P3.39P3.210VCC111213VCC14VCCQ2GNDQ2Q1SET2Q1CLK2SET1D2CLK1CLR2D1VCCCLR174LS74B相GND7654321R61KR51K编码器接口VCC图6 光电编码器电路

3.5 整体电路

这是采用网络标号的画出的以一张整体电路图。它将整张可调直流电机的电路原理图分为七个部分:电源模块,P0口上拉电阻,1602液晶模块,51单片机,复位晶振电路,控制按键和光电编码器电路。整张原理看起来美观,明了并且根据标号很容易找到与之对应的引脚。

基于51单片机的光电编码器测速设计电源模块GNDP0L0R21KVCCS5346O2NCO1IN2NCIN12154RXD3TXD21Header 4GNDVCCVORSRWENDB0DB1DB2DB3DB4DB5DB6DB7BLABLKP0口 上拉 电阻RP1VCCR1R2R3R4R5R6R7R8102123456789VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.71602液晶模块321321VCCGND12345678910111213141516VOP0.0P0.1P0.2P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7GND蓝白自锁开关RV11602液晶VCC51单片机U6P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTRXDTXDP3.2P3.3P3.4P3.5P3.6P3.7X2X1GND1234567891011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1GNDVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.04039383736353433323130292827262524232221VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCCP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0控制按键P1.1复位晶振电路C0VCC10uFR110KGNDGNDRSTC222pF1C122pF2X2Y1XTALX1每秒钟转速GNDP1.2每分钟转速光电编码器电路A相P3.4U4P212341VCC2A相3B相4GND8P3.39P3.210VCC111213VCC14VCCQ2GNDQ2Q1SET2Q1CLK2SET1D2CLK1CLR2D1VCCCLR174LS74B相GND7654321R61KR51K编码器接口VCC

图7 整体电路图

9

四、软件设计

4.1 keil软件介绍

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种Keil软件图标是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

4.2 系统程序流程

1) 主程序流程

图8为光电编码器测速系统的主程序流程图。通过该图可以直观的了解到整个调控程序的大致走向为先扫描每秒钟速度和每分钟速度的控制按键,确定了是显示速度的方式之后,再执行液晶显示程序,显示出速度。接着又重新回到控制按键扫描的程序中,如此不断重复循环。

图8 主程序流程图

10


基于51单片机的光电编码器测速报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:【人教部编版】2017版八年级语文上册文言文复习学生版(含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: