您的当前位置:首页正文

单片机基于89C51电机测速设计

2021-01-20 来源:易榕旅网
 单片机系统课程设计

单片机系统 课 程 设 计

成绩评定表

设计课题 : 基于89C51的电机转速计设计 学院名称 : 电气工程学院 专业班级 : 学生姓名 : 学 号 :

指导教师 : 设计地点 : 设计时间 : 2013-12-16~2013-12-27

指导教师意见: 成绩: 签名: 年 月 日

单片机系统课程设计

单片机系统

课 程 设 计

课程设计名称: 基于89C51的电机转速计设计 专 业 班 级 : 学 生 姓 名 : 学 号 :

指 导 教 师 : 课程设计地点: 课程设计时间: 2013-12-16~2013-12-27

1

单片机系统课程设计 单片机系统 课程设计任务书

学生姓名 题 目 课题性质 指导教师 工程设计 利用89C51单片机设计电机转速计,可以实现如下功能: 主要内容 (参数) 1.能够在LED显示器上显示转速; 2.能够在较短时间内更新显示的转速; 3.能够在转速较小时延时测量时间以保持测量精度; 4.利用定时/计数器的功能能够分别得到转数和时间,计算得到转速。 第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。 第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及任务要求 (进度) 元件参数选择要有依据,各单元电路的设计要有详细论述。 第5-6天:软件设计,编写程序。 第7-8天:实验室调试。 第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅合理。 [1] 张迎新.单片微型计算机原理、应用及接口技术(第2版)[M].北京:主要参考 资料 审查意见 系(教研室)主任签字: 年 月 日

专业班级 学号 基于89C51的电机转速计设计 课题来源 自拟 国防工业出版社,2004 [2]伟福LAB6000系列单片机仿真实验系统使用说明书 [3] 阎石.数字电路技术基础(第五版).北京:高等教育出版社,2006 2

单片机系统课程设计 目 录

1 概述.............................................................. 4

1.1 研究背景 .................................................... 4 1.2 设计思想及基本功能 .......................................... 4 2 总体方案设计...................................................... 5

2.1 方案选取 .................................................... 5 2.2 系统框图 .................................................... 7 2.3 总体方案设计 ................................................ 8 3 硬件电路设计...................................................... 9

3.1 硬件电路设计概述 ............................................ 9 3.2 电源电路 .................................................... 9 3.3 晶振电路 .................................................... 9 3.4 复位电路 ................................................... 11 3.5 光电编码器电路 ............................................. 12 3.6 脉冲整形电路 ............................................... 13 3.6 显示电路 ................................................... 13 4 系统程序设计..................................................... 15

4.1 主程序设计 ................................................. 15 4.2 定时程序设计 ............................................... 17 4.3 数值转换程序设计 ........................................... 17 4.4 显示程序设计 ............................................... 18 5总结 ............................................................. 18 参考文献........................................................... 19 附录1 系统原理图 .................................................. 21 附录2 源程序 ...................................................... 22 附录3 机器码 ...................................................... 24

3

单片机系统课程设计 1 概述

1.1 研究背景

转速是工程中应用非常广泛的一个参数。在工程实践中,经常会遇到各种需要测量转速的场合,例如在发动机、电动机、卷扬机、机床主轴等旋转设备的试验、运转和控制中,常需要测量和显示其转速。电机转速是判断电机运行状况的重要标志之一,其测量方法较多,而模拟量的采集和模拟处理一直是转速测量的主要方法,但是这种测量方法已不能适应现代科技发展的要求。

目前国内外常用的测量转速的方法有离心式转速表测速法、微电机测速法、光电码盘测速法以及霍尔元件测速法。离心式转速表和微电机测速都有现成的测速仪表,容易得到。但转速表或测速机都要与电机同轴连接,增加了电机机组安装难度,另一方面有些电机功率很小,转速表或测速机消耗的功率占了电机大部分,这些方法都对有些电机的正常运行产生了不小的影响,所以对有些电机的测速,这二种方法并不适用。然而随着大规模及超大规模集成电路技术的快速发展,数字系统测量得到普遍应用,特别是高性能价格比的单片机的出现,还有单片机对脉冲数字信号的强大处理能力,使得全数字测量系统越来越普及,其转速测量系统也可以用全数字化处理。在测量范围和测量精度方面都有极大的提高。霍尔元件和光电码盘的测速方法基本类似,都是在电机转轴上安装一个很轻巧的传感器,将电机的转动信号通过霍尔元件或光电码盘转换为电脉冲信号,从而通过计算电脉冲的个数与时间的的比值来测速。现在的转速测量普遍采用以单片机为核心的数字式测量方法。

