步进电机课程设计

合集下载

步进电机eda课程设计

步进电机eda课程设计

步进电机eda课程设计一、教学目标本课程的目标是让学生了解和掌握步进电机的基本原理和应用,通过学习,学生应该能够:1.描述步进电机的工作原理和结构特点。

2.解释步进电机的运行原理和控制方法。

3.分析步进电机在不同应用场景下的性能表现。

4.设计简单的步进电机控制系统。

在技能目标方面,学生应具备:1.运用实验仪器和工具进行步进电机的调试和测试。

2.编写简单的步进电机控制程序。

3.分析和解决步进电机运行中的常见问题。

在情感态度价值观目标方面,学生应:1.培养对步进电机技术和应用的兴趣和好奇心。

2.培养团队协作和沟通交流的能力。

3.增强创新意识和实践能力,能够将理论知识应用到实际问题中。

二、教学内容本课程的教学内容主要包括以下几个部分:1.步进电机的基本原理:介绍步进电机的工作原理、结构特点和运行方式。

2.步进电机的控制方法:讲解步进电机的控制原理和控制电路。

3.步进电机的应用:分析步进电机在不同领域的应用实例,如机器人、数控机床等。

4.步进电机的调试和测试:介绍步进电机的调试和测试方法,以及如何解决运行中的问题。

教学大纲安排如下:第1-2课时:步进电机的基本原理第3-4课时:步进电机的控制方法第5-6课时:步进电机的应用第7-8课时:步进电机的调试和测试三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括:1.讲授法:讲解步进电机的基本原理、控制方法和应用。

2.案例分析法:分析具体的步进电机应用案例,让学生更好地理解步进电机的实际应用。

3.实验法:让学生亲自动手进行步进电机的调试和测试,增强实践能力。

4.讨论法:鼓励学生积极参与课堂讨论,培养团队协作和沟通交流的能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《步进电机原理与应用》2.参考书:提供相关的学术论文和资料,供学生深入研究。

3.多媒体资料:制作课件和教学视频,帮助学生更好地理解步进电机的相关知识。

步进电机驱动器课程设计

步进电机驱动器课程设计

步进电机驱动器课程设计一、课程目标知识目标:1. 理解步进电机的工作原理,掌握步进电机驱动器的种类及功能。

2. 学习步进电机驱动器的电路连接方式,了解参数设置对步进电机性能的影响。

3. 掌握步进电机驱动程序编写的基本方法,学会运用相关函数控制步进电机运动。

技能目标:1. 能够正确选用步进电机驱动器,完成电路连接和参数设置。

2. 熟练运用编程软件编写步进电机驱动程序,实现步进电机的精确控制。

3. 培养动手实践能力,学会分析并解决步进电机控制过程中遇到的问题。

情感态度价值观目标:1. 培养学生对步进电机驱动技术研究的兴趣,激发创新意识。

2. 培养学生团队协作意识,学会与他人共同解决问题。

3. 增强学生对我国电机驱动技术发展的自豪感,培养爱国主义情怀。

课程性质:本课程为实践性较强的课程,以理论知识为基础,重点培养学生的动手操作能力和实际应用能力。

学生特点:学生具备一定的电子电路基础知识,具备初步编程能力,对步进电机控制有一定了解。

教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,鼓励学生创新思维,提高解决实际问题的能力。

将课程目标分解为具体的学习成果,以便于教学设计和评估。

二、教学内容1. 步进电机原理及分类:介绍步进电机的工作原理、特点及分类,结合教材第二章内容,理解步进电机在自动化领域的应用。

- 步进电机原理- 步进电机分类- 步进电机应用领域2. 步进电机驱动器:学习步进电机驱动器的功能、选型及参数设置,参考教材第三章内容,掌握驱动器与步进电机的连接方法。

- 步进电机驱动器功能- 驱动器选型- 参数设置及电路连接3. 步进电机驱动程序编写:学习编写步进电机驱动程序,结合教材第四章内容,熟练使用相关函数实现步进电机的运动控制。

- 驱动程序基本结构- 常用函数及功能- 实现步进电机运动控制4. 步进电机控制系统实践:结合教材第五章内容,进行步进电机控制系统实践,培养动手操作能力及问题解决能力。

微机原理步进电机课程设计

微机原理步进电机课程设计

