1中南大学微机应用系统设计与综合实验设计报告设计题目直流电动机变频调速及方向控制设计指导老师王海波吴同茂设计者专业班级设计日期2010年12月23~2011年1月13日2目录第一章微机应用系统课程设计的目的意义..........................11.1设计目的....................................................11.2课程在教学计划中的地位和作用....................................2第二章直流电动机变频调速及方向控制设计......................32.1设计内容及要求...................................................32.2课程设计的要求...................................................4第三章总体设计方案..................................................53.1设计思想..........................................................53.2总体设计流程图.............................................6第四章硬件设计.......................................................74.1硬件设计概要................................................74.2硬件电路设计系统原理图及其说明................................11第五章软件设计......................................................135.1流程图及其说明..................................................135.2软件系统的使用说明..............................................165.3源程序及其说明..................................................18第六章系统调试与使用..............................................206.1系统调试..........................................................206.2使用说明..........................................................22第七章收获、体会....................................................23参考文献.................................................................323第一章微机应用系统课程设计的目的意义1.1设计目的《微型计算机原理与接口技术》课程设计是测控专业本科生必修的一门技术基础课。通过本课程设计,让学生对微机系统有一个全面的理解,对典型数字接口电路的应用技术有一个较深入的理解和掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。要求同学们能够独立完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,编写设计程序和程序流程图。1.2课程在教学计划中的地位和作用微机原理及其应用课程设计》课程是测控技术专业本科生必修的一门技术基础课程。通过该课程的学习使学生对微机系统有一个全面的了解、掌握常规芯片的使用方法、掌握简单微型计算机应用系统软硬的设计方法。为了使我们微机应用课程设计目标更明确,要求更具体,学生收获更大,我们特编写课程设计指导书,学生可根据本人的爱好任选其中一个课题,要求独立完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,画出电路板图,编写程序及程序流程图。希望同学认真阅读本指导书,认真查阅资料与上机调试,圆满完成课程设计。通过课程设计还要进一步锻炼同学们在微型计算机应用方面的实际工作能力。计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:掌握这方面的知识更要强调解决实际问题的能力。同学们要着重学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题,最终到达胜利的彼岸。4第二章直流电动机变频调速及方向控制设计2.1设计内容及要求设计内容:掌握直流电动机控制系统的硬件设计方法和直流电动机速度调节、方向控制技术。学会编制直流电动机驱动程序的软件设计方法。通过改变施加于电机两端的电压大小达到调节直流电机转速的目的。D/A采用DAC0832转换输出控制直流电机两端电压,达到控制直流电动机速度;电动机正反转方向控制,要求改变直流电动机的转向,必须改变电磁转矩的方向。根据左手定则,可以通过改变电枢电流的方向(既D/A0832转换输出正或负直流电压),来改变电磁转矩方向,达到电动机正反转方向的控制。设计要求:设计出电路原理图,说明工作原理,编写程序及程序流程图。2.2课程设计的要求1.进行微机直流电机电路硬件设计,画出电路原理图。2.安装元器件。3.进行直流电机控制程序设计。4.系统调试,完成一个符合设计要求的直流电机控制系统的设计与调试。5.巩固“微机原理”课程学过的知识,加强理论与实践的联系。5第三章总体设计方案3.1设计思想本实验通过拨动外围开关确定直流电机的转速和控制直流电机的运转方向。开关用8255A控制实现,作为整个系统核心的CPU作为主控制器负责信号的处理,DAC0832作为转换电路,把数字信号转换为模拟信号,经放大后驱动直流电机。3.2总体设计框图图3.1总体设计框图总体设计硬件设计软件设计CPU组态的选择与连接控制信号的产生单元地址的分配、译码数据输入输出的接口设计DAC0832的连接数据输入数据处理数据输出6第四章硬件设计4.1硬件设计概要4.1.18255A的功能简介图4.18255A芯片原理图引脚主要功能介绍:RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送7数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。8255的三种工作方式:方式0(基本输入/输出方式):这种工作方式不需要任何选通信号。A口,B口及C口的两个4位口中任何一个端口都可以由程序设定为输入或者输出。作为输出口时,输出数据被锁存:作为输入口,输入数据不锁存。方式1(选通输入/输出方式):在这种工作方式下,A,B,C三个口分为两组。A组包括A口和C口的高四位,A口可由编程设定为输入口或者输出口,C口的高四位则是用来作为A口输入/输出操作的控制和同步信号:B组包括B口和C口的低四位,B口可由编程设定为输入口或者输出口,C口的低四位则是用来作为B口输入/输出操作的控制和同步信号。A口和B口的输入或者输出的数据都被锁存。方式2(双向传送方式)在这种方式下,A口可以用于双向传送,C口的PC3~PC74用来作为输入/输出的控制同步信号。应该注意的是,只有A口允许用作双向传送,这时B口和PC0~PC2则可编程为方式0或者方式1工作。图4.28255A控制字格式84.1.28086功能介绍Intel8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K8位元的输出输入(或32K16位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。Intel8086有四个内存区段(segment)寄存器,可以从索引寄存器来设定。区段寄存器可以让CPU利用特殊的方式存取1MB内存。8086把段地址左移4位然后把它加上偏移地址。大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各分段有重叠。尽管这样对组合语言而言大部分被接受(也甚至有用),可以完全地控制分段,使在编程中使用指针(如C编程语言)变得困难。它导致指针的高效率表示变得困难,且有可能产生两个指向同一个地方的指针拥有不同的地址。更坏的是,这种方式产生要让内存扩充到大于1MB的困难。而8086的寻址方式改变让内存扩充较有效率。18086微处理器结构1.1总线接口单元(BIU)总线接口部件由下列各部分组成:(1)4个段地址寄存器;CS——16位的代码段寄存器;DS——16位的数据段寄存器;ES——16位的扩展段寄存器;SS——16位的堆栈段寄存器;(2)16位的指令指针寄存器IP;(3)20位的地址加法器;(4)6字节的指令队列缓冲器。1.2执行单元(EU)执行部件由下列几个部分组成:(1)8个通用寄存器:即AX、BX、CX、DX,BP,SP,SI,DI;其中,4个9数据寄存器:AX、BX、CX、DX;2个地址指针寄存器:BP,SP;2个变址寄存器:SI,DI;(2)标志寄存器FR;(3)算术逻辑单元ALU。1.3、BIU和EU的管理(1)BIU和EU可以并行工作,提高CPU效率。BIU监视着指令队列。当指令队列中有2个空字节时,就自动把指令取到队列中。(2)EU执行指令时,从指令队列头部取指令,然后执行。如需访问存储器,则EU向BIU发出请求,由BIU访问存储器。(3)在执行转移、调用、返回指令时,需改变队列中的指令,要等新指令装入队列中后,EU才继续执行指令。28086引脚介绍图4.38086引脚说明(1)AD15~AD0(addressdatabus):地址/数据总线,双向,三态。这10是一组采用分时的方法传送地址或数据的复用引脚。根据不同时钟周期的要求,决定当前是传送要访问的存储单元或I/O端口的低16位地址,还是传送16位数据,或是处于高阻状态。(2)A19/S6~A16/S3(address/status):地址/状态信号,输出,三态。这是采用分时的方法传送地址或状态的复用引脚。其中A19~A16为20位地址总线的高4位地址,S6~S3是状态信号。S6表示CPU与总线连接的情况,S5指示当前中断允许标志IF的状态。S4,S3的代码组合用来指明当前正在使用的段寄存器。S4,S3的代码组合及对应段寄存器的情况。(3)BHE(低)/S7(bushighenable/status):允许总线高8位数据传送/状态信号,输出,三态。为总线高8位数据允许信号,当低电平有效时,表明在高8位数据总线D15~D8上传送1个字节的数据。S7为