




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设 计 课程名称 微型计算机控制技术 题目名称 步进电机角度控制(1)学生学院 自动化学院 专业班级 自动化(4)班 学 号学生姓名指导教师 2012 年 6 月 26 日一、 系统设计说明1. 硬件设计本次设计要求通过键盘按键实现对步进电机的转动次数和每次转动的角度的控制,并通过数码管显示出来。本方案中通过按键对步进电机的转动角度进行设定,给各个按键设置不同的键值。按下按键时,给8255A一个信号设定步进电机下一步的动作。8086通过8255A的数据总线读取该信号,并作出反应,通过给8255A一系列的指令驱动其工作,从而驱动步进电机和LED显示器2. 软件设计显示模块设计说明:为使显
2、示程序具有通用性和灵活性,在8086内设置一个显示缓冲区,显示缓冲区的每个单元与LED的各位一一对应。当主程序需要显示,只需将要显示的字符送入显示缓冲区,然后调用显示子程序。显示子程序的任务则是逐一取出显示缓冲区中的字符、查字形表转换成相应字型码,然后通过字段口输出显示。显示模块是用四位七段数码管来显示转动次数和每次转动的角度。给八个按键设置不同的子程序,当按下按键时,根据事先设定好的各个按键对应的转动角度的值输出到数码管进行显示。步进电机模块设计说明:在此设计中,采用的是八拍步进电机。步进电机控制程序就是完成环形分配器的任务,从而控制电动机的转动,以达到控制转动角度和位移的目的。控制模型可以
3、以立即数的形式一一给出。对于步进电机模块的程序设计采用循环程序设计方法。先把转动的次数和角度的控制模型存放在内存单元中,然后再逐一从单元中取出控制模块并输出。首先启动,按下按键选择步进电机的角度,然后读入转动的控制模型驱动步进电机转动。二、 程序设计流程图开始结束实现键的功能数码显示是否按键三、 心得体会这是大学最后一次的单片机课程设计了,这一次我抽到的是86,用C语言去设计的。从中我发现相对汇编语言,C语言有很多优点。经过不断地去编程加载,我复习了C语言编程,同时懂得如何在单片机上实现C语言编程。数码管,键盘和异步电动机,是三个不一样的模块,从实现的过程中,巩固了很多知识。最重要的是,发现问
4、题,去寻找问题的缘由,从而解决。四、 主要参考文献计算机控制技术实验指导书,李传芳等编。51单片机C语言教程,郭天祥等编。电子工业出版社。 微型计算机原理及应用,何小敏等编。机械工业出版社。任务一:编程控制步进电机,顺时针方向行走180度(角度显示在七段LED上)3秒后行走45度(显示角度)3秒后行走90度(显示角度)3秒后再次进入循环。程序代码:STACK SEGMENT STACKDW 256 DUP(?)STACK ENDSDATA SEGMENTTABLE1 DB 10H,30H,20H,60H,40H,0C0H,80H,90HDATA ENDSCODE SEGMENTASSUME C
5、S:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AXMAIN: MOV AL,81H, OUT 63H,AL MOV AH,30H MOV BX,0FF00H MOV DX,01H CALL DISPA0: MOV CX,0008H MOV SI,OFFSET TABLE1A1: MOV AL,SI OUT 60H,AL CALL DALLY INC SI DEC AH JNZ L1 CALL DALL CMP BX,0FFH JNZ A MOV AH,30H XOR BX,0FFFFH MOV DX,01H JMP L1A: CMP BX,OFFOOH JNZ
6、A8 MOV AH,0CH XOR BX,0FF00H MOV DX,02H CALL DISP JMP L1A8: MOV AH,18H XOR BX,0FFH MOV DX,03H CALL DISPL1: LOOP A1 JMP A0DISP: CMP DX,01H JNZ D1 MOV AL,0EFH OUT 62H,AL MOV AL,0FCH OUT 61H,AL CALL TIME MOV AL,0DFH OUT 62H,AL MOV AL,0FEH OUT 61H,AL CALL TIME MOV AL,0BFH OUT 62H,AL MOV AL,60H OUT 61H,AL
7、 CALL TIME RETD1: CMP DX,02H JNZ D2 MOV AL,0EFH OUT 62H,AL MOV AL,0B6H OUT 61H,AL CALL TIME MOV AL,0DFH OUT 62H,AL MOV AL,66H OUT 61H,AL CALL TIME RETD2: MOV AL,0FEH OUT 62H,AL MOV AL,0FCH OUT 61H,AL CALL TIME MOV AL,0DFH OUT 62H,AL MOV AL,0F6H OUT 61H,AL CALL TIME RETTIME: PUSH AX PUSH CXTIME1: MOV
8、 AX,0010HTIME2 : DEC AX JNZ TIME2 LOOP TIME1 POP CX POP AX RETDALLY: PUSH CX MOV CX,0100HA4: PUSH AX POP AX LOOP A4 POP CX RETDALLY1: PUSH AX PUSH CX MOV CX,0002HT1: MOV AX,0010HT2: DEC AX JNZ T2 LOOP T1 POP CX POP AX RETDALL: PUSH CX PUSH AX MOV CX,0300HA6: MOV AX,056CHA7: DEC AX CALL DISP JNZ A7 L
9、OOP A6 POP AX POP CX RETCODE ENDS END START任务二:完成A/D转换实验并把转换结果显示在七段LED上显示出来。程序代码:STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSDATA SEGMENTTAB1 DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH, 0FEH,0F6H,0EFH,3EH,9CH,7AH,9EH,8EHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AL OUT 00H,AL CALL DAL
10、LY IN AL,00H MOV BX,OFFSET TAB1 PUSH AX MOV AL,80H OUT 63H,AL POP AX PUSH AX AND AX,000FH ADD BX,AX MOV AL,BX OUT 61H,AL MOV AL,0FEH OUT 62H,AL CALL TIME MOV AL,0FFH OUT 62H,AL POP AX MOV BX,OFFSET TAB1 PUSH AX AND AX,00F0H SHR AL,4 ADD BX,AX MOV AL,BX OUT 61H,AL MOV AL,0DFH OUT 62H,AL CALL TIME MOV
11、 AL,0FFH OUT 62H,AL POP AX JMP STARTTIME: PUSH AX PUSH CX MOV CX,0020HT1: MOV AX,0030HT2: DEC AX JNZ T2 LOOP T1 POP CX POP AX RETDALLY: PUSH CX PUSH AX MOV CX,0004HA5: MOV AX,005CHA6: DEC AX JNZ A6 LOOP A5 POP AX POP CX RETCODE ENDS END START任务三:实现:(1) 定义键盘按键:3个功能键:设置SET、清零CLR,开始START;(2) 显示器上三位显示每次
12、行走的角度;(3) 通过键盘按键,设置步进电机行走的最大角度值:按SET键后,使用键盘设置角度,再按一次START置入;按CLR清零返回原位。(4) 转动电位器启动步进电机跟随转动,到位后停止;电位器回原位步进电机也回原位。步进电机角度能显示分辨率为15度。程序代码:#include#define pa 0x60#define pb 0x61#define pc 0x62#define com 0x63#define uint unsigned int#define uchar unsigned charucharduan=0xfc,0x60,0xf2,0x66,0xb6,0xbe,0xe0,
13、0xfe,0xf6,0xef,0x3e,0x9c,0x7a,0x9e,0x8euchar wei=0xef,0xdf,0xbf,0x7f;uchar moto=0x90,0x80,0xc0,0x40,0x60,0x20,0x30,0x10;uchar buff=0,0,0,0;int flag=1;int dushu,max=0;Void delay(int t)Int a,b;For(a=t;a0;a-)For(b=110; b0:b-);Void dis(int a,int b,int c,int d)Outp(pc,wei3);Outp(pb,duana);Depaly(15)Outp(
14、pc,wei2);Outp(pb,duanb);Depaly(15)Outp(pc,wei1);Outp(pb,duanc);Depaly(15)Outp(pc,wei0);Outp(pb,duand);Depaly(15)Void keyscan1()Uchar temp,i;Outp(pc,0x7f);Temp=inp(pc);Temp=temp&0x0c;If(temp=0x08) dushu=1;Buff0=buff0+1; If(buff09)buff0=0; If(temp=0x04)dushu=5;Buff1=buff1+1; If (buff19)buff1=0;Outp(pc
15、,0xbf);Temp=inp(pc);If(temp=0x88)dushu=2;flag=3;If(temp=0x04)dushu=6; Buff2=buff2+1; If(buff29) buff2=0; Outp(pc,0xdf);Temp=inp(pc);Temp=temp&0x0c;If(temp=0x08)dushu=3;If(temp=0x04)dushu=7;flag=1;Outp(pc,0xef);Temp=inp(pc);Temp=temp&0x0c;If(temp=0x08)dushu=4;flag=2;If(temp=0x04)dushu=8; Buff3=buff3+
16、1; If(buff39)buff3=0; delay(150);Void keyscan()Uchar temp;Outp(pc,0x00);Temp=inp(pc);Temp=temp&0x0c;If(temp!=0x0c)delay(2);If (temp!=0x0c)Keyscan1();Void main()signed int y=0,step=0,x,dian,i;Uchar temp;Outp(com,0x81);While(1)Keyscan();If(flag=1)dis(buff3,buff2,buff1,buff0);If(flag=2)buff0=0;buff1=0;,buff2=0;buff3=0;max=0;If(y0)If(step=8)step=0;For(i=4;i0;i-)(outp(pa,moto8-step);Step+;Delay(10);Y=y-15;Dis(0,0,0,0);If(flag=3)outp(com,0x81);Outp(0x00,1)Doam=inp(0x00);Max=buff0+buff1*10+buff2*100+buff3*1000;X=max/15*dian/255*15;If(xy)If(step=8)step=0;For(i=4;i0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江海职业技术学院《学院通选课传统文化艺术》2023-2024学年第二学期期末试卷
- 内蒙古商贸职业学院《论文写作与工程伦理》2023-2024学年第二学期期末试卷
- 辽宁师范大学《游泳课保健》2023-2024学年第二学期期末试卷
- 厦门大学《外国文学史下》2023-2024学年第二学期期末试卷
- 宁波城市职业技术学院《空间设计与制作》2023-2024学年第二学期期末试卷
- 山西省太原市小店区一中2025年高三下第一次(4月)月考物理试题含解析
- 山东枣庄八中2024-2025学年高三下学期第四次模拟考试英语试题试卷含解析
- 吉林省第二实验校2024-2025学年初三下学期质量调查(一)数学试题含解析
- 江苏省连云港市东海县2025届高三下学期第二次模拟(二模)考试数学试题试卷含解析
- 吉林省长春市外国语学校2025届高三下学期第二次验收考试化学试题试卷含解析
- 再回首合唱简谱
- 匠作匠场手风滇南“一颗印”民居大木匠作调查研究
- 2024年中国人保财险全系统广西分公司招聘笔试参考题库含答案解析
- 交警酒驾案件培训课件
- 家长会示范课件培养孩子养成独立自主的习惯
- 2024老人智能手机培训ppt大全
- 比亚迪销售模式分析报告
- 2024年鱼子酱项目营销策划方案
- 非洲自然灾害
- 《雷达干扰技术概述》课件
- 中韩劳动法比较研究
评论
0/150
提交评论