1.2 设计思想及基本功能

本次课程设计采用89C51系列单片机设计一种数字化测速系统,在选取设计方案和采用元器件方面,本着简单实用经济的思想,尽量简化电路设计,采用元器件使用较少的方案并选用最经济实用的元器件来达到设计要求。单片机通过在一定时间内得到的传感器发出的电脉冲信号个数来计算电机转速。功能上应具在尽量不影响电机的实际运行的情况下测得电机转速并及时送到显示器进行显示,还要能及时更新测得的新转速。测得的电机转速应有足够大的测量范围及在测量精度也应满足实际应用中的需要。

4

单片机系统课程设计 2 总体方案设计

2.1 方案选取

转速测量的方法有很多,根据工作原理可分为计数式、模拟式、同步式。计数式方法是用某种方式读出一定时间内的总转数;模拟式方法是测出由瞬时转速引起的某种物理量的变化;同步式是用利用已知的频率与旋转体的旋转同步来测量转速,根据不同的转换方式,测试方法参看表1-1所示。

一般的转速测试可用机械式转速表、发电机式转速表以及频闪式测速表,但在有些情况下,其测量精度,瞬时稳定度不能满足更高的要求,因此,在测量方法和传感器的选择上显得尤为重要。常用的传感器种类有光电传感器、电磁式传感器、电容式传感器等,而测量方法上有测量转速周期、转速频率等。

表1-1各种测速方法比较

型式 机械式 计数式 电磁式 测量方法 通过齿轮转动数字轮 适用范围 中、低速 特点 简单、价廉 光电式 来自被测旋转体上的光线使光电管产生电脉冲 利用磁电转换器将转速变换成电脉冲 机械式 模 拟 式 电容式 利用离心力与转速成平方成正比的关系 发电机式 利用电机电流或交流电压与转速成正比关系 利用电容充、放电与转速成正比的关系 同步式 闪光式 用已知频率闪光测出旋转体同步的频率 中、高速 机械式 转动带槽的圆盘,观察旋转体的同步关系 中速 中、高速 高速 可远距指示 测速发电机 中、低速 简单 中、高速 数字式 中、高速 数字式 备注 5

单片机系统课程设计 传统的电机转速测量方法是采用直流测速机,其原理是由被测电机拖动测速发电机,再对测速发电机产生的电压进行测量,在将电压换算成转速。输出电动势与转速成比例的微特电机。测速发电机的绕组和磁路经精确设计,其输出电动势E和转速n成线性关系,即E=Kn,K是常数。改变旋转方向时输出电动势的极性即相应改变。在被测机构与测速发电机同轴联接时,只要检测出输出电动势,就能获得被测机构的转速。采用测速发电机测速主要缺点如下:首先,测速发电机作为被测电机的负载 , 必然对转速产生影响,在一定情况下影响测量精度;其次,测速发电机电压作为模拟量,无法直接与数字控制系统连接,必须经过A/D转换,增加系统控制的复杂程度;最后,由于制造工艺的限制,测速发电机的性能很难有大的提高 ,在某些场合测速发电机甚至影响整个系统的性能。

数字测速法按照脉冲信号与标准频率信号的相互关系,分别是测频法(M法) 测周期法(T法) 和M/T法(测频率周期法):

(1) 在一定的时间Tc 内测取编码器输出的脉冲个数M1,用以计算这段时间内的平均转速,称作M法测速。在测量上有±1脉冲的误差,低速时误差较大,适用于测量高的转速。

