51单片机课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河北工业大学计算机硬件技术基础

课程设计报告

学院:能环学院班级:热能073 设计人:高远学号:070679 同组人:澹台金耒

一、设计题目

步进电动机控制

二、问题提出

该题目提出的目的是培养利用所学的计算机硬件基础知识(MCS-51)进行简单的软硬件设计的能力,掌握程单片机开发的一般过程和方法。了解步进电机的工作原理,掌握它的转动控制方式和调试方法.

三、总体设计

1、用P1口实现对步进电动机的驱动。通过对P1口低四位赋值,实现步进电机的单线

八拍的驱动,并且赋值通过查表实现。

单双八拍:(A—AB—B—BC—C—CD—D—DA—A)

TAB1:DB 08H,0CH,04H,06H,02H,03H,01H,09H

2、用P3口实现对步进电机的调速,调正反转和起停的控制。

P3.0: 0为有效1为无效…………正转

P3.1: 0为有效1为无效…………反转

P3.2: 0为有效1为无效…………起停

P3.3: 0为有效1为无效…………速度1时间间隔70ms

P3.4: 0为有效1为无效…………速度2时间间隔50ms

P3.5: 0为有效1为无效…………速度3时间间隔30ms

P3.6: 0为有效1为无效…………速度4时间间隔10ms

(1)通过外部中断INT0实现对P3.2口的置1或着置0,通过判别P3.2口来实现对电动机的起停控制。

(2)通过判别P3.0,P3.1口的值来决定正转或者反转。

(3)通过内部中断T\C0的方式1实现时间间隔的控制,通过P3.3,P3.4,P3.5,P3.6的1或者0来实现不同的转速。

四、具体设计

1、流程图

2、电路图

3、实验程序

ORG 8000H LJMP MAIN ORG 8003H LJMP INT0_ ORG 800BH AJMP DIANJI ORG 8010H

MAIN:MOV TMOD,#01H ;设置计数器0工作于方式0 MOV R2,#4CH ;对计数器设初值 MOV R3,#00H MOV TH0,R2 MOV TH1,R3

SETB EA ;开总中断 SETB ET0

SETB TR0 ;启动计数器 MOV A,#00H MOV R4,#0AH MOV R5,#00H

MOV DPTR,#TAB1 ;默认正转 JNB TR0,STOP

SPEED:JNB P3.3,SPEED1 ;检测速度 JNB P3.4,SPEED2 JNB P3.5,SPEED3 JNB P3.6,SPEED4

P1.0 P1.1 P1.2 P1.3

BA BB BC BD

CTRL:JNB P3.0,ZHENG ;检测正反转

JNB P3.1,FAN

AJMP SPEED

ZHENG:CLR EA ;查表1

MOV DPTR,#TAB1

SETB EA

AJMP CTRL

FAN: CLR EA ;查表2

MOV DPTR,#TAB2

SETB EA

AJMP CTRL

INT0_:CPL TR ;外部中断申请程序RETI

STOP:SJMP $ ;停止

SPEED1:CLR EA ;间隔70ms MOV R2,#04H

MOV R3,#00H

SETB EA

AJMP CTRL

SPEED2:CLR EA ;间隔50ms MOV R2,#4CH

MOV R3,#00H

SETB EA

AJMP CTRL

SPEED3:CLR EA ;间隔30ms MOV R2,#94H

MOV R3,#00H

SETB EA

AJMP CTRL

SPEED4:CLR EA ;间隔10ms MOV R2,#0DCH

MOV R3,#00H

SETB EA

AJMP CTRL

DIANJI:CLR ET0 ;驱动子程序CLR TR0

MOV TH0,R2

MOV TL0,R3

DJNZ R4,RETI_

MOV R4,#0AH

MOV A,R5

MOVC A,@A+DPTR

MOV P1,A

INC R5

CJNE R5,#08H,RETI_

MOV R5,#00H

RETI_:SETB ET0

SETB TR0

RETI

TAB1:DB 08H,0CH,04H,06H,02H,03H,01H,09H ;正转

TAB2:DB 09H,01H,03H,02H,06H,04H,0CH,08H ;反转

END

五、设计中困难及解决

⑴对步进电动机不了解,一开始不知道如何编写程序;

通过老师给的程序基本了解了步进电机如何驱动。

⑵步进电机有三种驱动方式,自己对脉冲占空比不了解,对调速产生困难;

通过给内部中断赋不同初值,来解决步进之间的时间间隔实现速度的变化。

⑶由于实现的功能较多,采用的中断较多,不知如何连线;

通过询问老师和同学,参考实验书,采用集中用P3口,用排线连接。

优缺点:

优点:采用了多种中断,并且连线简洁;程序结构清晰易懂,模块分明。

缺点:由于对步进电机的了解较少,于是在对步进电机的速度控制上速度变化不是很明显;对程序中一些位的设置理解不深,直接从课本例题中抄,导致程序修改很多次仍不知错在何处;由于本身实现的功能较多,加上时间紧,所以创新处较少。

六、收获体会

通过此次课程设计,对于单片机的应用有了进一步的了解,认识到其与实际生活联系的紧密性,加深了对所学知识的掌握和巩固。对于程序的运行及各项指令的运用有了更加明确的了解,如:中断过程的实现,定时器\计数器的控制、工作方式以及应用,中断控制,有了更加明确的概念。

在短短的几天时间里,设计这一程序并不是一件非常容易的事,在设计过程中,我们感到过沮丧,也有最后设计出来后的喜悦。起初,在试验台前半天、一天都没有个什么结果,很令人丧气,已经开始有人答辩,内心更是着急,最后终于有了结果,电动机能够按照程序运转,并达到了各项基本要求,自然又感到喜悦及完成任务后的轻松。虽然我们没有得到期望中的好成绩,但是我们已经努力了。

希望在以后的课程设计中,如果可以的话,时间尽量向前提些,这样可以留给同学们多些复习时间。另外,还希望以后的课程设计题目较以往的设计题目能有所改变,不要每届学生的题目和程序都如出一辙。

相关文档
最新文档