




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图8整体电路图1.3.4软件设计通过分析,可以采用各种方法实现系统功能,随时输入加速、加速信号和方向信号,所以中断方式的效率最高,总共有四个部分的工作不能满足课题要求,即主程序部分、计时器中断是外部中断0和外部中断1部分,主程序的主要功能是系统初始参数的设定和启动开关的检测,启动开关一接通系统就开始动作,相反系统停止动作的定时器部分控制脉冲频率,决定步进电机的转速的速度分析主程序、计时器中断程序和外部中断程序。(1)主程序设计主程序完成的工作主要有系统初始值的设定、系统状态的显示、各种开关状态的检测判断等。 其中,系统的初始状态的设定内容多,在该系统中,对需要将计时器、外部中断初始化的P1端口进给初始值决定脉冲分配方式,对速度值存储区域进给初始值决定步进电动机的起动速度,对方向值存储区域进给初始值决定步进电动机初始化P1=11H,速度和方向初始值都设定为0时,步进电机以4相单4拍运行,在系统接通电源后,没有操作的情况下,步进电机不旋转,方向值表示为“0”,速度值表示为“0”,主程序的流程图开始。初始化速度值是0吗?启动开关是0吗?停止计时器。的双曲馀弦值启动计时器。拖延时间停止计时器。图9主程序的流程图ynyn(2)定时中断设计步进电动机的旋转主要是通过在电动机的各线圈上以一定的时间间隔连续有规律地流过电流,步进电动机旋转,时间间隔越短,速度越快。 在该系统中,该时间间隔是通过将计时器的中断重复一定次数而产生的,即,调节时间间隔是调节计时器的中断次数,因此在计时器中断程序中,主要判断电机的运转方向,产生下一个脉冲程序的流程图在图10中示出。中断回来T0中断入口发出高速脉冲。看方向指示重发相关状态夺回现场保卫现场中断次数-1=0?ny图12是图10定时中断程序的流程图(3)外部中断设计外部中断结束的作业根据按钮的次数,使速度值存储区域的数据(该数据是计时器的中断次数)变化,使步进电动机的输出脉冲频率变化,即使电动机的旋转速度变化。 速度增加按钮S2是INT0的中断,该程序流程为原数据,在值等于7的情况下不变更原数值地返回,不足7的情况下对数据加1返回的速度减少按钮S3,若原数据不为0,则减去1来保存数据,若原数据为0,则保持不变程序的流程图在图11中示出。外部中断入口保卫现场使颤抖缓慢中断返回速度值1夺回现场速度=上限或限制值?按钮开了吗?nnnyy图11是外部中断程序的流程图1.3.5源程序(汇编、c语言程序分别)汇编程序如下所示:速度equ 10h; 速度是转速等级标志,共计7个等级,即17FX EQU 11H; FX是方向标志计数equ 12h; COUNT中断次数标志ORG 0000HAJMP MAINORG 0003H; 外部中断0入口地址、加速子程序PS PR PSORG 0013H; 外部中断1入口地址、减速子程序ajmp下载ORG 000BH; 计时器0中断入口地址并控制中断次数以达到控制转速AJMP ZDT0ORG 0030H主: mov sp,#60HMOV TMOD、#01H; 在定时软件位置启动! 模式1(16位计时器)MOV TH0,#0CFHMOV TL0、#2CHMOV COUNT,#01HSETB ET0; 定时/计数器中断许可CLR IT0; 外部中断是电平触发方式,低电平有效PS PS 1SETB EX0; 外部许可中断SETB EX1SETB EA; 进行总中断MOV R1、#11H; 四相单四拍运转、共阳数字管方向显示8、速度值显示0MOV SPEED、#00HMOV FX、#00HXIANS:MOV A,速度MOV DPTR、#LEDMOVC A、A DPTR; 查找表获取等级对应的数字代码MOV P2、a; 第二条数码电线管显示转速等级PS、PS; 准备改变判断的方向CJNE A,#11H,ELSMOV P0、#0F9H; 第一个数字码管显示表示正转的1AJMP QDELS:CJNE A,#00H,正MOV P0、#0C0H; 第一个数码管显示零,表示不旋转AJMP QD郑: mov p 0、#0BFH; 第一个数字管显示为-,表示反转QD:JB P3.4、DD; 接通P3.4启动开关K1,以P3.4=1启动CLR TR0; 停止定时/计数器MOV P0、#0C0H; 第一个数码管显示零,表示不旋转MOV P2、#0C0H; 第二个数字软线管表示0,表示转速为0MOV SPEED、#00H; 回头看初始值MOV FX、#00HAJMP QDDD:MOV A,速度JNZ GO; 在a不等于0,即初始速度不为零的情况下,转移到GOCLR TR0; 停止定时/计数器AJMP QDGO:SETB TR0; 接通定时/计数器ACALL DELAYajmp香港延迟: mov R6、#10; 延迟子例程DEL1:MOV R7、#250HERE1:DJNZ R7、HERE1DJNZ R6,DEL1RET以下ZDT0是计时器中断程序zdt 0:推式ACC推式dph推式DPLMOV TH0、#0D8HMOV TL0、#0F0HDJNZ COUNT,EXITPS 3.5、倪庄; 检查方向标志,连接P3.5开关K2MOV FX、#11H尼庄: PS,PSCJNE A、#11H、FZ; 如果a不等于11,则正转时转移到FZPS、R1; R1记录上次的电机脉冲状态PR PS 1,aPS; 向右拐PR PR 1,aPR PS 1,aAJMP REFZ : PS,R1PR PS 1,aPS; 向左巡视一位PR PS 1,aPR PR 1,aRE:MOV A,速度MOV DPTR、#TABMOVC A、A DPTRmov计数、a; 给COUNT提供转速等级PS 3.5、PS; P3.5连接反向转换开关K2(即,反向转换位),如果P3.5=1,则跳转到FFXMOV FX、#11HAJMP EXITFFX:MOV FX、#0FEH; 只要FX不等于11H,就可以通过循环向左或向右移位来转换方向EXIT:POP DPLPOP DPHPOP ACCRETI以下UP是加速中断程序up :推式ACCACALL DELAY; 延迟手抖。JB P3.2、UPEX; P3.2为外部中断0位,连接增速开关S2,低电平有效,P3.2=1时结束PS、速度CJNE A、#7、SZ; 最大电平为7,如果a不等于7则转移到SZAJMP UPEX; A=7时,结束SZ:INC SPEED; 速度=速度1UPEX:POP ACCHERE2:JNB P3.2、HERE2; 由于本指令不在开关S2被按下之后反弹,所以持续发生中断RETI以下DOWN是减速中断程序down :推式ACCACALL DELAYJB P3.3、DEX; P3.3为外部中断1位,连接减速开关S3,低电平有效,P3.3=1时结束PS、速度CJNE A,#0,SJajmp PRSJ :直流速度; 速度=速度- 1DEX:POP ACCHERE3:JNB P3.3、HERE3RETItab : db 0、60、40、35、30、28、25、21; 经过模拟,小于21时,由于脉冲过快,发生失步012三四五六七八9LED:DB 0C0H、0F9H、0A4H、0B0H、99H、92H、82H、0F8H、80H、98H结束c语言程序如下:#include#define uint unsigned intsbit k1=P34; /启动开关sbit k2=P35; /方向转换开关sbit s2=P32; /加速按钮sbit s3=P33; /减速按钮void isr_int0(void) /外部中断0中断服务函数宣言void isr_int1(void )void zd_t0ist(void )uint speed,count,r1,I,t,k;main ()k=0;t=0;r1=0x11;速度=0;计数=1;TMOD=0x01;ET0=1;EA=1;EX0=1;EX1=1;th0=0xffff;TL0=0x2c;for (; (请参见)if(k1=0)P0=0xff;P2=0xff;速度=0;TR0=0;以下else举止if(k2=0)P0=0xbf;else P0=0xf9;if (速度=0)P2=0xc0;TR0=0;以下else TR0=1;以下以下以下void ISR _ int0(void )中断0举止PS (速度7 )速度=速度1;while(s2=0)for(i=0; i10; I )以下以下void ISR _ int1(void )中断2举止PS (速度0 )速度=速度- 1;while(s3=0)for(i=0; i10; I )以下以下void ZD _ t0ist (void )中断1举止TH0=0xd8;TL0=0xf0;交换机(速度)举止case 0:P2=0xc0; 计数=0; break;case 1:P2=0xf9; 计数=60; break;case 2:P2=0xa4; 计数=40; break;case 3:P2=0xb0; 计数=35; break;case 4:P2=0x99; 计数=30; break;case 5:P2=0x92; 计数=28; break;case 6:P2=0x82; 计数=25; break;case 7:P2=0xf8; 计数=21; break;默认:中断;以下if(t=0)t=计数;if(t0 )t=t-1;if(k2=0)举止if(t=0)举止交换机(k )举止case 0:P1=0x01; break;case 1:P1=0x02; break;case 2:P1=0x04; break;case 3:P1=0x08; break;默认:中断;以下k=k 1;if(k=4)k=0;以下以下else举止if(t=0)举止交换机(k )举止case 0:P1=0x08; break;case 1:P1=0x04; break;case 2:P1=0x02; break;case 3:P1=0x01; break;默认:中断;以下k=k 1;if(k=4)k=0;以下以下以下2 .总结本设计通过分析步进电机的结构、工作原理,查阅了有关步进电机控制系统的科学技术文献,根据实用、简单、可靠性和低成本的原则,设计成可以在精度要求不高但必须完善控制的情况下使用。 这次的设计有以下结论。(1)以单片机为控制的核心,利用其强大功能,将键盘和显示电路有机耦合,构成操作方便、交互式的控制系统。 同时,系统整体包含的技术几乎包含了本科学校控制专业所要求的知识,有助于实践教育取得最大的效果。(2)键盘电路和显示电路采用了动态扫描技术,节省了单片机的资源。(3)系统软件采用结构化设计,维护性强,能根据用户的新要求对软件系统进行少量修改,在一定程度上提高系统功能。3 .结语本人知道自己的工作还不充分,因为软件和硬件各方面的原因,系统的应用讨论不足,精度要进一步提高。 由于时间的关系,实验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州金沙供销集团有限公司人才引进考察政审情况及拟聘用笔试历年参考题库附带答案详解
- 2025江西吉安市白鹭洲中学招聘文印室工作人员2人模拟试卷及1套参考答案详解
- 2025江苏泰州市卫生健康委员会所属部分事业单位招聘专业技术人员9人模拟试卷及答案详解(有一套)
- 2025福建新华发行(集团)有限责任公司南平地区招聘笔试历年参考题库附带答案详解
- 2025福建厦门市集美区国有资产投资有限公司招聘4人笔试历年参考题库附带答案详解
- 2025河南郑州城市职业学院招聘考前自测高频考点模拟试题附答案详解(模拟题)
- 2025年甘肃省兰州凯博药业股份有限公司招聘笔试历年参考题库附带答案详解
- 2025内蒙古万润水利工程设计有限公司招聘4人笔试历年参考题库附带答案详解
- 2025上海电力建设修造有限公司招聘2人笔试历年参考题库附带答案详解
- 2025杭州钱塘区紧缺岗位人才招聘23人考前自测高频考点模拟试题附答案详解(完整版)
- 河北省承德市隆化县第二中学2023-2024学年九年级上学期期中考试物理试题(无答案)
- 2024年新人教版八年级上册物理全册教案
- 伤口造口专科护士进修汇报
- MOOC 实验室安全学-武汉理工大学 中国大学慕课答案
- 彩钢房建造合同
- 2型糖尿病低血糖护理查房课件
- 医院物业服务投标方案
- 高压燃气管道施工方案
- 国家免疫规划疫苗儿童免疫程序说明-培训课件
- GB/T 13298-1991金属显微组织检验方法
- 劳动人事争议仲裁案例分析与问题探讨课件
评论
0/150
提交评论