直流电机测速并显示_第1页
直流电机测速并显示_第2页
直流电机测速并显示_第3页
直流电机测速并显示_第4页
直流电机测速并显示_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、|1IEg.IN运XTU.1POgQP0.1W1P0ZS2P0.33PM心POA心RSTP0.Z7F2 lWP22W10PSBPZ名的aEAP233P2.7W15P1.CH2P3QRXDE3.1 辺P12P2P14殆3TOP15P3/nPgP3 6P17P3顽i*T8QS2a P23 26 P2A 笛陀刀虫 m(2 IGA 14 9 15 nsSOR32銘rMKEB4KE/15另KEY234KE37KEd3230 P2Q 22 P2.4心.E2r a三电Q一dd4 diSPEEDSTOP令4亠 LEFTRIGHTIN3CHAEH9UT1our?0UT3DLIQSENEA汨aOU 14可实现功能

2、:1可控制左右旋转2可控制停止转动3有测速功能,即时显示在液晶上4有速度档位选择,分五个档次,但不能精确控速5档位显示在液晶上用到的知识:1用外部中断检测电机送来的下降沿,在一泄时间里统计脉冲个数,进行算出转速。2通过改变占空比可改变电机速度,占空比的改变可以通过改变左时器的重装初值来实 现。3要想精确控制速度,还需要用自动控制理论里的PID算法,但参数难以选定,故在此设计中没有涉及!#include#define uchar unsigned char#define uint unsigned intsbit pwi=pro ;sbit PW2二P1“1 ;/控制电机的两个输入sbit ac

3、celerate=P02 ;/调速按键sbit stop 二 P03 ;/停止按键sbit left二P04 ;/左转按键sbit right二P05 ;/右转按键sbit lcdrs二POO; sbit lcden二P0l; define Da P2uint temp;/保存检测到的电平数据以便比较uint count; /用于计数uint aa, bb;/用于计数uint speed;/用来讣算转速uint a二25000;uint tO二25000,11=25000;/初始时占空比为 50%uchar flag=l;/此标志用于选择不同的装载初值uchar dflag;/左右转标志顺时针

4、转动/逆向转动停转uchar sflag=l;/用来标志速度档位define right.turn PW1=O;PW2=1#define left.turn PW1=1;PW2=O#define end.turn PW1=1;PW2=1void keyscan0 ;/键盘扫描void delay(uchar z);void time_init ();/左时器的初始化void write_com(uchar com) ; /液晶写指令 void write_data(uchar date) ; /液晶写数据void lcd_init();/液晶初始化void display (uint rate

5、);/显赫速度void int0_init ();/注时器 0 初始化void keyscan0;/键盘扫描程序/泄时器的初始化/液晶初始化/定时器0初始化void judge_derection();void mainOtime_init 0; lcd_init0;int0_init();while TMOD二Oxll;/两个左时器都设左为工作方式1十六位立时计数器EA二1;开启总中断THO二(65536-50000)/256;TLO=(65536-50000)%256;ETO二1;TRO二1;THl=(65536-a)/256;TLl=(65536-a)%256;ET1二1;TR1二0;v

6、oid int0_init()EXO二1;/外部中断源可以申请中断IT0二1;/外部中断源下降沿触发void timerOO interrupt 1 using 0THO二(65536-50000)/256;TLO= (65536-50000) %256;/装载初值keyscan 0 ;/键盘扫描程序aa+;if (aa=5)aa=0;temp=count*0. 5*60*2*2*100/24; /计算转速,每分转多少圈 count二0;/重新开始计数脉冲数display (temp) ;/把计算得的结果显示出来void timer10 interrupt 3 using 0if (flag)

7、flag=O;end_turn;a二tO;/tO的大小决泄着低电平延续时间THl=(65536-a)/256;TL1= (65536-a) %256;/重装载初值elseflag=l;/这个标志起到交替输出高低电平的作用if(dflag=O)right_turn;/右转elselef t_turn;/ 左转a二tl;/tl的大小决左着高电平延续时间TH1=(65536-a)/256;TLl=(65536-a)%256;/重装载初值/* 夕卜部中 断* * * * * */ void service_intO() interrupt0count+;/来一个下降沿沿就计一个脉冲数/* * *显示

8、函数* * * */ void display(uint rate)uchar wan, qian, bai, shi, ge; wan=rate/10000;qian=rate/1000%10; bai=rate/100%10;shi=rate/10%10;ge=rate%10; write_com(0x80); write_data(,O +wan); write_data(* O +qian); write_data(* O +bai); write_data(); write_data(,O +shi); write_data(,O +ge);/* * *延时 函 数経* */ voi

9、d delay(uint z)uint x, y;for (x=z;x0;x)for (y=110;y0;y);/* * * 写指令* * * /void write_com (uchar com) lcdrs=0;Da二com;delay (1);lcden=l;delay (1);lcden=0;/* * * 写数据* * */ void write_data(uchar date) lcdrs=l;Da二date;delay (1);lcden=l;delay (1);lcden=0;/* * *液晶初始 f* * */void lcd_init 0lcden=0;write_com(0

10、x38) ; /初始化write_com(0x0c) ;/打开光标0x0c不显示光标 OxOe光标不闪,OxOf光标闪write_com(0x01) ;/淸显示write_com(0x80+0x40);write_dataC 0);write_data(,);write_data(,G);write_data(,e );write_data(,a );write_data(,r );/* 键盘扫描程序 */void keyscan()if(stop=0)TRI二0;/关闭定时器0 即可停止转动end_turn;/停止供电write_com(0x80+0x40);uTite_data(? O);

11、辻(left=O)TR1二1;dflag二1;/转向标志置位则左转write_com(0x80-0x40);write_dataC O +sflag);if(right=O)TR1=1;dflag二0;/转向标志复位则右转write_com(0x80+0x40);uTite_data(? O +sflag);if (accelerate=O)delay (10);/延时消抖if (accelerate=0)wh订e (accelerate=0) ;/等待松手sflag+;if(sflag=2)t0=20000;11=30000;占空比为百分之60writ e_c om(0x80*0x40);write_data(f 2);if(sflag=3)t0=15000;11=35000;/占空比为百分之70writ e_com(0x80*0x40);write_data( 3);if(sflag=4)t0=10000;11=40000;占空比为百分之80write_com(0x80-0x40);write_data(* 4);if(sflag=

温馨提示

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

评论

0/150

提交评论