8086微机应用DAC0832控制小直流电机转速的设计_第1页
8086微机应用DAC0832控制小直流电机转速的设计_第2页
8086微机应用DAC0832控制小直流电机转速的设计_第3页
8086微机应用DAC0832控制小直流电机转速的设计_第4页
8086微机应用DAC0832控制小直流电机转速的设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计任务书20092010学年第1学期一、设计题目8086微机应用DAC0832控制小直流电机转速的设计二、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。通过本课程设计,使学生初步了解8086系列微机系统的硬件设备,学会8086系列编程指令的基本功能。三、设计内容与要求1、内容采用8086CPU构建微机系统,扩展4K EPROM和2K静态RAM作为存储系统,采用最小模式,利用DAC0832,编制程序输出双极性模拟电压驱动小直流电机,使电机能以不同转速正反向运行。2、设计要求(1)、查阅文献资料,了解DAC0832双极性电压输出控制原理,并在报告书中综述之。(2)、设计系统的

2、硬件连接原理图,对原理图加以说明。(3)、画出程序框图,并说明。(4)、编写应用程序,并注解程序。(5)、提交课程设计说明书。四、设计资料与参数1、电机转速由8个按钮开关以补码形式给定输入,并以发光二极管形式显示出来。电机的转速变化范围为反向500 rpm正向500rpm;2、DAC0832双极性电压输出控制原理,控制小直流电机以不同转速运行。3、小直流电机额定电压为5V。电源:5V由外部提供。五、设计前准备DAC0832双极性电压输出控制原理自学 DAC0832 是电流形式输出,当需要电压形式输出时,必须外接运算放大器。根据输出电压的极性不同,DAC0832 又可分为单极性输出和双极性输出两

3、种输出方式。 (1) 单极性输出。DAC0832 的单极性输出电路如图一 所示。VREF 可以接±5V 或±10V 参考电压,当接5V 时,输出电压范围是0V5V;当接5V 时,输出电压范围是0V 5V;当接10V 时,输出电压范围是0V10V ;当接10V 时,输出电压范围是0V 10V。若输入数字为0255 ,则输出为:Uout VREF×D/256。式中D为输入DAC0832的十进制数,因为转换结果Ioutl 接运算放大器的反相端,所以,式中有一个负号。若VREF5V, 输入数字为:0255 时,Vout (04.98)V。图一 DAC0832的单极性输出(

4、2) 双极性输出。即在单极性电压输出的基础上,在输出端再加一级运算放大器,就构成了双极性电压输出。通过运放A2将单向输出转变为双向输出。由VREF为A2运放提供一个偏移电流,该电流方向应与A1输出电流方向相反,且选择R1=R3=2R2。使得由VREF引入的偏移电流恰为A1输出电流的1/2。因而A2的运放输出将在A1运放输出的基础上产生位移。双极性输出电压与VREF及A1运放输出V1的关系是:Uout = (2U1+ VREF)。DAC0832 的双极性输出电路如图二所示。根据前面单极性输出表达式U1 VREF×D/256,故Uout = (2U1+ VREF) = VREF×

5、;D/128VREF图二 DAC0832的双极性输出在本次设计中,VREF取+5V,采用DAC0832的双极性输出。六、总体设计本次设计总体上可分为硬件设计部分与软件的编写部分,其中硬件部分又可细分为CPU组态的选择与连接;储存单元的地址分配,译码与线路连接;控制信号的产生;数据输入输出的接口设计;DAC0832的连接等。软件编写时又可分为数据的读取,数据处理以及数据输出三大部分。设计的整体框架如图三所示:总体设 计硬件设计软件设计CPU组态的选择与连接控制信号的产生储存单元的地址分配,译码数据输入输出的接口设计数据输入数据处理数据输出DAC0832的连接图三 设计的整体框架图七、详细设计硬件

6、部分1.8086最小组态的连接本次设计中,8086CPU采用最小组态的连接,由一片8086CPU芯片,一片时钟发生器芯片8284,3片地址锁存器芯片74LS373,一片双向总线驱动器芯片74LS245组成。如图四所示:其中,8284是专门为8086CPU提供时钟的,其频率由外接的石英晶体来决定,同时8284还提供给8086CPU复位的功能,其复位开关由RC放电电路连接8086CPU的低八位地址线与数据线公用,故在工作时必先将地址信号锁存,否则地址信号必然丢失。在74LS373中,将其/OE端接地,表示输出允许;LE端接8086CPU的ALE控制信号,配合完成地址锁存。3片74LS373的20个

7、输出管脚组成了地址总线,与其他设备连接。74LS245为双向总线驱动芯片,其类似于在8086CPU数据端与数据总线加了一道单向通行的门,其开通与否及方向有8086CPU的/DEN及DT/R信号控制。该芯片一端连接CPU,另一端连接数据总线。除了数据总线及地址总线外,8086CPU最小组态还应引出控制总线,不过在本次设计中所实现的功能很简单,故只用引出/RD,/WR,IO/M三根控制线。2.控制信号的相应处理在实际的运用中,我们一般会较形象的运用/MEMR,/MEMW,/IOR,/IOW这四种控制信号,故需要一定的物理电路来实现逻辑变换,将从CPU引出的/RD,/WR,IO/M三个控制信号变为/

