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

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

ID:40810488

大小:61.50 KB

页数:7页

时间:2019-08-08

基于proteus仿真的转速测量系统_第1页
基于proteus仿真的转速测量系统_第2页
基于proteus仿真的转速测量系统_第3页
基于proteus仿真的转速测量系统_第4页
基于proteus仿真的转速测量系统_第5页
资源描述:

《基于proteus仿真的转速测量系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于Proteus仿真的转速测量系统设计摘要:利用增量式编码器的信号特征、proteus软件的基本功能,设计以AT89C52单片机为控制中心的编码器转速测量电路,详细分析软件实现的方法,并给出c语言程序,利用Proteus软件进行仿真得到预期的测量结果。本文便是运用AT89C52单片机控制的智能化转速测量仪。电机在运行过程中,需要对其进行监控,转速是一个必不可少的一个参数。本系统基于proteus仿真对电机转速进行测量,并可以和PC机进行通信,显示电机的转速,并观察电机运行的基本状况。本设计主要用AT89C52作为控制核心,由增量

2、式编码器、LED数码显像管、HIN232CPE电平转换、及RS232构成。详细介绍了单片机的测量转速系统及PC机与单片机之间的串行通讯。充分发挥了单片机的性能。本文重点是测量速度并显示在5位LED数码管上。其优点硬件是电路简单,软件功能完善,测量速度快增、精度高、控制系统可靠,性价比较高等特点。关键字:单片机;转速;编码器一、设计任务在工程实践中,经常会遇到各种需要测量转速的场合,测量转速的方法分为模拟式和数字式两种。模拟式采用测速发电机为检测元件,得到的信号是模拟量。数字式通常采用光电编码器,霍尔元件等为检测元件,得到的信号是脉

3、冲信号。随着微型计算机的广泛应用,特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法。本课程需要设计一个以单片机为控制中心的编码器转速测量系统,编码器信号利用信号源直接输入。七段数码发光管作为转速显示输出。本组通过设计整个系统方案,单片机选型为AT89C52,源代码进行设计以及注释,绘制出系统硬件电路图以及控制软件的主程序与子程序的流程图,并且成功的基于proteus进行了系统仿真。二、总体设计三、硬件设计利用ProteusISIS新建项目,通过左侧栏区得P命令,在Pickdevices窗口中选择系统

4、元器件。根据需要找出所需元器件,排列,然后进行布线。如图所示,采用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”对

5、象,分别连接在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、软件

6、设计思路分析2、程序流程图主程序流程图1、源代码#include#include#defineucharunsignedchar#defineuintunsignedintsbitSIGA=P0^3;//A路信号sbitSIGB=P0^4;//B路信号sbitDIREC=P0^5;//方向指示灯ucharflag,m;uintpcount,temp,temp1,m1;ucharcodetable[18]={0xc0,0xf9,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9

7、0,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xf9,0x0c,};uchara[4]=0;uchar*bp;voidinit(void){DIREC=1;pcount=0;TMOD=0x01;//定时器0方式1TH0=0x3c;TL0=0xb0;EA=1;ET0=1;//开中断IT0=1;EX0=1;TR0=1;}voidtim0(void)interrupt1using1//定时器中断程序{TH0=0x3d;TL0=0xb0;temp1=pcount-temp;//计算T0的时间内脉冲数temp=

8、pcount;flag=1;//设标志}voidint0(void)interrupt0using0//外部中断程序{if(SIGB==1)//B信号为高电平{DIREC=1;//正向运行pcount++;}else{DIREC=0;//反向运行p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。