完整版基于proteus仿真的转速测量系统_第1页
完整版基于proteus仿真的转速测量系统_第2页
完整版基于proteus仿真的转速测量系统_第3页
完整版基于proteus仿真的转速测量系统_第4页
完整版基于proteus仿真的转速测量系统_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、量方法.本课程需要设计一个以单片机为限制中央的编码器转速测量系统,编码器信号利用信号源直接输入.七段数码发光管作为转速显示输出.本组通过设计整个系统方案,单片机选型为AT89C52源代码进行设计以及注释,绘制出系统硬件 电路图以及限制软件的主程序与子程序的流程图,并且成功的基于proteus进行 了系统仿真.二、总体设计三、硬件设计利用Proteus ISIS 新建工程,通过左侧栏区得 P命令,在Pick devices 窗口中选择系统元器件.根据需要找出所需元器件,排列,然后进行布线.如图 所示,采用AT89c52单片机作为限制器,使用7SEG-MPX4-CA-RE国位七段数 码发光管作为转

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微秒为区分

5、编码器是正转、反转以确定对计数脉冲进行递增或递减操作. 利用介 入P3.2 口信号的下降沿触发外部中断INTO,在中断效劳程序中,判断此时P0.4 口的电压,如果是高电平,那么为正向运转,正向运行标志位 P0.5置1,并对脉 冲计数加1,相反如果此时P0.4 口为低电平,那么为反向运转,将运行方向标志清零,对脉冲数减1四、软件设计1、 软件设计思路分析2、 程序流程图主程序流程图3、源代码#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit

6、 SIGA=P0A3;/A路信号sbit SIGB=P0A4;/B 路信号sbit DIREC=P0A5;/ 方向指示灯uchar flag,m;uint pcount,temp,temp1,m1;uchar code table18=0xc0,0xf9,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xf9,0x0c,;uchar a4=0;uchar *bp;void init (void)DIREC=1;pcount=0;TMOD=0x01;/定时器0方式1TH0=0x3c;TL0=0xb0;E

7、A=1;ET0=1;/开中断IT0=1;EX0=1;TR0=1;)void tim0(void) interrupt 1 using 1/定时器中断程序TH0=0x3d;TL0=0xb0;temp1=pcount-temp;/计算T0的时间内脉冲数 temp=pcount;flag=1;/ 设标志)void int0(void) interrupt 0 using 0/外部中断程序if(SIGB=1)/B信号为高电平DIREC=1;/ 正向运行 pcount+;)else DIREC=0;/反向运行pcount-;)void delayms(uchar ms)/延时程序uchar i;whil

8、e(ms-)for(i=0;i<20;i+);)void display1(cha门data *ap)显示子程序uchar sel,i;P2=0;/关显示sel=0x08;/ 选最左边 ledfor(i=0;i<4;i+)P1=table*ap;/ 送断码P2=sel;/送位选码delayms(500);ap+;P2=0;sel=sel>>1;/右移一位void chang(int num)/转换子程序uchar t;int num1;t=0;if(num<0)/取绝对值num=-num;num1=20*num;/转换成每秒脉冲数for(t=0;t<4;t+

9、) (at=num1%10;/取余数送数组anum1=num1/10;/ 除 10 ) )void main() (Init ();do if(flag=1) m1=temp1; chang(m1); flag=0; bp=&a0; display1(bp); while(1);五、仿真在Keil vsion3环境下,新建 Keil工程,选用 AT89C52单片机作为工作CPU新建kcsj.c 文件并加载至工程中,在“Option for tonget 中翻开“Output 窗口,选择“ Creat hex file 选项,工作主频率设定为12MHz设计程序并进 行编译,编译成功后将产生 kcsh.hex文件.在proteus中选中AT89C524行设 置,设置单片机工作频率为12MHz根据正确白路径加载kcsj.hex文件.单击 P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论