8、MEMR,/MEMW,/IOR,/IOW,相应电路图如图五所示:图四 8086最小组态连接图图五 四个控制信号的产生图3. 储存单元的地址分配,译码存储单元连接图如图六所示,/MEMR,/MEMW信号作用于2K RAM完成对其的读写操作,/MEMR作用于4K ROM完成对其的读操作。2K RAM有11根地址线,4K ROM有12根地址线。通过138译码器来产生片选信号,同时留出两个地址空间/PS0和/PS1用作I/O设备的地址,/PS0用作写I/O设备的地址,/PS1用作读/O设备的地址。地址分配的详情如下表所示:A15 A14A13 A12 A11A10A0一个可用地址2K RAMPS0PS

9、14K ROM1 11 11 11 10 0 00 0 10 1 01 1 ×全0全1全0全1全0全1全0全1C000HC7FFHC800HCFFFHD000HD7FFHF000HFFFFH其中需要注意的是,A19到A16四根地址线未参与译码,故给出的地址都只是物理地址的后16位(本应有20位物理地址),同时CPU重启后是从FFFF0H这个地址开始读程序的,故储存程序的4K ROM的地址范围一定要包含这一地址即低16位地址应有FFF0H。在该储存单元中应为一跳转指令,跳到程序首部地址图六 存储单元连接图4. DAC0832的连接DAC0832的连接图如图七所示,其采用单缓冲双极性输出

10、,其I/O端口地址为/PS0,参照前面的地址分配表,/PS0的地址空间为C800HCFFFH,为了方便后面编程,可令/PS0地址为C800H本次设计中DAC0832的单缓冲工作方式是使输入寄存器和DAS寄存器同时处于受控的锁存器状态,分别受到地址选中信号/PS0和外设写信号/IOW的控制。DAC0832的输入数据线直接与数据总线相连,DAC0832的双极性输出可参看前面所述图七 DAC0832单缓冲双极性输出图5. 数据输入接口设计系统通过读取8个开关的状态从而读取数据,为防止直接接入数据总线给DAC0832工作带来影响,在开关与数据总线之间加入了数据输入三态缓冲器74LS244,如图八所示:

11、其输出端直接与数据总线相连,输入端连接在带有开关的电路中。开关闭合时,244的输入端接收到得是低电平信号,即代表二进制数0,同时发光二极管有电流流过发光。故在数据输入端,发光二极管亮代表输入数据0,暗代表输入数据为1。其中,外设读型号/IOR与外设地址选中信号/PS1相与产生一控制信号作用于244的数据输出允许端,用以打开或关闭数据传送通道。同/PS0一样,可令/PS1的地址为D000H,用以后面编程。图八 通过244芯片读取用户输入的数值八、详细设计软件件部分从前面可知双极性输出时Uout = VREF×D/128VREF,式中D表示要输出给0832的数字,假设从244中我们读到用

12、户设定的速度为Di(用补码表示),我们可知电机速度与Uout得对应关系为Uout= VREF时速度为500,Uout= VREF时速度为-500,Uout与转速成线形关系,故可得到Uout/VREF=Di/500,所以给0832输入的数字D可由Di表示,既: D=Di×128/500+128其中500为最大转速绝对值,Di为用户输入转速,D为输出到0832的数值,据此关系可编写程序如下:开始读取用户设定速度按公式转换成输出的数据0832进行数模转换成电压输出延时DATA SEGMENTOUTPORT EQU 0C800H ;0832的端口地址,输出数据INPORT EQU 0D000

13、H ;244的端口地址,读入数据 DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV DX,INPORT IN AL,DX ;从244读入用户设定转速 MOV DL,80H IMUL DL ;Di乘以128(带符号的乘) CWD MOV DX,500 IDIV DX ;Di乘以128除以500 ADD AX,80H ;得到最后的D放入AX中 MOV DX,OUTPORT ;输出给0832 OUT DX,ALDELAY: MOV CX,5000 ;延时一段时间后再循环 LOOP $ JMP START ;循环采集给定速度并输出CODE ENDS END START注:所有运算在计算机中都是通过补码进行的,最后的结果D一定为一正数,补码与原码相同,故可直接输出给0832九、小结通过本次课程设计,使我对8086微机的在整体上有了一个重新的认识,是我知道了一个微型的计算机系统是如何在一起协调而又高效的工作的。在课堂上,我们学习的都是零散的知识,很少有时间能将整个所学的东西串起来好好体会,故自己对微机的工作原理还是停留在一个较为表象的认识上。经过本次课程设计,我发现了许多自己以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论