(2) 在编码器两个相邻输出脉冲的间隔时间内,用一个计数器对已知频率为f0 的高频时钟脉冲进行计数,并由此来计算转速,称作周期法测速。有±1个时间单位的误差,在高速时,误差也很大,适用于测量低的转速。

(3) 把M法和T法结合起来,既检测Tc 时间内编码器输出的脉冲个数M1,又检测同一时间间隔的高频时钟脉冲个数M2,用来计算转速,称作M/T法测速。在实际测量中,还须设定定时时间,兼顾高、低转速时的精度影响,适时调节采样时间。

由于电机运行时的转速大小影响测得电机转速的精度,电机转速影响测取方法的选择。表格1-2罗列了常用的工业机械的转速范围:

表1-2常用工业机械的转速范围

设备名称 减速机 气动马达 涡轮增压器 速度范围(r/min) 设备名称 0 ~ 500 0 ~ 150000 0 ~ 100000 直流电机 发动机 交流电机 速度范围(r/min) 0 ~ 20000 0 ~ 10000 15000 ~ 3000 6

单片机系统课程设计 综合考虑上面三种方法的优缺点及测量要求并结合电机实际运行时的转速,本次课程设计采用M法,即一定采样时间内测出传感器发出的脉冲个数,计算得到电机转速。

数字式通常采用光电编码器、圆光栅、霍尔元件等为检测元件,得到的信号是脉冲信号。霍尔元件和光电码盘的测速方法基本类似,都是在转轴上安装一个很轻巧的传感器, 将电机的转动信号通过霍尔元件或光电码盘转换为电脉冲,从而通过计算电脉冲的个数来测速。其中光电元件的测量精度相对较高,本次课程设计利用光电编码器对电机的转速进行测量并且采用的光栅盘为在一定直径的圆板上等分地开通30个长方形孔的编码盘。光电编码器的检测原理如图2-1。

图2-1 光电编码器原理

在转速显示方面,由于LED数码管具有亮度高、可靠性好等特点,工业测控系统中常用LED数码管作为显示输出。本次设计采用数码管作显示。

LED显示器是用发光二极管显示字段的,通常使用七段构成“日”字型和一只发光二极管作为小数点,称八段数码显示器。其有两种驱动方式,共阴驱动和共阳驱动,共阴驱动是各段发光二极管的阴极连在一起,并将公共端接地,在共阳结构中,将各段发光二极管阳极连在一起,并将公共端接上+5V电源,显示字符对应字型代码发光。

2.2 系统框图

采用测频法及光电编码器的转速测量系统框图如2-2。

7

单片机系统课程设计 脉冲产生模块时钟模块AT89C51电源模块显示模块图2-2 系统框图

2.3 总体方案设计

电机转速计系统的总体方案设计是基于满足设计要求的前提并且根据理论上的可实现性和硬件上的经济实用性,而进行设计的重要环节。从设计要求已给的系统功能需求为根本点,在综合考虑各种因素的情况下,设计出电机转速计系统的总体构架,并且在满足基本功能需求的基础上尽可能考虑系统的可扩展性。

转速测量电路有光电编码器和脉冲整形电路组成。电机转速计系统的总体框图如图2-3所示。

光电编码器电机模块脉冲整形AT89C51显示电路 图2-3 电机转速计结构框图

电机运行时,加在转轴上的传感器的被感应物件跟随转轴做同步转动。于此同时传感器的敏感部件检测到被检测量变化时做出反应,从输出端发出周期而有一定规则电信号。电信号经过脉冲整形,输出相应的脉冲信号。单片机从引脚取得脉冲信号并进行计数,定时时间到时计算得到电机转速。单片机将转速的相应段码输出给显示电路并显示。

8

单片机系统课程设计 3 硬件电路设计

3.1 硬件电路设计概述

一个单片机应用系统的硬件电路设计应包含有两个部分内容 :

第一是系统扩展,即当单片机内部的功能单元 ,如 ROM、 RA M、 I/O口、定时/ 计数器、中断系统等容量不能满足应用系统要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。

第二是系统配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、D/A、A/ D转换器等,并设计相应的接口电路。因此,系统的扩展和配置应遵循下列原则:

尽可能选择典型电路,并符合单片机的常规用法。

系统的扩展与外围设备配置应满足系统功能的要求,并留有适当的余量以便进行二次开发。

硬件结构应与应用软件方案统一考虑,软件能实现的硬件功能尽可能用软件来实现,但需注意的是软件实现占用CPU的时间,而且响应时间比硬件长。

单片机外接电路较多时,应考虑其驱动能力,减少芯片功耗,降低总线负载。

3.2 电源电路

单片机正常工作电压为5V,因此设计的电源电路主要是提供单片机工作电压。图3-1是为单片机提供电压的电源电路。在这个电路中采用了三端集成稳压器LM7805,可以输出5V的直流电压以供给单片机。

BR1U11VIVO3OUTTR1C10.33uF7805GNDC20.1uFC310uF2W005GTRAN-2P2SOUT2 图3-1 单片机电源电路图

3.3 晶振电路

电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器可以用来产生基准频率。通过

9

单片机系统课程设计 基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。

图3-2是单片机的晶振电路。片内电路与片外器件就构成一个时钟产生电路,CPU的所有操作均在时钟脉冲同步下进行。片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz~24MHz之间选取。C1、C2是反馈电容,其值在20pF~100pF之间选取,典型值为30pF。本电路选用的电容为30pF,晶振频率为12MHz。

XTAL1接外部晶体的一个引脚,XTAL2接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。在石英晶体的两个管脚加交变电场时,它将会产生一定频率的机械变形,而这种机械振动又会产生交变电场,上述物理现象称为压电效应。一般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。但是,当交变电场的频率为某一特定值时,振幅骤然增大,会产生共振,称之为压电振荡。这一特定频率就是石英晶体的固有频率,也称谐振频率。石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,以便片内的OSC电路按石英晶振相同频率自激振荡。

C130uFU1X112M18XTAL219XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617C230uF9RST293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51 图3-2 单片机的晶振电路图

10

单片机系统课程设计 3.4 复位电路

复位电路的主要功能是使单片机进行初始化,复位后的单片机地址初始化为0000H,然后继续从0000H单元开始执行程序。复位电路中提供复位信号后,等到系统电源稳定后,再撤销复位信号。但是为了在复位按键稳定的前提下,电源稳定后还要经一定的延时才撤销复位信号,以防在按键过程中引起的抖动而影响复位。

89C51的RST端通过电阻和电容直接和电源端相连实现上电复位,理论上只要复位管脚出现2个机器周期以上的高电平即可完成复位,阻容元件的时间常数可以很小,但考虑到开机时,电源有个上升过程,以及振荡电路尚未完全起振等因素,这里选用的电阻为lKΩ,电容为10uF。上电瞬间,RESET端的电位与VCC相同,随着充电电流减小,RESET端的电位逐渐下降,按电路参数可选择电阻为1 kΩ,电容为10uF。则时间常数T=RC=10×10×l×10=10ms,这个时间常数,足以完成复位操作。

图3-3所示的 RC 复位电路可以实现上述基本功能。

U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617-6

3

18XTAL29RSTC310uFR110k293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51 图3-3 单片机复位电路图

11

单片机系统课程设计 3.5 光电编码器电路

光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。这是目前应用最多的传感器,光电编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。

根据检测原理,编码器可分为光学式、磁式、感应式和电容式。根据其刻度方法及信号输出形式,可分为增量式、绝对式以及混合式三种。光电编码器是利用光栅衍射原理实现位移-数字变换,通过光电转换,将输出轴上的机械几何位移量转换成脉冲数字量的传感器。

常见的光电编码器由光栅盘,发光元件和光敏元件组成。光栅实际上是一个刻有规则透光和不透光线条的圆盘,光敏元件接收的光通量随透光线条同步变化,光敏元件输出波形经整形后,变为模拟脉冲信号,每转一圈,输出一定个数的脉冲。根据脉冲的变化,可以精确测量和控制设备位移量。光电编码传感器电路如图3-4。

R2150R33kR41kU8273236U7:A1LM32414U9:A274HC1411OPTOCOUPLER-NANDR53k 图3-4 光电编码传感器电路图

