




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北水利水电学院毕业设计 第 页 华 北 水 利 水 电 学 院 毕 业 设 计 任 务 书 设计题目:设计题目:单片机控制直流电机速度的实时控制设计 (软件) 一一设计目的 通过设计单片机对直流电机速度的实时控制使学生掌握单片机及外围电路的设计方 法和单片机软件的设计、编辑、仿真、调试;培养独立查阅资料,学会电子元器件的选 型,并用硬件电路验证自己结论的能力;培养团队合作意识,结合已学理论知识,从设 计过程中不断提高应用系统的设计能力和独立解决问题的能力,达到既能综合巩固运用 所学理论知识又能真正提高实际动手能力的目的。 二 设计内容 用 555 定时器产生实时控制信号,用软件实现不同频率信号到不同脉宽信号的对应转 换,并通过正反转按键和 PWM 信号脉宽控制直流电机的转动方向和速度。 三 任务与要求 1.查阅并熟悉各种常用单片机芯片的功能及指令系统,并掌握其实际应用的方法,主 要是 MCS51 系列。 2.了解单片机指令集和单片机汇编语言。 3用单片机的端口输出 PWM 控制信号。 3找到现实 PWM 控制应用的结合点,让自己的设计具有实用性。 4画出程序流程图。 5. 熟悉 Proteus 等仿真软件和硬件结合应用之前先进性系统仿真看能否达到所要求 的控制目的。 华北水利水电学院毕业设计 第 I 页 6进一步修改程序使其成为一套功能完善的单片机软件。 7和做硬件部分的同学协作进行软硬件的调试 8. 阅读参考资料、文献及论文,编写本设计的开题报告。 9撰写规范论文并请指导老师审阅。 10.按要求阅读 2000 字以上的外文资料。 四时间安排 次序周次内容 12-4 查阅相关资料,对单片机知识进一步进行系统学习, 完成开题报告 25 分析设计系统总体思路 36 画出程序流程图 47 整理翻译资料 58 根据流程图编写子程序 69-10 编写完整系统程序,并在仿真软件上测试 711-12 软硬件调试,撰写论文,修改,打印 813-14 答辩 五应用系统 单片机实现直流电机速度的实时控制在实际中的应用 六参考资料 1,房小翠 王金凤编著,单片机实用系统设计技术,国防工业出版社。 2 大学生毕业设计指导系列资料。 3Protel 软件可以从 /的资料下载中下载。 4Proteus 仿真软件可从 中下载。 3期刊:电力电子技术 、 计算机应用 、 小型微型计算机系统 、 计算机测量 与控制等。 4李华主编,MCS-51 系列单片机实用接口技术,北京航空航天大学出版社。 华北水利水电学院毕业设计 第 II 页 5其它单片机技术教材及资料。 20082008 年年 3 3 月月 2121 日日 题目名 称 单片机控制直流电机速度的实时控制设计 课题来 源 老师提供 主 要 内 容 1 1 实现原理实现原理 利用单片机及一些外围器件实现直流电机转动控制,编制程序 输出一串脉冲,经放大后驱动小电机,改变输出脉冲的电平及持续时 间,达到使电机正转、反转、加速、减速、停转之目的。 2 2 方向控制方法方向控制方法 实现直流电机转动原理:转动方向是按键按下的次数来控制的, P1.7 按下则电机正转,不按或重复按偶数次则电机反转。转速大小 则是由 555 定时器输入频率或对应输出脉冲的占空比来决定的,无论 正向还是反向输出,占空比越大则转速越快。 3 3 软件设计软件设计 软件是在硬件的基础上来满足用户需求的系统功能控制逻辑, 对于单片机如果没有软件系统,系统功能无法实现。所以软件系统的 正确与否是实现系统功能的关键。软件系统不仅要正确还要能准确实 现系统的功能要求。 本设计的软件系统采用模块化的设计思想来实现测频。模块化 华北水利水电学院毕业设计 第 V 页 设计是将一个大的程序按功能分割成一些小的模块,各个模块相对独 立、功能单一、结构清晰、接口简单。利用这种模块化设计有许多优 点:控制了程序设计的复杂性;提高了元件的可靠性;缩短了开发周 期;避免程序开发的重复劳动;易于维护和功能扩展。 本系统编程部分工作采用 C 语言完成,采用模块化的设计方法, 与各子程序作为实现各部分功能和过程的入口,完成键盘输入、按键 识别功能、PWM 脉宽控制和 LED 显示等部分的设计。 4 4 编程语言选择编程语言选择 目前通用的编程语言一般有两种:汇编语言和 C 语言 汇编优点:1.快 2.效率高 3.与硬件接近效率高 4.程序简单执 行速度快;汇编缺点:1.汇编语言依赖于具体的机型,不能通用,也 不能在不同机型之间移植,而且程序员要写大量的代码。2.编写程序 速度慢,难道大。 C 语言优点:1. C 语言是一种编译型程序设计语言,它兼顾了多 种高级语言的特点,并具备汇编语言的功能,C 语言有功能丰富的库 函数,运算速度快,编译效率高,有良好的可移植性,而且可以实现 直接对系统硬件的控制,C 语言程序具有完整的程序模块结构,从而 为软件开发中采用模块化程序设计方法提供了有力的保障;缺点: 语言的缺点主要是表现在数据的封装性上,这一点使得在数据的安 全性上有很大缺陷。 5 5 程程序序设设计计的的基基本本步步骤骤 (1) 问题定义把所要解决的问题、所设计的输入数据及希望 得出的结果等,用日常语言尽可能清晰、完整、准确的表达出来,经 过抽象,建立完整的数学模型。 (2) 算法设计确定解决问题的办法,并把任务分解成计算机 能够执行的几个特定操作。 (3) 流程图设计用形象的、适合编写程序的方法表达算法, 可用自然语言描述,也可用流程图符号表示,或者将二者结合起来。 (4) 编制程序用选定的语言,按流程图提供的步骤写出程序。 华北水利水电学院毕业设计 第 VI 页 (5) 程序调试、测试及资料编制对编完的程序进行编辑、编 译、运行,查找其出错位置,并予以纠正。对有实用价值的程序,还 要测试其正确性及效率等,并编写使用和维护该程序的说明书,供别 人参考。 6 6 C C 程程序序的的编编辑辑、编编译译和和运运行行 一般来说,利用高级语言编程、具体解决问题时,主要都经过: 编程、编辑、编译和运行。编程步骤已经说过,下面具体说一下编辑、 编译和运行。 (1) 编辑把编制的程序送入计算机中,以文件的形式存放 在磁盘上的过程。 (2) 编译把源程序转换成计算机能够识别的目标代码的过 程。在编辑方式下建立起来的程序文件称为源程序文件,简称源文件, 相应的程序叫做源程序。源程序是用高级语言编写的,不能直接在机 器上运行。因为计算机不能识别源程序,它仅认识规定范围内的一系 列二进制代码所组成的指令数据,并按预定的含义执行一系列动作。 通常把计算机能够识别的二进制代码称为目标代码。为了把源程序变 成目标代码,就需要有个“翻译”做这种转换工作。在计算机系统中 实现这种功能的软件是编译程序,对应的这一过程称为编译阶段。 (3)运行运行可执行文件,得到相应的结果。经过编译之 后生成的目标程序文件叫做目标文件,目标文件还不能马上在机器上 执行。因为程序中会用到库函数或者其他函数,需要把它们连接成一 个统一的整体。这一步工作叫做连接。经过连接就把分离的目标程序 连成完整的可执行程序,对应的文件是可执行文件。此时即可运行可 执行文件得到相应的运行结果。 7 7 调试调试 由于单片机没有自主开发能力,其适应性调试需要借助单片机开 发系统,因此在真正组装前需要在模拟机上进行调试,以验证理论设 计的正确性。 华北水利水电学院毕业设计 第 I 页 在利用开发装置进行调试时,应先把硬件电路调通。硬件调试可 采用分块调试的方法,先易后难,先局部调试,都通过后再进行总调。 对硬件的分块调试可以编制相应模块的测试程序,有的测试程序稍加 改动就可成为功能模块程序。在硬件基本调通,验证存储空间分配可 行时,进行自顶向下的主程序的设计调试。程序的调试用断点调试或 连续调试的方法,通过程序执行过程中内存或有关寄存器的状态变化 找出故障点,也可借助于仪器仪表测试电路的状态来验证我们设计的 软硬件的正确性。 采取的 主要技 术路线 或方法 用 PROTEUS 或 MULTISIM 等软件设计电原理图并仿真,用 C 语言或汇编语言来完成软件设计工作。 预期的 成果及 形式 利用单片机来控制直流电机转动,并可以人工来调整直流电机转 动速度; 主要用于实验与研究。 时间安 排 34 周:搜集资料并整理,确定单片机控制直流电动机原理图及所 用器件; 58 周:熟悉编程语言,研究直流电机的简单控制,写出控制电机 正反转的子程序、调速程序。并初步完成软件编程工作,利用软件设 计仿真; 910 周:完成调试和完善工作。 1112 周:写论文和做好答辩准备工作。 指导教 师意见 华北水利水电学院毕业设计 第 I 页 签 名: 年 月 日 备注 1 房小翠 王金凤.单片机实用系统设计技术.国防工业出版社, 1996,第一版,147。 2 孟庆昌 刘振英.C 语言程序设计.人民邮电出版社,2002, 第二版, 1130。 3 王春森.程序设计.清华大学出版社,1999,第一版,135。 4 潘永雄.新编单片机原理与应用.西安电子科技大学出版社,2005, 第一版,150。 5 孙江宏 李良玉.Protel 99 电路设计与应用.机械工业出版社,2004, 第三版,2656。 6 何立民.单片机高级教程应用与设计.北京航空航天大学出版社, 2000, 第一版,2150。 7 先锋工作室著.单片机程序设计实例.清华大学出版社,2003,第一 版。2126。 8 林蔚天.微机控制 PWM 直流调速.上海电机技术高等专科学校学报. ,2001,12(4),3336。 9 李玮 赵江 刘建业等.用单片机控制的数字式调速系统.吉林化工 学院,20026(2),2125。 10 程宪平.机电传动与控制.华中理工大学出版社,1997,第一版, 3050。 华北水利水电学院毕业设计 第 页 单片机控制直流电机速度的实时控制设计(软件)单片机控制直流电机速度的实时控制设计(软件) 摘摘 要要 由于计算机技术的快速发展及其在控制系统中的广泛应用,以及设备向小型化、智 能化方向的发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵 活等优势,显示出了很强的生命力。从航空航天,地质石油,冶金采矿,机械电子等行 业的分布体系与智能控制以及机电一体化设备和产品到邮电通信,日用设备和机械,单 片机都发挥了巨大作用。本文主要介绍了单片机在控制直流电机速度方面的应用。 随着人们生活水平的不断提高,各种智能化的产品日益走入寻常百姓家。为了实现 产品的便携性、低成本以及对电源的限制,小型直流电机的应用越来越受到大家的欢迎。 本文介绍了用 555 定时器产生不同频率的输入信号,用不同频段的信号控制 PWM 信号脉 宽,再用 PWM 信号的不同脉宽控制电机转速,以此达到用单片机控制直流电机转动的目 的,为直流电机速度控制系统的实现提供了一种有效的方法。 本文主要论述了课题开发背景、目的和意义,仿真工具 Proteus 和编程所用的语言、 系统实现原理、系统软件设计,以及软硬件的调试。本系统是以单片机的基本语言 C 语 言来进行软件设计的,生成的目标代码质量高,程序执行效率高,可移植性好。为了便 于编写,调用和修改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明 了,使硬件在软件的控制下按要求运作。系统调试主要介绍了基本的软件和软硬件系统 调试的方法和步骤。最后对做设计过程中碰到问题和心得进行了总结。完成该系统的设 计和制作需要综合大学几乎所有的专业知识,特别是单片机知识要融会贯通,还要不断 的学习,不断的查阅资料,不断的跟老师同学请教,这次毕业设计让我学会了很多东西, 也是对大学学习的一次系统总结,具有很深远的意义。 关键字:单片机系统;PWM 脉宽调制;直流电机调速 华北水利水电学院毕业设计 第 I 页 Abstract Because computer technologys fast development and in control systems widespread application, as well as the equipment to the miniaturization, the intellectualized direction develops, monolithic integrated circuit as one of the high technology and new technologies is small by its volume, the function is strong, low in price, use nimble and so on superiority, demonstrated the very strong vitality. From the aerospace, the geological petroleum, metallurgy mining, profession and so on mechanical electron distributed systems and the intelligent control as well as the integration of machinery equipment and the product to the posts and telecommunications correspondence, the everyday use equipment and the machinery, the monolithic integrated circuit have played the tremendous role. This article mainly introduced the monolithic integrated circuit in the control direct current machine aspect application. Along with the people living standards unceasing enhancement, each kind of intellectualizations product walks into the common family day by day. In order to realize the product portability, the low cost as well as to the limitation of power source, the small direct current machine application receives everybodys welcome more and more. This article introduced produces the different frequency input signal with 555 timers, with the different frequency bands signal control PWM signal pulse width, uses the PWM signal again which with the different pulse width control electrical machinery rotational speed, serves the purpose which by this rotates with the monolithic integrated circuit control direct current machine. It has provided one effective method for the realization of the direct current machine speed control system. This article mainly elaborated the topic development background, the goal and the significance, the programming uses language, the system simulation tool Proteus and the programming use realizes the principle, the system software design, as well as software and hardwares debugging. This system is carries on the software design by monolithic integrated circuits elementary language C language, the production target code quality is high, the program execution efficiency is high, the probability is good. For ease of the compilation, the transfer and the revision, softwares design uses the modular structure, causes the programming the logical relation even more simple and brief, let the hardware under softwares control according to the 华北水利水电学院毕业设计 第 II 页 request operation. The system debugging mainly introduced the basic software and the software and hardware system debugging method and the step. Have carried out a summary on to be used for problem and what one has learned from work designing that process middle meets finally. Completes this systems design and the manufacture needs Comprehensive university nearly all specialized knowledge, specially the monolithic integrated circuit knowledge needs to achieve mastery through a comprehensive study, but also wants the unceasing study, the unceasing consult material, unceasing consults to schoolmate and teacher, this graduation project let me learn many things, was also a subsystem summarizes which studied to the university, has the very profound significance. Key word: Monolithic integrated circuit system; PWM pulse-duration modulation; direct current machine modulates velocity 华北水利水电学院毕业设计 第 III 页 目 录 摘 要 .I ABSTRACT .II 第 1 章 绪 论 .1 1.1 背景 1 1.2 目的和意义.2 1.3 开发工具和语言.3 1.3.1 开发工具 .3 1.3.2 语言选择.4 第 2 章 方案论证与系统原理 .6 2.1 方案论证 6 2.2 系统实现原理 6 2.2.1 定时器计数器原理介绍.7 2.2.2 中断部分基本原理.9 2.2.3 单片机应用系统的开发过程10 第 3 章 程序设计基本步骤 12 3.1 程序的编写12 3.2 程序的编辑、编译和运行13 第 4 章 软件设计 16 4.1 程序总体流程图 16 4.2 软件各子模块设计18 4.2.1 主程序模块18 4.2.2 正反转 PWM 加速输出流程图及代码22 4.2.3 变量定义函数26 4.2.4 键盘扫描函数27 4.2.5 毫秒延时函数 28 华北水利水电学院毕业设计 第 IV 页 4.2.6 LED 显示函数 .28 第 5 章 软硬件调试 29 5.1 软件调试方法29 5.2 软硬件系统调试方法29 5.3 本次设计过程中遇到的问题30 结 束 语 .31 致 谢 32 参 考 文 献 33 附录一 .34 英文原文34 译文39 附录二 .44 源程序44 华北水利水电学院毕业设计 第 0 页 第 1 章 绪 论 1.11.1 背景背景 单片机有非常广泛的应用领域。由于其体积小,价格低,具有逻辑判断、定时计数、 程序控制等多种功能,在各个领域、各个行业都得到了广泛应用,不仅有常用的 8 位机, 而且 4 位单片机和 16 单片机也得到了普及,年销售量逐年增加,至 1995 年世界范围内 销售量就达近亿块,掩膜产品就超过了 2000 万块。 (1) 机电一体化产品的核心控制 机电一体化产品是机械设备发展的方向。用单片机代替常规的逻辑顺序控制,差补 控制,简化了机械设计,提高了控制性能,当前所生产的许多产品,如数控机床,钻床, 线切割机,甚至加工中心等机械设备,都是采用这样一种方式。可编程顺序控制器也是 一个典型的机械控制器,其核心往往就是有一个单片机构成。最典型的机电产品机器人, 每个关节或动作部位都是一个单片机控制系统。 (2) 数据采集系统的现场采集单元 大的数据采集系统,要求数据采集的同步性和实时性要好,使用快速计算机顺序采 集,也存在不能快速采集,实时性不好的缺点,以致会造成计算处理上的误差以及分析 系统中的困难。使用单片机作为系统的前端采集单元,由主控计算机同时发出采集命令, 当采集完后,将采集到的数据逐一送到主计算机进行处理,如有些气象部门,油田采集 部门以及电厂等均可采用这种系统。 (3) 分布控制系统的前端控制器 随着单片机技术的飞速发展及其性能的不断提高,其作为直接控制级在计算机分布 控制中越来越发挥出重要作用,在过程控制中往往要控制一个生产过程。根据物料流程, 有多个加工工序,每一个工序都要根据总的流程精加工或者操作,单片机就可作为这个 分步操作或控制的控制器,进行数据采集,反馈计算,数据输出,并在上级计算机命令 指挥下进行相应协调工作。 (4) 智能化仪表的机芯 自动化仪表的智能化程度越来越高,单片机的应用使这种功能如虎添翼,如自动计 费电度表,燃气表中已有这方面的应用,许多工业仪表中的智能流量计,智能分析仪, 华北水利水电学院毕业设计 第 1 页 成分分析仪等也采用了这项技术。 (5) 消费类电子产品控制 该应用主要反映在家电领域,如洗衣机,空调器,汽车电子,保安系统,电视机, 录像机,VCD 视盘机,音响设备,电子称,IC 卡,手机,BP 机等。在这些系统中使用 了单片机机芯之后,使其控制功能和性能大大提高,并实现了智能化,最优化控制。 随着家用电器产品变频技术的发展,电机的变频调速已经成为一种可行性的方法, 在这种调速系统中,脉宽调制(PWM)技术仍然是提高调速性能的主要手段。虽然 PWM 技 术的实现方法很多,然而,为了降低产品的制造成本,采用微机控制软件实现 PWM 控制 具有成本低、调制方式灵活等特点,比较适合于家用电器产品的要求。本次设计将提出 在 51 系列单片机基础上改进后的 80C52 采用 PWM 软件控制的方法来实现电机转动控制。 其 PWM 算法简单,易于实现,是一种较为实用的方法。80C52 与 80C51 相比还增加了一 个定时/ 计数器、中断源从 5 个增加到 6 个,将程序存储空间增加到 8KB,数据存储器 增加到 256 字节地址,更强大的地址空间,和更多的定时中断资源为设计提供了很大的 方便,也为提高系统的控制性能提供了基础 1.2 目的和意义 随着科技的高速发展,单片机技术也不断发展,单片机能实现更加灵活的逻辑控制 功能,具有很强的数据处理能力。通过本次设计让我对许多知识有了更深的了解: (1)80C51 为内核的单片机系列目前在世界上生产量最大、派生产品最多,可以满足 大多数用户的需要,并且有些 16 位机,如 80C251 和 80C51XA 等系列也是以 80C51 向上 兼容的。 80C52 是 INTEL 公司 MCS-51 系列单片机中基本的产品,它采用 INTEL 公司可 靠的 CHMOS 工艺技术制造的高性能 8 位单片机,属于标准的 MCS-51 的 HCMOS 产品。 它结合了 HMOS 的高速和高密度技术及 CHMOS 的低功耗特征,它基于标准的 MCS-51 单片机体系结构和指令系统,属于 80C51 增强型单片机版本,集成了时钟输出和向上或 向下计数器等更多的功能,适合于类似马达控制等应用场合。 (2)随着硬件的发展,80C51 软件工具也取得很大的发展,80C51 系列已形成从低到 高的不同档次、价格合理的开发装置。通过参阅资料不断学习,加深了对 51 系列单片机 的硬件结构、工作原理、指令系统、C 语言程序设计、接口技术等知识的了解。 (3)在编写调试程序的过程中又对单片机基础知识进行了一次系统的学习,对 C 语 言和汇编语言编程的优缺点有了更进一步的了解,用 C 语言编程原来从不敢尝试,通过 华北水利水电学院毕业设计 第 2 页 这段时间的反复学习终于掌握了一定的编程方法和技巧,通过本次毕业设计,综合运用 所学专业知识分析、解决实际问题,掌握文献检索、资料查询的基本方法以及获取新知 识的能力,书面和口头表达的能力,以及团结协作的能力也得到了训练和提高。 1.3 开发工具和语言 .1 开发工具开发工具 本次设计的硬件部分电路是由我的搭档完成的,软件仿真是用单片机程序设计的专 业仿真软件 Proteus ,原因就是其功能强大,操作方便,人性化设计, (1) 全新的用户界面: 鼠标移动到对象上方时,会有可视化提示。不同的鼠标指针类型显示该对象将进行 的不同操作,高效率非模态选择、布线。 便利的鼠标运用左键选取、放置,右键提 示菜单。更加便捷的块操作方式,可调整选取区域及可定义的拾取点。改进的鼠标滚轮 的摇摆及缩放工具,使得设计导航操作更加便捷。 (2) 全新的设计浏览器: 设计浏览器是 Proteus 特有的一种工具,它提供 Windows 风格的用户界面,用户可 以利用它就设计的不同层次进行导航和检查。它不仅可以查询一个原理图现有状态,以 此来判断元件连接、封装的正误。同样可以导航原理图及 PCB 间任何感兴趣的条目(通 过对 PCB 封装的交叉探测或者一个封装网络信息进行) 。 (3)全新的仿真顾问: 结构化的仿真信息显示,根据问题严重性的彩色信息提示,信息包含源信息和时间信 息,用户可根据需要采用交叉探测返回源器件或网络,带文本帮助的错误信息有助于解决 仿真故障。 (4)全新的仿真诊断系统: 提供对仿真运行跟踪模式的完全控制,关于系统信息、CPU 及外设的详尽诊断信息, 可以在警告、每个分组的跟踪或调试时使能诊断,强大的调试帮助包括仿真行为的完整文 本报告。 华北水利水电学院毕业设计 第 3 页 .2 语言选择语言选择 目前通用的编程语言一般有两种:汇编语言和 C 语言 : 汇编语言优点:1.快 2.效率高 3.与硬件接近效率高 4.程序简单执行速度快;缺点: 1.汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植,而且程序员要写 大量的代码。2.编写程序速度慢,难度大。 C 语言应用和发展非常迅速,而且有强大的生命力。一种语言之所以能存在和发展, 并具有生命力,总是有其不同于(或优于)其他语言的特点。C 语言的主要特点如下: (1) 语言简洁、紧凑,使用方便、灵活。 C 语言一共只有 32 个关键字,9 种控制语句,程序书写形式自由,主要用小写字母 表示,压缩了一切不必要的成分。因此 C 程序比较简练,源程序短,输入程序时工作量 少。 (2) 运算符丰富。 C 的运算符包含的范围很广泛,共有 34 种运算符,C 把括号、赋值、强制类型转换 等都作为运算符处理,从而使 c 的运算类型极其丰富,表达式类型多样化。灵活使用各种 运算符可以实现在其他高级语言中难以实现的运算。 (3) 数据结构丰富,具有现代化语言的各种数据结构。 C 的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类 型等。能用来实现各种复杂的数据结构(如链表、树、栈等)的运算,尤其是指针类型数据, 使用起来比 PASCAL 更为灵活、多样。 (4) 具有结构化的控制语句 如 ifelse 语句、while 语句、dowhile 语句、switch 语句、for 语句等,用函数作为 程序的模块单位,便于实现程序的模块化。C 是理想的结构化语言,符合现代编程风格的 要求。 (5) 语法限制不太严格,程序设计自由度大。 例如对数组下标越界不做检查,由程序编写者自己保证程序的正确。对变量的类型 使用比较灵活,例如整型量与字符型数据以及逻辑型数据可以通用。 (6) C 语言允许直接访问物理地址。 能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此, C 既具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。C 语言的这 华北水利水电学院毕业设计 第 4 页 种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。有人把 C 称为“高 级语言中的低级语言”或“中级语言”,意为兼有高级和低级语言的特点。 (7) 生成的目标代码质量高,程序执行效率高。 一般只比汇编程序生成的目标代码效率低 1020。 (8)用 C 语言写的程序可移植性好(与汇编语言相比)。 基本上不做修改就能用于各种型号的计算机和各种操作系统。 鉴于以上 C 语言和汇编语言的比较,本次设计采用 C 语言 华北水利水电学院毕业设计 第 5 页 第 2 章 方案论证与系统原理 2.1 方案论证 我们在确定开发题目后,要先进行方案论证,这个过程非常重要,制定出一个好的 方案会使我们后面的开发工作较为顺利。在调研论证中我们主要解决以下几个问题: (1)了解本设计的需求,确定设计规模和总体框架。 (2)摸清软硬件的技术难度,明确技术主攻问题。 (3)针对主攻问题开展调研工作,查找有关资料,确定初步方案。 (4)单片机应用开发技术是软硬件结合的技术,方案设计要权衡任务的软硬件分工。 有时硬件设计会影响到软件程序结构。如果系统中增加某个硬件接口芯片,而给系统程 序的模块化带来了可能和方便,那么这个硬件开销是值得的。但在无碍大局的情况下, 以软件代替硬件才是我们设计的最佳选择。 (5)我们在设计中应该尽量采用可借鉴的成熟技术,以减少重复性劳动。 在直流电机驱动的软件设计中,主要考虑以下几点: 功能:如何用软件控制电机转向?如何用软件实现电机的加速减速?输入信号由 555 定时器产生,控制电机速度的是 PWM 信号,如何进行转换?555 定时器信号的频率和 PWM 信号的脉宽如何进行对应?综合考虑了一下整个程序要求决定用 C 语言分块编程, 定义一个函数实现 555 定时器产生的信号频率到 PWM 信号脉宽的对应转换,子程序有启 动,正转,反转,加速,减速,等各个模块,本设计的软件系统采用模块化的设计思想 来实现测频。模块化设计是将一个大的程序按功能分割成一些小的模块,各个模块相对 独立、功能单一、结构清晰、接口简单。利用这种模块化设计有许多优点;降低了程序 设计的复杂性;提高了元件的可靠性;缩短了开发周期;避免程序开发的重复劳动;易 于维护和功能扩展。 2.2 系统实现原理 单片机应用系统有软件和硬件两部分组成。硬件是指单片机 CPU、扩展存储器、输 入/输出接口电路及设备等组成的电路系统。软件是在硬件的基础上来满足用户需求的系 统功能控制逻辑,对于单片机如果没有软件系统,系统功能无法实现,软件包括监控程 序和各种应用程序。硬件和软件只有密切配合、协调一致,才能构成一个功能完善、工 作可靠的单片机应用系统,所有带单片机的电子设备,它的工作原理当然与具体设备有 华北水利水电学院毕业设计 第 6 页 关。但它的最基本的原理是一样的,即: (1) 从输入接口接收来自外界的信息存入存储器。 这些信息主要包括二部分:来自诸如温度压力等传感器的信息;来自人工干预的一些 手动信息,外部信息输入等操作。 (2) 单片机中的 CPU 根据程序对输入的数据进行高速运算处理。 (3) 将运算处理的结果通过输出接口送去控制执行机构。 如继电器,电机,LED 显示电路等。 当前这个过程不断重复着,即系统中的微电脑不断监视着各种信息,并及时做出不同 的处理使系统正常运行。 因本次设计我负责的是软件部分,而且很多地方用到中断和定时,所以先说一下定 时中断部分的基本原理,本次编程过程中所采用的定时中断方式,以及单片机开发的一 般流程做一个详细介绍 .1 定时器计数器原理介绍 通常采用以下三种方法来实现定时或计数:硬件法,软件法,可编程定时器计数 器,目前单片微机中往往已配备了定时器计数器(timercounter) 。 80C51 芯片内包含有两个 16 位的定时器计数器:T0 和 T1;而 80C52 包含有三个 16 位的定时器计数器:T0、T1 和 T2;在 80C51 系列的部分产品(如 Philips 公司的 80C552)中,还包含有一个用做看门狗的 8 位定时器(T3) 。 定时器计数器的核心是一个加 1 计数器其基本功能是计数加 1。 (1) 定时器计数器 T0、T1 定时器计数器 T0、T1 由以下几部分组成: 计数器 TH0、TL0 和 TH1、TL1; 特殊功能寄存器 TMOD、TCON; 时钟分频器; 输入引脚 T0、T1。 (2) 与定时器计数器 T0、T1 有关的特殊功能寄存器 定时器计数器 T0、T1 的方式寄存器TMOD,字节地址为 89H。 TMOD 的格式如下:低 4 位用来定义 T0,高 4 位用来定义 T1 D7 D6 D5 D4 D3 D2 D1 D0 GATEC/TM1M0GATEC/TM1M0 华北水利水电学院毕业设计 第 7 页 各位的意义如下: GATE门控位。 GATE1 时,由外部中断引脚、和 TR0、TR1 共同来启动定时器。当引脚为高电平 时,TR0 置位启动定时器 T0; TR1 置位,启动定时器 T1。 GATE0 时,仅由 TR0 和 TR1 置位来启动定时器 T0 和 T1。 CT功能选择位。 C/T1 时,选择计数功能;C/T0 时,选择定时功能。 T0、T1 的计数、定时功能是通过 TMOD 中的位来选择的。 定时器,设置 C/T0 计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值增 1。每个机器周期等 于 12 个振荡周期,故计数速率为振荡周期的 112。当采用 12MHz 的晶体时,计数速率 为 1MHz。定时器的定时时间,与系统的振荡频率 fosc、计数器的长度和初始值等有关。 计数器,设置 C/T1 这时通过引脚 T0(P3.4)和 T1(P3.5)对外部信号进行计数。在每个机器周期的 S5P2 期间,CPU 采样引脚的输入电平。若前一机器周期采样值为 1,下一机器周期采样值为 0,则计数器增 1,此后的机器周期 S3P1 期间,新的计数值装入计数器。所以检测一个 1 到 0 的跳变 需要两个机器周期,故计数脉冲频率不能高于振荡脉冲频率的 124。 M1、M0工作方式选择位。 由于有 M1 和 M0 两位,可以有四种工作方式 方式 0:13 位定时计数器,TMOD 中的 M1=0,M0=0 方式 1:16 位定时器/计数器,TMOD 中的 M10、M0l 方式 2:定时常数自动重装载的 8 位定时器/计数器,TMOD 中的 M11、M00 方式 3 :T0 分为一个 8 位定时器计数器和一个 8 位定时器,TL0 用于 8 位定 时器计数器,TH0 用于 8 位定时器。TMOD 中的 M1l、M01 (3) 定时器计数器 T2 80C52 中的 T2 是一个 16 位的、具有自动重装载和捕获能力的定时器计数器。在 T2 的内部,除了两个 8 位计数器 TL2、TH2 和控制寄存器 T2 TCON 及 T2 TMOD 之外, 还设置有捕获寄存器 RCAP2L(低字节)和 RCAP2H(高字节) 。T2 的计数脉冲源可以有 两个:一个是内部机器周期,另一个是由 T2(P10)端输入的外部计数脉冲。T2 像 T0、T1 一样,既可用做定时器,也可用做计数器,由 T2 TCON 中的 C/T 位的电平所决 华北水利水电学院毕业设计 第 8 页 定。T2 有 3 种工作方式自动重装载、俘获和波特率发生器方式,由 T2 TCON 中相关位 决定。 .2 中断部分基本原理 中断的概念:中断是指程序执行过程中,允许外部或内部事件通过硬件打断程序的 执行,使其转向为处理外部或内部事件的中断服务程序中去;完成中断服务程序后,CPU 继续原来被打断的程序,这样的过程称为中断响应过程 (1)中断的主要功能 实现 CPU 与外部设备的速度配合 由于应用系统的许多外部设备速度较慢,可以通过中断的方法来协调快速 CPU 与慢 速外部设备之间的工作。 实现实时控制 在单片微机中,依靠中断技术能实现实时控制。实时控制要求计算机能及时完成被控 对象随机提出的分析和计算任务。在自动控制系统中,要求各控制参量随机地在任何时 刻可向计算机发出请求,CPU 必须做出快速响应、及时处理。 实现故障的及时发现及处理 单片微机应用中由于外界的干扰、硬件或软件设计中存在问题等因素,在实际运行中 会出现硬件故障、运算错误、程序运行故障等,有了中断技术,计算机就能及时发现故 障并自动处理。 实现人机联系 比如通过键盘向单片微机发出中断请求,可以实时干预计算机的工作。 (2)中断源 80C51 中有五个中断源;80C52 中增加了一个中断源定时器计数器 T2,即有六 个中断源。每一个中断源都能被程控为高优先级或低优先级。80C51 的五个中断源中包括 二个外部中断源和三个内部中断源。 二个外部中断源 INT0 和 INT1,外部设备的中断请求信号、掉电等故障信号都可以从 INT0 或 INT1 引脚输入。 三个内部中断源为定时器/计数器 T0 和 T1 的定时/计数溢出中断源和串行口发送或接 收中断源。 华北水利水电学院毕业设计 第 9 页 .3 单片机应用系统的开发过程 (1) 单片机软硬件开发流程如图(21)所示: 总体设计硬件设计软件设计仿真调试 可靠性试验产品化 图 21 单片机软硬件开发流程 (2)控制系统组成 PWM 控制电机转速系统由单片机 80C52,单片机控制电路,电机驱动电路和系统软 件所组成(如图 2-2) 555 定时 器 80C52 单片机 转速控制器 PWM 电机驱动 直流电机 华北水利水电学院毕业设计 第 10 页 图 22 控制系统组成 (3) 总体设计 我们通过 555 定时器给单片机产生输入信号,用两个按键控制电机的转动停止和正 反转,用 PWM 信号占空比控制电机转速。总体设计结构图(如图 2-3) PWM 控制电机转速系统 硬件设计 转向控制转速控制PWM 驱动电机驱动 输入控制 信号 输出脉宽 调制信号 软件设计 图 23 总体设计结构图 华北水利水电学院毕业设计 第 11 页 第第 3 3 章章 程序设计基本步骤程序设计基本步骤 3.1 程序的编写 第一步: 分析问题 在这一步, 必须: (1) 作为解决问题的一种方法, 确定要产生的数据(输出)PWM 信号的占空比。 作 为这一子步的一部分, 应定义表示输出的变量。 (2) 确定需产生输出的数据(称为输入)555 定时器产生不同频率信号, 作为这一子步 的一部分, 还应定义表示输入的变量。 (3) 研制一种算法, 从有限步的输入中获取输出。 这种算法定义为结构化的顺序操作, 以便在有限步内解决问题。就数字问题而言, 这种算法包括获取输出数据的计算, 但对非 数字问题来说, 这种算法包括许多文本和图象处理的操作。 第二步: 画出程序的基本轮廓 华北水利水电学院毕业设计 第 12 页 在这一步,要用一些句子(伪代码)来画出程序的基本轮廓。每个句子对应一个简单的 程序操作。对一个简单的程序来说, 通过列出程序顺序执行的动作,便可直接产生伪代码。 然而, 对复杂一些的程序来说, 则需要将大致过程有条理地进行组织。对此, 应使用自上 而下的设计方法。当使用自上而下的设计方法时, 你要把程序分割成几段来完成。列出每 段要实现的任务, 程序的轮廓也就有了, 这称之为主模块。当一项任务列在主模块时,仅用 其名加以标识, 并未指出该任务将如何完成。这方面的内容留给程序设计的下一阶段来讨 论。将程序分为几项任务只是对程序的初步设计。整个程序流程图如图 41 所示(软件设 计部分要写,这里先不画) 如果把主模块的每项任务扩展成一个模块, 并根据子任务进行定义的话, 那么, 程序 设计就更为详细了。这些模块称为主模块的子模块,将各个模块求精, 达到第三级设计。继 续这一过程, 直至说明程序的全部细节。这一级一级的设计过程称为逐步求精法。在编写 程序之前, 对程序进行逐步求精, 对我来说, 是个很好的程序设计实践机会, 会使我养成 良好的设计习惯。实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025全民《乡村振兴战略》知识竞赛题库含答案
- 出租库房安全培训课件
- 出差安全培训总结课件
- 招商银行笔试题库及参考答案
- 陕西金太阳2025年9月高三联考15C政治(含答案)
- 2025版关于商业转让合同示范文本
- 2025年未经授权的合同是否有效?国家公积金贷款还款指南
- 冲床安全生产培训总结课件
- 气调包装智能化-洞察及研究
- 冲压工厂安全培训内容课件
- 《昆虫记》整本书阅读教学设计
- DB61-T 1295-2019保水采煤技术规范
- 八年级上册英语开学第一课
- 民事纠纷委托律师合同书
- 高中政治 人的认识从何而来 (教学设计)
- 《统计学(第二版)》全套教学课件
- 应知应会质量管理
- 跨文化传播-导论课件
- 博士后出站研究报告
- 危险货物道路运输规则jtt617-2018
- 输煤栈桥施工方案
评论
0/150
提交评论