微机原理步进电机课程设计一、课程目标知识目标:1. 让学生掌握微机原理在步进电机控制中的应用,理解步进电机的结构、原理及其特点。

2. 使学生了解步进电机与微控制器之间的接口技术,掌握步进电机的驱动程序编写方法。

3. 让学生掌握步进电机速度和位置控制的基本算法,并运用到实际项目中。

技能目标:1. 培养学生运用微机原理解决实际问题的能力,学会编写和调试步进电机控制程序。

2. 培养学生的动手实践能力,能独立完成步进电机的组装、调试和故障排查。

3. 培养学生团队协作能力,通过分组合作完成课程设计任务。

情感态度价值观目标:1. 激发学生对微机原理和步进电机控制技术的兴趣,培养其探索精神和创新意识。

2. 培养学生严谨、认真的学习态度,养成良好的实验操作习惯。

3. 增强学生的环保意识,关注步进电机在节能环保领域的应用。

本课程针对高年级学生,课程性质为理论与实践相结合。

在分析课程性质、学生特点和教学要求的基础上,将课程目标分解为具体的学习成果。

教学过程中,注重培养学生的实际操作能力和团队协作精神,使学生在完成课程设计任务的过程中,达到知识、技能和情感态度价值观的全面提升。

二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 微机原理基础:回顾微控制器的基本原理,重点讲解微控制器与步进电机的接口技术,涉及课本第3章相关内容。

2. 步进电机原理与结构:介绍步进电机的种类、结构、原理及特点,对应课本第5章内容。

3. 步进电机驱动技术:讲解步进电机的驱动电路设计,包括驱动芯片的选型、接口电路设计等,参考课本第6章相关内容。

4. 步进电机控制算法:学习步进电机的速度和位置控制算法,如PID控制、闭环控制等,结合课本第7章内容。

5. 实践操作:分组进行步进电机的组装、调试及控制程序编写,巩固理论知识,培养实际操作能力。

教学大纲安排如下:第1周:微机原理基础回顾,了解步进电机接口技术;第2周:学习步进电机原理与结构,选型及参数了解;第3周:步进电机驱动技术学习,驱动电路设计;第4周:步进电机控制算法学习,编写控制程序;第5周:实践操作,步进电机组装、调试及故障排查;第6周:课程设计总结,成果展示及评价。

步进电机的课程设计【范本模板】

步进电机的课程设计【范本模板】

目录摘要 (4)第一章绪论 (5)1.1 关于步进电机 (5)1。

2 选题的目的和意义 (6)第二章元器件的介绍 (8)2。

1 步进电机 (8)2.2 89C51 (9)第三章步进电机控制系统硬件电路设计 (11)3.1 控制电路 (10)3.2 最小系统 (12)3。

3 驱动电路 (13)3。

4 显示电路 (14)3。

5 总体电路 (14)第四章软件的设计 (16)4.1 方案论证 (16)4.2 主程序设计 (17)4.3 定时中断设计 (18)4。

4 外部中断设计 (19)第五章仿真与调试 (25)5。

1 Proteus软件介绍 (25)5.2 keil软件介绍 (25)5。

3 仿真过程 (25)心得体会 (27)附录PCB板图及其三视图 (28)摘要单片机的应用正在不断深入和创新,作为一门我们专业相当重要的专业课程,同时带动着传统控制检测日新月异的更新。

此次设计利用实验室中试验箱单片机结构作为核心部件进行调试和创新,其中对步进电机背景与现状、系统硬件设计、软件设计及其仿真调试过程都做了详细的介绍,使我们组的每个成员不仅对步进电机的原理有了深入的了解,也对单片机的设计研发过程以及知识的学习都有了很深刻的体会和提高。

本控制系统的设计采用实验室中的试验箱单片机控制,通过人为按动各开关实现步进电机的开关,以及电机的加速及减速功能,另外还增加可设正反转的功能,具有灵活方便、适用范围广易懂的特点,能够满足实现自身实践动手能力提高的需求。

第一章绪论1。

1 关于步进电机步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角",它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

步进电机控制PLC课程设计

步进电机控制PLC课程设计

步进电机控制PLC课程设计一、课程目标知识目标:1. 学生能理解步进电机的原理、结构和应用场景;2. 学生能掌握PLC在步进电机控制中的编程方法和技巧;3. 学生了解步进电机与PLC接口的硬件连接和调试方法;4. 学生掌握步进电机速度、位置和加速度等参数的调整方法。