12

单片机系统课程设计 3.6脉冲整形电路

从光电编码器输出的信号必须转换成单片机输入要求的信号,由于信号调节电路与传感器的选择,现场干扰程度等,都会影响信号的质量。而脉冲信号的上升沿和下降沿对数字电路的触发尤为重要,若要将转速脉冲信号直接加到计数器或外部中断的输入端,并利用其下降沿来触发进行计数,则必须要求输入的信号有陡峭的上升沿或下降沿。在光电编码器的输出信号处理中本次使用74HC164作为脉冲整形器。

74HC14是一款高速CMOS器件,其引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC14遵循JEDEC标准no.7A。74HC14实现了6路施密特触发反相器,可将缓慢变化的输入信号转换成清晰、无抖动的输出信号。74HC14的引脚图如图3-5,共包含六路,本次只使用一路,与光电编码器的连接见图3-4。

图3-5 74HC14引脚图

3.6 显示电路

显示电路主要是用于显示电机转速。本次采用LED数码管进行显示因为LED数码管具有以下几个优点:(1)能在低电压、小电流条件下驱动发光,能与CMOS、TTL电路兼容。(2)发光响应时间极短(<0.1μs),高频特性好,单色性好,亮度高。(3)体积小,重量轻,抗冲击性能好。

数码管有共阴极和共阳极两种类型,其公共端主要进行位控制,笔画端则是进行字符控制,数码管有静态显示和动态显示两种方法,说明如下:

13

单片机系统课程设计 (1)静态显示驱动:

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O进行驱动,或者使用如BCD码二—十进位器进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O,故实际应用时必须增加驱动器进行驱动,增加了硬件电路的复杂性。 (2)动态显示驱动:

数码管动态显示是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,被选通的数码管会显示出字形,不被选通的数码管不显示字形。通过分时轮流导通各个LED数码管,就使各个数码管轮流受控显示。在轮流显示过程中,每位元数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管各位数码管没有同时点亮,但只要扫描的速度足够快,动态显示的效果和静态显示效果是一样的,这不仅能够节省大量的I/O口,而且功耗更低。

本次设计采用5位LED数码管的静态显示电路来达到显示的目的。由于数码管的显示需要驱动器来驱动。驱动器4511不仅能够直接驱动七段共阴极数码管还具有BCD转换功能。单片机AT89C51的P0、P1和P2口来控制LED数码管的显示。其中一位数码管的显示电路图如3-6所示。

14

单片机系统课程设计 U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617712634518XTAL29RSTU5ABCDLTBILE/STB4511QAQBQCQDQEQFQG1312111091514293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51 图3-6 显示电路电路图

在实际模拟调试过程中电脉冲信号的产生有脉冲发生器代替模拟,其可以方便的设定脉冲频率,能够满足单片机对脉冲型号的要求。

4 系统程序设计

系统程序设计主要包括主程序、定时子程序、数值转换转换子程序和显示程序。本章系统地介绍了电机转速计的主程序和各主要功能子程序的设计流程,具体的源程序代码及其机器码见附录2与附录3。

4.1 主程序设计

主程序主要用于完成单片机的初始化工作,在本次设计中用到了定时/计数器T0和T1。T0用于计数,我们当然希望计数量大越大越好,这样,可以获得较大的测量范围,因此,T0选定为工作方式l(16位的计数方式)。设计中,没有使用外部控制端,仅使用指令置位/清零TR0来进行计数的启动/停止,T0采用自由计数的方式,不用预置初值。T1用于定时,定时时间为一秒或两秒,本次设计使用12M的晶振,故一次不能完成定时工作,必须另设一个软件计数器用于循环计数。当一秒定时时间到时,判断转速是否大于某一转速,大于时直接转到转速计算程序;否则重新进行定时计数,延长定时时间,时间到时,进行转速计算。由于计算得出的转速为为二进制数,不能直接用于显示器显示,我们必须

15

单片机系统课程设计 把二字节二进制数转换为压缩BCD码。因为在显示电路中使用了4511,不用将压缩BCD码转换为非压缩BCD码,也不需使用查表子程序得到数码管段码。最后,直接将得到的压缩BCD码输出到显示电路显示转速。当然,电机转速会变化的,所以说我们要循环测取电机的转速并显示。主程序流程图如图4-1。

