基于proteus仿真的转速测量系统

基于Proteus仿真的转速测量系统设计

摘要:利用增量式编码器的信号特征、proteus软件的基本功能,设计以AT89C52单片机为控制中心的编码器转速测量电路,详细分析软件实现的方法,并给出c语言程序,利用Proteus软件进行仿真得到预期的测量结果。

本文便是运用AT89C52单片机控制的智能化转速测量仪。电机在运行过程中,需要对其进行监控,转速是一个必不可少的一个参数。本系统基于proteus仿真对电机转速进行测量,并可以和PC机进行通信,显示电机的转速,并观察电机运行的基本状况。

本设计主要用AT89C52作为控制核心,由增量式编码器、LED数码显像管、HIN232CPE电平转换、及RS232构成。详细介绍了单片机的测量转速系统及PC机与单片机之间的串行通讯。充分发挥了单片机的性能。本文重点是测量速度并显示在5位LED数码管上。

其优点硬件是电路简单,软件功能完善,测量速度快增、精度高、控制系统可靠,性价比较高等特点。

关键字:单片机; 转速; 编码器

一、 设计任务

在工程实践中,经常会遇到各种需要测量转速的场合,测量转速的方法分为模拟式和数字式两种。模拟式采用测速发电机为检测元件,得到的信号是模拟量。数字式通常采用光电编码器,霍尔元件等为检测元件,得到的信号是脉冲信号。随着微型计算机的广泛应用,特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法。

本课程需要设计一个以单片机为控制中心的编码器转速测量系统,编码器信号利用信号源直接输入。七段数码发光管作为转速显示输出。本组通过设计整个系统方案,单片机选型为AT89C52,源代码进行设计以及注释,绘制出系统硬件电路图以及控制软件的主程序与子程序的流程图,并且成功的基于proteus进行了系统仿真。

二、 总体设计 三、 硬件设计

利用Proteus ISIS 新建项目,通过左侧栏区得P命令,在Pick devices

窗口中选择系统元器件。根据需要找出所需元器件,排列,然后进行布线。如图

所示,采用AT89c52单片机作为控制器,使用(7SEG-MPX4-CA-RED)4位七段数码发光管作为转速输出,可以输出0-9999之间的数值。单片机P1口8个引脚接在LED显示器的段选码(a、b、c、d、e、f、g、dp)引脚上,单片机的P2口的4个引脚接在LED显示器位选码(1、2、3、4)引脚上,电阻起限流作用,采用总线方式接线使电路更为简洁。

为简化设计编码器信号利用信号源直接输入P3.4和P0.4口以代替。在工具栏内选中信号源工具,在对象选择窗口选择“PLUSE”对象,分别连接在P3.2、P0.4作为编码器A、B路信号、参数设为类型为plus、频率为1kHz、电压幅值为5V模拟正向转动时将B路信号延时250微秒(1kHz时1周期对应1ms,滞后90度即延时250微秒)

为区分编码器是正转、反转以确定对计数脉冲进行递增或递减操作。利用介入P3.2口信号的下降沿触发外部中断INTO,在中断服务程序中,判断此时P0.4口的电压,如果是高电平,则为正向运转,正向运行标志位P0.5置1,并对脉冲计数加1,相反如果此时P0.4口为低电平,则为反向运转,将运行方向标志清零,对脉冲数减1。

四、 软件设计

1、 2、

软件设计思路分析 程序流程图 主程序流程图

3、

源代码

#include #include

#define uchar unsigned char #define uint unsigned int sbit SIGA=P0^3;//A路信号 sbit SIGB=P0^4;//B路信号 sbit DIREC=P0^5;//方向指示灯 uchar flag,m;

uint pcount,temp,temp1,m1;

uchar code table[18]={0xc0,0xf9,0xb0,0x99,0x92,0x82,0xf8,0x80,

0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xf9,0x0c,};

uchar a[4]=0; uchar *bp; void init(void) { DIREC=1;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4