技能目标:1. 学生能运用所学知识,设计并实现简单的步进电机控制程序;2. 学生具备调试和优化步进电机控制系统的能力;3. 学生能够结合实际需求,选择合适的PLC和步进电机进行项目设计。

情感态度价值观目标:1. 培养学生对自动化控制技术的兴趣,激发学生学习热情;2. 培养学生团队协作、沟通表达的能力,提高学生的综合素质;3. 培养学生严谨、务实的科学态度,树立正确的价值观。

课程性质:本课程为实践性较强的课程,旨在让学生在实际操作中掌握步进电机控制技术。

学生特点:学生具备一定的电气基础和PLC编程知识,对步进电机控制有一定了解。

教学要求:结合实际案例,以任务驱动的方式进行教学,注重培养学生的动手能力和创新能力。

通过本课程的学习,使学生能够将理论知识应用于实际项目中,提高学生的综合应用能力。

二、教学内容1. 步进电机原理与结构- 步进电机的分类、工作原理- 步进电机的结构特点及参数2. PLC在步进电机控制中的应用- PLC与步进电机的连接方式- 步进电机控制程序编写方法- PLC编程软件的使用3. 步进电机控制系统的设计与实现- 系统硬件设计:PLC选型、步进电机选型、接口电路设计- 系统软件设计:步进电机控制算法、PLC程序设计4. 步进电机控制系统的调试与优化- 系统调试方法与步骤- 常见问题及解决方法- 系统性能优化策略5. 实践项目案例分析- 案例一:简易步进电机控制系统设计- 案例二:复杂步进电机控制系统设计教学内容安排与进度:第一周:步进电机原理与结构第二周:PLC在步进电机控制中的应用第三周:步进电机控制系统的设计与实现第四周:步进电机控制系统的调试与优化第五周:实践项目案例分析及讨论教材章节关联:本教学内容与教材中“第三章 步进电机控制技术”和“第四章 PLC控制技术”相关章节紧密关联。

单片机课程设计步进电机

单片机课程设计步进电机

单片机课程设计 步进电机一、课程目标知识目标:1. 让学生掌握步进电机的原理、结构及其在单片机控制系统中的应用。

2. 让学生了解步进电机的控制算法,如细分驱动、变速控制等。

3. 使学生能够运用所学知识,设计简单的单片机控制步进电机系统。

技能目标:1. 培养学生使用编程软件(如Keil、Arduino等)编写单片机程序,实现对步进电机的控制。

2. 培养学生运用电路原理图设计、搭建单片机控制步进电机的硬件系统。

3. 培养学生动手操作、调试单片机控制步进电机系统的能力。

情感态度价值观目标:1. 激发学生对单片机控制技术及步进电机应用的兴趣,培养其创新意识和探索精神。

2. 培养学生团队协作意识,提高沟通与协作能力。

3. 培养学生严谨的科学态度和良好的工程素养,使其具备一定的项目实践能力。

课程性质分析:本课程为单片机课程设计,以实践操作为主,结合理论教学。

课程内容具有较强的实践性和应用性,旨在培养学生运用单片机技术解决实际问题的能力。

学生特点分析:学生已具备一定的单片机基础知识,具有一定的编程和电路设计能力。

但大部分学生对步进电机及其控制技术了解较少,需要通过本课程的学习,提高实际应用能力。

教学要求:1. 结合学生特点,注重理论与实践相结合,强化实践操作环节。

2. 采用项目驱动法,引导学生主动参与课程学习,培养其自主学习能力。

3. 注重课程评价,通过过程性评价和总结性评价相结合,全面评估学生的学习成果。