开始单片机初始化定时并计数N定时时间是否到YTHO大于零NY重新定时并计数计算显示

图4-1 主程序流程图

16

单片机系统课程设计 4.2 定时程序设计

由于一次定时时间达不到一秒,本次一次定时时间为50ms,循环20次或40次来达到定时一秒或两秒。因定时计数器T0工作在方式1,TMOD初值应为15H,TH1,TL1的处置分别为3CH,0B0H,软件计数值用片内50H单元,初值为20或40。定时程序流程图如图4-2。

开始定时计数器初始化开启T0、T1查询T1计数溢出NY软件计数值减一N软件计数值为0Y结束

图4-2 定时程序流程图

4.3 数值转换程序设计

由于电机的转速值为十六位二进制数,无法直接用于显示,我们要使其转化为压缩BCD码。将待转换的二字节数据存在R6,R7中,得到的三字节压缩BCD码存放在R3、R4、R5中。因为本算法需要循环16次,R2初值为10H。数值转换流程图如图4-3。

17

单片机系统课程设计 开始将R3、R4、R5清零R7=16HC(R6R7)左移1位(移出位bi在C中)BCD码带进位自身相加R7=0结束 图4-3 数值转换程序流程图

4.4 显示程序设计

显示程序要将数值转换得到的压缩BCD码输出给显示电路。显示电路中的4511芯片得到BCD码后,可以直接输出数码管段码,也可以直接驱动其显示。显示部分程序如下: MOV P0,R5 MOV P1,R4 MOV P2,R3

5总结

本次课程设计为设计电机转速计,经过proteus软件模拟仿真,系统已基本能满足测量电机转速的实际需要。其中电机转速值能够每一秒或两秒更新一次,在测量范围与测量精度方面也能满足大多数测量要求。

电机转动时,转轴上的光栅盘也跟随同步转动,光电编码器感应后输出模拟脉冲信号。经过整形电路整形后,输出数字脉冲信号。定时时间到时,单片机将

18

单片机系统课程设计 P3.4计量数字脉冲个数与定时时间相除得到电机转速。转速值转换为BCD码后送显示电路显示。

经过两周的时间,通过查找相关资料设计并努力仿真调试,最终在老师的指导下独立地完成了本次课程设计。在设计过程中,不仅对单片机有了更深的了解,还学到了不少实用的知识。学习单片机课程时,只是分散的明白各个部分的作用,在汇编指令上也没有整体的理解。设计过程中,明白了硬件电路要有机的结合在一起才能够工作而不能有丝毫错误,软件上要整体联系起来才能执行下去并得到正确结果。在画电路图和软件调试过程中还学会使用Proteus、Keil和Visio来帮助完成设计。这几个软件对于以后单片机的更深层次的学习或是其他一些方面的学习都有或多或少的帮助。

参考文献

[1] 杨家成.单片机原理与应用及C51程序设计.北京:清华大学出版社,2007

19

单片机系统课程设计 [2] 夏路易 石宗义.Protel 99se电路原理图与电路板设计教程.北京:北京希望电子出版社,2004

[3] 阎石.数字电子技术基础.北京:高等教育出版社,2009 [4] 邓兴成.单片机原理与实践指导.北京:机械工业出版社,2010 [5] 瞿贵荣.电动窗帘红外遥控电路.家庭电子,2005 [6] 朱玉玺.计算机控制技术.北京:电子工业出版社,2010

20

单片机系统课程设计 RP198765432ABCDLTBILE/STB4511345QAQBQCQDQEQFQG1RESPACK-871261312111091514U1U27126ABCDLTBILE/STB4511P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD1011121314151617212223242526272871263453938373635343332345QAQBQCQDQEQFQG1312111091514C130uFX112M19XTAL1C230uFXTAL218U69RSTU5ABCDLTBILE/STBQAQBQCQDQEQFQG1312111091514C310k293031PSENALEEA10uFR112345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51脉冲4511U37126345ABCDLTBILE/STB4511QAQBQCQDQEQFQG1312111091514附录1 系统原理图

