基于单片机的转速表设计2(编辑修改稿)内容摘要:
压。 (c)回差电压为:,用低频信号发生器输出的正弦波信号作为vi,频率在2kHz左右,用双踪示波器在vi和vo端观测波形,其输出端vo输出为矩形波。 调节电源电压,矩形波前后沿将随着变化。 键盘是一组开关的集合,是单片机系统中最常用的输入设备之一。 键盘可以分为独立联接式和矩阵式两类,每一类按其译码方法又都可分为编码及非编码两种形式。 编码键盘程序设计简单,但硬件电路复杂,价格较高;非编码键盘用软件来实现识别键、编码转换、去抖等功能,硬件电路简单,价格便宜。 现代微机系统中广泛采用非编码键盘,采用行扫描法识别按下的按键。 在本次设计中我采用的是独立联接式非编码键盘。 这是最简单的键盘结构,每一键互相独立地各自接通一条输入数据线。 任何一个键按下时,与之相联的输入数据线即被置0(低电平),而平时该线为1(高电平)。 要判别是否有键按下,用单片机的位处理指令,十分简单。 独立联接式非编码键盘在这次系统设计当中,我预先设置了6个按键,1#键作为数据写入,2#实现+1功能,3号键作为左移功能,4#键实现报警取消功能键,5键作为所存的峰值复位,6作为显示峰值转速,为系统将来可能进一步的完善作准备。 在单片机系统中,最常用的两种显示器是发光二极管显示器(LED)和液晶显示器(LCD)。 本次设计,我采用发光二极管显示器。 七段LED有共阴极与共阳极两种。 为了在七段LED上显示字母或数字,必须将其转换可通过硬件译码或软件来实现。 本系统的输出部分就是LED显示驱动。 驱动电路的主要作用是将从单片机传送出来的脉冲进行功率驱动,以便于在数码管上显示。 它由集成电路MC14499和74LS06来担当。 MC14499是MOTOROLA公司的高集成度LED显示驱动器,采用动态扫描方式显示驱动4个LED数码管。 它集锁存、译码、驱动、扫描、时钟于一体。 (它包括1个20位移位寄存器、1個锁存器、1個多路输出器)。 它所需的辅助电路简单,在单片机数据传送时采用串行同步方式。 用MC14499组成的单片机的显示电路,具有占用单片机软件资源小,不再外加电路即可于单片机协调工作,使用灵活方便,电路简单可靠,无需外加驱动器等特点。 (1)。 MC14499引脚图(2)引脚说明:VDD:正电源端;VSS:电源地;a~g:七段显示输出;dp:小数点显示输出;Ⅰ~Ⅳ:4个位选通端;OSC:晶振输入端,外接电容,片內可产生200~800Hz的扫描信号;D:串行数据输入端;CLK:时钟输入端,作为串行数据接收的同步信号;EN:使能端,为低电平时,允许MC14499接收串行输入数据;为高电平时,片内移位寄存器将数据送入锁存器中锁存。 MC14499每次接收20位串行输入数据,前4位为4个LED的小数点选择位,后16位是4个LED的BCD码输入数据,: MC14499 一帧数据表20 19 18 1716 15 14 1312 11 10 98 7 6 54 3 2 1 LSB MSBIV段码LSB MSBIII段码LSB MSB II段码LSB MSBI段码LSB MSB小数点选择一帧数据输入完后,便被锁存起来,供4位LED显示使用,CPU只提供显示用的数据,数据的显示則是由MC14499对各位进行动态扫描实现,扫描频率由OSC端外接电容決定。 : MC14499的BCD码显示表BCD码显示字节BCD码显示字节00000100080001110019001021010A001131011I010041100II010151101U011061101011171111熄灭由于MC14499的Ⅰ~Ⅳ这4个位选通端必须通过一个反相驱动器后才能控制4个LED,所以在这次设计中我使用的是集电极开路高压输出的六反相缓冲器/驱动器74LS06。 74LS06的引脚排列其管脚1,3,5,9,11,13为输入端;管脚2,4,6,8,10,12为输出端。 74LS06输出低电平电流为40mA,为了能够驱动4个显示器,限流电阻的大小要配备合适。 电源电压是5V,经过计算,限流电阻选1K左右合适。 在串行口方式下,AT89C51单片机的串行输出端TXD提供时钟信号,串行口输入端RXD输出串行数据,选定P1口或P3口任意一根I/O线以提供MC14499所需的使能信号。 在串行口方式下,应将AT89C51单片机串行口的工作方式置为0方式。 串行口方式特别适合于系统硬件无相互间通道的情况。 在该控制方式下应注意:AT89C51单片机串行口输出数据时,发送顺序为从数据低位到高位,而MC14499将BCD码数据译为十进制数时,却是将原数据的低位作为高位处理的,如将某次数据的最后八位10001001B(84H)送入MC14499时,从低位到高位被分布于其移位寄存器的13~20单元中,即最低位0在13单元,最高位1在20单元,MC14499进行译码时,却是将0作为最高位,1作为最低位处理时,于是成为00100001B(21H),即段码3数据为0010B,显示器显示“2”,段码4数据为0001B,显示器显示“1”因此,必须将欲显示的压缩BCD码进行循环位移(即将最低位移至最高位,第二位移至第七位,其余以次类推)后再送入MC14499,以保证显示的正确性。 MC14499 每次可接收的串行数据最多为20位,而AT89C51单片机由于8位机,每次送出的数据并非一定是20位,特别是在串行口控制方式下,串行口每次送出数据为8位,因此MC14499每次接收的数据必然多于或少于20位。 当AT89C51单片机送出的数据多于20位时,MC14499接收的将是最后20位数据,20位以前多余的数据在移位过程中被后来的数据挤出;当AT89C51单片机送出的数据少于20位时,MC14499在接收移位过程中将保留一部分移位寄存器中原来的数据。 AT89C51单片机每次发送完数据后,必须将MC14499使能端置位。 这是因为MC14499进行译码输出的并非是其移位寄存器内的数据,而是其锁存器内的数据。 将使能端置位有两个作用:第一,禁止MC14499再接收外来数据;第二,将移位寄存器内的数据送入锁存器中,以提供译码输出。 LED显示器常用的LED显示器有LED状态显示器(俗称发光二极管)、LED七段显示器(俗称数码管)和LED十六段显示器。 发光二极管可显示两种状态,用于系统状态显示;数码管用于数字显示;LED十六段显示器用于字符显示。 本节只介绍LED七段显示器。 通过数码管显示的数字来获取信息,加直观、快捷。 : 数码管结构图 LED工作原理共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。 通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。 当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。 根据发光字段的不同组合可显示出各种数字或字符。 此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。 通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。 当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。 此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。 为了在七段LED显示器上显示不同的数字或字符,首先要把数字或字符转换成相应的段码,:数据字D7D6D5D4D3D2D1D0LED段dpgfedcba目前+5V直流稳压电源的工作电路均采用集成三端稳压器7805构成。 集成三端稳压器因其稳压精度高、工作稳定可靠、外围电路简单、容易设计和制作、体积小、重量轻、成本低、维修简单等优点,所以在各种电源电路中得到了普遍的应用。 ,这是一个输出+5V直流的稳压电路。 IC采用集成三端稳压器7805,CC2分别为输入端和输出端滤波电容,RL为负载电阻。 其正常工作时,最大输出电流可达1A,当交流电网电压在220V上下波动10%,环境温度在10~30度范围内。 集成三端稳压电路。 ,经共射集复合放大电路放大后,使PS导通,发生振动;单片机没有脉冲信号时,电路工作为稳定状态(即不工作)。 就这样SP两端形成振荡回路,发出报警声音。 通过按键取消报警声,结束后又恢复稳态,等待下一串脉冲信号的到来。 本章主要对转速表硬件电路进行了分析设计,通过分析设计知道本转速表能够显示转速其主要过程为:光电传感器获取信号后,通过LM39施密特触发器组成的信号处理电路处理得到能被单片机接收读取的脉冲信号,然后单片机通过门控、中断等计数方式计数脉冲,通过计算得到转速,再通过显示器接口驱动LED显示出相应的转速。 当然,由于数码管、单片机、触发器等的电源要求,数码管个数限制等原因,报警电路、直流稳压电源电路本次设计也考虑进去了。 4 软件设计AT89C51单片机,其指令系统与MCS51完全兼容,首先是要对AT89C51进行初始化。 初始化内容包括定时器、中断系统及各个单元内容的初始化。 然后是进行键盘扫描,看是否有键按下,并判断出是哪一个键被按下,如果有,则进入到键处理程序;如果没有,则进入到主程序中,开始对脉冲信号进行采样、处理。 这里是程序设计的关键,为了能够在定时条件下及时进行两种检测方式的转换,以减小对速度采样的影响,我是先按照M法进行采样和最后的速度计算处理,然后与我预先设定的转速大小进行比较判断,若小于或等于预先设定的转速,则认为电机处于低速运行,采用门控方式计数脉冲,程序进入显示部分;若大于预先设定的转速,说明电机正处于高速运行状态,还用门控法测量转速肯定是无法保证我最后的测量精度,此时应该采用采用中断方式计数脉冲,返回重新按中断法进行采样和最后的速度计算处理,然后程序再进入显示部分。 本系统主程序流程如图所示。 其功能是通过计数脉冲个数,通过单片机内部计算后,输入到显示器上显示转速。 在运行中又加入了报警系统,和功能键,使整个系统智能化。 :功能按键的作用就是置入报警初值,KEYKEYKEYKEYKEY分别实现“报警值置入”、“+1”、“左移一位”、“完成报警值置入”、“解除报警信号”。 AT89C51软件编写前要对包括定时器、中断系统及各个单元内容的初始化。 然后是进行键盘扫描,看是否有键按下,并判断出是哪一个键被按下,如果有,则进入到键处理程序;如果没有,则进入到主程序中,开始对脉冲信号进行采样、处理。 在进行相关计算处理。 最后程序再进入显示部分。 结论通过各方面努力,本次毕业设计任务基本完成。 转速表的转速信号获取电路、功能按键、显示部分、报警电路等功能均已实现,单片机能够测量。基于单片机的转速表设计2(编辑修改稿)
相关推荐
干扰性能,红外遥控系统发射数据时会对要发送的二迸制编码信号进行调制,把发射信号调制成一定频率的间断脉冲串。 对遥控信号的解码其原理是,接受红外装置的接收器接收到信号时,将编码脉冲信号进行反相。 每当 INT0 外管脚信号下降沿到来时,外部中断 INT0 发生中断,启动定时器 T0,定时器每次中断 一定时间并累加到计数器中,在一次外部中断 INT0 发生中断时读取定时计数器中的时间
暂存存储器 ) [48H] Temperature(温度变换 ) [44H] EPROM(重新调出 ) [B8H] Power supply(读电源 ) [B4H] DS18B20 管脚功能表,如表 21所示 表 21 DS18B20 管脚功能表 压力传感器 压力传感器芯片的性能受温度的影响非常大,主要表现为零点和灵敏度随温度变化而发生漂移。 1220 型是经过温度补偿的硅压阻式压力传感器
理分析 检测时,先送一行为低电平,其余几行全为高电平 (此时我 们确定了行数 ),然后立即轮流检测一次各列是否有低电平,若检测到某一列为低电平 (这时我们又确定了列数 ),则我们便可确认当前被按下的键是哪一行哪一列,用同样的方法轮流送各行一次低电平,再轮流检测一次各列是否变为低电平,这样即可检测完所有的按键,当有按键被按下时便可判断出按下的键是哪一个键。 从而每按下一个按键就对应 0—
计题目 基于 CPLD/FPGA 的直流电机 PWM 控制设计 系统初始化 开始 发送超声波脉冲 等待发射超声波 计算距离 显示结果 学 生 姓名 系、专业 指导教师 选题目的、价值和意义 随着电子技术的发展,特别是专用集成电路( ASIC)设计技术的日趋完善,数字化的电子自动化设计( EDA)工具给电子设计带来了巨大变革,尤其是硬件描述语言的出现,解决了传统电路原理图设计系统工程的诸多不便。
或者数码管显示器,但数码管具有低功耗,容易控制,占用 CPU 资源少这些优点,考虑到成本原因,选择了 4位的七段共阴极数码管显示已经完全足够。 本设计中使用 4个单位数据管,数码管的阳极全部连接在一起,然后与 U1 原件 74HC573 锁存器的数据输出端相连,所存起的数据输入端连接单片机的 P0 口低四位, P0 口同时加了上拉电阻,数码管中 WE1, WE2, WE3, WE4
向可控硅 电炉加热器 采集 基于单片机的电阻炉温度控制系统设计 6 2 电阻炉温度控制 系统工作原理 温度控制 总体设计方案 本系统以 STC89C52 为 核心 ,以 KEIL 为系统程序开发平台,以 C 语言进行程序设计,以 PROTEUS 作为仿真软件设计而成的。 所设计的温度控制 主要由单片机、温度采集模块、温度 显示模块、 温度 控制模块、按键设定模块 五部分组成。 对于温度控制