二、教学内容1. 步进电机原理与结构- 介绍步进电机的种类、原理及结构- 分析步进电机的技术参数,如步距角、静力矩等2. 步进电机控制技术- 讲解步进电机的控制方式,如单脉冲控制、细分控制等- 探讨步进电机的变速控制原理及实现方法3. 单片机与步进电机接口技术- 介绍单片机与步进电机接口电路设计- 分析常用的步进电机驱动芯片及其应用4. 步进电机控制程序设计- 指导学生使用编程软件(如Keil、Arduino等)编写步进电机控制程序- 讲解程序设计中的关键算法,如PID控制、速度规划等5. 单片机控制步进电机系统实践- 布置实际项目任务,让学生动手搭建单片机控制步进电机系统- 指导学生进行系统调试,分析并解决实际问题6. 课程总结与评价- 对所学内容进行总结,巩固知识点- 进行课程评价,检验学生学习成果教学内容安排与进度:第1-2周:步进电机原理与结构、步进电机控制技术第3-4周:单片机与步进电机接口技术、步进电机控制程序设计第5-6周:单片机控制步进电机系统实践、课程总结与评价教材章节关联:本教学内容与教材中“步进电机控制技术”章节相关,涉及的内容包括步进电机原理、接口技术、控制程序设计等,为教材内容的拓展与实践。

步进电机控制课程设计

步进电机控制课程设计

步进电机控制 课程设计一、课程目标知识目标:1. 让学生理解步进电机的原理与结构,掌握其工作方式;2. 使学生掌握步进电机控制的基础知识,包括驱动电路的设计与控制算法;3. 引导学生了解步进电机在自动化设备中的应用。

技能目标:1. 培养学生能够运用所学知识进行步进电机的选型与安装;2. 培养学生具备编写步进电机控制程序的能力,实现电机的精确控制;3. 提高学生动手实践能力,能够独立完成步进电机控制系统的搭建与调试。

情感态度价值观目标:1. 培养学生对步进电机控制技术的兴趣,激发学生学习热情;2. 培养学生具备团队协作精神,能够在小组合作中发挥个人优势;3. 引导学生认识到步进电机控制技术在工业自动化中的重要性,树立科技创新意识。

分析课程性质、学生特点和教学要求:本课程为电子技术及应用领域的一门实用课程,针对高年级学生,他们在前期已经掌握了电子技术基础知识,具备一定的实践能力。

本课程旨在进一步提高学生的实际操作能力,培养他们解决实际问题的能力。

课程目标具体、可衡量,便于学生和教师在教学过程中明确预期成果。

通过本课程的学习,学生能够将理论知识与实际应用相结合,具备步进电机控制系统的设计与实施能力,为将来的职业生涯打下坚实基础。

二、教学内容1. 步进电机原理与结构:- 步进电机的工作原理- 步进电机的分类及结构特点- 步进电机的性能参数2. 步进电机控制系统基础:- 驱动电路设计与原理- 控制算法原理及应用- 步进电机与控制器接口技术3. 步进电机控制程序编写:- 控制程序设计流程- 编程语言及开发环境选择- 步进电机控制程序实例4. 步进电机控制系统实践:- 步进电机选型与安装- 控制系统硬件连接与调试- 控制程序下载与运行5. 步进电机应用案例分析:- 步进电机在自动化设备中的应用案例- 案例分析与讨论- 创新设计与实践教学内容安排与进度:第一周:步进电机原理与结构学习第二周:步进电机控制系统基础学习第三周:步进电机控制程序编写学习第四周:步进电机控制系统实践操作第五周:步进电机应用案例分析及创新设计教材章节关联:《电子技术与应用》第四章:电机控制技术《自动化控制系统》第三章:步进电机及其控制系统教学内容确保科学性和系统性,结合课程目标,按照教学大纲安排和进度,使学生能够循序渐进地掌握步进电机控制相关知识。

步进电机控制PLC课程设计

步进电机控制PLC课程设计

步进电机控制PLC课程设计一、课程目标知识目标:1. 理解步进电机的工作原理及特点,掌握其与PLC的连接方式;2. 学习并掌握PLC编程中与步进电机控制相关的基础知识和技能;3. 了解步进电机在不同应用场景下的控制要求,能结合实际需求进行PLC程序设计。

技能目标:1. 能够运用所学知识,独立完成步进电机与PLC的接线;2. 掌握使用PLC编程软件,编写并调试步进电机控制程序;3. 能够通过实验操作,观察并分析步进电机运行状态,解决实际控制过程中的问题。

情感态度价值观目标:1. 培养学生动手实践能力,激发学生对自动化控制技术的兴趣;2. 培养学生的团队合作意识,提高沟通与协作能力;3. 培养学生勇于探索、积极创新的精神,增强对工程技术应用的自信心。

本课程针对高年级学生,结合学科特点和教学要求,注重理论与实践相结合,以实用性和操作性为核心。

