




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*本例程主要实现步进电机的的控制以及数码管显示档位和转速*/*S6档位调节 S7暂停并且查看转速 S8正转 S9逆转 * /*数码管第一位显示档位 后四位显示转速*/*发现的问题:由于数码管显示的延时过多,如果让数码管同步显示转速,会出现一闪一闪的现象。我将会考虑用中断定时解决这 个问题。 #includetypedef unsigned char uchar;typedef unsigned int uint;#define t 5#define one 2 /这里只是用了简单的延时函数,一般用中断比较准确/*根据延时算转速:本电机的的步距角为5.625度,减速比为64,设定为ONE时,算出转速:延时为2ms,即2ms/脉冲/* 所以60000ms/30000个脉冲 即1分钟/30000个脉冲 ,由于一个脉冲一个步距角,即1分钟/30000*5.625度=168780度/*即1分钟/168780/360圈,所以468.83圈/分钟(内部),所以(外部)真正看到转速应为468.83/64圈=7.32圈/分钟 #define two 5 /计算得转速为2.93rpm#define three 10 /计算得转速为1.46rpm#define four 30 /计算得转速为0.49rpmuchar temp,num,grade=5; / 设定档bit clockwise=1; / 设定顺时针bit startstop=0; / 设定停止位sbit dula=P26;sbit wela=P27;unsigned char code table0=0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08; /正转表unsigned char code table1=0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09; /反转表uchar code table2=0x06,0x07,0x80,0x4f, 0x5b ; /一档uchar code table3=0x5b,0x5b ,0x80,0x6f, 0x4f; /二档uchar code table4=0x4f ,0x06,0x80, 0x66,0x7d; /三档uchar code table5=0x66,0x3f,0x80, 0x66, 0x6f; /四档/*延时函数MS*void delay(unsigned char z) unsigned int x,y; for(x=z;x0;x-) for(y=110;y0;y-); /*数码管显示*void display() if(grade=2) /一档 dula=1; P0=table20; dula=0; P0=0xfe; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table21; dula=0; P0=0xfb; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table22; dula=0; P0=0xf7; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table23; dula=0; P0=0xef; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table24; dula=0; P0=0xdf; wela=1; delay(5); P0=0xff; wela=0; if(grade=5) /二档 dula=1; P0=table30; dula=0; P0=0xfe; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table31; dula=0; P0=0xfb; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table32; dula=0; P0=0xf7; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table33; dula=0; P0=0xef; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table34; dula=0; P0=0xdf; wela=1; delay(5); P0=0xff; wela=0; if(grade=10) /三档 dula=1; P0=table40; dula=0; P0=0xfe; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table41; dula=0; P0=0xfb; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table42; dula=0; P0=0xf7; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table43; dula=0; P0=0xef; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table44; dula=0; P0=0xdf; wela=1; delay(5); P0=0xff; wela=0; if(grade=30) /四档 dula=1; P0=table50; dula=0; P0=0xfe; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table51; dula=0; P0=0xfb; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table52; dula=0; P0=0xf7; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table53; dula=0; P0=0xef; wela=1; delay(5); P0=0xff; wela=0; dula=1; P0=table54; dula=0; P0=0xdf; wela=1; delay(5); P0=0xff; wela=0; /*键盘扫描*void keyscan() P3=0xfe; /扫描第一行 temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(t); temp=P3; temp=temp&0xf0; if(temp!=0xf0) temp=P3; switch(temp) case 0xee: /调节档速 num+; if(num=1)grade=one; if(num=2)grade=two; if(num=3)grade=three; if(num=4)grade=four; num=0; break; case 0xde: startstop=0;break; /停止 case 0xbe: clockwise=1;startstop=1;break; /正转 case 0x7e: clockwise=0;startstop=1;break; /逆转 while(temp!=0xf0) temp=P3; temp=temp&0xf0; /*电机运转方式*void stepmotor() char i,r; while(clockwise & startstop) /正转 keyscan(); for(i=0;i8;i+) /一轮通电 P1=table0i; delay(grade);/通过延时改变速度 while(!clockwise & startstop) /反转 k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年低压电工考试模拟试题(附答案)
- 2025年护理资格考试试题及答案
- 2025年社区网格员题库及答案
- 2025五金电料品牌授权代理销售合同范本
- 2025年国家网络安全知识竞赛题库(模拟题)
- 2025房屋修建与地热能利用承包合同规范
- 2025年饭店租赁及管理承包协议样本版
- 2025宠物医院兽医知识产权保护合同
- 医疗器械销售代表岗位招聘笔试题及解答(某大型集团公司)2025年
- 2025年安全培训考试试题完整参考答案
- 体育与健康教学设计《手倒立前滚翻》
- NISP一级考前模拟训练题库200题(含答案)
- JJG 20-2001标准玻璃量器
- 2024外研版初中英语单词表汇总(七-九年级)中考复习必背
- 《大数据平台部署与运维》课程标准(含课程思政)
- 英语中的时间表达(示范课例)
- 项目产品研发各阶段质量控制输出文件
- 脊柱外科进修汇报
- 《史记》上册注音版
- 苏州大学文学院语言学纲要课程笔记
- 危重症患者护理文书书写规范-课件
评论
0/150
提交评论