




免费预览已结束,剩余4页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
51单片机控制的步进电机C语言程序用的是L298驱动的 和ULN2003一样,你把它换成2003就行拉#include unsigned char code table=0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9,0x00,0xf1,0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0x00;unsigned char temp,temp_old;unsigned char key;unsigned char i,j,k,m,s;void delay(int i) for(m=i;m0;m-) for(j=250;j0;j-) for(k=10;k0;k-); void saomiao() P3=0xff; P3_4=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) for(i=50;i0;i-) for(j=200;j0;j-); temp=P3; temp=temp&0x0f; if(temp!=0x0f) temp=P3; temp=temp&0x0f; switch(temp) case 0x0e: key=1; break; case 0x0d: key=2; break; case 0x0b: key=3; break; case 0x07: key=4; break; temp=P3; temp=temp&0x0f; while(temp!=0x0f) temp=P3; temp=temp&0x0f; P3=0xff; P3_5=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) for(i=50;i0;i-) for(j=200;j0;j-); temp=P3; temp=temp&0x0f; if(temp!=0x0f) temp=P3; temp=temp&0x0f; switch(temp) case 0x0d: key=5; break; case 0x0b: key=6; break; case 0x07: key=7; break; temp=P3; temp=temp&0x0f; while(temp!=0x0f) temp=P3; temp=temp&0x0f; void main(void) while(1) saomiao(); if(key=1) P1=0; P2=0; saomiao(); if(key=2) temp_old=key; for(s=0;s8;s+) P2=tables; P1_4=0; delay(13); saomiao(); if(key!=temp_old) P1_4=1; break; if(key=3) temp_old=key; for(s=0;s8;s+) P2=tables; P1_5=0; delay(5); saomiao(); if(key!=temp_old) P1_5=1; break; if(key=4) temp_old=key; for(s=0;s8;s+) P2=tables; P1_6=0; delay(20); saomiao(); if(key!=temp_old) P1_6=1; break; if(key=5) temp_old=key; for(s=9;s17;s+) P2=tables; P1_7=0; delay(13); saomiao(); if(key!=temp_old) P1_7=1; break; if(key=6) temp_old=key; for(s=9;s17;s+) P2=tables; P1_5=0; delay(5); saomiao(); if(key!=temp_old) P1_5=1; break; if(key=7) temp_old=key; for(s=9;s17;s+) P2=tables; P1_6=0; delay(20); saomiao(); if(key!=temp_old) P1_6=1; break; C语言程序源代码#include / 51寄存器定义#include intrins.h#define control P1 /P1_0:A相,P1_1:B相,P1_2:C相,P1_3:D相#define discode P0 /显示代码控制端口#define uchar unsigned char /定义无符号型变量#define uint unsigned int sbit en_dm=P30; /显示代码锁存控制sbit en_wk=P31; /位控锁存控制uchar code corotation4= 0x03,0x06,0x0c,0x09;/电机正转uchar code rollback4=0x0c,0x06,0x03,0x09; /电机反转uchar code tab10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/显示字段uint code Levspeed5=500,400,300,200,100;/电机速度等级uchar Hscan,speedcount;/Hscan行扫描,speedcount 速度等级计数uint uu; /频率计数uint step,setstep; /step:电机步伐计数,setstep:手动设置电机步伐uint speed=500; /电机初始速度uchar count; uchar flag5;uchar butcount; /按键次数/*/flag0 正转标志/flag1 反转标志/flag2 加速标志/flag3 减速标志/flag4 设置标志/*Delay1mS(unsigned int tt) /延时1ms “Delay1mS”延时子程序,用循环语句延时。 unsigned char i; while(tt-) for(i=113;i0;i-);keyscan() /键盘扫描 “keyscan”键盘扫描子程序,用于寻找是否有按键按下。 P2=0xf0; /把oxfe赋值给P2口 /将按键控制口置于未按键的状态.单片机输出/口假设不是按键按下状态. if(P2!=0xf0) /如果P2口的值不等于0xfe /检查是否有按键按下.如果有,处理内的事 /有按键按下. Delay1mS(150);/调用延时函数/有按键按下,避开无效读码值的时间.,或者是脉冲长度 Hscan=0xfe; /将Hscan赋值,初始遥控值是要置高电平的. P2=Hscan; / while(Hscan&0x10)!=0) /检查X10口是否有键按下。未按下是1, /在这显示出你的按键口是P2_4.即检查P2_4是高电平,无/键按下,低电平有键按下。 P2=Hscan; if(P2&0xf0)!=0xf0) /检查按键脉冲是否是变化, return P2;else Hscan=(Hscan=5) /输入的数字超过5个就置0,无效 butcount=0; setstep=0; break;case 0xde: /按键8 /读取的码值=0xdE,则是按键“8”的代码 /其他同”7” /while(P2=0xde); setstep=setstep*10+8; butcount+; step=setstep; if(butcount=5) butcount=0; setstep=0; break; case 0xbe: /按键9 /同上”7” /while(P2=0xbe); setstep=setstep*10+9; butcount+; step=setstep; if(butcount=5) butcount=0; setstep=0; break; case 0x7e: /按键正转 /正转按键识别 while(P2=0x7e); /等待按键松开/一值按住电机是不转的,放开后才转.有检查/P2口的状态值 flag0=0xff; /开启正转标志,关闭反转/置正转标志. flag1=0x00; /清除反转标志. butcount=0; speedcount=0; speed=500; /置电机的转速. if(!flag4) step=0; TR0=1; break; case 0xed: /按键4 /同上”7” while(P2=0xed); setstep=setstep*10+4; butcount+; ste
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年实操手册中医执业医师高级面试宝典预测题与答案详解
- 2025年特种设备安全管理题库(含答案)
- 2025年初级数据分析师面试模拟题及答案
- 幼儿园家具与设施采购与配置方案
- 桥梁通车验收与质量检验方案
- 园林景观生态环境保护方案
- 道路路面结构设计方案
- 2025年具身智能环境适应性试题(含答案与解析)
- 排水工程质量通病防治措施
- 人机协同助力生物学单元作业设计
- 《建筑施工安全检查标准》JGJ59-20248
- 宣讲《铸牢中华民族共同体意识》全文课件
- 水利水电工程单元工程施工质量验收表、安装埋设考证表样、施工期观测精度和限差
- 国际音标卡片(打印版)
- 翁建平MODY识别与诊疗培训课件
- 高中物理校本课程生活中的趣味物理校本课程实施方案
- 防火防烟分区检查
- 《小学开学第一课:学生守则、行为规范、班级班规》课件
- 农产品营销的渠道策略讲义
- 工程总承包(EPC)模式市场应用现状
- 幼儿园行政工作保密协议
评论
0/150
提交评论