课程目标旨在帮助学生掌握步进电机控制PLC的相关知识,培养实际操作能力,并激发学生对自动化领域的热爱和兴趣。

通过具体的学习成果分解,为后续教学设计和评估提供明确依据。

二、教学内容1. 步进电机基础知识:介绍步进电机的工作原理、结构特点及性能参数,对应教材第3章;2. PLC基础知识:回顾PLC的基本组成、工作原理及编程方法,重点掌握与步进电机控制相关的内容,对应教材第4章;3. 步进电机与PLC的连接:讲解步进电机与PLC的接线方式,包括电源、信号线等连接,对应教材第5章;4. 步进电机控制程序设计:学习并实践编写步进电机控制程序,包括启停、速度调节、方向控制等,对应教材第6章;5. 步进电机控制实验操作:开展实验操作,验证控制程序的正确性,观察并分析步进电机运行状态,对应教材第7章;6. 步进电机控制应用案例分析:分析实际应用中步进电机控制案例,了解不同场景下的控制需求,对应教材第8章。

教学内容安排和进度:第1周:步进电机基础知识学习;第2周:PLC基础知识回顾;第3周:步进电机与PLC的连接;第4周:步进电机控制程序设计;第5周:步进电机控制实验操作;第6周:步进电机控制应用案例分析及总结。

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

目录一、设计目的 (3)二、设计要求 (3)三、仪器设备 (3)四、硬件线路图及主要芯片说明 (3)1.系统所使用的开发板上的区域 (3)2.系统硬件电路图 (3)3.系统所用主要芯片说明 (4)3.1 STC89C52RC芯片介绍 (4)3.2 ULN2003A芯片介绍 (4)3.3LCD1602液晶介绍 (4)五、系统工作原理 (5)1.步进电机介绍 (5)2.控制原理基本框图 (5)六、程序框图 (6)七、程序清单 (7)八、设计体会 (12)九、参考文献 (12)一、设计目的通过具体小型测试系统设计,实践单片机系统设计及调试的全过程,以加深对单片机内部结构、功能和指令系统的理解,并进一步学习单片机开发系统的应用及一些外围芯片的接口和编程方法,初步掌握单片机系统的硬、软件设计技术及调试技巧。

了解步进电机的构造、驱动、工作原理以及步进电机的一些指标术语,掌握步进电机的转动控制方式和调速方法。

加深对单片机开发试验仪各部分功能的了解与使用,方便对以后的设计进行开发、编程与调试。

熟练C语言以及函数、中断的使用。

二、设计要求1)电机转速可以平稳控制2)通过键盘可以选择电机的转动方式3)通过键盘可以设置电机的转速4)显示器可以显示步进电机的运行状况1.系统所使用的开发板上的区域步进电机实验区上面有一个四相步进电机及其驱动芯片,用户可以在上面进行步进电机控制的相关实验。

步进电机将电脉冲信号转变为角位移或线位移实现电机转动。

键盘实验区的按键控制步进电机的启动/停止,正/反转,加/减速,本设计采用单键控制启停、单键控制正反转以及两个按键分别控制加减速。

用STC89C52RC单片机实现控制整个步进电机系统的启动/停止,正/反转,加/减速以及驱动LCD1602显示步进电机的运行状况。

2.系统硬件电路图步进电机运动系统的硬件电路图(用Proteus绘制)如下图所示:3.系统所用主要芯片说明3.1 STC89C52RC芯片介绍STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

3.2 ULN2003A芯片介绍本设计采用ULN2003A作为步进电机的驱动芯片,ULN2003A电路具有以下特点:●电流增益高(大于1000)●带负载能力强(输出电流大于500mA)●温度范围宽(-40℃—85℃)●工作电压高(大于50V)3.3 LCD1602液晶介绍1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。

它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

五、系统工作原理1.步进电机介绍步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

步进电机是一种感应电机,它的工作原理是利用电子电路将直流电变成分时供电的多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的多相时序控制器。

虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。

它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。

四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A...),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-...),八拍(A-AB-B-BC-C-CD-D-DA-A...);当通电时序相反时,转向相反。

本设计采用的通电方式是八拍。

