基于单片机的转速测量系统的设计内容摘要:
— 刻度误差 — 177。 1误差 由 式 可知: 增大测量时间 t有利于提高测量准确度。 在动态性能许可的情况下,应尽 可能采用大的测量时间。 通常码盘脉冲倍频数可以是 P 的整数倍。 在测量时间和码盘脉冲倍频数确定后,确定标准时间 Tc。 以确保测量准确度为准。 在其他条件不变的情况下,转速越高,码盘刻线误差越小;反之,刻线误差越大。 实际测量时间 t随 Tc 的增大而增大。 转速测量电路设计 硬件电路设计 一个单片机应用系统的硬件电路设计应包含有两个部分内容: 第一是系统扩展,即当单片机内部的功能单元,如 ROM、 RAM、 I/O 口、定时/计数器、中断系统等容量不能满足应用系统要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。 第二是系统配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、 D/A、 A/D 转换器等,并设计相应的接口电路。 因此,系统的扩展和配置 中北大学 2020 届毕业设计说明书 第 15 页 共 36 页 应遵循下列原则: ⒈ 尽可能选择典型电路,并符合单片机的常规用法。 ⒉ 系统的扩展与外围设备配置应满足系统功能的要求,并留有适当的余量,以便进行二次开发。 ⒊ 硬件结构应与应用软件方案统一考虑,软件能实现的硬件功能尽可能用软件来实现,但需注意的是软件实现占用 CPU 的时间,而且,响应时间比硬件长。 ⒋ 单片机外接电路较多时,应考虑其驱动能力,减少芯片功耗,降低总线负载。 本系统由于只考虑转速的测量与显示,在考虑系统配置和扩展时,尽可能利用单片机本身的资源,以提高性价比,选择 89C51 系列的单 片机作为系统的控制芯片。 89C51 单片机片内含有一 4K 的程序存储器; 128 字节的寄存器空间; 2个16位的定时 /计数器; 32根 I/O 口线; 5个中断源。 而本转速测量系统采用“ M”法的测量方法,需一个用于对外部脉冲计数的计数器,一个用于对内部高频脉冲计数的定时器,用于调整、预定定时时间。 从分析可以看出 89C51 能满足系统要求,不须另外扩展计数器,外部中断分别用于定时 /计数同步中断和响应,定时器利用其溢出中断来预定测量的时间,该时间要求准确,可根据测量高、中、低转速来进行调整。 电路工作原理分析 [10] 本系统单片机采用 Atmel 公司生产的 89C51 作为主控制器,用 6 位 LED 数码管作为显示。 1.显示部分 89C51 单片机的 I/O 口输出特性是有较大的灌入电流能力,其中 P0 口的灌电流能力可达 20mA,完全可以用于数码管的驱动。 2.上电复位 89C51 的 RST 端通过电阻和电容直接和电源端相连,实现上电复位,理论上只要复位管脚出现 2个机器周期以上的高电平即可完成复位,阻容元件的时间常数可以很小,但考虑到开机时,电源有个上升过程,以及振荡电路尚未完全起振等因素,这里选用的电阻为 1K,电容为 10u。 上电瞬间, RESET 端的电位与 Vcc相同,随着充电电流减小, RESET 端的电位逐渐下降,按电路参数可选择电阻为 中北大学 2020 届毕业设计说明书 第 16 页 共 36 页 1kΩ ,电容为 10μ F。 则时间常数 ,这个时间常数,足以完成复位操作。 系统还可以采用另一种复位方式,即利用 X5045 芯片提供的上电复位功能进行复位。 X5045 是集上电复位、看门狗、掉电复位、串行EEPROM 四种功能于一体的多功能芯片,当系统要求较高时,应采用该芯片进行复位,当然,这会使系统性价比有所下降。 本系统暂不采用。 3.脉冲发生器 为了说明转速测量原理,减少硬件的复杂程度和投入,在不影响分析的基础上,这里 使用了脉冲发生器产生方波来替代,并通过程序中设置,模拟码盘每转的线数及通过调节 NE555 构成的脉冲发生器的频率来模拟转速的快慢。 没有考虑波形畸变和干扰,在实际应用中也可以用整形和抗干扰电路来调整。 该脉冲直接加到单片机的 ,即计数器 T0 的输入端,下降沿触发计数。 4.单片机时钟 单片机的 1 19脚接晶体和两个 27PF 的电容,这里选用振荡频率为 12MHz的晶体。 5.键盘 为使系统更有灵活性及有扩展性,本系统在设计时,预留了键盘部份,利用该键盘,可以进行设置系统允许的最高 /低转速值等操作,以便在今后的工 作中对此板作进一步的开发。 6.数据存储 为使系统更有灵活性及有扩展性,本系统预留了串行 EEPROM 接口,以便存储系统允许的最高 /低转速,记录运行中出现的最高 /低转速等工作。 可以使用一块 X5045 芯片作为数据存储,该芯片中带有 512 字节 EEPROM,可以用电擦除的方式进行改写,改写的次数可达 1000000 次,掉电之后数据保证40年不会丢失。 本系统暂不讨论。 中北大学 2020 届毕业设计说明书 第 17 页 共 36 页 3 系统程序设计和调试 程序设计初步 硬件电路设计完毕,即进行程序设计,在程序设计之前,首先要确定定时器的工作方式,方式控制字,确定 串行口的工作模式等,下面分别讨论。 工作方式及控制字设置 [11] 1.定时 /计数器 T0 本系统设计中, T0 被用于计数,我们当然希望计数量大为好,这样,可以获得较大的测量范围,因此, T0 选定为工作方式 1( 16 位的计数方式),设计中,没有使用外部控制端,仅用指令置位 /清零 TR0 来进行计数的启动 /停止,这样,电路较为简单,但精度会受到一定的影响,但在本设计中,认为采用这种方式,精度可达到要求,因此, T0 采用自由计数的方式,不用预置初值。 2.定时 /计数器 T1 本系统设计中, T1 被用于数码管显示及形成闸门信号,由于系统中用到 5位数码管,动态显示时,一组数码管显示的总时间以不超过 20ms 为宜,因此,这里选择 T1 的定时时间为 4ms, 5 位数码管显示完毕,正好用于 20ms,这里选用 T1 的工作状态 1。 确定了定时 /计数器 T1 的定时时间以后,就要计算定时初值,本系统用了12M 的晶振,恰好是一个机器周期为 1us,因此, 4ms 定时时间意味着只要计数 4000 次即可,由于定时 /计数器 T1 是向上计数,因此,要化为 16 进制,并分别送入 T1 的高 8 位和低 8位。 这里,采用的 keil 汇编软件有 较强的预处理功能,能够处理较复杂的运算,因此,程序中可写为: MOV TH1, HIGH(655364000) MOV TL1, LOW(655364000) 这里使用了两条指令 High 和 Low,它们的用途分别是取其后括号中数值的高 8 位和低 8位,因此,这两行语句的含义就是取 65536- 4000 的高 8 位和低 8位,写成 65536- 4000 而不是写出其结果 61536 可以提高程序的维护性,直观地看到定时初值。 由于 80C51 单片机在中断时,会附加延时 38个周期,在满足一定条件的情形下,验证这个数值是否正确 ,可以在进入仿真调试时通过观察 Keil 提供的有 中北大学 2020 届毕业设计说明书 第 18 页 共 36 页 关变量看到,如果不正确,可以根据实际情况略作调整,保证定时时间为 4ms。 3.定时 /计数器的方式控制字 定时 /计数器的方式控制字 TMOD,其地址为 89H,复位值 00H,不可位寻址。 其 8 位控制 内容如 表 : 表 定时 /计数器的方式控制字 说明: GATE:门控位。 由 GATE、软件控制位 TR0/1 和 INT0/1 共同决定定时 /计数器 0/1 的打开或关闭。 当 GATE=0,只要用指令置 TR0/1=1 即可启动定 时 /计数器0/1 工作。 GATE=1,只有 INT0/1 引脚为高电平且用指令置 TR0/1=1 时,才能启动定时 /计数器 0/1 的工作。 C /T:定时器 /计数器选择位。 C /T=1,工作于计数器方式; C /T=0 工作于定时器方式。 M1M0:定时 /计数工作模式选择位。 M1M0=00, 13 位计数; M1M0=01, 16 位计数; M1M0=10,自动再装入 8位计数; M1M0=11,工作于模式 3状态。 根据前面的描述,可以确定 TMOD 的控制字应为 00010101B。 程序中用: MOV TMOD, 00010101B 将控制 字送入 TMOD。 4.定时 /计数控制寄存器 TCON TCON 地址 88H,可进行位寻址,复位值 00H。 表 定时 /计数控制寄存器 TF0、 TF1 分别为定时器 T0 和计数器 T1的溢出标志位, TR0 和 TR1 在正常情况下,都没有溢出标志,只有当计数值或定时值超过 65536 时,才能有溢出中断 中北大学 2020 届毕业设计说明书 第 19 页 共 36 页 请求,这两位是由硬件置位和硬件清零,不需另行设置。 可在 T0 和 T1的溢出中断服务程序中,以供使用。 TR TR0 分别用于开启 T1 和 T0 的开关位,其中 TR1 由系统开启时,直接置位,打开 T1,开始定时,经运行判断后,打开 TR0。 变量分配及程序的初始化 在程序开始之前,首先进行变量的分配,使用 EQU 伪指令定义了一些符号变量,使得程序阅读时较为直观。 程序的初始化,根据硬件电路的要求,将各硬件电路置于其规定的状态;根据需要,设置堆栈;对定时器、计数器、串行口等设置工作状态,预置初值等 [12]。 以下是程序定义变量及进行初始化的程序行。 DISPBUF EQU 5AH;显示缓冲区从 5AH 开始,共 5个单元。 SecCoun EQU 59H;秒计数器单元,用于累计 T1 的中断 次数,每 250 个为一秒。 SpCoun EQU 57H;速度计时器单元 57H 和 58H,高位在前( 57H 单元中) Count EQU 56H;显示时的计数器 SpCalc bit 00h;要求计算速度的标志,该位为 1时主程序计算速度,然后清该位 Hidden EQU 10;消隐码 ;以上分配变量 MOV SP, 5FH;设置堆栈 MOV P1, 0FFH;将 P1 置位高电平。 MOV P0, 0FFH;将 P0 置位高电平。 MOV P2, 0FFH;将 P2 置位高电平,以上三行熄灭所有 LED 及数码管。 MOV TMOD, 00010101B;定时器 T1工作于方式 1,定时器 T0工作方式 1。 MOV TH1, HIGH(655364000) MOV TL1, LOW(655364000) SETB TR1 SETB ET1;开定时器 1中断 SETB EA 中北大学 2020 届毕业设计说明书 第 20 页 共 36 页 定时器 T1 中断处理 定时计数器 T1 每 4ms 中断一次,用以进行数码管显示和每 1秒读取一次计数器 T0 中的数值。 1.秒信号的产生 中断产生后:。基于单片机的转速测量系统的设计
相关推荐
报警电路 显示电路 单 片 机 89C51 检测电路 警语播放电路 键盘输入 本设计采用低功耗,高性能的 89C51 单片机 ,北京集成电路设计中心推出的 BI/ATu89C51 的单片机。 是一种低功耗,高性能的含有 4K 字节快檫写可编程/檫除只读存储器( EEPORM)的 8 位 CMOS 单片机,时钟频率高达 24MHZ,与 8031 的指令系统和引脚完全兼容。 芯片上的 EEPROM
档】世界上,成功的有两种人,一种人是傻子,一种人是疯子。 傻子是会吃亏的人,疯子是会行动的人。 用国外的一些技术产品,但也有一些企业推出了自己的产品,主要有: ( 1) e 家庭(海尔),该系列产品以海尔电脑作为控制中心,各种网络家电作为终端设备,海尔移动电话作为移动数字控制中心。 海尔在技术上同微软合作,利用微软的 Windows Me 技术和海尔的网络家电,使“ e 家庭”已具雏形
嘴入口最小 空气压力 0. 5MPa。 4. 3. 2. 经监理检验合格后,转入下道工序进行管道外防腐。 4. 3. 防腐层带作 4. 3. 3. l 除锈后,立即涂刷底漆,间隔时间不超过 4h。 干膜 厚度 70 μ,使用量 0. 2kg/㎡;底漆要涂届均匀,管口留 100~ 150mm。 不 刷,作裸管段,以利焊接。 4. 3. 3. 2 涂料可采用刷涂或滚筒滚涂方式,漆膜厚度应均匀,无
风雨、专心读书的情景,最后,在渐弱声中结束,仿佛孩子们的读书声渐渐远去。 为了掌握难点节奏,我先让同学们找出了运用重复的地方,引导学生理解创作手法并且减轻他们的畏难情绪,通过声势训练,大致掌握了休止符的运用,也能在歌曲中准确地把握。 《第六交响曲》表现了雷雨由远而近,狂风骤起、雷电交加、大雨倾盆等场面,音乐始终在恐怖的气氛中进行,使音乐与自然很好地融在一起。 通过聆听,同学们的想象力也得到充
义,比较常用的三种:( 1)室内火灾由局部火向大火的转变,转变完成后,室内所有可燃物表面都开始燃烧;( 2)室内燃烧由燃料控制向通风控制的转变;( 3)在室内顶棚下方积聚的未燃气体或蒸气突然着火而造成火焰迅速扩展。 (二)轰燃判据及预测 室内火灾是一种受限空间 内的燃烧,是建筑火灾的主要形式,将发生轰燃的条件量化为可以测量或计算的物理量是一件极为困难的事情。 现在应用最多的三个轰燃判据为:(