U47126345ABCDLTBILE/STB4511QAQBQCQDQEQFQG1312111091514 21

单片机系统课程设计 附录2 源程序

ORG 0000H MOV 50H,#20 MOV TMOD,#15H MOV TH1,#3CH MOV TL1,#0B0H MOV TH0,#00H MOV TL0,#00H SETB TR1 SETB TR0 L2: JBC TF1,L1 SJMP L2 L1:

MOV TH1,#3CH MOV TL1,#0B0H DJNZ 50H,L2 MOV 50H,#20 MOV R6,TH0 MOV R7,TL0 CJNE R6,#00H,MP SJMP YANSHI MP:

LCALL CHENGER FANHUI: LCALL BCD CLR TR1 CLR TR0 MOV TH0,#00H

MOV TL0,#00H MOV P0,R5 MOV P1,R4 MOV P2,R3 SETB TR1 SETB TR0 SJMP L2

CHENGER: MOV A,R7 CLR C RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A RET YANSHI: MOV 50H,#40 MOV TMOD,#15H MOV TH1,#3CH MOV TL1,#0B0H MOV TH0,#00H MOV TL0,#00H SETB TR1 SETB TR0 L4:

22

单片机系统课程设计 JBC TF1,L3 SJMP L4 L3: MOV TH1,#3CH MOV TL1,#0B0H DJNZ 50H,L4 MOV 50H,#40 MOV R6,TH0 MOV R7,TL0 SJMP FANHUI BCD: CLR A MOV R3,A MOV R4,A MOV R5,A MOV R2,#10H HB: MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A MOV A,R3 ADDC A,R3 MOV R3,A DJNZ R2,HB RET END 23

单片机系统课程设计 附录3 机器码

:10000000755014758915758D3C758BB0758C0075A0 :100010008A00D28ED28C108F0280FB758D3C758B3E :10002000B0D550F2755014AE8CAF8ABE0002802459 :1000300012004C120081C28EC28C758C00758A0031 :100040008D808C908BA0D28ED28C80CAEFC333FF70 :10005000EE33FE22755028758915758D3C758BB071 :10006000758C00758A00D28ED28C108F0280FB7541 :100070008D3C758BB0D550F2755028AE8CAF8A8010 :10008000B2E4FBFCFD7A10EF33FFEE33FEED3DD41E :0B009000FDEC3CD4FCEB3BFBDAED2266 :00000001FF

仿真截图:

24

单片机系统课程设计 脉冲频率为2321Hz时,计算得转速为4642r/min,因可能有1个脉冲的误差,经计算得到4640或4644 r/min,系统满足要求。

RP1987654321RESPACK-871263457126345U1ABCDLTBILE/STB4511QAQBQCQDQEQFQG1312111091514U2ABCDLTBILE/STB4511P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516177126345QAQBQCQDQEQFQG1312111091514C130uFX112M19C230uFU6XTAL118XTAL29RSTU5ABCDLTBILE/STB4511QAQBQCQDQEQFQG1312111091514C310uFR110k293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51脉冲U37126345ABCDLTBILE/STB4511QAQBQCQDQEQFQG1312111091514U47126345ABCDLTBILE/STB4511QAQBQCQDQEQFQG1312111091514 脉冲频率为123Hz时,计算得转速为246r/min,测得转速为246r/min。

RP1987654321RESPACK-871263457126345U1ABCDLTBILE/STB4511QAQBQCQDQEQFQG1312111091514U2ABCDLTBILE/STB4511P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516177126345QAQBQCQDQEQFQG1312111091514C130uFX112M19C230uFU6XTAL118XTAL29RSTU5ABCDLTBILE/STB4511QAQBQCQDQEQFQG1312111091514C310uFR110k293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51脉冲U37126345ABCDLTBILE/STB4511QAQBQCQDQEQFQG1312111091514U47126345ABCDLTBILE/STB4511QAQBQCQDQEQFQG1312111091514

25

因篇幅问题不能全部显示,请点此查看更多更全内容