2.控制原理基本框图Y减速#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit RS=P2^6;sbit RW=P2^5;sbit EN=P2^7;void DelayMS(uint ms){uchar i;while(ms--) for(i=0;i<120;i++);}uchar Busy_Check(){uchar LCD_Status;RS=0;RW=1;EN=1;DelayMS(1);LCD_Status=P0;EN=0;return LCD_Status;}void Write_LCD_Command(uchar cmd) {while((Busy_Check()&0x80)==0x80);RS=0;RW=0;EN=0;P0=cmd;EN=1;DelayMS(1);EN=0;}void Write_LCD_Data(uchar dat)while((Busy_Check()&0x80)==0x80);RS=1;RW=0;EN=0;P0=dat;EN=1;DelayMS(1);EN=0; }void Initialize_LCD(){Write_LCD_Command(0x38);DelayMS(1);Write_LCD_Command(0x01);DelayMS(1);Write_LCD_Command(0x06);DelayMS(1);Write_LCD_Command(0x0c);DelayMS(1);}void ShowString(uchar x,uchar y,uchar z,uchar *str){uchar i=0;if(y==0) Write_LCD_Command(0x80|x);if(y==1) Write_LCD_Command(0xc0|x);for(i=0;i<z;i++){Write_LCD_Data(str[i]);}}for(i=0;i<z;i++){Write_LCD_Data(str[i]);}}LCD_Data(str[i]);}}#include<reg51.h>#include<string.h>#define uchar unsigned char#define uint unsigned intvoid Initialize_LCD();void ShowString(uchar,uchar,uchar,uchar *);sbit K1=P3^2;sbit K2=P3^3;sbit K3=P3^4;sbit K4=P3^5;uint Sp;float T=45;bit m=1,n=1;uchar LCD_DSP[]={"00.0 r/min"};uchar LCD_DSP1[]={" up "};uchar LCD_DSP2[]={"down"};uchar LCD_DSP3[]={"<<"};uchar LCD_DSP4[]={">>"};uchar code FFW[]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; //八拍正转uchar code REV[]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}; //八拍反转void delay(uint t){uchar i;while(t--)for(i=0;i<80;i++);}void motor_ffw() //正转{uchar i,j;for(j=0;j<2;j++){for(i=0;i<8;i++){P1 = FFW[i];delay(T); //调节转速}if(m==1) break;}}void motor_rev() //反转{uchar i,j;for(j=0;j<2;j++){for(i=0;i<8;i++){P1 = REV[i];delay(T); //调节转速}if(m==1) break;}}void Format_speed(uchar d,uchar *a) //速度转换为数字字符{a[0]=d+'0';}void main(){TMOD=0x66;TH0=TL0=0xff;TH1=TL1=0xff;TR0=1;TR1=1;IT0=1;IT1=1;IE=0x8f;Initialize_LCD();while(1){if(m==0){if(n==0){ShowString(9,1,2,LCD_DSP3);motor_ffw();}else{ShowString(9,1,2,LCD_DSP4);motor_rev();}Sp=(uint)(9000/T);}else{P1=0xf9;Sp=0;ShowString(9,1,2," ");}Format_speed(Sp/100, LCD_DSP); Format_speed(Sp%100/10, LCD_DSP+1); Format_speed(Sp%10, LCD_DSP+3); ShowString(3,0,10,LCD_DSP);}}void EX_INT0() interrupt 0{m=~m;}void Timer0() interrupt 1{if(T<15)T=T+0.2;else if(T<20)T=T+0.5;else if(T<30)T=T+1;else if(T<40)T=T+2;else if(T<50)T=T+3;else if(T<100)T=T+6;else if(T<150)T=T+18;else if(T<200)T=T+25;elseT=200;ShowString(2,1,4,LCD_DSP2); delay(400);ShowString(2,1,4," ");}void EX_INT1() interrupt 2 {n=~n;}void Timer1() interrupt 3 {if(T>150)T=T-25;else if(T>100)T=T-18;else if(T>50)T=T-6;else if(T>40)T=T-3;else if(T>30)T=T-2;else if(T>20)T=T-1;else if(T>15)T=T-0.5;else if(T>11)T=T-0.2;elseT=11;ShowString(2,1,4,LCD_DSP1);delay(400);ShowString(2,1,4," ");}八、设计体会通过此次课程设计,首先,我更加扎实的掌握了有关单片机的控制、LCD1602液晶显示、C语言编程等方面的知识以及步进电机原理、控制、驱动方面的知识;其次,我进一步懂得了如何对一个课程设计进行整体规划和实行。

相关文档
最新文档